Как создать несколько пакетов debian с использованием одного и того же каталога debian

Я собираю приложение на своем ПК для установки / распространения. Я успешно создал пакет, используя средство dpkg в ubuntu 12.04. Теперь мне нужно создать несколько пакетов (двоичный пакет (например, xxx.deb), исходный пакет (xxx.1.0-1-devel.deb)), используя ту же настройку файла. Папка Debian содержит все измененные файлы, необходимые для упаковки, используя dpkg-buildpackage -rfakeroot . Если мне нужно создать все файлы .deb, используя одну и ту же настройку файла debian. Что я должен делать дополнительно?

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

Я предполагаю, что ваша целевая программа – ac / c ++ или подобный язык.

  • Вы можете включить все файлы в один бинарный пакет. Но все же лучше разделить файлы разработки в другом.

    *-dev (not -devel ) должен включать только заголовки, statics libs, shared libs и даже двоичные инструменты, если эти инструменты используются только для разработки.

  • Вы можете объявить несколько пакетов двоичных файлов для одного источника в debian/control . Лучше всего учиться на примере, samba :

    Исходный пакет: http://packages.ubuntu.com/source/trusty/samba , посмотрите, сколько бинарных пакетов построено из одного источника.

    Позвольте выбрать один (основной пакет, samba – *. Deb): http://packages.ubuntu.com/trusty/samba , см. Правую сторону *-debian.tar.gz . Загрузите его, затем откройте. Прочтите файл control :

     Source: samba ... Package: samba ... Package: samba-libs ... 

    Каждый бинарный пакет имеет свой собственный *.install файл, в котором перечисляются файлы, которые будут установлены и где. Пример: samba.install , samba-libs.install , ..

  • Для библиотек статический включается только в *-dev пакет.

    Общие должны быть включены в оба варианта, если у вас есть разные версии, которые могут быть установлены в одно и то же время.

    Например, samba-dev , внизу страницы щелкните по списку файлов, и это со статическими libs6-dev .

    В противном случае поместите общие библиотеки только в обычный бинарный пакет, а затем добавьте его как зависимость для пакета разработки.

    Рекомендации:

    • Руководство по политике Debian: Глава 8 – Общие библиотеки
    • Руководство по упаковке библиотеки Debian