setup.py - PKGBUILD 和 makepkg:“警告:目录权限不同”
问题描述
向 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:
设置.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
}
推荐阅读
- r - ggplot2:标记饼图问题
- python - 具有多个循环的 Python 列表理解
- html - 在较小的div中调整fabricjs Canvas元素的大小
- ios - NSEntityDescription.entity crashes app (SIGABRT)
- javascript - 使用 jQuery 将 HTML 属性设置为 JSON 对象
- python - Python 按列分组并在另一列中计数字符串
- c# - C# 中的加扰字符串操作
- python - 我如何允许用户输入添加到字典
- javascript - 轮盘赌,选择图像
- python - Python:如何最好地处理开发同时使用它的库和应用程序?