向setup.py提供--root,如:
package() {
cd "$srcdir"/"$_gitname"
python3 setup.py install --prefix=$pkgdir/usr --root=$pkgdir
}
使用以下setup.py文件:
import DistUtilsExtra.auto
DistUtilsExtra.auto.setup(
name='alsacontrol',
version='0.1.0',
description='ALSA configuration interface',
license='GPL-3.0',
)
在PKGBUILD文件中会产生以下错误:
warning: directory permissions differ on /mnt/data/
filesystem: 700 package: 755
当使用CCD_ 1时。
以下是带有--root和--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
这里没有--根,只有--前缀:
➜ 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
这里有--root,但没有--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
正如您所看到的,将--root与--prefix结合会产生一些奇怪的事情。
我保留了--root,这样我也可以将文件安装到/etc/etc,并删除了脚本中的--prefix:
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
}