diff -u pango1.0-1.12.2/debian/changelog pango1.0-1.12.2/debian/changelog --- pango1.0-1.12.2/debian/changelog +++ pango1.0-1.12.2/debian/changelog @@ -1,3 +1,12 @@ +pango1.0 (1.12.2-0ubuntu2) dapper; urgency=low + + * move /etc/pango/pango.modules to /var/lib/pango/pango.modules + and ship a default version in the package. This fixes a bad + race during the upgrade of pango (ubuntu: #41297). + update-pango-modules uses the new path too + + -- Michael Vogt Wed, 3 May 2006 18:02:28 +0200 + pango1.0 (1.12.2-0ubuntu1) dapper; urgency=low * New upstream version: diff -u pango1.0-1.12.2/debian/libpango1.0-common.dirs pango1.0-1.12.2/debian/libpango1.0-common.dirs --- pango1.0-1.12.2/debian/libpango1.0-common.dirs +++ pango1.0-1.12.2/debian/libpango1.0-common.dirs @@ -6,0 +7 @@ +var/lib/pango \ No newline at end of file diff -u pango1.0-1.12.2/debian/rules pango1.0-1.12.2/debian/rules --- pango1.0-1.12.2/debian/rules +++ pango1.0-1.12.2/debian/rules @@ -257,6 +257,15 @@ # clean the unnecessary files up rm -rf debian/libpango$(apiver)-$(soname)/usr/share/gtk-doc + # build a pango.modules file (ship a basic version in the package + # to not break on ugprades), see launchpad #41297 for details + LD_LIBRARY_PATH=$(libpath):$(LD_LIBRARY_PATH) \ + $(BUILD_SHARED_DIR)/pango/pango-querymodules \ + $(CURDIR)/debian/libpango$(apiver)-$(soname)/usr/lib/pango/$(modver)/modules/*.so \ + > $(CURDIR)/debian/libpango$(apiver)-common/var/lib/pango/pango.modules.tmp + sed -e 's,^$(CURDIR)/debian/libpango$(apiver)-$(soname),,g' $(CURDIR)/debian/libpango$(apiver)-common/var/lib/pango/pango.modules.tmp > $(CURDIR)/debian/libpango$(apiver)-common/var/lib/pango/pango.modules + rm -f $(CURDIR)/debian/libpango$(apiver)-common/var/lib/pango/pango.modules.tmp + dh_movefiles --sourcedir=debian/libpango$(apiver)-$(soname) -Nlibpango$(apiver)-udeb -find $(CURDIR)/debian/ -type d -empty ! -regex '.*/var.*' -prune | xargs rmdir -p 2>&1 > /dev/null @@ -327,7 +336,7 @@ dh_shlibdeps -l$(libpath) -a cat debian/*/DEBIAN/shlibs > debian/shlibs.local dh_gencontrol -a -Nlibpango$(apiver)-udeb - dh_md5sums -a -Nlibpango$(apiver)-udeb + dh_md5sums -a -Nlibpango$(apiver)-udeb -Xvar/lib/pango/pango.modules dh_builddeb -a -Nlibpango$(apiver)-udeb binary-arch-udeb: build-udeb install-udeb diff -u pango1.0-1.12.2/debian/update-pango-modules.in pango1.0-1.12.2/debian/update-pango-modules.in --- pango1.0-1.12.2/debian/update-pango-modules.in +++ pango1.0-1.12.2/debian/update-pango-modules.in @@ -23,13 +23,13 @@ else echo "done." fi -if ! test -d /etc/pango; then - echo -n "Creating /etc/pango directory..." - mkdir /etc/pango +if ! test -d /var/lib/pango; then + echo -n "Creating /var/lib/pango directory..." + mkdir /var/lib/pango echo "done." fi -cp $TMPFILE /etc/pango/pango.modules -chmod 644 /etc/pango/pango.modules +cp $TMPFILE /var/lib/pango/pango.modules +chmod 644 /var/lib/pango/pango.modules rm -f $TMPFILE reverted: --- pango1.0-1.12.2/modules_location_variable.patch +++ pango1.0-1.12.2.orig/modules_location_variable.patch @@ -1,52 +0,0 @@ -diff -u pango1.0-1.12.0/debian/patches/ia32-hack.patch pango1.0-1.12.0/debian/patches/ia32-hack.patch ---- pango1.0-1.12.0/debian/patches/ia32-hack.patch -+++ pango1.0-1.12.0/debian/patches/ia32-hack.patch -@@ -1,5 +1,5 @@ ----- pango-1.11.99/pango/pango-utils.c~ 2006-02-10 01:31:24.000000000 +0100 --+++ pango-1.11.99/pango/pango-utils.c 2006-03-01 17:21:07.111329880 +0100 -+--- ../pango-1.12.0/pango/pango-utils.c 2006-02-10 01:31:24.000000000 +0100 -++++ pango-1.12.0/pango/pango-utils.c 2006-04-04 04:08:58.381110032 +0200 - @@ -24,6 +24,8 @@ - #include - #include -@@ -9,22 +9,32 @@ - - #include "pango-impl-utils.h" - #include "pango-utils.h" --@@ -606,6 +608,14 @@ -+@@ -606,7 +608,23 @@ - - return result; - #else --+#if defined(__linux__) && defined (__i386__) -+- return SYSCONFDIR "/pango"; -++ static gchar *result = NULL; - + struct utsname uts; - + --+ uname(&uts); --+ if (!strcmp("x86_64", uts.machine) --+ && !access(SYSCONFDIR "/pango32", R_OK|X_OK)) --+ return SYSCONFDIR "/pango32"; -++ if (result == NULL) -++ { -++ result = g_getenv("PANGO_SYSCONFDIR"); -++ if (!access(result, R_OK|X_OK)) -++ return result; -++#if defined(__linux__) && defined (__i386__) -++ uname(&uts); -++ if (!strcmp("x86_64", uts.machine) -++ && !access(SYSCONFDIR "/pango32", R_OK|X_OK)) -++ result = SYSCONFDIR "/pango32"; - +#endif -- return SYSCONFDIR "/pango"; -++ result = SYSCONFDIR "/pango"; -++ } -++ return result; - #endif - } --@@ -634,6 +644,14 @@ -+ -+@@ -634,6 +652,14 @@ - - return result; - #else only in patch2: unchanged: --- pango1.0-1.12.2.orig/debian/patches/default_pango_modules_location.patch +++ pango1.0-1.12.2/debian/patches/default_pango_modules_location.patch @@ -0,0 +1,13 @@ +=== modified file 'a/pango-1.12.2/pango/modules.c' +--- pango-1.12.2.x/pango/modules.c ++++ pango-1.12.2/pango/modules.c +@@ -489,7 +489,7 @@ + dlloaded_modules = g_hash_table_new (g_str_hash, g_str_equal); + + if (!file_str) +- file_str = g_build_filename (pango_get_sysconf_subdirectory (), ++ file_str = g_build_filename ("/var/lib/pango/", + "pango.modules", + NULL); + +