Я экспериментирую с созданием .deb-пакета и не уверен в файловой структуре пакета. Должен ли каталог, содержащий control
, changelog
, rules
и т.д. называться DEBIAN
или debian
?
Я использую dpkg-деб
для упаковки, и кажется, что для этого требуется DEBIAN
, и я пытаюсь использовать Lintian, чтобы проверить его, и он не распознает файлы changelog
или copyright
. Lintian выбрасывает ошибки debian-changelog-файла
и no-copyright-файла
, но позже предупреждает unknown control-file changelog
и unknown control-file copyright
. Взглянув на эту страницу , я предлагаю использовать debian
, и переименовываю каталог в этот, но это приводит к ошибке dpkg-deb
. Читая Debian Policy Manual, обычно в примерах используется debian
, но иногда используется DEBIAN
, что заставляет меня задуматься, может ли при определённых обстоятельствах понадобиться и то, и другое. Как правильно это сделать?
При создании пакета у вас есть каталог Debian
, который содержит данные, необходимые для создания пакета (элемент управления
Файл, правила
, изменяются
и т. Д.). DPKG-DEB
не обычный способ сделать пакет - он просто предлагает быстрый способ собрать один. Обычно вы используете DPKG-BuildPackage
.
Источник Пакеты (I.e. Неподобиенное исходное дерево) Используйте строчные DEBIAN
каталог. Например, если вы использовали DPKG-BuildPackage
для компиляции программы C и генерировать двоичный .DEB, у вас будет такое дерево исходного дерева:
foo-1.0/
├─debian/
│ ├─changelog
│ └─control
├─main.c
├─main.h
└─Makefile
в верхнем регистре Debian
По-видимому, нашел только в бинарах пакетов (то есть самих файлов .deb), в пределах их архива «Control.tar».
Однако, согласно документации DPKG, этот каталог «Debian» является историческим оставшимся из очень форматов пакета DPKG (как в до 2000-х; см. Человек DEB-ALT
и MAN DEB
). Все новые пакеты .DEB вместо этого помещают файлы управления напрямую на верхнем уровне архива «Control.Tar»:
$ tar -tf control.tar
./changelog
./control
./postinst