[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Вопрос о зависимостях между пакетами в случае обновления только некой части пакетов.



20.09.2011 14:34, Andrey Rahmatullin пишет:
On Tue, Sep 20, 2011 at 02:29:30PM +0300, Oleksandr Gavenko wrote:
Есть как бы притензия по поводу того, что заранее знать о поломке
совместимости нет возможности... Ведь пакет foo создавали когда
bar_2.1 еще не вышло.
Перезальёте.

Напомню моделируемую ситуацию - пакет foo уже установлен в старой
версии.

Если он перезаливается - то версия увеличивается... но это никак не
предоставит информацию о несовместимости старой инстяляции и обновленной
версии стороннего пакета bar.

Логично что о несовместимости можно сообщить в новой версии bar.
Но это влечет за собой необходимость матейнеру bar тестировать все
пакеты, которые зависят от bar, что, мне кажется, никто не делает...

19.09.2011 23:41, Dmitry Nezhevenko пишет:
> У bar при смене soname (поломке обратной совместимости) должно полностью
> меняться имя пакета. Плюс новый не должен пересекаться со старым по
> файлам. Это позволяет иметь установленными две версии libbar, пока весь
> софт не переедет на новую
>
> http://www.debian.org/doc/debian-policy/ch-sharedlibs.html
>
Кажется это и есть "правильное" решение.

Для любителей http://semver.org/ можно major помещать в имя пакета
как например:

  python2.5 python2.6 emacs21 emacs22 emacs23

Наверно пакетировщик столкнется с необходимостью разделить файлы
на непересекающиеся между версиями пути...


Еще вижу заковырку когда некий пакет объявляет зависимость *только* от
виртуального пакета. Т.к. имя виртуалного пакета не меняется
(ведь его назначение говорить о наличии в системе неких "возможностей"),
то

  Require: emacs (>= 21.4)

может привести к поломке пакета, если, например, объявленая depreciate
функция наконец то была удалена в новой версии emacs24.

Как выход вижу более явно описывать зависимости:

  Require: emacs21 | emacs22 | emacs23

Применяется ли такое на практике или это выдумка и как происходит в
действительности?


Reply to: