[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GNOME 1 ABI involving libpng



On Tue, Aug 27, 2002 at 09:37:27AM +0200, Christian Marillat wrote:
> > OK, we have Christian not even reading my messages and simply saying
> > "Everyone else has jumped off a bridge!  You haven't!  Jump off the bridge
> > already!".  I'm not interested in jumping off bridges without any reason
> > given, or in general.
> 
> > Can someone give me at least ONE reason why we should be breaking the
> > ABI of GNOME 1 (which has been the same since at least GNOME 1.0 as
> > far as PNG goes), and introducing incompatibilty with third party
> > binaries and other distributions?  GNOME 1 is in maintenance only mode
> > upstream, and even that is slowing/stopping as resources are dedicated
> > to GNOME 2.
> 
> One good reason is that :
> 
>  $ sudo apt-get install libpng2-dev -s
> Reading Package Lists... Done
> Building Dependency Tree... Done
> The following packages will be REMOVED:
>   imlib-dev libbonoboui2-dev libdirectfb-dev libgail-dev libglade2-dev
>   libgnome-desktop-dev libgnomecanvas2-dev libgnomeprintui-dev libgnomeui-dev
>   libgtk2.0-dev libgtkhtml2-dev libgtop2-dev libmagick5-dev
>   libpanel-applet2-dev libpng3-dev libwmf-dev libwnck-dev libzvbi-dev
>   libzvt2.0-dev 
> The following NEW packages will be installed:
>   libpng2-dev

You are lazy?  I don't see that as a GOOD reason to break an ABI and
backwards compatibility for our users.  I use sbuild to build things
in a chroot in any case, so that my packages on hold or taken from
random repositories don't influence the builds.  Others use pbuilder. 
Perhaps you might want to look at building in a chroot, if you find
this such a big problem.

> And this is only the beginning. This number will grow seriously in
> sarge.
> 
> Do you think an user will spend his time to remove/install each time he
> want to compile something against G1 or G2 ?

Tell me what -dev package in the G1 chain depends on libpng2-dev? 
There is exactly one package in the G1 chain that uses libpng directly
and that's libgtkxmhtml.  Very few things actually use libgtkxmhtml. 
Perhaps it should not be depended on by libgnome-dev.  Any others are
bugs that should be looked at as to why the various libConf.sh scripts
are including the unneeded -lpng.  G2 really shouldn't have image libraries
linked in anywhere, either, unless it's an application that uses them
directly.

> We are waiting for what exactly ? G1 libraries will be at least in
> sarge+2 and surely in sarge+1 a lot of applications aren't ported to G2
> and some will never be ported to G2 like gtm.

Sure, and those can continue to use libpng2, as that is what the ABI is and
has been for years.  There is no need to break everything and throw
binary compatibility out the window.

> You just need to bump the gdk-pixbuf soname and build this package
> against libpng3-dev. Whats wrong with that ? Nothing. Old packages
> linked against libgdk-pixbuf2 still continue to works.

What's wrong with that?  Random third party applications no longer have
the library available, and stop running.  Hardly a service to our users just
so developers can be lazy.  Old packages linked against libgdk-pixbuf2 would
become uninstallable, as libgdk-pixbuf2 would no longer exist, and Debian
will be unique in being the only distro with libgdk-pixbuf3 for gnome1.  The
soname of the library is for upstream to set, not for packagers to muddle
with, if one cares about compatibility.

The ABI that this particular library has fallen into involves the png2
library, and has been this way since gnome 1.0.  I still don't see a
good reason that I should change this, bump sonames, and create an
incompatible library from upstream, other distributions, and previous
versions of Debian GNU/Linux.

-- 
Ryan Murray, Debian Developer (rmurray@cyberhqz.com, rmurray@debian.org)
The opinions expressed here are my own.

Attachment: pgpPoTxETfJ6_.pgp
Description: PGP signature


Reply to: