ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: devel@lists.altlinux.org
Subject: Re: [devel] Makefile.am: Change libpng12 versioning to match upstream versioning (ALT#12886)
Date: Tue, 23 Jun 2009 10:20:56 +0400
Message-ID: <20090623062056.GA7756@altlinux.org> (raw)

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

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 $@

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

             reply	other threads:[~2009-06-23  6:20 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-23  6:20 Alexey Tourbin [this message]
2009-06-23  6:47 ` Dmitry V. Levin
2009-06-23  7:05   ` Alexey Tourbin
2009-06-23  7:22     ` Mikhail Gusarov
2009-06-23  7:34     ` Денис Смирнов
2009-06-23  7:37     ` Dmitry V. Levin
2009-06-23  7:45       ` Anton Farygin
2009-06-23  7:47         ` Dmitry V. Levin
2009-06-23 11:06           ` Sergey Vlasov
2009-06-23 15:25             ` Dmitry V. Levin
2009-06-23 15:44               ` Sergey Vlasov
2009-06-23 15:52                 ` Dmitry V. Levin
2009-06-23 15:57             ` Konstantin Pavlov
2009-06-23 16:09               ` Alexey Gladkov
2009-06-23 17:15                 ` Konstantin Pavlov
2009-06-23 19:13                   ` Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090623062056.GA7756@altlinux.org \
    --to=at@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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