Подтвердить что ты не робот

Файл правил debian создает символическую ссылку

Я создаю небольшой пакет deb для установки нескольких файлов. Некоторые из них будут расположены в /usr/lib/mypackage/, и я хочу создать символическую ссылку из /usr/lib/mypackage/mybin в/usr/bin/mybin

Для папки /usr/lib/mypackage я использую mypackage.install и копирую файлы там. Кажется, это работает нормально.

Однако, чтобы создать мою символическую ссылку, я понимаю, что мне нужно использовать файл правил debian там, и я не уверен, как это сделать, вот строка, которую мне нужно добавить, где она должна быть добавлена ​​и как? Благодаря

ln -s /usr/lib/mypackage/mybin /usr/bin/mybin
4b9b3361

Ответ 1

Лучший способ - использовать dh_link, часть пакета debhelper. Подробнее о его работе см. man dh_link. Как вы можете видеть из этого, вы, вероятно, захотите что-то вроде следующего в файле с именем debian/$mypackage.links:

/usr/lib/mypackage/mybin  /usr/bin/mybin

Где вы должны положить dh_link в свой debian/rules, если он еще не существует, зависит от того, как вы делаете свой пакет. Если вы используете Debhelper, то ваш debian/rules, возможно, уже имеет dh_link (хотя, если вы используете классический Debhelper, тогда строка dh_link может быть прокомментирована, и вам нужно раскомментировать ее). Здесь также учитывается использование Debberper более нового стиля (dh) или CDBS-plus-debhelper (include /usr/share/cdbs/1/rules/debhelper.mk); они позаботятся о dh_link для вас.

Но если вы не используете Debhelper, и вы не хотите запускать, то dh_link, вероятно, не вариант. В этом случае вам просто нужно убедиться, что вы соответствуете политике Debian по теме (это означает, что ваша символическая ссылка должна быть относительной, а не абсолютной). Вероятно, вы захотите создать ссылку в своей целевой программе debian/rules build. Пример:

build:
    # ... other stuff ...
    mkdir -p debian/$mypackage/usr/bin
    ln -s ../lib/mypackage/mybin debian/$mypackage/usr/bin/mybin