【问题标题】:PKGBUILD and makepkg: "warning: directory permissions differ"PKGBUILD 和 makepkg:“警告:目录权限不同”
【发布时间】:2020-09-14 22:47:42
【问题描述】:

向 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 时。

【问题讨论】:

    标签: setup.py pacman pkgbuild


    【解决方案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
    

    这里没有--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
    }
    

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 2012-11-01
      • 2021-10-18
      • 2018-03-30
      • 2012-07-12
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多