Как добавить разрешения на файлы, установленные dpkg-buildpackage или debuild

Я создаю пакет из собственного источника, используя dh_make и dpkg-buildpackage. Установочный файл в / debian указывает адресатов для файлов проекта. Чтобы сделать установленную программу, они должны быть исполняемыми / иметь разрешения на выполнение с помощью chmod. В частности, речь идет о скрипте python и файле .desktop.

Как установить эти разрешения при настройке? Только копируя их в пункты назначения, это не делается. Было бы хорошо, если бы я мог вызвать команду в конце настройки или что-то вроде этого, но не знаю, как включить это.

1
задан 15 March 2014 в 04:04

1 ответ

Вы можете создать сценарий установки после установки:

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 обрабатывать свою магию, за которой следует незначительное необходимое исправление.

4
ответ дан 24 May 2018 в 17:47
  • 1
    Разве мы не можем сначала dh_fixperms, a chmod a+x path/to/pythonscript.py? - потому что таким образом dh_fixperms делает все правильно в соответствии с debian, а затем вы исправляете еще несколько вещей по-своему. Верный? – Alexis Wilke 21 December 2015 в 15:47
  • 2
    Да, я думаю, вы правы, изменили ответ на свой вопрос. – Charlie 22 December 2015 в 11:27

Другие вопросы по тегам:

Похожие вопросы: