[devel] Provides/Obsoletes vs Obsoletes

Artem Zolochevskiy =?iso-8859-1?q?azol_=CE=C1_altlinux=2Eru?=
Чт Апр 3 12:43:23 MSD 2008


В сообщении от Thursday 03 April 2008 11:14:32 Alexey Tourbin написал(а):
> On Thu, Apr 03, 2008 at 11:02:50AM +0300, Artem Zolochevskiy wrote:
> > Если можно ещё один вопрос немного не в тему, но начинать ветку не
> > хочется. Пример: далем переименование old-package -> new-package:
> >
> > Как вы и советуете, делаем так:
> >
> > Первый вариант:
> > Имеем old-package-1.0-alt1
> > делаем new-package-1.1-alt1 (версию увеличили)
> > в spec new-package пишем:
> >
> > Provides: old-package = %version
> > Obsoletes: old-package < %version
> > Conflicts: old-package > %version
> > (Испольуем именно %version, оно тут как я понимаю в 1.1 раскроется)
> >
> > Верно?
>
> Да.
>
> > Второй вариант:
> > более худший вариант без увеличения версии нового пакета (а может даже с
> > уменьшением?)
>
> С уменьшением ещё хуже, чем с сохранением.
> С уменьшением надо отдельно думать.
>
> > > Если Вы хотите переименовать пакет без изменения
> > > версии, то нужно либо привлекать релиз, либо писать "<=" и вместо "<"
> > > -- в любом случае, конструкция получается несколько более
> > > двусмысленной.
> >
> > Можете дописать как это будет выглядеть конкретно в двух примерах ниже?
> >
> > Имеем old-package-1.0-alt1
> > делаем new-package-1.0-alt1 (версию не увеличивали, привлекаем релизы)
>
> Я бы не стал привлекать релизы.
>
> > либо
> > Имеем old-package-1.0-alt1
> > делаем new-package-1.0-alt1 (версию не увеличивали, пишем <= )
> >
> > Provides: old-package ?
> > Obsoletes: old-package ?
> > Conflicts: old-package ?
>
> Provides: old-package = %version
> Obsoletes: old-package <= %version
> Conflicts: old-package > %version
>
> > Что делать, если сам old-package имел свои Provides/Obsoletes/Conflicts ?
> > Должны ли они фигурировать и в новом spec-е?
>
> Зависит от срока давности и от связи версий.
> Что за черный ящик Вы таки хотите переименовать?

Около сотни пакетов docs-имя_модуля-kirill -> docs-имя_модуля
И хочется сделать это грамотно.
Но видимо рецепта не будет универсального. Ибо

1. Некоторые старые имена (docs-имя_модуля-kirill) версионируются по дате 
(050607-alt1), а в новых я хотел бы увидеть привычное 0.1-alt1 итд. Т.е. тут 
получается переименование с уменьшением версии, если я верно понял.
Что тут делать, мне до конца не ясно.

2. Есть ситуация (пока найдена одна), где надо сделать акробатический трюк:
Есть: docs-linux_users-kirill-060313-alt1
Есть: docs-users_in_linux-kirill-051121-alt1.1

Надо сделать: docs-linux_users-0.1-alt1, который является переименованным 
docs-linux_users-kirill (но по другому версионированный).
Да плюс ещё, чтоб docs-linux_users "обсолетил" docs-users_in_linux-kirill, 
т.к. как выяснилось, материал docs-users_in_linux-kirill почти полностью 
совпадает со старым  docs-linux_users-kirill (и его новой инкарнацией 
docs-linux_users)
Надеюсь на слишком запутал.

3. Есть плохо мной названные пакеты (а вернее, кто же думал, что дистрибутив 
Desktop Personal превратиться в ветку), которые я хотел бы переименовать 
обратьно. Пока как это сделать я тоже не понимаю.
Пример:
Когда то был: docs-issue-desktop-4.0-alt3
его переименовали в docs-issue-desktop_personal-0.1-alt1
прописав
Provides: docs-issue-desktop = 4.0-alt3
Obsoletes: docs-issue-desktop
Теперь я бы хотел его каким то магическим обьразом снова (назад) переименовать 
в docs-issue-desktop

4. Что конкретно надо было бы выставить вот в таком случае в спеке пакета 
docs-openoffice-kirill ?
https://bugzilla.altlinux.org/show_bug.cgi?id=12067
Мантейнер здесь сделал просто
Obsoletes: alt-docs-extras-openoffice
Что, как я понял и ваших пояснений, вообще непонятно что. (один Obsoletes без 
Provides)

Ну и такого вот рода кульбиты...

-- 
Артём Золочевский


Подробная информация о списке рассылки Devel