PKGBUILD and makepkg: "warning: directory permissions differ"

431 Views Asked by At

Providing --root to setup.py like:

package() {
    cd "$srcdir"/"$_gitname"
    python3 setup.py install --prefix=$pkgdir/usr --root=$pkgdir
}

with the following setup.py file:

import DistUtilsExtra.auto


DistUtilsExtra.auto.setup(
    name='alsacontrol',
    version='0.1.0',
    description='ALSA configuration interface',
    license='GPL-3.0',
)

in a PKGBUILD file produces the following error:

warning: directory permissions differ on /mnt/data/
filesystem: 700  package: 755

when makepkg -is is used.

1

There are 1 best solutions below

0
On

Here are file permissions with --root and --prefix:

➜  alsa-control pwd
/mnt/data/Code/alsacontrol-aur/pkg/alsa-control
➜  alsa-control ls -lha
total 80K
drwxr-xr-x 4 mango mango 4.0K Sep 15 00:50 .
drwxr-xr-x 3 mango mango 4.0K Sep 15 00:50 ..
-rw-r--r-- 1 mango mango  54K Sep 15 00:50 .BUILDINFO
drwxr-xr-x 3 mango mango 4.0K Sep 15 00:50 mnt
-rw-r--r-- 1 mango mango 3.2K Sep 15 00:50 .MTREE
-rw-r--r-- 1 mango mango  515 Sep 15 00:50 .PKGINFO
drwxr-xr-x 5 root  root  4.0K Sep 15 00:50 usr

and here without --root and only --prefix:

➜  alsa-control ls -lha
total 76K
drwxr-xr-x 3 mango mango 4.0K Sep 15 00:52 .
drwxr-xr-x 3 mango mango 4.0K Sep 15 00:52 ..
-rw-r--r-- 1 mango mango  54K Sep 15 00:52 .BUILDINFO
-rw-r--r-- 1 mango mango 3.1K Sep 15 00:52 .MTREE
-rw-r--r-- 1 mango mango  515 Sep 15 00:52 .PKGINFO
drwxr-xr-x 5 mango mango 4.0K Sep 15 00:52 usr

and here with --root, but without --prefix:

➜  alsa-control pwd
/mnt/data/Code/alsacontrol-aur/pkg/alsa-control
➜  alsa-control ls -lha
total 76K
drwxr-xr-x 3 mango mango 4.0K Sep 15 01:06 .
drwxr-xr-x 3 mango mango 4.0K Sep 15 01:06 ..
-rw-r--r-- 1 mango mango  54K Sep 15 01:06 .BUILDINFO
-rw-r--r-- 1 mango mango 3.1K Sep 15 01:06 .MTREE
-rw-r--r-- 1 mango mango  515 Sep 15 01:06 .PKGINFO
drwxr-xr-x 5 mango mango 4.0K Sep 15 01:06 usr

as you can see, combing --root with --prefix does weird stuff.

I kept --root, so that I am able to install files to /etc as well, and removed --prefix in my script:

setup.py:

    data_files=[
        ('share/alsacontrol/', ['data/asoundrc-template']),
        ('share/applications/', ['data/alsacontrol.desktop']),
        ('/etc/xdg/autostart/', ['data/alsacontrol-daemon.desktop']),
    ],

PKGBUILD:

package() {
    cd "$srcdir"/"$_gitname"
    python3 setup.py install --root=$pkgdir
}