ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Provides/Obsoletes vs Obsoletes
@ 2008-04-02 14:14 Artem Zolochevskiy
  2008-04-02 14:22 ` Alexey Tourbin
  0 siblings, 1 reply; 18+ messages in thread
From: Artem Zolochevskiy @ 2008-04-02 14:14 UTC (permalink / raw)
  To: ALT Devel discussion list

Господа,

В чём принципиальное отличие от проприсывания в спеке пакета А:
Provides = B
Obsoletes <= B
(как это рекомендуется делать при переименовании)

от просто Obsoletes <= В.

И в первом и во втором случае при установке А пакет В будет REPLACED.
Так где же вылазит практическая разница (наличие строчки Provides)? В том, что 
при её наличии apt-cache search B таки будет найден а при отсутвии нет?

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 14:14 [devel] Provides/Obsoletes vs Obsoletes Artem Zolochevskiy
@ 2008-04-02 14:22 ` Alexey Tourbin
  2008-04-02 14:36   ` Artem Zolochevskiy
  0 siblings, 1 reply; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-02 14:22 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 749 bytes --]

On Wed, Apr 02, 2008 at 05:14:03PM +0300, Artem Zolochevskiy wrote:
> В чём принципиальное отличие от проприсывания в спеке пакета А:
> Provides = B
> Obsoletes <= B
> (как это рекомендуется делать при переименовании)
> 
> от просто Obsoletes <= В.

В чём разница никто не знает, и как правильно сделать тоже никто не
знает. :)  Obsoletes даёт то, что при ПЕРВОЙ установке obsolete пакет
автоматически удаляется, буде он установлен.  Что, впрочем, не мешает
установить его ещё раз, поверх того что есть.

> И в первом и во втором случае при установке А пакет В будет REPLACED.
> Так где же вылазит практическая разница (наличие строчки Provides)? В том, что 
> при её наличии apt-cache search B таки будет найден а при отсутвии нет?

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 14:22 ` Alexey Tourbin
@ 2008-04-02 14:36   ` Artem Zolochevskiy
  2008-04-02 14:51     ` Alexey Tourbin
  0 siblings, 1 reply; 18+ messages in thread
From: Artem Zolochevskiy @ 2008-04-02 14:36 UTC (permalink / raw)
  To: ALT Devel discussion list

В сообщении от Wednesday 02 April 2008 17:22:42 Alexey Tourbin написал(а):
> On Wed, Apr 02, 2008 at 05:14:03PM +0300, Artem Zolochevskiy wrote:
> > В чём принципиальное отличие от проприсывания в спеке пакета А:
> > Provides = B
> > Obsoletes <= B
> > (как это рекомендуется делать при переименовании)
> >
> > от просто Obsoletes <= В.
>
> В чём разница никто не знает, и как правильно сделать тоже никто не
> знает. :)  Obsoletes даёт то, что при ПЕРВОЙ установке obsolete пакет
> автоматически удаляется, буде он установлен.  Что, впрочем, не мешает
> установить его ещё раз, поверх того что есть.

Можно ли это этого заключить, что рекомендация при переименовании ставить
и Provides и Obsoletes расчитана на то, что
Obsoletes должен удалить "старый" пакет,
а
Provides ставися на тот пожарный случай, если вдруг у каких-то прочих пакетов 
в репозитории была зависимость на старое имя?

А посему, если гарантированно от старого имени пакета ничего не зависело, то 
при переименовании можно смело отделаться _только_ Obsoletes.

Верно?

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 14:36   ` Artem Zolochevskiy
@ 2008-04-02 14:51     ` Alexey Tourbin
  2008-04-02 15:21       ` Damir Shayhutdinov
  2008-04-03  6:39       ` Artem Zolochevskiy
  0 siblings, 2 replies; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-02 14:51 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1437 bytes --]

On Wed, Apr 02, 2008 at 05:36:13PM +0300, Artem Zolochevskiy wrote:
> В сообщении от Wednesday 02 April 2008 17:22:42 Alexey Tourbin написал(а):
> > On Wed, Apr 02, 2008 at 05:14:03PM +0300, Artem Zolochevskiy wrote:
> > > В чём принципиальное отличие от проприсывания в спеке пакета А:
> > > Provides = B
> > > Obsoletes <= B
> > > (как это рекомендуется делать при переименовании)
> > >
> > > от просто Obsoletes <= В.
> >
> > В чём разница никто не знает, и как правильно сделать тоже никто не
> > знает. :)  Obsoletes даёт то, что при ПЕРВОЙ установке obsolete пакет
> > автоматически удаляется, буде он установлен.  Что, впрочем, не мешает
> > установить его ещё раз, поверх того что есть.
> 
> Можно ли это этого заключить, что рекомендация при переименовании ставить
> и Provides и Obsoletes расчитана на то, что
> Obsoletes должен удалить "старый" пакет,
> а
> Provides ставися на тот пожарный случай, если вдруг у каких-то прочих пакетов 
> в репозитории была зависимость на старое имя?
> 
> А посему, если гарантированно от старого имени пакета ничего не зависело, то 
> при переименовании можно смело отделаться _только_ Obsoletes.

Нет.  Что делает Obsolets никто не знает.
Считайте, что переименовать пакет можно только при увеличении версии.

Тогда можно написать

Provides: old-name = %version
Obsolets: old-name < %version
Conflicts: old-name > %version

Лучше ничего придумать нельзя.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 14:51     ` Alexey Tourbin
@ 2008-04-02 15:21       ` Damir Shayhutdinov
  2008-04-02 15:26         ` Alexey Tourbin
  2008-04-03  6:39       ` Artem Zolochevskiy
  1 sibling, 1 reply; 18+ messages in thread
From: Damir Shayhutdinov @ 2008-04-02 15:21 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>  Тогда можно написать
>
>  Provides: old-name = %version
>  Obsolets: old-name < %version
>  Conflicts: old-name > %version
>
>  Лучше ничего придумать нельзя.
Лучше наверное %version-%release.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 15:21       ` Damir Shayhutdinov
@ 2008-04-02 15:26         ` Alexey Tourbin
  2008-04-02 15:40           ` Anton Farygin
  0 siblings, 1 reply; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-02 15:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 447 bytes --]

On Wed, Apr 02, 2008 at 07:21:34PM +0400, Damir Shayhutdinov wrote:
> >  Тогда можно написать
> >
> >  Provides: old-name = %version
> >  Obsolets: old-name < %version
> >  Conflicts: old-name > %version
> >
> >  Лучше ничего придумать нельзя.
> Лучше наверное %version-%release.

Мне кажется что при переименовании пакета релиза у provides быть
не должно, и таким образом виртуальную зависимость легче отличить
от настоящего пакета.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 15:26         ` Alexey Tourbin
@ 2008-04-02 15:40           ` Anton Farygin
  2008-04-02 15:47             ` Alexey Tourbin
  0 siblings, 1 reply; 18+ messages in thread
From: Anton Farygin @ 2008-04-02 15:40 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Alexey Tourbin пишет:
> On Wed, Apr 02, 2008 at 07:21:34PM +0400, Damir Shayhutdinov wrote:
>>>  Тогда можно написать
>>>
>>>  Provides: old-name = %version
>>>  Obsolets: old-name < %version
>>>  Conflicts: old-name > %version
>>>
>>>  Лучше ничего придумать нельзя.
>> Лучше наверное %version-%release.
> 
> Мне кажется что при переименовании пакета релиза у provides быть
> не должно, и таким образом виртуальную зависимость легче отличить
> от настоящего пакета.

На мой взгляд provides с версиями лучше не злоупотреблять.

Если пакет переименовался, то достаточно Provides _имя старого пакета_ и 
  Obsoletes _имя старого пакета_.

Зачем тут версия - непонятно (хотя предположить можно).



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 15:40           ` Anton Farygin
@ 2008-04-02 15:47             ` Alexey Tourbin
  0 siblings, 0 replies; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-02 15:47 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 961 bytes --]

On Wed, Apr 02, 2008 at 07:40:01PM +0400, Anton Farygin wrote:
> Alexey Tourbin пишет:
> >On Wed, Apr 02, 2008 at 07:21:34PM +0400, Damir Shayhutdinov wrote:
> >>> Тогда можно написать
> >>>
> >>> Provides: old-name = %version
> >>> Obsolets: old-name < %version
> >>> Conflicts: old-name > %version
> >>>
> >>> Лучше ничего придумать нельзя.
> >>Лучше наверное %version-%release.
> >
> >Мне кажется что при переименовании пакета релиза у provides быть
> >не должно, и таким образом виртуальную зависимость легче отличить
> >от настоящего пакета.
> 
> На мой взгляд provides с версиями лучше не злоупотреблять.

Последний раз в 1899-м году в Париже на Рю де ла Пэ!

> Если пакет переименовался, то достаточно Provides _имя старого пакета_ и 
>  Obsoletes _имя старого пакета_.
> 
> Зачем тут версия - непонятно (хотя предположить можно).

Чтобы сохранить возможность обратного переименования пакета (при
очередном увеличении версии).

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-02 14:51     ` Alexey Tourbin
  2008-04-02 15:21       ` Damir Shayhutdinov
@ 2008-04-03  6:39       ` Artem Zolochevskiy
  2008-04-03  6:45         ` Artem Zolochevskiy
  2008-04-03  7:00         ` Alexey Tourbin
  1 sibling, 2 replies; 18+ messages in thread
From: Artem Zolochevskiy @ 2008-04-03  6:39 UTC (permalink / raw)
  To: ALT Devel discussion list

В сообщении от Wednesday 02 April 2008 17:51:32 Alexey Tourbin написал(а):
> On Wed, Apr 02, 2008 at 05:36:13PM +0300, Artem Zolochevskiy wrote:
> > В сообщении от Wednesday 02 April 2008 17:22:42 Alexey Tourbin написал(а):
> > > On Wed, Apr 02, 2008 at 05:14:03PM +0300, Artem Zolochevskiy wrote:
> > > > В чём принципиальное отличие от проприсывания в спеке пакета А:
> > > > Provides = B
> > > > Obsoletes <= B
> > > > (как это рекомендуется делать при переименовании)
> > > >
> > > > от просто Obsoletes <= В.
> > >
> > > В чём разница никто не знает, и как правильно сделать тоже никто не
> > > знает. :)  Obsoletes даёт то, что при ПЕРВОЙ установке obsolete пакет
> > > автоматически удаляется, буде он установлен.  Что, впрочем, не мешает
> > > установить его ещё раз, поверх того что есть.
> >
> > Можно ли это этого заключить, что рекомендация при переименовании ставить
> > и Provides и Obsoletes расчитана на то, что
> > Obsoletes должен удалить "старый" пакет,
> > а
> > Provides ставися на тот пожарный случай, если вдруг у каких-то прочих
> > пакетов в репозитории была зависимость на старое имя?
> >
> > А посему, если гарантированно от старого имени пакета ничего не зависело,
> > то при переименовании можно смело отделаться _только_ Obsoletes.
>
> Нет.  Что делает Obsolets никто не знает.

Во как...

Собственно, над 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. :(

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  6:39       ` Artem Zolochevskiy
@ 2008-04-03  6:45         ` Artem Zolochevskiy
  2008-04-03  7:00         ` Alexey Tourbin
  1 sibling, 0 replies; 18+ messages in thread
From: Artem Zolochevskiy @ 2008-04-03  6:45 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В сообщении от Thursday 03 April 2008 09:39:29 Artem Zolochevskiy написал(а):

> В new-package прописал, как и где-то рекомендовали при переименовании:
> Provides = old-package1-релиз
> Obsoletes <= old-package1-релиз

тут опечатался, надо:

Provides: old-package1 = версия-релиз
Obsoletes: old-package1 <= версия-релиз

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  6:39       ` Artem Zolochevskiy
  2008-04-03  6:45         ` Artem Zolochevskiy
@ 2008-04-03  7:00         ` Alexey Tourbin
  2008-04-03  7:16           ` Artem Zolochevskiy
  1 sibling, 1 reply; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-03  7:00 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2520 bytes --]

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, релизы вещь хрупакая, в сизифе релизы одни
а в бранче другие.  А вот версии пакетов практически даны нам от Бога!

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  7:00         ` Alexey Tourbin
@ 2008-04-03  7:16           ` Artem Zolochevskiy
  2008-04-03  7:32             ` Alexey Tourbin
  0 siblings, 1 reply; 18+ messages in thread
From: Artem Zolochevskiy @ 2008-04-03  7:16 UTC (permalink / raw)
  To: ALT Devel discussion list

В сообщении от Thursday 03 April 2008 10:00:42 Alexey Tourbin написал(а):

> Что означает obsoletes без provides никто не знает.  Вам надо либо
> поменьше думать, либо побольше читать исходников (и не задавать
> вопросов).  Можно и просто слушать, что Вам говорят.
>
> А Вам говорят, что следует написать так (при очередном увеличении версии):
> Provides: old-package1 = %version
> Obsoletes: old-package1 < %version
> Conflicts: old-package1 > %version
>
> Это наиболее надёжная и беспроблемная конструкция.

Отлично! Так и буду делать впредь при переименовании.
Можно только уточнить что значит пометочка "при очередном увеличении версии"?

>
> И не надо писать -%release, релизы вещь хрупакая, в сизифе релизы одни
> а в бранче другие.  А вот версии пакетов практически даны нам от Бога!

Тоже принято. Так и буду поступать при переименовании.

Но всё же, что делать мне с пакетом old-package2? Вот мой главный вопрос.
Тоже делать "переименование"? Если да, то в итоге я имею:

Имеем: old-package1-1.0-alt1
Имеем: old-package2-3.1-alt1

Делаем переименование old-package1 -> new-package
Деалется пакет new-package-1.0-alt1 где

Provides: old-package1 = 1.0
Obsoletes: old-package1 < 1.0 
Conflicts: old-package1 > 1.0

Далее добавляем в спек new-package-1.0-alt1 пакет old-package2.
Получается:

Provides: old-package1 = 1.0, old-package2 = 3.1
Obsoletes: old-package1 < 1.0, old-package2 < 3.1
Conflicts: old-package1 > 1.0,  old-package2 > 3.1

Так верно?

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  7:16           ` Artem Zolochevskiy
@ 2008-04-03  7:32             ` Alexey Tourbin
  2008-04-03  8:02               ` Artem Zolochevskiy
  0 siblings, 1 reply; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-03  7:32 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2330 bytes --]

On Thu, Apr 03, 2008 at 10:16:46AM +0300, Artem Zolochevskiy wrote:
> > Что означает obsoletes без provides никто не знает.  Вам надо либо
> > поменьше думать, либо побольше читать исходников (и не задавать
> > вопросов).  Можно и просто слушать, что Вам говорят.
> >
> > А Вам говорят, что следует написать так (при очередном увеличении версии):
> > Provides: old-package1 = %version
> > Obsoletes: old-package1 < %version
> > Conflicts: old-package1 > %version
> >
> > Это наиболее надёжная и беспроблемная конструкция.
> 
> Отлично! Так и буду делать впредь при переименовании.
> Можно только уточнить что значит пометочка "при очередном увеличении версии"?

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

При очередном увеличении версии можно сделать обратное переименование.

> Но всё же, что делать мне с пакетом old-package2? Вот мой главный вопрос.
> Тоже делать "переименование"? Если да, то в итоге я имею:
> 
> Имеем: old-package1-1.0-alt1
> Имеем: old-package2-3.1-alt1

Если версия old-package2 больше версии нового пакета, то эта схема
работает хуже.  Но это уже не простое переименование, а вытеснение
пакета, который исторически (по версиям) не связан с новым пакетом.

> Делаем переименование old-package1 -> new-package
> Деалется пакет new-package-1.0-alt1 где
> 
> Provides: old-package1 = 1.0
> Obsoletes: old-package1 < 1.0 
> Conflicts: old-package1 > 1.0

Пишите макрос %version, если есть "историческая" связь по версиям.
Смысл в том чтобы использовать макрос %version.

> Далее добавляем в спек new-package-1.0-alt1 пакет old-package2.
> Получается:
> 
> Provides: old-package1 = 1.0, old-package2 = 3.1
> Obsoletes: old-package1 < 1.0, old-package2 < 3.1
> Conflicts: old-package1 > 1.0,  old-package2 > 3.1

Пишите %version, если все три версии (нового пакета и двух старых)
исторически связаны, и при этом версия нового пакета больше двух старых.
Если версия 3.1 исторически не связана с версией нового пакета, либо
больше её, тогда оставить 3.1.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  7:32             ` Alexey Tourbin
@ 2008-04-03  8:02               ` Artem Zolochevskiy
  2008-04-03  8:14                 ` Alexey Tourbin
  0 siblings, 1 reply; 18+ messages in thread
From: Artem Zolochevskiy @ 2008-04-03  8:02 UTC (permalink / raw)
  To: ALT Devel discussion list

В сообщении от Thursday 03 April 2008 10:32:55 Alexey Tourbin написал(а):

> Пишите %version, если все три версии (нового пакета и двух старых)
> исторически связаны, и при этом версия нового пакета больше двух старых.
> Если версия 3.1 исторически не связана с версией нового пакета, либо
> больше её, тогда оставить 3.1.

Ага! Так что-то проясняется. Спасибо.

Если можно ещё один вопрос немного не в тему, но начинать ветку не хочется.
Пример: далем переименование 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 (версию не увеличивали, привлекаем релизы)

в spec new-package пишем:
Provides: old-package ?
Obsoletes: old-package ?
Conflicts: old-package ?

либо
Имеем old-package-1.0-alt1
делаем new-package-1.0-alt1 (версию не увеличивали, пишем <= )

Provides: old-package ?
Obsoletes: old-package ?
Conflicts: old-package ?


Дополнительный вопрос, вне зависимости от трёх способов переименования 
указанных выше.
Что делать, если сам old-package имел свои Provides/Obsoletes/Conflicts ?
Должны ли они фигурировать и в новом spec-е?

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  8:02               ` Artem Zolochevskiy
@ 2008-04-03  8:14                 ` Alexey Tourbin
  2008-04-03  8:33                   ` Alexey Tourbin
  2008-04-03  8:43                   ` Artem Zolochevskiy
  0 siblings, 2 replies; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-03  8:14 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1739 bytes --]

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-е?

Зависит от срока давности и от связи версий.
Что за черный ящик Вы таки хотите переименовать?

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  8:14                 ` Alexey Tourbin
@ 2008-04-03  8:33                   ` Alexey Tourbin
  2008-04-03  8:43                   ` Artem Zolochevskiy
  1 sibling, 0 replies; 18+ messages in thread
From: Alexey Tourbin @ 2008-04-03  8:33 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 831 bytes --]

On Thu, Apr 03, 2008 at 12:14:32PM +0400, Alexey Tourbin wrote:
> > Provides: old-package = %version
> > Obsoletes: old-package < %version
> > Conflicts: old-package > %version
> > (Испольуем именно %version, оно тут как я понимаю в 1.1 раскроется)
> > 
> > Верно?
> 
> Да.

Я передумал!  Conflicts (пока) можно не писать вообще.
Кажется, правильнее было бы писать
Conflicts: old-package < %version, old-package > %version
но что-то я не могу всех случаев сразу продумать.

Дело в том, что Conflicts действуют не только на реальные пакеты,
но и на виртуальные зависимости других пакетов.  Можно переборщить.

> > Provides: old-package ?
> > Obsoletes: old-package ?
> > Conflicts: old-package ?
> 
> Provides: old-package = %version
> Obsoletes: old-package <= %version
> Conflicts: old-package > %version

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  8:14                 ` Alexey Tourbin
  2008-04-03  8:33                   ` Alexey Tourbin
@ 2008-04-03  8:43                   ` Artem Zolochevskiy
  2008-04-03 10:36                     ` Michael Shigorin
  1 sibling, 1 reply; 18+ messages in thread
From: Artem Zolochevskiy @ 2008-04-03  8:43 UTC (permalink / raw)
  To: ALT Devel discussion list

В сообщении от 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)

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

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [devel] Provides/Obsoletes vs Obsoletes
  2008-04-03  8:43                   ` Artem Zolochevskiy
@ 2008-04-03 10:36                     ` Michael Shigorin
  0 siblings, 0 replies; 18+ messages in thread
From: Michael Shigorin @ 2008-04-03 10:36 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thu, Apr 03, 2008 at 11:43:23AM +0300, Artem Zolochevskiy wrote:
> Ну и такого вот рода кульбиты...

Ты ж не забудь тред упаковать куда на freesource spectips
(сходу не нашёл ничего про version release provides, так что
мож и новой страничкой).

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2008-04-03 10:36 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-02 14:14 [devel] Provides/Obsoletes vs Obsoletes Artem Zolochevskiy
2008-04-02 14:22 ` Alexey Tourbin
2008-04-02 14:36   ` Artem Zolochevskiy
2008-04-02 14:51     ` Alexey Tourbin
2008-04-02 15:21       ` Damir Shayhutdinov
2008-04-02 15:26         ` Alexey Tourbin
2008-04-02 15:40           ` Anton Farygin
2008-04-02 15:47             ` Alexey Tourbin
2008-04-03  6:39       ` Artem Zolochevskiy
2008-04-03  6:45         ` Artem Zolochevskiy
2008-04-03  7:00         ` Alexey Tourbin
2008-04-03  7:16           ` Artem Zolochevskiy
2008-04-03  7:32             ` Alexey Tourbin
2008-04-03  8:02               ` Artem Zolochevskiy
2008-04-03  8:14                 ` Alexey Tourbin
2008-04-03  8:33                   ` Alexey Tourbin
2008-04-03  8:43                   ` Artem Zolochevskiy
2008-04-03 10:36                     ` Michael Shigorin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git