Файлы conf и статические файлы в пакете deb

Я использую dh_help для создания шаблона пакета и пытаюсь следовать руководствам по упаковке Ubuntu и Debian для создания двоичного пакета.

Как мне указать debuild, какой файл является файлом conf и должен перейти, например, в /etc/mypkg.conf? Я пытался поместить его в mypkg-0.1/etc/mypkg/fname.conf, но debuild его игнорирует. В руководстве Debian сказано, что все файлы в каталоге etc/ автоматически обрабатываются как файлы conf, но у меня это не работает (http://www.debian.org/doc/maint-guid...ml#s-conffiles). Я пытался поместить файл conf в mypkg-1.0/etc/mypkg.conf и в mypkg-1.0/debain/etc/mypkg.conf, но он не включен. Я также пытался перечислить файл в conffiles, но получаю сообщение об ошибке, что его невозможно найти при сборке пакета.

Я также не понимаю, как включить статические файлы в пакет. Должен ли я использовать установочный файл для перечисления всех файлов и папок? Я думал, что размещение всего с полным путем в папке mypkgs-0.1 должно работать так же, как при использовании dpkg вручную.

Спасибо


person pablo    schedule 16.01.2011    source источник


Ответы (2)


Как сказал viraptor, вы можете поместить команду установки для каждого файла в свой debian/rules, чтобы установить файлы в каталог debian/pkgname.

Или вы можете использовать файл debian/install чтобы просто перечислить все файлы (или только каталоги) и иметь команду dh_install в вашем debian/rules, чтобы сделать это за вас.

Кажется, вы немного запутались в том, как создаются пакеты и какие файлы включаются. Это чрезвычайно обобщенно, но когда скрипт debian/rules компилирует программу, используя стандартный метод ./configure && make && make install, он указывает make install установить файлы в debian/pkgname вместо /. Тогда он знает, что все под debian/pkgname — это то, что должно быть в финальном .deb. Если шаг make install не помещает все в нужное место, то это должен сделать сценарий debian/rules. Раньше казалось, что вызов install ... из debian/rules для копирования файлов в каталог debian/pkgname был обычным явлением, но теперь использование файла debian/install кажется предпочтительным методом.

person Arrowmaster    schedule 23.01.2011
comment
Как make install получает указание установить в debian/packagename? Я всегда получаю debian/tmp (но у меня нет специальной конфигурации). - person Dennis Guse; 21.07.2013

Вам не нужно включать версию пакета, если вы устанавливаете файлы через стандартный файл debhelper / debian/rules. Вместо этого на этапе установки выполните:

install -cm 644 fname.conf $(CURDIR)/debian/mypkg/etc/mypkg/fname.conf

И он должен быть правильно включен.

person viraptor    schedule 22.01.2011