[devel] Makefile.am: Change libpng12 versioning to match upstream versioning (ALT#12886)

Dmitry V. Levin ldv на altlinux.org
Вт Июн 23 10:47:34 MSD 2009


On Tue, Jun 23, 2009 at 10:20:56AM +0400, Alexey Tourbin wrote:
> On Mon, Jun 22, 2009 at 10:54:43PM +0000, Dmitry V. Levin wrote:
> > ALT libpng-1.2.5-alt3 introduced libpng12 versioning (at 04.05.2004).
> > Upstream libpng-1.2.8 introduced similar libpng12 versioning (at 03.12.2004)
> > with different interface name.  This difference is critical, it makes ALT
> > and upstream libpng12 totally incompatible.
> > 
> > By popular demand, I change libpng12 versioning to match upstream
> > versioning for this library.  As this versioning change is totally
> > incompatible change, it costs as high as soname change.  That is,
> > all libpng12 clients must be rebuilt.
> 
> Это даже хуже, чем soname change.  В случае soname change можно создать
> compat пакет со старым soname, а здесь это невозможно.  Получается total
> disaster: http://git.altlinux.org/tasks/8392/task/log -- надо
> пересобрать более 200 пакетов.  Даже если воспользоваться NMU
> с административными привилегиями, что не представляется feasible даже
> с административными привилегиями, то такая вещь, как частичное
> обновление пакетов, полностью отпадает.  Будет эффект dist-upgrade.
> 
> Очень некрасиво получается.  Как говорил Суворов, на такой штурм можно
> решиться только один раз в жизни. :)

Да, это действительно сложнее воплотить, чем soname change.
Есть возможность проверить, чем подкреплён этот "popular demand".
Хватит ли его на то, чтобы довести сборку task #8392 до Сизифа?

> Неужели ничего нельзя придумать?  В принципе ведь существует возможность
> сохранить старый интерфейс:
> 
> png_foo@@PNG12_0 (новый интерфейс по умолчанию)
> png_foo на PNG_12 (старый интерфейс для совместимости)

В libpng12-1.2.37-alt1 и предыдущих сборках было наоборот, однако это
ничему не помогало, ибо экспортируемый символ не может принадлежать
более чем одному интерфейсу.

> Но мне не понятно, можно ли это сделать без перекраивания исходников
> libpng на уровне каждого экспортируемого символа.  Боюсь, что нельзя. :(

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


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20090623/f74286a1/attachment-0001.bin>


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