Создание зависимого deb файлы

Я разрабатываю два пакета Ubuntu, какой зависит от другого.

Скажите, foo который зависит от libfoo.

Я увеличиваю foo и libfooприсвойте версию вместе. Это всегда имеет место это foo версия 1.2.1 зависит от libfoo версия 1.2.1.

Каков стандарт debian процесс для создания libfoo и foo?

Сделайте я должен создать и установить libfoo прежде и только затем компилируют foo?

Я могу иметь pbuilder так или иначе поймите foo потребности libfoo, и установка libfoo перед компиляцией foo?

Какова лучшая практика для этого случая

1
задан 4 November 2016 в 10:59

2 ответа

РЕДАКТИРОВАНИЕ на дополнительной информации в вопросе:

Pbuild исходно делает то, что Вы хотите - просто предоставляют ему надлежащий dsc файл. Взгляните на некоторый реальный пример с версией в зависимостях как nmap

apt-get source nmap; cat nmap_*.dsc

и посмотрите на Build-Depends пункт:

...
Build-Depends: debhelper (>= 9), libgtk2.0-dev, dh-autoreconf, flex, bison, libssl-dev, libpcap0.8-dev, libpcre3-dev, binutils-dev, liblinear-dev, python (>= 2.3.5-7), python-all-dev, liblua5.2-dev
...

В Вашем случае Вам нужно что-то как

Build-Depends: libfoo (=1.2.1), flex, bison, ...

Исходное сообщение:

Так, давайте суммировать комментарии....

В чем Вы нуждаетесь, два пункта из файла правила debian/control:

  • Сборка - Зависит - зависимости других пакетов для исходной сборки пакета
  • Зависит - зависимости других пакетов для пакета установки

Я сильно убеждаю, чтобы Вы для чтения целой Ubuntu, Упаковывающей Руководство.Your вопрос, были обращены в 2,2. Файл управления. Считайте также ту же информацию, записанную командой Debian в Руководстве Новых Специалистов по обслуживанию Debian, более точно Главе 5 - файлы Управления и их поля. Проведенное время с руководствами заплатит в сохранении Вас много проблем в будущем, если Вы соберетесь поддержать deb пакеты в своей компании (или почему не в Debian или Ubuntu однажды :)).

2
ответ дан 7 December 2019 в 12:37
  • Если те пакеты имеют отдельные исходные архивы. Я подразумеваю, что они - отличные проекты. Затем ответ Rostislav Kandilarov является корректным.

  • Иначе, Если они находятся в тех же исходных файлах. Затем никакие заботы, если Ваш источник компилирует и устанавливает хорошо использование make (cmake или безотносительно оснащают Ваше использование). Упаковочная операция происходит после компиляции всего источника.

Быстрый обзор процесса после вызова debuild... и т.д. (Точный процесс может переопределить в ./debian/rules файл)

  1. Чистит дерево
  2. Компиляции это
  3. Установки это к временной папке ./debian/tmp/
  4. Отдельные файлы к ./debian/tmp/foo/ & ./debian/tmp/libfoo/ папки.

    Двоичный пакет, который будет создан, должен быть объявлен в ./debian/control файл:

    Source: foo
    ...
    
    Package: foo
    ...
    Depends: libfoo (=${binary:Version}), ..
    ...
    
    Package: libfoo
    ...
    

    И файлы, которые должны быть в каждом пакете в foo.install & libfoo.install соответственно.

  5. Файлы, сжатые до debian, архивируют с новыми сгенерированными файлами управления.


Позвольте мне ответить на Ваши вопросы:

  • Каков стандарт debian процесс для создания libfoo и нечто?

    :/Я не могу рекомендовать им долго, руководство для получения запускается, но так же, как ссылки На меня, лучшее смотрело на реальные примеры:

    http://packages.ubuntu.com/source/xenial/vlc

    Сделайте Вы видите, сколько двоичных пакетов является сборкой тот же источник! Проверьте внизу и загрузите *.debian.tar.xz архив, которые имеют все файлы, раньше упаковывал VLC.

  • Я должен создать и установить libfoo прежде и только затем скомпилировать нечто?

    Нет. никакая потребность.

  • У меня может быть pbuilder, так или иначе понимают, что нечто нужны libfoo и установка libfoo прежде, чем скомпилировать нечто?

    Нет. никакая потребность в Build-Depends: поскольку это уже доступно в исходном дереве. Но это должно быть включено в Depends: из foo двоичный файл.

1
ответ дан 7 December 2019 в 12:37

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

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