Я создаю пакет из собственного источника, используя dh_make и dpkg-buildpackage. Установочный файл в / debian указывает адресатов для файлов проекта. Чтобы сделать установленную программу, они должны быть исполняемыми / иметь разрешения на выполнение с помощью chmod. В частности, речь идет о скрипте python и файле .desktop.
Как установить эти разрешения при настройке? Только копируя их в пункты назначения, это не делается. Было бы хорошо, если бы я мог вызвать команду в конце настройки или что-то вроде этого, но не знаю, как включить это.
Вы можете создать сценарий установки после установки:
gedit debian/packagename.postinst
Это обычный сценарий, поэтому выполните следующие инструкции:
#!/bin/sh
set -e
chmod 755 /path/to/pythonscript.py
exit 0
В качестве альтернативы вы можете исключить файл с правами, измененными с помощью dh_fixperms. Это можно сделать в debian/rules:
%:
dh $@ --with python2
override_dh_fixperms:
dh_fixperms --exclude path/to/pythonscript.py
Первый вариант предпочтительнее, потому что dh_fixperms выполняет другие полезные действия, такие как изменение владельца файла, и исключение файла предотвращает выполнение dh_fixperms ничего полезного. Также обратите внимание, что в первом варианте есть предыдущий slash /path/to/pythonscript.py, поскольку он является абсолютным путем, тогда как второй параметр относится к поддиректории debian.
EDIT: @AlexisWilke упомянул лучшую альтернативу для варианта 2, то есть:
%:
dh $@ --with python2
override_dh_fixperms:
dh_fixperms
chmod 755 path/to/pythonscript.py
Это позволяет dh_fixperms обрабатывать свою магию, за которой следует незначительное необходимое исправление.