Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Knoppix

Модераторы: Warderer, Модераторы разделов

Ответить
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Друзья! То есть один пакет зависит от другого, а другой от первого. Это в общих чертах. Подробнее:

Исходные данные: Орёл 2.12.12, нулёвая, обновлённая. На борту:
debhelper 10.2.5 all
dh-autoreconf 14 all
Необходимо собрать и поставить пакет debhelper_12.1.1~bpo9+1_all.deb Его я беру здесь:
Screenshot_20200714_183110.png
(левее, в stretch версия debhelper 10.2.5)

Качаю исходники, собираю. Для установки требуется пакет dh-autoreconf (>= 17~):

Shell

$ dpkg -f debhelper_12.1.1~bpo9+1_all.deb | grep "^Depends:"
Depends: autotools-dev, dh-autoreconf (>= 17~), dh-strip-nondeterminism (>= 0.028~), dpkg (>= 1.18.0~), dpkg-dev (>= 1.18.2~), dwz, file (>= 3.23), libdpkg-perl (>= 1.17.14), man-db, po-debconf, perl
$
А где взять dh-autoreconf (>= 17~)? Беру здесь:
Screenshot_20200714_183110.png
(левее, в stretch версия dh-autoreconf 14)

Проверяем сборочные зависимости dh-autoreconf:

Shell

$ dpkg-checkbuilddeps
dpkg-checkbuilddeps: ошибка: Unmet build dependencies: debhelper (>= 11~)
$
Вот и всё, собсно. debhelper-12, в свою очередь, требует dh-autoreconf (>= 17~). Замкнутый круг. А debhelper-11 я сильно сомневаюсь что вообще в природе есть. В общем, как мне выйти из этого круга? Спасибо, кто откликнется.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

И, кстати, нашёл в одном месте debhelper-11, так там также зависимость:
dh-autoreconf (>= 17~), последняя надежда тык скыть улетучилась.
Добавлено (18:59):
А в dh-autoreconf 17 сборочная зависимость debhelper (>= 11)
Source: dh-autoreconf
Binary: dh-autoreconf
Architecture: all
Version: 17
Maintainer: Julian Andres Klode <jak@debian.org>
Standards-Version: 4.1.3
Vcs-Browser: https://salsa.debian.org/debian/dh-autoreconf
Vcs-Git: https://salsa.debian.org/debian/dh-autoreconf.git
Build-Depends: debhelper (>= 11)
Как они собрали то там что?
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
14.07.2020 17:33
То есть один пакет зависит от другого, а другой от первого.
Если речь об установке, скажем, двух уже собранных пакетов, которые прописаны в зависимостях друг у друга, то они ставятся оба. Одновременно. Пакетный менеджер нормально это разруливает.
Если же речь о сборке из исходников, то, да, бывает и такое.
Навскидку припоминается ghc. Это компилятор языка haskell.
Начиная с какой-то версии, этот компилятор был переписан на языке haskell.
Таким образом, компилятор ghc нужно собирать с помощью компилятора ghc.
А точнее, с помощью ghc предыдущей версии.
А эту предыдущую версию - с помощью более ранней версии.
А эту более раннюю - с помощью ещё более ранней.
И так далее, пока не дойдем до версии, не требующей ghc для сборки.
Это в теории.
На практике, если предыдущей версии в системе нет и собирать нечем,
берем уже собранный ghc, разворачиваем во временный каталог, собираем
нужную версию ghc, дальше, с помощью неё, собираем остальное.
См. wikipedia://bootstrapping, википедия://Раскрутка компилятора
жучара писал(а):
14.07.2020 17:33
В общем, как мне выйти из этого круга?
Примерно так же, как я описал выше: взять бинарник недостающего инструмента
и использовать его для сборки нужных пакетов нужных версий.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
14.07.2020 19:18
Примерно так же, как я описал выше: взять бинарник недостающего инструмента и использовать его для сборки нужных пакетов нужных версий.
но это же будет левый бинарник из другого дистрибутива. В моём случае dh-autoreconf_17~bpo9+1_all.deb вместо dh-autoreconf_14_all.deb. Типа нельзя и всё такое прочее.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
15.07.2020 15:42
но это же будет левый бинарник
жучара писал(а):
15.07.2020 15:42
Типа нельзя и всё такое прочее.
Нельзя в смысле требований безопасности к использованию дистра?
Тогда выхода у Вас нет: нельзя, значит, нельзя. И то, что Вы соберете самостоятельно будет не менее "левым".

Или нельзя, потому что пакетный менеджер данный пакет отказывается ставить?
Так его (этот пакет) ставить и не нужно. Его нужно распаковать во временные каталоги и использовать.

А вообще, здесь
жучара писал(а):
14.07.2020 17:33
debhelper-12, в свою очередь, требует dh-autoreconf (>= 17~).
Вы не совсем правы.
Это зависимость, не сбророчная, а рантаймовая - для этого конкретного бинарного пакета.
Если посмотреть страницу исходника,
то можно видеть, что dh-autoreconf там нет.
Можно попробовать собрать (должно собраться) и запустить с той версией dh-autoreconf, которая есть в системе.
Это будет уже Ваш собственный бинарник (иначе собран, чем тот, который в дистре), а значит, именно вот dh-autoreconf >=17 для работы требовать не будет.
Но это моё предположение, наверняка утверждать не могу. Попробуйте.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
15.07.2020 16:21
Можно попробовать собрать (должно собраться) и запустить с той версией dh-autoreconf, которая есть в системе.
Там написано:
Depends:
dh-autoreconf (>= 17~),
# Version constraint is to get a version of dh-strip-nondeterminism
# without several bugs. The constraint can be relaxed if an older
# version is sufficient.
значит, можно попробовать понизить зависимость до текущей (версия 14) и устанавливать и работать? Я так и сделаю, если не будет других мнений.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
15.07.2020 16:47
Там написано:
Depends:
dh-autoreconf (>= 17~),
# Version constraint is to get a version of dh-strip-nondeterminism
# without several bugs. The constraint can be relaxed if an older
# version is sufficient.
Это где написано?
Ни на странице пакета с исходниками debhelper, ни в самом пакете с исходниками
я такого не увидел. Пакет dh-strip-nondeterminism есть в зависимостях бинарного пакета,
но версия из stretch, так что проблем быть не должно.

Более того, debhelper - это набор perl-скриптов и некоторых вспомогательных файлов,
так что никаких бинарников, которые нужно компилировать, там нет.
Создание пакета в данном случае сводится к раскладыванию файлов по каталогам, созданию ссылок и т.п.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
15.07.2020 22:44
Это где написано?
нужно скачать исходники отсюда:
deb [trusted=yes] http://ftp.ru.debian.org/debian/ stretch-backports main contrib non-free
deb-src [trusted=yes] http://ftp.ru.debian.org/debian/ stretch-backports main contrib non-free
А потом вот так вот:
cat debhelper-12.1.1~bpo9+1/debian/control
$ cat debhelper-12.1.1~bpo9+1/debian/control
Source: debhelper
Section: devel
Priority: optional
Maintainer: Debhelper Maintainers <debhelper@packages.debian.org>
Uploaders: Niels Thykier <niels@thykier.net>,
Build-Depends: dpkg-dev (>= 1.18.0~),
perl:any,
po4a,
Rules-Requires-Root: no
Standards-Version: 4.3.0
Testsuite: autopkgtest-pkg-perl
Vcs-Git: https://salsa.debian.org/debian/debhelper.git
Vcs-Browser: https://salsa.debian.org/debian/debhelper

Package: debhelper
Architecture: all
Depends: autotools-dev,
# Version 12 is where dh-autoreconf supports --sourcedirectory.
# Version 16 fixes #887482, version 17 fixes #889567
# Constraint can be relaxed if packages do not rely/require any of the
# above fixes
dh-autoreconf (>= 17~),
# Version constraint is to get a version of dh-strip-nondeterminism
# without several bugs. The constraint can be relaxed if an older
# version is sufficient.
dh-strip-nondeterminism (>= 0.028~),
# dbgsym support landed in 1.18.0, 1.18.2 fixes a related nasty bug.
dpkg (>= 1.18.0~),
dpkg-dev (>= 1.18.2~),
dwz,
file (>= 3.23),
libdpkg-perl (>= 1.17.14),
man-db,
po-debconf,
${misc:Depends},
${perl:Depends}
Breaks: dh-systemd (<< 1.38),
# To ensure cmake understands -DCMAKE_INSTALL_RUNSTATEDIR=/run as used in compat 11
# - Can be dropped (with the caveat that cmake packages may behave differently
# depending on the version of cmake).
cmake (<< 3.9~),
# meson build system uses --wrap-mode, which requires meson (>= 0.40.0)
meson (<< 0.40.0~),
# Re-add if qt5-qmake is added to stretch-backports
# The qmake cross wrapper was introduced in 5.9.2+dfsg-5, but got some important
# fixes in the subsequent uploads. It is only needed for cross-building.
# qt5-qmake (<< 5.9.2+dfsg-8),
Replaces: dh-systemd (<< 1.38)
Suggests: dh-make
Provides: ${dh:CompatLevels},
dh-sequence-dwz,
dh-sequence-installinitramfs,
dh-sequence-systemd,
Multi-Arch: foreign
Description: helper programs for debian/rules
A collection of programs that can be used in a debian/rules file to
automate common tasks related to building Debian packages. Programs
are included to install various files into your package, compress
files, fix file permissions, integrate your package with the Debian
menu system, debconf, doc-base, etc. Most Debian packages use debhelper
as part of their build process.

Package: dh-systemd
Section: oldlibs
Architecture: all
Multi-Arch: foreign
Depends: debhelper (>= 9.20160709),
${misc:Depends},
Description: debhelper add-on to handle systemd unit files - transitional package
This package is for transitional purposes and can be removed safely.
$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
16.07.2020 10:09
А потом вот так вот:
А, в файл control я не заглянул.
Но это не отменяет сказанного ранее.
Кстати, выше я писал о bootstrapping
и о том, что текущая версия инструмента собирается с помощью себя же, но предыдущей версии.
Если моё предположение верно, и у Вас всё получится, то по большому счету (не отвлекаясь на детали), вырисовывается именно эта схема:
Пакет для "текущей" версии debhelper (12.1.1) создается при наличии "предыдущей" версии dh-autoreconf (14),
затем с помощью debhelper (12.1.1) создается пакет для "новой" версии dh-autoreconf (17),
а затем для debhelper (12.1.1) пакет создается ещё раз, но уже при наличии dh-autoreconf (17), что и прописывается в зависимости.
В результате получается тот самый "замкнутый круг".
Это к вопросу о том,
жучара писал(а):
14.07.2020 18:12
Как они собрали то там что?
Вот примерно так и собирали.
Это может показаться удивительным, но пакеты для "следующего" релиза где-то собираются (на каких-то машинах).
А какие версии на этих машинах? Разумеется, "текущие", какие же ещё? И чтобы создать два пакета "следующих" версий,
да при этом, чтобы пакеты зависели друг от друга, описанная цепочка и применяется.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
16.07.2020 10:35
Пакет для "текущей" версии debhelper (12.1.1) создается при наличии "предыдущей" версии dh-autoreconf (14),
затем с помощью debhelper (12.1.1) создается пакет для "новой" версии dh-autoreconf (17),
а затем для debhelper (12.1.1) пакет создается ещё раз, но уже при наличии dh-autoreconf (17), что и прописывается в зависимости.
В результате получается тот самый "замкнутый круг".
ну я так и сделал. Вопрос- а зачем так придумано? Вот тут
а затем для debhelper (12.1.1) пакет создается ещё раз, но уже при наличии dh-autoreconf (17), что и прописывается в зависимости.
нужно теперь увеличивать версию пакета (или архитектуру). Например, 12.1.1-1, не силён я в этом. Во-первых, это просто. Никакой циклической зависимости, только прямолинейная тык скыть. Никакой путаницы. Во-творых, это правильно. Писали, что версию (архитектуру) пакета нужно инкременировать после каждого чиха. А тут неплохо так, целую зависимость на три единицы увеличили и по фиг.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
16.07.2020 18:11
Вопрос- а зачем так придумано?
Затем, что это обновление между релизами, вообще-то, если что.
Там не один пакет и не два, сами понимаете.
И по времени это занимает, порой, годы.
Поэтому между debhelper-10.2.5 и debhelper_12.1.1 могло быть ещё множество версий,
которые болтались в тестовой ветке.
Ну, примерно: релиз stratch, будучи stable, вышел с debhelper-10.2.5 на борту, в этот момент buster стал тестовым, прошло много времени (месяцы, годы, и много версий пакетов сменилось).
К тому моменту, когда buster дозрел до того, чтобы стать stable, версия debhelper доползла уже до 12.1.1.
Вот как-то так, а не просто номер версии "увеличили на три единицы" ни с того, ни с сего.
жучара писал(а):
16.07.2020 18:11
Вот тут нужно теперь увеличивать версию пакета (или архитектуру). Например, 12.1.1-1, не силён я в этом.
Вам ничего увеличивать не нужно - Вы не сопровождающий пакета и входите в коллектив разработчиков дистра. Кроме того, версия пакета и так увеличилась (с 10.2.5 до 12.1.1).
Но я бы рекомендовал Вам заменить суффикс в имени пакета,
то есть в debhelper-12.1.1~bpo9+1 буковки bpo9 заменить на что-то своё, обозначив таким образом, что это не пакет из backports, а самосбор.
Посмотрите правила именования пакетов в Debian.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
16.07.2020 18:54
Вот как-то так, а не просто номер версии "увеличили на три единицы" ни с того, ни с сего.
Было: debhelper_12.1.1~bpo9+1_all.deb зависит от 14
Стало: debhelper_12.1.1~bpo9+1_all.deb зависит от 17

А не почему они подняли на три единицы. Хотят хоть на десять пусть подымают. Но debhelper_12.1.1~bpo9+1_all.deb, вследствие этого, пересобирается, а он после каждого чиха должен переименовываться. Не переименовался. Вот в чём вопрос, а не в том, почему и зачем они подняли зависимость на три единицы.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
16.07.2020 20:11
Но debhelper_12.1.1~bpo9+1_all.deb, вследствие этого, пересобирается, а он после каждого чиха должен переименовываться. Не переименовался.
Вы имеете в виду, что при каждой сборке номер должен автоматически увеличиваться, а этого не произошло?
Ну, вроде бы, автоматически и не должно. По крайней мере, я такого не помню.
В какой-нибудь среде разработки (вроде Delphi) - да, бывает настройка, позволяющая автоматически увеличивать номер билда (довольно бестолковая штука, кстати, потому что увеличивает номер, даже когда не надо - вообще при каждом нажатии кнопочки build).

А вот при сборке пакетов я такого не встречал. Ни в deb, ни в rpm, ни в SlackBuild.
Но это как раз неудивительно: для работы этой автоматики номер должен откуда-то считываться и увеличиваться.
Простой вопрос: номер версии прописанный с сборочных файлах - это уже увеличенный или ещё нет? Как скрипт должен это отличать?
Значит, нужен какой-то кэш, хранящий предыдущий номер, и нужен какой-то признак, что этот номер подлежит увеличению.
Ну, то есть это должен быть "проект" со своей "историей" (как оно и есть во всяких средах, вроде Delphi).
А если мы сборку пакета начинаем, что называется, в "чистом каталоге", то понятно, что никаких сведений о "предыдущей сборке" там нет и быть не может.


Если же я неправ, и сборка deb-пакета всё-таки подразумевает автоматическое увеличение номера,
тогда либо скрипты неверно отработали (из-за ошибки в самих скриптах), либо Вы что-то упустили. В этом случае стоит посмотреть документацию: что там об этой автоматике сказано, и что требуется для правильной её работы.

P.S. Беглый поиск показал, что данные о релизе считываются из файла debian/changelog.
Возможно, что данные считанные из этого файла (релиз, версия) повлияют на имя пакета.
Но всё же, это не автоматика.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
17.07.2020 08:09
Вы имеете в виду, что при каждой сборке номер должен автоматически увеличиваться, а этого не произошло?
да зачем автоматически? Просто вручную взять и увеличить. Вот тут написано:
Re: Как найти список битых пакетов?
разные пакеты, даже если они просто пересобраны из тех же исходников, не должны иметь одну и ту же версию
, а в моём случае версия не меняется версию никто не меняет.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
17.07.2020 09:19
да зачем автоматически?
Просто вот это
жучара писал(а):
16.07.2020 20:11
он после каждого чиха должен переименовываться. Не переименовался.
выглядит так, как будто пакет сам должен переименовываться, без специальных действий с Вашей стороны.
То есть ожидается какая-то автоматика.

Если же автоматика не нужна и надо
жучара писал(а):
17.07.2020 09:19
Просто вручную взять и увеличить.
Увеличивайте. Кто ж Вам запрещает?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
17.07.2020 10:59
Увеличивайте. Кто ж Вам запрещает?
с меня-то какой спрос? А так-то ясно всё. Забили или проглядели или всё вместе.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
17.07.2020 11:15
с меня-то какой спрос?
Спрос с Вас такой, что это Вы собираете пакет.
Вы же его собираете, не так ли? Соответственно, Вы и ставите номер версии, номер сборки, суффиксы и пр.
Ну или оставляете как есть - это на Ваше усмотрение. Само оно не поменяется.
жучара писал(а):
17.07.2020 11:15
А так-то ясно всё. Забили или проглядели или всё вместе.
А мне не очень ясно.

Вот это
жучара писал(а):
16.07.2020 20:11
Было: debhelper_12.1.1~bpo9+1_all.deb зависит от 14
Стало: debhelper_12.1.1~bpo9+1_all.deb зависит от 17
имеет место в результате Ваших действий по пересборке.
Следовательно, никто кроме Вас не поменяет номера версий, сборок, суффиксы и т.п.
Более того, "debhelper_12.1.1~bpo9+1_all.deb зависит от 14" - это вообще промежуточное состояние.
В процессе сборки нескольких пакетов, зависящих друг от друга, такое вполне возможно.

А изначально было
в stretch:
debhelper (10.2.5) зависит от dh-autoreconf (14)

в stretch-backports:
debhelper (12.1.1~bpo9+1) зависит от dh-autoreconf (17~bpo9+1)

Если, находясь в stretch, подключить репу stretch-backports и поставить пакет debhelper,
то благополучно установятся debhelper (12.1.1~bpo9+1) и dh-autoreconf (17~bpo9+1).
Как видите, с номерами версий всё в порядке.
И никаких debhelper (12.1.1~bpo9+1) зависит от dh-autoreconf (14) в репах нет.

Поэтому я не очень понимаю, кого и что Вы подразумеваете, говоря "забили/проглядели".
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
17.07.2020 12:29
И никаких debhelper (12.1.1~bpo9+1) зависит от dh-autoreconf (14) в репах нет.
вы же сами написали:
Hephaestus писал:
16.07.2020 10:35
Пакет для "текущей" версии debhelper (12.1.1) создается при наличии "предыдущей" версии dh-autoreconf (14)
оно же не в безвоздушном пространстве создаётся. Пусть оно не было прописано в зависимостях, но фактически-то зависело от версии 14, которая не была прописана в зависимостях. Так кто её НЕ ПРОПИСАЛ в зависимостях? Петя, Вася, я не знаю, кто там, если уж вы придираетесь вопрос ставите, кто недоглядел.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
17.07.2020 13:15
Пусть оно не было прописано в зависимостях, но фактически-то зависело от версии 14
Оно не зависело именно от версии 14. Оно требовало для запуска dh-autoreconf, в данном случае в наличии была версия
14. А могла бы быть и 15.
жучара писал(а):
17.07.2020 13:15
которая не была прописана в зависимостях.
А кто сказал, что зависимость не была прописана?
Пока всё это хозяйство болталось в тестовой ветке в течение многих месяцев, эти пакеты много раз обновлялись,
не исключено, что ситуация "debhelper (12.1.1~bpo9+1) зависит от dh-autoreconf (14)" имела место в какой-то период.

Но к моменту релиза buster, а точнее, к моменту заморозки testing, всё более-менее устаканилось,
и уже образовалась связка debhelper-12.1.1 и dh-autoreconf-17.
Я же Вам сказал, debhelper-12.1.1 + dh-autoreconf-14 - это промежуточное состояние.
Оно было временным на тестовой ветке, оно является временным и сейчас, когда Вы делаете сборку.
Куда и, главное, зачем прописывать зависимость от 14, если конечный результат - это зависимость от 17?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 950
ОС: астралинукс

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение жучара »

Hephaestus писал:
17.07.2020 14:24
Куда и, главное, зачем прописывать зависимость от 14, если конечный результат - это зависимость от 17?
я уже писал в debhelper-12.1.1 нужно написать зависимость 14. потом создать новый debhelper, написать в него зависимость 17 и назвать debhelper-13 (или как там).
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2
Контактная информация:

Re: Как собрать и установить пакет, если имеются какие-то полуциклические зависимости пакетов?

Сообщение Hephaestus »

жучара писал(а):
17.07.2020 15:54
я уже писал в debhelper-12.1.1 нужно написать зависимость 14. потом создать новый debhelper, написать в него зависимость 17 и назвать debhelper-13 (или как там).
Ну, оно примерно так и было:
собрали debhelper-12.1.1, прописали ему зависимость dh-autoreconf-14 (хотя можно и не прописывать, это промежуточная штука, можно сказать, одноразовая),
с помощью полученного debhelper-12.1.1 собрали dh-autoreconf-17,
затем ещё раз собрали debhelper-12.1.1, прописав ему зависимость dh-autoreconf-17.
На самом деле, там могли быть и debhelper-11.x, и debhelper-12.0, и dh-autoreconf-15, и dh-autoreconf-16, так что совсем не обязательно, что dh-autoreconf-14 является зависимостью именно для debhelper-12.1.1.
Я уже говорил, это было в течение многих месяцев.
Где и когда была прописана зависимость dh-autoreconf-14, мы сейчас не увидим,
потому что мы в релизе видим конечный результат, без этих промежуточных сборочных состояний.
Так что не нам судить, забыли там что-то прописать или не забыли.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Ответить