You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
5.4 KiB
174 lines
5.4 KiB
Libpng
|
|
------
|
|
|
|
Imlib11 is linked with libpng12 (nee libpng3). This is in accordance
|
|
with the practice of Redhat. The GDK version of imlib, being part of
|
|
GNOME 1, has remained linked with libpng10 (a.k.a. png2).
|
|
|
|
Two recent discussions on this point are:
|
|
http://lists.debian.org/debian-devel/2003/debian-devel-200304/msg01256.html
|
|
http://lists.debian.org/debian-devel/2002/debian-devel-200207/msg00653.html
|
|
|
|
|
|
|
|
Loadable Modules
|
|
----------------
|
|
|
|
Gdk_imlib can be built with all the graphics libs linked in, or it
|
|
can be built with a set of loadable modules, one for each graphics
|
|
format.
|
|
|
|
For most Debian releases, the second option was used. This worked
|
|
fine until upstream version 1.9.13 in which the loadable modules
|
|
started linking against libgdk_imlib itself. This triggered a libtool
|
|
bug related to DESTDIR (see below). I didn't figure out the cause or
|
|
the fix at the time, so I resorted to the second option.
|
|
|
|
With imlib 1.9.14-2, I disabled the module code, and linked all the
|
|
graphics libraries directly into libgdk_imlib. This led to requiring
|
|
gdk-imlib-dev to depend on the corresponding -dev packages for each
|
|
graphics library.
|
|
|
|
Starting with 1.9.14-5, we're going back to loadable modules. Now the
|
|
trick with libtool is that at install time, each shared object (shared
|
|
lib or loadable module) is re-linked. Consider the case of a shared
|
|
module, e.g. libimlib-bmp.so, which is linked against libgdk_imlib.
|
|
|
|
The make rules re-link and install libgdk_imlib first. Then
|
|
libimlib-bmp.so is re-linked before installation. Normally, this is
|
|
fine, because libgdk_imlib is in the correct location and can be found
|
|
by the linker.
|
|
|
|
However, when building a Debian package, the files are first installed in
|
|
a staging area (i.e. debian/tmp). The linker is not expecting to look
|
|
there when re-linking libimlib-bmp.so, and thus it fails.
|
|
|
|
This is a known problem in the libtool community, see e.g. the
|
|
notes on "The DESTDIR bug" at
|
|
|
|
http://fink.sourceforge.net/doc/porting/libtool.php
|
|
|
|
A patches to libtool was provided by Bruno Haible, and later updated
|
|
by Ewald Snel
|
|
|
|
http://mail.gnu.org/pipermail/libtool/2002-April/006268.html
|
|
http://mail.gnu.org/pipermail/bug-libtool/2002-February/003019.html
|
|
|
|
Unfortunately, these did not work. I tried the patch from Sam Couter
|
|
at http://bugs.debian.org/57087 that worked!
|
|
|
|
*** BIG FAT WARNING ***
|
|
Do not run "libtoolize" without a patched libtool!
|
|
|
|
|
|
|
|
Devel Dependencies
|
|
------------------
|
|
|
|
Library libImlib (package imlib11) is directly linked to several
|
|
libraries, so imlib11-dev has to depend on the corresponding -dev
|
|
packages.
|
|
|
|
imlib11 deps (from shlibs) imlib11-dev deps
|
|
-------------------------- --------------
|
|
|
|
libjpeg62 libjpeg62-dev
|
|
libpng2(>=1.0.12) libpng2-dev
|
|
libtiff3g libtiff3g-dev
|
|
libungif4g (>= 4.1.0b1) libungif4-dev
|
|
xlibs (>> 4.1.0) xlibs-dev
|
|
zlib1g (>= 1:1.1.4) zlib1g-dev
|
|
|
|
|
|
A Caveat
|
|
--------
|
|
|
|
However, see Bug #152364. The package gnome-libs generates a
|
|
"gnome-config" script using the list of libraries emitted by
|
|
"imlib-config --libs-gdk". Historically, gdk-imlib has always built
|
|
the modules, and consequently imlib-config did not list the individual
|
|
graphics libs.
|
|
|
|
In March, a new release came out that caused me some problems. I
|
|
couldn't get the modules built correctly, so I disabled them, linking
|
|
all the graphics libs into gdk-imlib.
|
|
|
|
A new gnome-libs comes out, and picks up all the graphics libs from
|
|
"imlib-config --libs-gtk".
|
|
|
|
For version 1.9.14-5, I straightened out the mess with imlib so that I
|
|
could build the modules again. I didn't know anything about
|
|
gnome-config picking up the graphics libs, so I naively thought I
|
|
could remove the dependencies.
|
|
|
|
Boom! See Bug #152364.
|
|
|
|
In version 1.9.14-6, I reverted package gdk-imlib-dev to list the
|
|
graphics libs until such time as gnome-libs gets rebuilt. The gnome
|
|
libs were updated by 2002-07-29, so version 1.9.14-7 removes the
|
|
graphics lib dependencies from gdk-imlib-dev, again.
|
|
|
|
|
|
|
|
Plugins
|
|
-------
|
|
|
|
The shared libs in gdk-imlib1 confuse dh_makeshlibs. The result is
|
|
a bunch of duplicated entries in the shlibs file. I fixed this
|
|
by providing a shlibs file for gdk-imlib which thankfully does
|
|
override the generated one. So the warnings can be ignored.
|
|
|
|
|
|
Source Changes
|
|
--------------
|
|
|
|
Any changes to a generated file such as Makefile.in or configure is a
|
|
side-effect of either a change to the corresponding source file
|
|
(i.e. Makefile.am or configure.in), or simply a result of running
|
|
autoconf & automake prior to building the Debian source package. As
|
|
such, these changes should be ignored.
|
|
|
|
The files config.guess and config.sub are refreshed manually from
|
|
/usr/share/misc.
|
|
|
|
|
|
* config-quoting.patch
|
|
|
|
Quote autoconf macro arguments, to please autoconf 2.53.
|
|
Posted to upstream Bugzilla 2002-07-07.
|
|
|
|
|
|
* gxlibs.patch
|
|
|
|
Ensure libgdk and libgtk are linked with gdk_imlib.
|
|
Posted to upstream Bugzilla 2002-07-07.
|
|
|
|
|
|
* moduledir.patch
|
|
|
|
Install helper modules into configurable moduledir.
|
|
Posted to upstream Bugzilla 2002-07-07.
|
|
|
|
|
|
* tload.patch
|
|
|
|
Build test programs (both Imlib and gdk_imlib versions) to
|
|
test that the linking is correct, and modules can be found.
|
|
|
|
|
|
* palfile-buffer.patch
|
|
|
|
Bug fix to prevent overwriting a too-short buffer.
|
|
Posted to upstream Bugzilla 2002-07-07.
|
|
|
|
|
|
* fallback-doc.patch
|
|
|
|
Debian specific. Emit diagnostic pointing to README file that
|
|
explains what to do when "all fallbacks failed."
|
|
|
|
|
|
* bpp16-CVE-2007-3568.patch
|
|
|
|
Fix DoS via a BMP image with a Bits Per Page (BPP) value of 0
|