ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] A: libqwt API breakage
  @ 2009-09-26 20:33 ` Dmitry V. Levin
  2009-09-28  8:03   ` REAL
  0 siblings, 1 reply; 18+ messages in thread
From: Dmitry V. Levin @ 2009-09-26 20:33 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Fri, Sep 25, 2009 at 07:59:46PM +0000, QA Team Robot wrote:
> libqwt5_3 - 2D plotting widget extension to the Qt GUI
> * Fri Sep 25 2009 Eugeny A. Rostovtsev (REAL) <real@altlinux> 5.3.0-alt1.svn20090920
> - Soname changed
> * Fri Sep 25 2009 Eugeny A. Rostovtsev (REAL) <real@altlinux> 5.3.0-alt1.svn20090920
> - Version 5.3.0
> - Extracted documentation into separate package
> * Thu Jul 23 2009 Vitaly Lipatov <lav@altlinux> 5.2.0-alt2
> libqwt - 2D plotting widget extension to the Qt GUI
> * Fri Sep 25 2009 Eugeny A. Rostovtsev (REAL) <real@altlinux> 5.2.0-alt3
> - Moved this version into System/Legacy libraries
> * Thu Jul 23 2009 Vitaly Lipatov <lav@altlinux> 5.2.0-alt2

Евгений, после вашего изменения libqwt-devel-5.3.0-alt1.svn20090920
оказался несовместимым с предыдущей версией libqwt-devel-5.2.0-alt2, и в
результате этого несовместимого изменения сломалась сборка _всех_
клиентов этой библиотеки:
bacula-3.0.2-alt5
gromacs-gui-0.5.2-alt3
qwtpolar-0.0.3-alt1

У нас не принято делать такие изменения без предупреждения.  Просьба
вернуть libqwt-devel в прежнее состояние как можно быстрее.  Спасибо.


-- 
ldv

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

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

* Re: [devel] A: libqwt API breakage
  2009-09-26 20:33 ` [devel] A: libqwt API breakage Dmitry V. Levin
@ 2009-09-28  8:03   ` REAL
  2009-09-28  8:39     ` Sergey Vlasov
  2009-09-28  8:53     ` Boris Savelev
  0 siblings, 2 replies; 18+ messages in thread
From: REAL @ 2009-09-28  8:03 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin пишет:
> Евгений, после вашего изменения libqwt-devel-5.3.0-alt1.svn20090920
> оказался несовместимым с предыдущей версией libqwt-devel-5.2.0-alt2, и в
> результате этого несовместимого изменения сломалась сборка _всех_
> клиентов этой библиотеки:
> bacula-3.0.2-alt5
> gromacs-gui-0.5.2-alt3
> qwtpolar-0.0.3-alt1
> 
> У нас не принято делать такие изменения без предупреждения.  Просьба
> вернуть libqwt-devel в прежнее состояние как можно быстрее.  Спасибо.

Вообще-то делал всё по SharedLibsPolicy. Работа пакетов не сломалась, 
сломалась только сборка.

Хорошо, я верну старую версию, дальше пусть уже lav@ решает. Но только 
бы это всё как-то задокументировать в означенном тексте, что ли. Чтобы 
было понятно, что это полиси применимо лишь в ограниченных случаях.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


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

* Re: [devel] A: libqwt API breakage
  2009-09-28  8:03   ` REAL
@ 2009-09-28  8:39     ` Sergey Vlasov
  2009-09-28  9:49       ` REAL
  2009-09-28  9:52       ` Dmitry V. Levin
  2009-09-28  8:53     ` Boris Savelev
  1 sibling, 2 replies; 18+ messages in thread
From: Sergey Vlasov @ 2009-09-28  8:39 UTC (permalink / raw)
  To: devel

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

On Mon, Sep 28, 2009 at 04:03:13PM +0800, REAL wrote:
> Dmitry V. Levin пишет:
> >Евгений, после вашего изменения libqwt-devel-5.3.0-alt1.svn20090920
> >оказался несовместимым с предыдущей версией libqwt-devel-5.2.0-alt2, и
> >в результате этого несовместимого изменения сломалась сборка _всех_
> >клиентов этой библиотеки:
> >bacula-3.0.2-alt5
> >gromacs-gui-0.5.2-alt3
> >qwtpolar-0.0.3-alt1
> >
> >У нас не принято делать такие изменения без предупреждения.  Просьба
> >вернуть libqwt-devel в прежнее состояние как можно быстрее.  Спасибо.
> 
> Вообще-то делал всё по SharedLibsPolicy. Работа пакетов не сломалась,
> сломалась только сборка.
> 
> Хорошо, я верну старую версию, дальше пусть уже lav@ решает. Но только
> бы это всё как-то задокументировать в означенном тексте, что ли. Чтобы
> было понятно, что это полиси применимо лишь в ограниченных случаях.

Возможно, в случае подобных несовместимостей лучше делать ещё и два
devel-пакета - для возможности сборки и со старой, и с новой библиотекой.
При этом такие devel-пакеты вполне могут конфликтовать между собой -
одновременную установку обязательно обеспечивать только для runtime-части.

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

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

* Re: [devel] A: libqwt API breakage
  2009-09-28  8:03   ` REAL
  2009-09-28  8:39     ` Sergey Vlasov
@ 2009-09-28  8:53     ` Boris Savelev
  1 sibling, 0 replies; 18+ messages in thread
From: Boris Savelev @ 2009-09-28  8:53 UTC (permalink / raw)
  To: ALT Linux Team development discussions

28 сентября 2009 г. 12:03 пользователь REAL <root@mmedia2.kemsu.ru> написал:
> Dmitry V. Levin пишет:
>>
>> Евгений, после вашего изменения libqwt-devel-5.3.0-alt1.svn20090920
>> оказался несовместимым с предыдущей версией libqwt-devel-5.2.0-alt2, и в
>> результате этого несовместимого изменения сломалась сборка _всех_
>> клиентов этой библиотеки:
>> bacula-3.0.2-alt5
>> gromacs-gui-0.5.2-alt3
>> qwtpolar-0.0.3-alt1
>>
>> У нас не принято делать такие изменения без предупреждения.  Просьба
>> вернуть libqwt-devel в прежнее состояние как можно быстрее.  Спасибо.
>
> Вообще-то делал всё по SharedLibsPolicy. Работа пакетов не сломалась,
> сломалась только сборка.
>
> Хорошо, я верну старую версию, дальше пусть уже lav@ решает. Но только бы
> это всё как-то задокументировать в означенном тексте, что ли. Чтобы было
> понятно, что это полиси применимо лишь в ограниченных случаях.
>
Можно было для начала собрать стабильную 5.2. До 5.3 еще не все клиенты доросли.


-- 
Boris

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

* Re: [devel] A: libqwt API breakage
  2009-09-28  8:39     ` Sergey Vlasov
@ 2009-09-28  9:49       ` REAL
  2009-09-28  9:52       ` Dmitry V. Levin
  1 sibling, 0 replies; 18+ messages in thread
From: REAL @ 2009-09-28  9:49 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Sergey Vlasov пишет:
>>> У нас не принято делать такие изменения без предупреждения.  Просьба
>>> вернуть libqwt-devel в прежнее состояние как можно быстрее.  Спасибо.
>> Вообще-то делал всё по SharedLibsPolicy. Работа пакетов не сломалась,
>> сломалась только сборка.
>>
>> Хорошо, я верну старую версию, дальше пусть уже lav@ решает. Но только
>> бы это всё как-то задокументировать в означенном тексте, что ли. Чтобы
>> было понятно, что это полиси применимо лишь в ограниченных случаях.
> 
> Возможно, в случае подобных несовместимостей лучше делать ещё и два
> devel-пакета - для возможности сборки и со старой, и с новой библиотекой.
> При этом такие devel-пакеты вполне могут конфликтовать между собой -
> одновременную установку обязательно обеспечивать только для runtime-части.

Вопрос заключается в том, как о подобных несовместимостях узнавать. 
Если про runtime-несовместимости узнать можно по первой неудачной 
сборке в сизиф (пойдёт ругань на анметы), то про сборочные 
несовместимости узнавать получается не раньше очередной тестовой 
пересборки всего сизифа, когда полезет уже ругань на 
непересобирающиеся пакеты; но про это чаще всего узнают только 
мейнтейнеры зависимых пакетов, потому что вот лично я как-то 
неспособен прочитывать весь поток логов на все сизифные пакеты.

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

Или всё же назрел вопрос о коренном пересмотре SharedLibs Policy, или 
я где-то совсем отстал от жизни?

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


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

* Re: [devel] A: libqwt API breakage
  2009-09-28  8:39     ` Sergey Vlasov
  2009-09-28  9:49       ` REAL
@ 2009-09-28  9:52       ` Dmitry V. Levin
  2009-09-28 10:04         ` Dmitry V. Levin
  2009-09-28 10:42         ` REAL
  1 sibling, 2 replies; 18+ messages in thread
From: Dmitry V. Levin @ 2009-09-28  9:52 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, Sep 28, 2009 at 12:39:20PM +0400, Sergey Vlasov wrote:
> On Mon, Sep 28, 2009 at 04:03:13PM +0800, REAL wrote:
> > Dmitry V. Levin пишет:
> > >Евгений, после вашего изменения libqwt-devel-5.3.0-alt1.svn20090920
> > >оказался несовместимым с предыдущей версией libqwt-devel-5.2.0-alt2, и
> > >в результате этого несовместимого изменения сломалась сборка _всех_
> > >клиентов этой библиотеки:
> > >bacula-3.0.2-alt5
> > >gromacs-gui-0.5.2-alt3
> > >qwtpolar-0.0.3-alt1
> > >
> > >У нас не принято делать такие изменения без предупреждения.  Просьба
> > >вернуть libqwt-devel в прежнее состояние как можно быстрее.  Спасибо.
> > 
> > Вообще-то делал всё по SharedLibsPolicy. Работа пакетов не сломалась,
> > сломалась только сборка.
> > 
> > Хорошо, я верну старую версию, дальше пусть уже lav@ решает. Но только
> > бы это всё как-то задокументировать в означенном тексте, что ли. Чтобы
> > было понятно, что это полиси применимо лишь в ограниченных случаях.
> 
> Возможно, в случае подобных несовместимостей лучше делать ещё и два
> devel-пакета - для возможности сборки и со старой, и с новой библиотекой.
> При этом такие devel-пакеты вполне могут конфликтовать между собой -
> одновременную установку обязательно обеспечивать только для runtime-части.

Именно так и надо делать в таких случаях.


-- 
ldv

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

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

* Re: [devel] A: libqwt API breakage
  2009-09-28  9:52       ` Dmitry V. Levin
@ 2009-09-28 10:04         ` Dmitry V. Levin
  2009-09-28 10:42         ` REAL
  1 sibling, 0 replies; 18+ messages in thread
From: Dmitry V. Levin @ 2009-09-28 10:04 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, Sep 28, 2009 at 01:52:54PM +0400, Dmitry V. Levin wrote:
> On Mon, Sep 28, 2009 at 12:39:20PM +0400, Sergey Vlasov wrote:
> > On Mon, Sep 28, 2009 at 04:03:13PM +0800, REAL wrote:
> > > Dmitry V. Levin пишет:
> > > >Евгений, после вашего изменения libqwt-devel-5.3.0-alt1.svn20090920
> > > >оказался несовместимым с предыдущей версией libqwt-devel-5.2.0-alt2, и
> > > >в результате этого несовместимого изменения сломалась сборка _всех_
> > > >клиентов этой библиотеки:
> > > >bacula-3.0.2-alt5
> > > >gromacs-gui-0.5.2-alt3
> > > >qwtpolar-0.0.3-alt1
> > > >
> > > >У нас не принято делать такие изменения без предупреждения.  Просьба
> > > >вернуть libqwt-devel в прежнее состояние как можно быстрее.  Спасибо.
> > > 
> > > Вообще-то делал всё по SharedLibsPolicy. Работа пакетов не сломалась,
> > > сломалась только сборка.
> > > 
> > > Хорошо, я верну старую версию, дальше пусть уже lav@ решает. Но только
> > > бы это всё как-то задокументировать в означенном тексте, что ли. Чтобы
> > > было понятно, что это полиси применимо лишь в ограниченных случаях.
> > 
> > Возможно, в случае подобных несовместимостей лучше делать ещё и два
> > devel-пакета - для возможности сборки и со старой, и с новой библиотекой.
> > При этом такие devel-пакеты вполне могут конфликтовать между собой -
> > одновременную установку обязательно обеспечивать только для runtime-части.
> 
> Именно так и надо делать в таких случаях.

Обратите внимание, речь идёт о библиотеках вообще, а не только о shared
libraries.


-- 
ldv

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

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

* Re: [devel] A: libqwt API breakage
  2009-09-28 10:42         ` REAL
@ 2009-09-28 10:34           ` Damir Shayhutdinov
  2009-09-28 10:48             ` Michael Shigorin
  2009-09-28 11:06             ` REAL
  0 siblings, 2 replies; 18+ messages in thread
From: Damir Shayhutdinov @ 2009-09-28 10:34 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>> Именно так и надо делать в таких случаях.
>
> Хорошо, в третий раз попробую задать вопрос: какова теперь будет процедура
> при смене soname/API? Как я понял, SharedLibs Policy в сад?

SharedLibsPolicy рассчитывает на то, что API не меняется. У вас в
библиотеке поменялся API, поэтому к вашему случаю SharedLibs Policy не
применим.

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

* Re: [devel] A: libqwt API breakage
  2009-09-28  9:52       ` Dmitry V. Levin
  2009-09-28 10:04         ` Dmitry V. Levin
@ 2009-09-28 10:42         ` REAL
  2009-09-28 10:34           ` Damir Shayhutdinov
  1 sibling, 1 reply; 18+ messages in thread
From: REAL @ 2009-09-28 10:42 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin пишет:
>> Возможно, в случае подобных несовместимостей лучше делать ещё и два
>> devel-пакета - для возможности сборки и со старой, и с новой библиотекой.
>> При этом такие devel-пакеты вполне могут конфликтовать между собой -
>> одновременную установку обязательно обеспечивать только для runtime-части.
> 
> Именно так и надо делать в таких случаях.

Хорошо, в третий раз попробую задать вопрос: какова теперь будет 
процедура при смене soname/API? Как я понял, SharedLibs Policy в сад?

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


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

* Re: [devel] A: libqwt API breakage
  2009-09-28 10:34           ` Damir Shayhutdinov
@ 2009-09-28 10:48             ` Michael Shigorin
  2009-09-28 11:06             ` REAL
  1 sibling, 0 replies; 18+ messages in thread
From: Michael Shigorin @ 2009-09-28 10:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Sep 28, 2009 at 02:34:18PM +0400, Damir Shayhutdinov wrote:
> >> Именно так и надо делать в таких случаях.
> > Хорошо, в третий раз попробую задать вопрос: какова теперь
> > будет процедура при смене soname/API? Как я понял, SharedLibs
> > Policy в сад?
> SharedLibsPolicy рассчитывает на то, что API не меняется. У вас
> в библиотеке поменялся API, поэтому к вашему случаю SharedLibs
> Policy не применим.

Можешь предложить туда это уточнение в явном виде?

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


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

* Re: [devel] A: libqwt API breakage
  2009-09-28 11:06             ` REAL
@ 2009-09-28 10:55               ` Andrey Rahmatullin
  2009-09-28 11:26               ` Damir Shayhutdinov
  1 sibling, 0 replies; 18+ messages in thread
From: Andrey Rahmatullin @ 2009-09-28 10:55 UTC (permalink / raw)
  To: devel

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

On Mon, Sep 28, 2009 at 07:06:12PM +0800, REAL wrote:
> Т.е. смена API при смене soname - это исключение, а не правило? Мне 
> почему-то всегда казалось, что смена soname связана как раз с API.
С ABI.

> В противном случае я пока не улавливаю смысла вообще менять soname :(
> REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ

-- 
WBR, wRAR (ALT Linux Team)
Powered by the ALT Linux fortune(6):

> Судьба этого пакета меня не волнует.
Но ты его больше всех раз собирал.  Значит судьба этого пакета будет
тебя ещё несколько раз неволновать (пока его кто-нибудь не починит).
		-- at in devel@

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

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

* Re: [devel] A: libqwt API breakage
  2009-09-28 10:34           ` Damir Shayhutdinov
  2009-09-28 10:48             ` Michael Shigorin
@ 2009-09-28 11:06             ` REAL
  2009-09-28 10:55               ` Andrey Rahmatullin
  2009-09-28 11:26               ` Damir Shayhutdinov
  1 sibling, 2 replies; 18+ messages in thread
From: REAL @ 2009-09-28 11:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Damir Shayhutdinov пишет:
>>> Именно так и надо делать в таких случаях.
>> Хорошо, в третий раз попробую задать вопрос: какова теперь будет процедура
>> при смене soname/API? Как я понял, SharedLibs Policy в сад?
> 
> SharedLibsPolicy рассчитывает на то, что API не меняется. У вас в
> библиотеке поменялся API, поэтому к вашему случаю SharedLibs Policy не
> применим.

Т.е. смена API при смене soname - это исключение, а не правило? Мне 
почему-то всегда казалось, что смена soname связана как раз с API. В 
противном случае я пока не улавливаю смысла вообще менять soname :(

PS. Понятно, что конкретно данный случай - из другой оперы, увидев 
смену API, я сменил soname принудительно, но для более общего случая 
желательно всё же устранить все неясности.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


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

* Re: [devel] A: libqwt API breakage
  2009-09-28 11:06             ` REAL
  2009-09-28 10:55               ` Andrey Rahmatullin
@ 2009-09-28 11:26               ` Damir Shayhutdinov
  2009-09-28 11:37                 ` Max Ivanov
  2009-09-29  2:57                 ` REAL
  1 sibling, 2 replies; 18+ messages in thread
From: Damir Shayhutdinov @ 2009-09-28 11:26 UTC (permalink / raw)
  To: ALT Linux Team development discussions

> Т.е. смена API при смене soname - это исключение, а не правило? Мне
> почему-то всегда казалось, что смена soname связана как раз с API. В
> противном случае я пока не улавливаю смысла вообще менять soname :(

> PS. Понятно, что конкретно данный случай - из другой оперы, увидев смену
> API, я сменил soname принудительно, но для более общего случая желательно
> всё же устранить все неясности.
Не надо было так спешить, надо было все взвесить.

Для начала надо бы уяснить, что такое API, и что такое ABI.

API - Application Programming Interface - это, образно говоря, набор
объявлений типов, констант,  прототипов функций библиотеки и
вспомогательных макросов - то есть то, что лежит в .h файлах
библиотеки, и используется при сборке исходного кода.

ABI - Application Binary Interface - это, образно говоря, набор
функций, которые экспортируются из библиотеки, вместе с их
параметрами, соглашениями вызова и т.д. Это используется при запуске
программы.

Когда меняется ABI - это означает, что приложения, собранные со старой
бинарной библиотекой, не будут работать (или будут работать
некорректно) с новой. Изменения ABI могут привести к несовместимости
бинарных сборок (в этом случае необходимо менять soname), или могут не
привести - тогда можно обойтись версионированием символов.

Изменение API происходят на уровне исходного кода, и, становятся
заметны только когда ломают сборку. Изменения API не всегда приводят к
изменению ABI (и, соответственно, к несовместимости бинарного кода).

Как правило, в большинстве случаев (для которых и писалась
SharedLibPolicy), изменение ABI происходит при неизменности API, то
есть старые пакеты всего лишь надо пересобрать с новыми библиотеками.

Бывают также случаи, когда меняется API - то есть становятся
несовместимыми devel-пакеты старой и новой библиотек. В таком случае
приходится патчить исходный код каждой программы, использующей эту
библиотеку, что обычно делается на уровне апстрима. Как правило,
апстрим библиотеки при смене API публикует рекомендации по "переезду"
со старой версии на новую (обычно сводящуюся к замене имен функций или
структур).

Также можно рассмотреть случаи, когда изменился API и ABI, но
совместимость с приложениями, собранными со старыми версиями библиотек
осталась (допустим, была добавлена новая функция, которой не было в
старой версии библиотеки). В таком случае правильным будет добавление
версионирования символов, и soname менять вообще не надо.

В общем, каждый конкретный случай индивидуален, но вот что можно
использовать в качестве критерия смены soname:
  - Изменения соглашения вызова, количества параметров, типа
параметров у какой-нибудь из существующих функций.
  - Изменения структур (добавление/удаление/перемещение/изменение
полей структур), используемых библиотекой.
  - Удаление существующих функций

Критерий необходимости каких-то особых действий по смене API:
  - Удаление полей структур, входящих в публичный API
  - Удаление (или переименование) макросов или функций, или типов,
входящих в публичный API.
  - Смена сигнатуры вызова функций, изменение количества и типов
параметров, типа возвращаемого значения и т.п.
В общем, все, что ведет к невозможности пересборки с новой библиотекой
без доделки исходного кода приложений.

В случае, когда ничего старого не меняется, а добавляется только новое
- достаточно только версионирования символов.

Все это касается языка С. Для С++ все гораздо хуже, там ABI очень
хрупкий, и ломается очень легко, что приводит к необходимости смены
soname практически всегда.

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

* Re: [devel] A: libqwt API breakage
  2009-09-28 11:26               ` Damir Shayhutdinov
@ 2009-09-28 11:37                 ` Max Ivanov
  2009-09-28 11:43                   ` Damir Shayhutdinov
  2009-09-29  2:57                 ` REAL
  1 sibling, 1 reply; 18+ messages in thread
From: Max Ivanov @ 2009-09-28 11:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>Изменения API не всегда приводят к
>изменению ABI (и, соответственно, к несовместимости бинарного кода).

Если исключить добавление новых символов, то такое все еще возможно?

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

* Re: [devel] A: libqwt API breakage
  2009-09-28 11:37                 ` Max Ivanov
@ 2009-09-28 11:43                   ` Damir Shayhutdinov
  0 siblings, 0 replies; 18+ messages in thread
From: Damir Shayhutdinov @ 2009-09-28 11:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>>Изменения API не всегда приводят к
>>изменению ABI (и, соответственно, к несовместимости бинарного кода).
>
> Если исключить добавление новых символов, то такое все еще возможно?

Конечно. Например, переименование типов или макросов препроцессора -
то есть того, что в ABI не попадает.

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

* Re: [devel] A: libqwt API breakage
  2009-09-28 11:26               ` Damir Shayhutdinov
  2009-09-28 11:37                 ` Max Ivanov
@ 2009-09-29  2:57                 ` REAL
  2009-09-29  8:38                   ` Dmitry V. Levin
  1 sibling, 1 reply; 18+ messages in thread
From: REAL @ 2009-09-29  2:57 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Damir Shayhutdinov пишет:
>> PS. Понятно, что конкретно данный случай - из другой оперы, увидев смену
>> API, я сменил soname принудительно, но для более общего случая желательно
>> всё же устранить все неясности.
> Не надо было так спешить, надо было все взвесить.
> 
> Для начала надо бы уяснить, что такое API, и что такое ABI.

Да, с этими терминами непоняток не было. А вот за развёрнутый ответ 
спасибо. Наверно, это надо цельным куском куда-нибудь на вики. Только 
куда?

Случай с libqwt 5.3.0 - это вообще радикальная смена и того, и 
другого, так что я на днях залью его с devel-пакетом, который не будет 
трогать 5.2.0.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


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

* Re: [devel] A: libqwt API breakage
  2009-09-29  2:57                 ` REAL
@ 2009-09-29  8:38                   ` Dmitry V. Levin
  2009-09-29  9:11                     ` REAL
  0 siblings, 1 reply; 18+ messages in thread
From: Dmitry V. Levin @ 2009-09-29  8:38 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, Sep 29, 2009 at 10:57:44AM +0800, REAL wrote:
> Damir Shayhutdinov пишет:
> >>PS. Понятно, что конкретно данный случай - 
> >>из другой оперы, увидев смену
> >>API, я сменил soname принудительно, но для 
> >>более общего случая желательно
> >>всё же устранить все неясности.
> >Не надо было так спешить, надо было все 
> >взвесить.
> >
> >Для начала надо бы уяснить, что такое API, 
> >и что такое ABI.
> 
> Да, с этими терминами непоняток не было. А 
> вот за развёрнутый ответ спасибо. 
> Наверно, это надо цельным куском 
> куда-нибудь на вики. Только куда?

Я верю, что вы найдёте подходящее место. :)

> Случай с libqwt 5.3.0 - это вообще радикальная 
> смена и того, и другого, так что я на днях 
> залью его с devel-пакетом, который не будет 
> трогать 5.2.0.

Вот и ладненько.


-- 
ldv

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

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

* Re: [devel] A: libqwt API breakage
  2009-09-29  8:38                   ` Dmitry V. Levin
@ 2009-09-29  9:11                     ` REAL
  0 siblings, 0 replies; 18+ messages in thread
From: REAL @ 2009-09-29  9:11 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Dmitry V. Levin пишет:
> Я верю, что вы найдёте подходящее место. :)

http://www.altlinux.org/API_or_ABI_changing

Ну и сюда добавочку сделал по результатам обсуждения:
http://www.altlinux.org/SharedLibsPolicy

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ


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

end of thread, other threads:[~2009-09-29  9:11 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-26 20:33 ` [devel] A: libqwt API breakage Dmitry V. Levin
2009-09-28  8:03   ` REAL
2009-09-28  8:39     ` Sergey Vlasov
2009-09-28  9:49       ` REAL
2009-09-28  9:52       ` Dmitry V. Levin
2009-09-28 10:04         ` Dmitry V. Levin
2009-09-28 10:42         ` REAL
2009-09-28 10:34           ` Damir Shayhutdinov
2009-09-28 10:48             ` Michael Shigorin
2009-09-28 11:06             ` REAL
2009-09-28 10:55               ` Andrey Rahmatullin
2009-09-28 11:26               ` Damir Shayhutdinov
2009-09-28 11:37                 ` Max Ivanov
2009-09-28 11:43                   ` Damir Shayhutdinov
2009-09-29  2:57                 ` REAL
2009-09-29  8:38                   ` Dmitry V. Levin
2009-09-29  9:11                     ` REAL
2009-09-28  8:53     ` Boris Savelev

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