Рейтинг:2

Как использовать более старую версию пакета из того же PPA в качестве зависимости при сборке Launchpad?

флаг in

Я пытаюсь упаковать программное обеспечение для блокчейна Cardano с помощью Launchpad, и пока мне удалось создать PPA с необходимой вилкой libsodium. Этот форк необходим для создания программного обеспечения узла Cardano, что было моим следующим шагом — создать его и также разместить на PPA. Проблема в том, что для создания программного обеспечения узла сборщик должен использовать этот PPA, чтобы иметь возможность установить правильную зависимость.

Без этого я получаю сбои сборки как это, где не удается разрешить нужную версию:

Следующие пакеты имеют неудовлетворенные зависимости:
 sbuild-build-depends-cardano-node-dummy : Зависит: libsodium-dev (= 1.0.17.1-0ubuntu1), но необходимо установить 1.0.18-1
E: Невозможно исправить проблемы, у вас есть сломанные пакеты.

Я пытался сделать PPA зависимостью, но, по-видимому, вы не можете этого сделать, потому что пакет создан как часть того же PPA и не может зависеть сам от себя. Что мне здесь делать?

Изменить, чтобы уточнить: я пытаюсь создать пакет в ППА это зависит от пакета, который приходит из одинаковый ППА.

флаг us
Просто чтобы уточнить, вы пытаетесь собрать пакет в своем PPA, который зависит от другого пакета, доступного в другом PPA? Если да, можете ли вы опубликовать ссылки на оба PPA, отредактировав вопрос?
флаг in
@ArchismanPanigrahi Я отредактировал вопрос, чтобы уточнить - PPA тот же.
Рейтинг:1
флаг us

Посылка кардано-узел явно зависит от libsodium-dev (= 1.0.17.1-0ubuntu1) который находится в PPA. Однако версия 1.0.18-1 уже доступна в репозиториях, и более старая версия не будет установлена.

У вас есть два варианта.

  1. Если версия в репозиториях Ubuntu работает для вас, удалите явный номер версии зависимости libsodium-dev в дебиан/управление файл.
  2. Если вам действительно нужна эта более старая версия с вашим пакетом, пересоберите старую версию под поддельным номером версии, например 2:1.0.17.1-0, и снова удалите явный номер версии из файла debian/control, чтобы старая версия libsodium-dev (теперь 2:1.0.17.1-0) получит большее предпочтение.
флаг in
Я думал о подходе 2, так как мне нужна пользовательская версия. Но проблема в том, что библиотека находится в том же PPA-репозитории, создание другой ее версии не поможет с тем фактом, что эта версия недоступна для собираемого пакета, не так ли?
флаг in
О, я понимаю, что вы имеете в виду. Доступен более поздний пакет - поэтому зависимость не может быть разрешена. Я работал над этим с помощью подходящей булавки, вы не знаете, можно ли это сделать в среде Launchpad?
флаг us
Нет, я не думаю, что Launchpad может использовать apt pin. Просто измените номер версии в `debian/control`, запустите `debuild -S` и нажмите на Launchpad.

Ответить или комментировать

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