[devel] Makefile.am: Change libpng12 versioning to match upstream versioning (ALT#12886)
Alexey Tourbin
at на altlinux.ru
Вт Июн 23 10:20:56 MSD 2009
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.
Очень некрасиво получается. Как говорил Суворов, на такой штурм можно
решиться только один раз в жизни. :)
Неужели ничего нельзя придумать? В принципе ведь существует возможность
сохранить старый интерфейс:
png_foo@@PNG12_0 (новый интерфейс по умолчанию)
png_foo на PNG_12 (старый интерфейс для совместимости)
Но мне не понятно, можно ли это сделать без перекраивания исходников
libpng на уровне каждого экспортируемого символа. Боюсь, что нельзя. :(
> ---
> libpng/Makefile.am | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/libpng/Makefile.am b/libpng/Makefile.am
> index f610b6d..3f8a461 100644
> --- a/libpng/Makefile.am
> +++ b/libpng/Makefile.am
> @@ -111,10 +111,9 @@ libpng.sym: png.h pngconf.h
>
> libpng.vers: libpng.sym
> rm -f $@ $@.new
> - echo PNG_ на PNGLIB_MAJOR@@PNGLIB_MINOR@ '{global:' > $@.new
> + echo PNG на PNGLIB_MAJOR@@PNGLIB_MINOR на _0 '{global:' > $@.new
> $(SED) s/$$/\;/ libpng.sym >> $@.new
> echo 'local: *; };' >> $@.new
> - echo 'PNG на PNGLIB_MAJOR@@PNGLIB_MINOR на _0 {} PNG_ на PNGLIB_MAJOR@@PNGLIB_MINOR@;' >> $@.new
> mv $@.new $@
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 197 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20090623/dc10d850/attachment.bin>
Подробная информация о списке рассылки Devel