LINUX.ORG.RU

Есть ли способ собирать пакет из исходников с автоматическим заполнением зависимостей?

 , , ,


0

1

Собираю через make, вместо make install делаю checkinstall -D и получаю .deb-ку которая успешно ставится но не работает пока сам не установишь зависимости. Есть ли утилита, или опция checkinstall для настолько автоматической сборки, чтобы даже зависимости сами были в дебке прописаны в результате?

Я не знаю, что за пакет ты там собираешь, но если в цели, генерирующей пакет, не прописаны зависимости, то ты их никак не получишь, пока не добавишь самостоятельно. Ссылку на дебиановские мануалы тебе уже кинули

XMs ★★★★★ ()
Ответ на: комментарий от ITicDigger

Если не делиться пакетом, то всё ок. Ведь причина проблем со статической сборкой - конечный пользователь не может обновить либу, только надеяться на того, кто собирал всё ПО. Если пользователь и сборщик одно лицо, то, очевидно, это не проблема.

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от XMs

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

Собирал в порядке: ccmake, make, checkinstall -D, так вот в процессе make мне не хватало пары либ о чём ругнулся make, а раз уж он ругнулся, значит он получается знает какие зависимости нужны приложению. Значит видимо что-то может их и в deb-ку вписать чтобы их потом менеджер пакетом автоматом подтягивал.

Ссылку на дебиановские мануалы тебе уже кинули

Ну вот же! Там как раз говорилось, как я понял, что есть команда которая получает список зависимостей, правда я не понял куда эту команду вклинивать в моей цепи: ccmake, make, checkinstall -D и можно ли её сюда вклинить, или другие сборщики использовать надо?

ITicDigger ()
Ответ на: комментарий от KivApple

Если не делиться пакетом, то всё ок.

Ну, может оно и так (давно я всех этих GNU GPL и LGPL не перечитывал), но даже если так, ведь куча же прочих лицензионных соглашений кроме GNU GPL и это не только типовые BSD-like но и какие-нибудь самопальные, или GNU GPL с добавками и вот там то и могут скрываться злополучные пункты о запрете статического линкования целиком. Придётся же в идеале перечитывать все незнакомые соглашения.

ITicDigger ()
Ответ на: комментарий от ITicDigger

так вот в процессе make мне не хватало пары либ о чём ругнулся make, а раз уж он ругнулся, значит он получается знает какие зависимости нужны приложению

Нет. Это — зависимости сборки. А тебе нужны зависимости приложения, например:

set(CPACK_DEBIAN_PACKAGE_DEPENDS "
	libc6 (>= 2.3.1-6),
	libgcc1 (>= 1:3.4.2-12),
	libQtOpenGL (>=4.6.0),
	libQtCore (>=4.6.0),
	libQtGui (>=4.6.0),
	libglut (>=3.0),
	libICE (>=6.0),
	libX11 (>=6.0),
	libXext (>=6.0),
	libXmu (>=6.0),
	libXi (>=6.0),
	libstdc++ (>=6.0),
	libm (>=6.0),
	libgcc_s (>=1.0),
	libc (>=6.0),
	libGLU,
	libGL (>=1.0),
	libpthread") 

XMs ★★★★★ ()

и получаю .deb-ку

Вот что б не написать про deb в теме? А то есть buildreq для rpm. Это чтобы сборочные зависимости проставить, а установочные - они и сами автоматом генерятся.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от Avial

А ничего, что для emerge нужно ВРУЧНУЮ написать ебилд. Где прописать ВРУЧНУЮ все зависимости?

Или ты думаешь, что emerge все за тебя сделает? А хрена с два! Нет такой утилиты физически!!!

ТС, без вариантов. Пиши зависимости руками.

anonymous ()
Ответ на: комментарий от Deleted

Это мой скрипт для низкоуровневой сборки .deb пакетов вокруг опакечиваемых файлов и файла control. Аналог makepkg из Slackware. Был представлен как часть проекта деббилдов: Появились деббилды .

saahriktu ★★★★★ ()

если пакет, который ты собираешь из исходников уже есть в репах убунты, то для установки всех зависимостей для сборки просто делаешь apt-get build-dep название_пакета

anonymous ()