On Thu, Apr 03, 2008 at 09:39:29AM +0300, Artem Zolochevskiy wrote: > Собственно, над Obsolets/Provides я задумался вот в какой ситуации. > > Есть пакет old-package1 > Есть пакет old-package2 > > Делается пакет new-package, > который по сути просто переименованный old-package1, и его логическое > продолжение. > > В new-package прописал, как и где-то рекомендовали при переименовании: > Provides = old-package1-релиз > Obsoletes <= old-package1-релиз > > Далее смотрю на пакет old-package2, и понимаю, что всё его содержание (почти > на 90%) повторяет новый пакет new-package. Т.е. надо бы его упразнить в > пользу new-package. > > Думаю, как правильно поступить. > Можно: > 1. Просто без всяческих манипуляций отправить пакет в obsolete и его более не > будет в репозитории. Наверное это не самый хороший метод, ибо если такой > пакет (old-package2) был установлен на чьей-то машинке, то так он мусором и > останется стоять. > > 2. Произвести манипуляции, при которых old-package2 будет заменён другим > пакетом при обновлении. > > Теперь думаю, что правильнее добавить в new-package, чтоб избавиться от > ненужного old-package2? > > Сделать будто это ещё одно переименование? old-package2 -> new-package ? > ХОтя этот вариант, вроде, не совсем "честный". Всё же new-package -- это > переименованный old-package1, а не old-package2. > > т.е. new-package будет выглядеть уже так: > Provides: old-package1 = версия-релиз, old-package2 = версия-релиз > Obsoletes: old-package1 <= версия-релиз, old-package2 <= версия-релиз > > Либо ограничиться просто Obsoletes, тогда всё выглядит так: > Provides: old-package1 = версия-релиз > Obsoletes: old-package1 <= версия-релиз, old-package2 <= версия-релиз > > Ну и вообще смотрю я на это, и понимаю, что ясно не понимаю к чему служит > Obsolete, а к чему Provides и зачем, например, при переименовании вообще > высталять Provides. :( Что означает obsoletes без provides никто не знает. Вам надо либо поменьше думать, либо побольше читать исходников (и не задавать вопросов). Можно и просто слушать, что Вам говорят. А Вам говорят, что следует написать так (при очередном увеличении версии): Provides: old-package1 = %version Obsoletes: old-package1 < %version Conflicts: old-package1 > %version Это наиболее надёжная и беспроблемная конструкция. И не надо писать -%release, релизы вещь хрупакая, в сизифе релизы одни а в бранче другие. А вот версии пакетов практически даны нам от Бога!