use*_*975 4 python packaging ppa
我使用 dh_make 和 dpkg-buildpackage 从我自己的源构建一个包。/debian 中的安装文件指定项目文件的目标位置。为了使安装的程序工作,它们需要是可执行的/具有 chmod 的执行权限。特别是它是关于 python 脚本和 .desktop 文件。
如何在设置中设置这些权限?仅将它们复制到目的地是不够的。如果我可以在设置结束时触发命令或类似的命令,对我来说就可以了,但不知道如何包含它。
您可以创建一个安装后脚本:
gedit debian/packagename.postinst
Run Code Online (Sandbox Code Playgroud)
这只是一个普通的脚本,因此以下说明即可:
#!/bin/sh
set -e
chmod 755 /path/to/pythonscript.py
exit 0
Run Code Online (Sandbox Code Playgroud)
或者,您可以排除该文件的权限被dh_fixperms. 这可以在以下时间内完成debian/rules:
%:
dh $@ --with python2
override_dh_fixperms:
dh_fixperms --exclude path/to/pythonscript.py
Run Code Online (Sandbox Code Playgroud)
第一个选项更可取,因为dh_fixperms它还可以执行其他有用的操作,例如更改文件的所有者,以及排除该文件会阻止dh_fixperms执行任何有用的操作。另请注意,在第一个选项中,前面有一个斜杠/path/to/pythonscript.py,因为它是绝对路径,而第二个选项是相对于 debian 子目录的。
编辑:@AlexisWilke 提到了选项 2 的更好替代方案,即:
%:
dh $@ --with python2
override_dh_fixperms:
dh_fixperms
chmod 755 path/to/pythonscript.py
Run Code Online (Sandbox Code Playgroud)
这允许dh_fixperms发挥其魔力,然后进行必要的小修复。
| 归档时间: |
|
| 查看次数: |
5835 次 |
| 最近记录: |