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
-