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

Re: proposed resolution to release-critical libtiff3g bugs



> The solution you propose has significant negative consequences for both
> partial upgrades from woody, and for third-party software linked against
> libtiff.  I don't see any extenuating circumstances here that demand
> that we settle for a partial fix.

Thanks for the comments.  I really appreciate it.  I didn't think
about partial woody solution.  I agree, we need to at least explore
the possibility of a better fix.  That said, I can't conceive of any
way to do this without reverting the ABI change or rebuilding the ~100
packages (see attachment) in sid that have been rebuilt with libtiff
3.6.1.  I don't actually see how your suggestion will work.  Please
explain if you still think it will work after reading my response.

> You are right that reverting the ABI change at this point would hurt
> more than it would help.  I believe the appropriate solution here is to
> change the soname of libtiff.so.3 to something with a Debian-specific
> component (e.g., libtiff.so.3.debian), and to make a corresponding
> change to the name of the binary package (e.g., libtiff3g-debian).  This
> will cause libtiff-using packages to be uninstallable in unstable while
> they transition, but it does allow us to contain the damage to unstable
> instead of propagating it into a stable release.

I'm not sure I completely understand what you're suggesting or exactly
how this is going to actually solve the problem.  I should also point
out that the problem is already not contained in unstable -- much of
it has leaked into sarge.  Would libtiff.so.3.debian be 3.5.7 or
3.6.1?  Would libtiff3g-debian and libtiff3g both exist, or would
libtiff3g disappear?  If libtiff.so.3 were 3.5.7, this would be
reverting the ABI change, which I think we agree would hurt more than
it would help.  If libtiff.so.3 were 3.6.1, we haven't addressed the
problem for partial woody upgrades and, in fact, won't be able to get
this into sarge unless all 137 packages that depend upon libtiff
(count based on apt-cache depends) are rebuilt because of the
unresolved dependency on libtiff3g-debian.  But, even after this was
done, the ultimate result would that libtiff.so.3 would point to
libtiff.so.3.debian which would be 3.6.1.  Then we're back where we
started from with my original proposal.

Do you agree, or have I missed something?

The upstream libtiff maintainers are going to skip some soname
versions when they do their next release.  This makes it possible for
distributions to resolve this on their own by releasing 3.6.1 as
libtiff.so.4.  FreeBSD apparently did this.  If we were going to
revert the ABI change, I think the only sensible way to do it would be
to revert libtiff3g back to 3.5.7 (with an epoch) and release libtiff4
which would be 3.6.1.  Then we'd have to recompile the ~100 packages
that have been built since 2/23/04 -- the exact scenario I was
proposing to avoid.  Keep in mind also that the next upstream libtiff
release will again have a new soname which will hopefully be stable
for some time to come.

As I see it, the question boils down to whether the added fact that
partial woody upgrades and third party software linked with libtiff
could be affected is sufficient to make us want to go through the pain
of an ABI reversion.  I would still maintain that it isn't, especially
since it's likely that the affected applications are limited to those
for which release-critical bugs have been reported.

> Following this with a healthy dose of recompile NMUs should let us
> transition the whole lot in a couple of weeks, in time for sarge.

I've attached a file that contains a lit of packages that depend upon
libtiff3g, according to apt-cache depends on my local system, which is
only a few days out of date.  Each package has been resolved against
my local mirror and sorted by reverse modification date.  You'll
observe that 99 packages that depend upon libtiff have been rebuilt in
sid since libtiff3g-3.6.1 was uploaded, and 34 have not.

Sorry for being so long-winded about this, but I just really want to
make sure we do the right thing for the right reason. :-)

--Jay
Here is a list of packages that depend upon libtiff3g (according to
apt-cache depends) resolved against my local mirror.  (Only 3 packages
out of 137 failed to resolve.)  They are sorted by reverse
modification time.  Observe that 99 packages that depend upon libtiff
have been built since libtiff-3.6.1 entered sid, and 34 have not.

2004-07-22 ./x/xemacs21/xemacs21-nomule_21.4.15-2_i386.deb
2004-07-22 ./x/xemacs21/xemacs21-mule_21.4.15-2_i386.deb
2004-07-22 ./x/xemacs21/xemacs21-mule-canna-wnn_21.4.15-2_i386.deb
2004-07-22 ./x/xemacs21/xemacs21-gnome-nomule_21.4.15-2_i386.deb
2004-07-22 ./x/xemacs21/xemacs21-gnome-mule_21.4.15-2_i386.deb
2004-07-22 ./x/xemacs21/xemacs21-gnome-mule-canna-wnn_21.4.15-2_i386.deb
2004-07-22 ./k/k3d/k3d_0.4.2.0-1_i386.deb
2004-07-22 ./k/kdelibs/kdelibs4_3.2.3-3_i386.deb
2004-07-20 ./r/rezound/rezound_0.10.0beta-1_i386.deb
2004-07-19 ./i/icewm/icewm_1.2.14-3_i386.deb
2004-07-19 ./i/icewm/icewm-experimental_1.2.14-3_i386.deb
2004-07-19 ./c/cupsys/libcupsimage2_1.1.20final+rc1-3_i386.deb
2004-07-19 ./c/cupsys/libcupsimage2_1.1.20final+rc1-3_i386.deb
2004-07-18 ./w/waili/libwaili_19990723-12_i386.deb
2004-07-17 ./g/gimp/gimp_2.0.3-1_i386.deb
2004-07-17 ./g/gimp-print/cupsys-driver-gimpprint_4.2.7-1_i386.deb
2004-07-16 ./g/gem/gem_0.90.0-2_i386.deb
2004-07-15 ./s/scribus/scribus_1.2.0.cvs20040714-1_i386.deb
2004-07-14 ./libr/librmagick-ruby/librmagick-ruby1.8_1.5.0-3_i386.deb
2004-07-14 ./g/gnustep-gui/libgnustep-gui0_0.9.3-2_i386.deb
2004-07-14 ./g/gnustep-gui/libgnustep-gui0-dbg_0.9.3-2_i386.deb
2004-07-11 ./q/quiteinsane/quiteinsane_0.10-5_i386.deb
2004-07-11 ./e/epplets/libepplet0_0.6.cvs.2003091001-1.1_i386.deb
2004-07-11 ./e/epplets/epplets_0.6.cvs.2003091001-1.1_i386.deb
2004-07-11 ./a/animal/animal0_0.14.0-1_i386.deb
2004-07-11 ./k/koffice/kword_1.3.2-1_i386.deb
2004-07-09 ./l/links2/links2_2.1pre15-2_i386.deb
2004-07-09 ./g/gthumb/gthumb_2.4.1-1_i386.deb
2004-07-09 ./g/gdk-pixbuf/libgdk-pixbuf2_0.22.0-4_i386.deb
2004-07-08 ./p/pike7.6/pike7.6-image_7.6.11-1_i386.deb
2004-07-08 ./p/pike7.4/pike7.4-image_7.4.113-1_i386.deb
2004-07-08 ./d/digikam/digikam_0.6.2-2_i386.deb
2004-07-08 ./n/netpbm-free/netpbm_10.0-4_i386.deb
2004-07-08 ./s/sdl-image1.2/libsdl-image1.2_1.2.3-3_i386.deb
2004-07-08 ./i/imagemagick/libmagick6_6.0.3.1-3_i386.deb
2004-07-07 ./m/mountapp/mountapp_3.0-6_i386.deb
2004-07-07 ./x/xplanet/xplanet_1.1.0-1_i386.deb
2004-07-05 ./g/gtk+2.0/libgtk2.0-0_2.4.3-3_i386.deb
2004-07-04 ./libg/libgdiplus/libgdiplus_1.0-1_i386.deb
2004-07-04 ./f/fontforge/fontforge_0.0.20040703-1_i386.deb
2004-07-04 ./x/xsane/xsane_0.94-2_i386.deb
2004-07-04 ./x/xastir/xastir_1.3.2-1_i386.deb
2004-07-03 ./f/fox/libfox1.0_1.0.52-1_i386.deb
2004-06-30 ./f/fbi/fbi_2.01-1_i386.deb
2004-06-30 ./o/opencv/libhighgui0.9-5_0.9.5-6_i386.deb
2004-06-28 ./a/asc/asc_1.15.0.0-1_i386.deb
2004-06-26 ./m/motioneye/motioneye_1.2-2_i386.deb
2004-06-22 ./c/chameleon/chameleon_1.1-8_i386.deb
2004-06-20 ./p/paintlib/paintlib2_2.6.1-1_i386.deb
2004-06-16 ./v/viewmol/viewmol_2.4-4_i386.deb
2004-06-16 ./c/camlimages/libcamlimages-ocaml_2.12-2_i386.deb
2004-06-15 ./a/ale/ale_0.5.1-2_i386.deb
2004-06-11 ./d/djvulibre/djvulibre-bin_3.5.13.pre14-4_i386.deb
2004-06-10 ./k/kdc2tiff/kdc2tiff_0.35-2_i386.deb
2004-06-10 ./d/drip/drip_0.8.3.2+0.9.0-rc3-4_i386.deb
2004-06-09 ./g/grass/grass_5.0.3-4_i386.deb
2004-06-07 ./h/hylafax/hylafax-server_4.1.8-13_i386.deb
2004-06-07 ./h/hylafax/hylafax-client_4.1.8-13_i386.deb
2004-06-07 ./d/dx/libdx4_4.3.2-1_i386.deb
2004-06-07 ./d/dx/dx_4.3.2-1_i386.deb
2004-06-03 ./p/prestimel/prestimel_1.0-2.1_i386.deb
2004-05-31 ./w/wmaker/libwraster2_0.80.2-0.2_i386.deb
2004-05-30 ./x/xpcd/xpcd_2.08-10_i386.deb
2004-05-30 ./g/gs-esp/gs-esp_7.07.1-8_i386.deb
2004-05-28 ./k/kismet/kismet_2004.04.R1-1.1_i386.deb
2004-05-20 ./r/rubymagick/rubymagick_0.1.3-12_i386.deb
2004-05-19 ./a/aqsis/aqsis_0.9.1-2_i386.deb
2004-05-19 ./a/aqsis/aqsis-libs_0.9.1-2_i386.deb
2004-05-14 ./p/pgadmin3/pgadmin3_1.0.2-5_i386.deb
2004-05-12 ./t/ted/ted_2.16-1_i386.deb
2004-05-12 ./t/ted/ted-gtk_2.16-1_i386.deb
2004-05-10 ./g/guikachu/guikachu_1.4.0-2_i386.deb
2004-05-10 ./g/guikachu/guikachu2rcp_1.4.0-2_i386.deb
2004-05-09 ./f/fnlib/libfnlib0_0.5-11_i386.deb
2004-05-09 ./c/cinepaint/cinepaint_0.18.3-4.1_i386.deb
2004-05-03 ./i/ivtools/ivtools-unidraw_1.1.3-2_i386.deb
2004-05-03 ./i/ivtools/ivtools-interviews_1.1.3-2_i386.deb
2004-05-03 ./i/ivtools/ivtools-bin_1.1.3-2_i386.deb
2004-04-28 ./a/autotrace/libautotrace3_0.31.1-6_i386.deb
2004-04-28 ./a/autotrace/autotrace_0.31.1-6_i386.deb
2004-04-26 ./g/gandalf/gandalf1_1.3.2-11_i386.deb
2004-04-26 ./p/pstoedit/libpstoedit0_3.33-14_i386.deb
2004-04-22 ./x/xpaint/xpaint_2.6.2-2.2_i386.deb
2004-04-13 ./k/kdegraphics/kuickshow_3.2.2-1_i386.deb
2004-04-13 ./k/kdegraphics/kooka_3.2.2-1_i386.deb
2004-04-13 ./k/kdegraphics/kfax_3.2.2-1_i386.deb
2004-04-13 ./k/kdegraphics/kdegraphics-kfile-plugins_3.2.2-1_i386.deb
2004-04-07 ./e/emacs21/emacs21_21.3+1-5_i386.deb
2004-04-05 ./p/pinball/pinball_0.3.1-2_i386.deb
2004-03-23 ./x/xteddy/xteddy_2.0.2-2_i386.deb
2004-03-18 ./m/mgp/mgp_1.10a-3.1_i386.deb
2004-03-17 ./i/imlib/imlib11_1.9.14-15_i386.deb
2004-03-17 ./i/imlib2/libimlib2_1.1.0-12_i386.deb
2004-03-15 ./v/vrweb/vrweb_1.5-10_i386.deb
2004-03-06 ./v/vtk/vtk-tcl_4.2.6-1_i386.deb
2004-03-06 ./v/vtk/python-vtk_4.2.6-1_i386.deb
2004-03-06 ./v/vtk/libvtk4_4.2.6-1_i386.deb
2004-03-05 ./z/zgv/zgv_5.7-1_i386.deb
2004-02-23 ./t/tiff/libtiff3g-dev_3.6.1-1_i386.deb
2004-02-23 ./t/tiff/libtiff-tools_3.6.1-1_i386.deb
2004-02-16 ./m/mozart-gtk/mozart-gtk_20030428-3_i386.deb
2004-02-16 ./l/lcms/liblcms-utils_1.12-2_i386.deb
2004-02-09 ./p/pike7.2/pike7.2-image_7.2.556-1_i386.deb
2004-01-31 ./libi/libimager-perl/libimager-perl_0.42-1_i386.deb
2004-01-21 ./x/xnc/xnc_5.0.4-1_i386.deb
2004-01-16 ./a/advi/advi_1.4.0-7_i386.deb
2004-01-03 ./p/php4-imagick/php4-imagick_0.9.7-1.2_i386.deb
2003-12-31 ./s/sear/sear_0.4.6-3_i386.deb
2003-11-16 ./e/endeavour/endeavour2_2.3.2-1.3_i386.deb
2003-11-07 ./e/enlightenment/enlightenment_0.16.6-1_i386.deb
2003-10-30 ./x/xloadimage/xloadimage_4.1-13_i386.deb
2003-10-26 ./i/idesk/idesk_0.5.6-2_i386.deb
2003-10-25 ./w/wxwindows2.4/libwxgtk2.4_2.4.2.4_i386.deb
2003-10-14 ./i/imlib+png2/imlib1_1.9.14-14_i386.deb
2003-10-14 ./i/imlib+png2/gdk-imlib1_1.9.14-14_i386.deb
2003-10-09 ./x/xzgv/xzgv_0.8-1_i386.deb
2003-10-04 ./q/qvwm/qvwm_1.1.12-1_i386.deb
2003-09-28 ./c/capi4hylafax/capi4hylafax_01.02.02-1.1_i386.deb
2003-08-11 ./p/paul/paul_0.1.1-2_i386.deb
2003-08-06 ./libf/libforms1/libforms1_1.0-4_i386.deb
2003-07-30 ./libt/libtk-img/libtk-img_1.3-10_i386.deb
2003-07-17 ./p/pixelize/pixelize_0.9.2-1.1_i386.deb
2003-07-17 ./g/gtksee/gtksee_0.5.2-0.1_i386.deb
2003-07-17 ./y/ygraph/ygraph_0.14-4_i386.deb
2003-06-23 ./h/hp2xx/hp2xx_3.4.4-1_i386.deb
2003-06-10 ./w/wallp/wallp_0.64-4_i386.deb
2003-05-28 ./p/pixieplus/pixieplus_0.5.4-2_i386.deb
2003-05-23 ./x/xbvl/xbvl_2.2-3_i386.deb
2003-05-11 ./d/devil/libdevil1_1.6.5-5_i386.deb
2003-01-30 ./g/ghfaxviewer/ghfaxviewer_0.22.0-4_i386.deb
2003-01-13 ./l/lightspeed/lightspeed_1.2-4_i386.deb
2002-07-22 ./g/gbatnav/gbatnav_1.0.4-2_i386.deb
2002-04-22 ./g/gnobog/gnobog_0.4.3-2_i386.deb
2002-03-04 ./p/primaxscan/primaxscan_0.93beta3-3_i386.deb

Reply to: