问题描述
为--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
使用makepkg -is
时。
解决方法
以下是--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
,这里没有--root,只有--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
,这里带有--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,并删除了脚本中的--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
}