Как создать пакет.deb без пакетов для доступных зависимостей?

Сейчас я погружаюсь в систему упаковки.deb. Я очень новичок в этом, поэтому у меня есть вопрос к вам, потому что я не мог найти точный ответ на других сайтах.

Предположим, я хотел бы создать (распространяемый) пакет.deb для Software A с pbuilder, Зависимости libqrencode, libconfig а также libABC, Для первых зависимостей уже есть пакеты в официальных репозиториях Ubuntu. Итак, мне нужно только добавить эти две библиотеки в debian/control файл (и pbuilder делает все остальное) Но для libABC в официальном репозитории нет пакета.deb, а также нет PPA и т. д.

Единственное, что у меня есть, например, исходный код из GitHub.

Итак, мой вопрос, как я должен справиться с этим?

  • Должен ли я скомпилировать libABC из источника в моей системе? Но как мне "добавить" это pbuilder затем?
  • Или мне также нужно создать еще один пакет.deb для libABC первый? Как я мог "добавить" это к pbuilder? А что если libABC также есть зависимости без существующих пакетов.deb?
  • Или это совершенно другой подход?

Заранее спасибо за помощь!

1 ответ

То, что вы пытаетесь сделать, скорее всего, не сработает или потребует много усилий, чтобы работать так, как вы этого хотите.

pbuilder, sbuild и т. д. все работают в первозданном ядре chroot s, которые содержат определенные критические пакеты внутри chroot создавать программное обеспечение. Проблема заключается в том, что когда вы передаете исходный пакет в любой из них, вам в конечном итоге придется загружать зависимости в chroot и есть очень мало способов обойти это.

Единственный способ обойти это пойти в chroot нетронутой среды, а затем вручную установите пакеты для chroot дистрибутив Ubuntu (да, вы можете иметь chroot для разных версий Ubuntu, лежащих в вашей системе). Это становится очень большой головной болью - потому что вам нужны не только зависимости для сборки вашего пакета, вам нужны зависимости этих зависимостей, а также дополнительные пакеты программного обеспечения для установки для различных библиотек, языков программирования, дополнительных зависимостей, определяемых системой., так далее.

В конечном счете, я не советую создавать распространяемые пакеты в автономном режиме без доступных зависимостей. использование pbuilder или же sbuild или среду сборки пакетов на основе chroot по вашему выбору, но сделайте это с подключением к Интернету. Не пытайся бежать chroot на основе сборок, если вы сначала не изменили chroot по интернет-соединению или используйте специально выделенную систему для здания, которая имеет выборочный доступ в Интернет к репозиториям Ubuntu.

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