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
-

Reply via email to