* [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