On Sat, Apr 14, 2007 at 11:33:43PM +0200, Loïc Minier wrote: > > I've uploaded Gtk 2.10 to unstable and it changes ABI, which means that > your package will not work with Gtk 2.10 as is.
Hi Loïc, I've prepared a new upload for scim that is compatible with the new GTK+ ABI and sent it to my sponsor, so this bug should be fixed soon. As there are also other changes, and from bug #419366 I see that you check the changes in the new uploads, I'll attach the GTK+ ABI transition patch for your convenience. You can also check it at svn.debian.org [1], the relevant changes are r834 and r835. 1. http://svn.debian.org/wsvn/pkg-ime/scim/ Also the scim package has the same problem as gcin package, i.e., hardcoding the /usr/lib/gtk-2.0/2.10.0/ directory. In scim this is done in quite a few different places, and as I don't know much about autotools, hardcoding is the easiest way for me. If you think this is very bad practice and can provide a patch, I'd be very happy to fix it. Regards, Ming 2007.04.17
Index: control =================================================================== --- control (revision 833) +++ control (revision 835) @@ -3,7 +3,7 @@ Priority: optional Maintainer: Ming Hua <[EMAIL PROTECTED]> Uploaders: Osamu Aoki <[EMAIL PROTECTED]> -Build-Depends: debhelper (>= 4.0.0), dpatch, autotools-dev, intltool, x11proto-core-dev, libx11-dev, libgtk2.0-dev (>= 2.4.0) +Build-Depends: debhelper (>= 4.0.0), dpatch, autotools-dev, intltool, x11proto-core-dev, libx11-dev, libgtk2.0-dev (>= 2.10.1-1) Standards-Version: 3.7.2 Package: scim @@ -84,7 +84,7 @@ Package: scim-gtk2-immodule Architecture: any -Depends: scim, scim-modules-socket (= ${Source-Version}), libgtk2.0-bin, ${shlibs:Depends} +Depends: scim, scim-modules-socket (= ${Source-Version}), ${shlibs:Depends}, ${misc:Depends} Description: GTK+2 input method module with SCIM as backend SCIM (Smart Common Input Method) is an input method (IM) platform. . Index: patches/10_gtk-immodule-install-dir.dpatch =================================================================== --- patches/10_gtk-immodule-install-dir.dpatch (revision 833) +++ patches/10_gtk-immodule-install-dir.dpatch (revision 835) @@ -19,22 +19,17 @@ ## DP: change necessary for extras/gtk_immodule/Makefile.in is ## DP: incorporated in 11_relibtoolize.dpatch. If the relibtoolize ## DP: patch is removed, this patch should change Makefile.in as well. -## DP: -## DP: Note that this patch will break for GTK+ 2.10.x as there is an -## DP: ABI change for the immodules, and the installation directory -## DP: should be changed to /usr/lib/gtk-2.0/2.10.0/immodules/ when -## DP: built against GTK+ 2.10.x. @DPATCH@ diff -urNad scim-1.4.4~/extras/gtk2_immodule/Makefile.am scim-1.4.4/extras/gtk2_immodule/Makefile.am ---- scim-1.4.4~/extras/gtk2_immodule/Makefile.am 2005-07-10 08:45:36.000000000 -0500 -+++ scim-1.4.4/extras/gtk2_immodule/Makefile.am 2006-09-10 23:22:07.000000000 -0500 +--- scim-1.4.4~/extras/gtk2_immodule/Makefile.am 2007-04-14 21:42:10.000000000 -0500 ++++ scim-1.4.4/extras/gtk2_immodule/Makefile.am 2007-04-14 21:46:17.000000000 -0500 @@ -32,7 +32,7 @@ noinst_HEADERS = gtkimcontextscim.h -moduledir = @GTK_LIBDIR@/gtk-2.0/immodules -+moduledir = @GTK_LIBDIR@/gtk-2.0/2.4.0/immodules ++moduledir = @GTK_LIBDIR@/gtk-2.0/2.10.0/immodules module_LTLIBRARIES = $(CONFIG_GTK2_IMMODULE) Index: patches/11_relibtoolize.dpatch =================================================================== --- patches/11_relibtoolize.dpatch (revision 833) +++ patches/11_relibtoolize.dpatch (revision 835) @@ -37453,7 +37453,7 @@ @[EMAIL PROTECTED] = "-Wl,--version-script=$(srcdir)/im-scim.version-script" noinst_HEADERS = gtkimcontextscim.h -moduledir = @GTK_LIBDIR@/gtk-2.0/immodules -+moduledir = @GTK_LIBDIR@/gtk-2.0/2.4.0/immodules ++moduledir = @GTK_LIBDIR@/gtk-2.0/2.10.0/immodules module_LTLIBRARIES = $(CONFIG_GTK2_IMMODULE) im_scim_la_SOURCES = gtkimcontextscim.cpp imscim.cpp im_scim_la_CXXFLAGS = @GTK2_CFLAGS@ Index: changelog =================================================================== --- changelog (revision 833) +++ changelog (revision 835) @@ -7,12 +7,20 @@ binary-indep target completely. - Add more safeguarding code to detect building errors. - Finally remove all the cruft introduced by dh_make. + * Adapt to GTK+ 2.10 ABI change. (Closes: 419314) + - Install GTK IM module into /usr/lib/gtk-2.0/2.10.0/immodules. + - Bump libgtk2.0-dev build dependency to >= 2.10.1-1. + - Use dh_gtkmodules in debian/rules instead of calling + update-gtk-immodules in maintainer scripts. The postinst and postrm + scripts for scim-gtk2-immodule are empty now and therefore removed. + - Add ${misc:Depends} to scim-gtk2-immodule's dependency list, and remove + libgtk2.0-bin. * Update debian/watch file to format version 3 and use qa.debian.org redirector for sourceforge.net. * Drop libxt-dev in build dependency as it's not necessary anymore after relibtoolization. - -- Ming Hua <[EMAIL PROTECTED]> Sat, 14 Apr 2007 21:12:05 -0500 + -- Ming Hua <[EMAIL PROTECTED]> Tue, 17 Apr 2007 02:26:48 -0500 scim (1.4.4-7) unstable; urgency=high Index: rules =================================================================== --- rules (revision 833) +++ rules (revision 835) @@ -87,8 +87,8 @@ # clean up unnecessary static library files for modules rm debian/tmp/usr/lib/scim-1.0/1.4.0/*/*.la rm debian/tmp/usr/lib/scim-1.0/1.4.0/*/*.a - rm debian/tmp/usr/lib/gtk-2.0/2.4.0/immodules/im-scim.a - rm debian/tmp/usr/lib/gtk-2.0/2.4.0/immodules/im-scim.la + rm debian/tmp/usr/lib/gtk-2.0/2.10.0/immodules/im-scim.a + rm debian/tmp/usr/lib/gtk-2.0/2.10.0/immodules/im-scim.la # distribute files to different binary packages dh_install --sourcedir=debian/tmp --fail-missing touch $@ @@ -101,6 +101,8 @@ dh_installchangelogs -a ChangeLog dh_installdocs -a -X Makefile dh_installman -a + LD_LIBRARY_PATH=debian/libscim8c2a/usr/lib:$(LD_LIBRARY_PATH) \ + dh_gtkmodules dh_strip -a dh_compress -a dh_fixperms -a Index: scim-gtk2-immodule.install =================================================================== --- scim-gtk2-immodule.install (revision 833) +++ scim-gtk2-immodule.install (revision 835) @@ -1 +1 @@ -usr/lib/gtk-2.0/2.4.0/immodules/im-scim.so +usr/lib/gtk-2.0/2.10.0/immodules/im-scim.so Index: scim-gtk2-immodule.postinst =================================================================== --- scim-gtk2-immodule.postinst (revision 833) +++ scim-gtk2-immodule.postinst (revision 835) @@ -1,17 +0,0 @@ -#!/bin/sh -# postinst script for scim-gtk2-immodule -# see: dh_installdeb(1) - -set -e - -if [ "$1" = "configure" ]; then - /usr/sbin/update-gtk-immodules -fi - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 - Index: scim-gtk2-immodule.postrm =================================================================== --- scim-gtk2-immodule.postrm (revision 833) +++ scim-gtk2-immodule.postrm (revision 835) @@ -1,22 +0,0 @@ -#!/bin/sh -# postrm script for scim-gtk-immodule -# see: dh_installdeb(1) - -set -e - -if [ "$1" = "remove" ]; then - # Be careful in the postrm script as libgtk2.0-bin (which contains - # the /usr/sbin/update-gtk-immodules command) can be already removed - # when this is run. - if [ -x /usr/sbin/update-gtk-immodules ]; then - /usr/sbin/update-gtk-immodules - fi -fi - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 -