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

Breaking the gnome-ish dependency loop



Hi,

please find below a proposed plan to get rid of the current gnome-ish
loop (I guess it's not needed to list involved packages here, they'll be
listed right below):

 * take avahi, it B-D on python-gtk2

 * take pygtk (python-gtk2's source), install its B-D, gnome-icon-theme
   is missing, but let's ignore it (according to its maintainer, the
   only downside it missing runtime icons). Build it.

 * install the built python-gtk2 package.

 * get back to avahi, it can be built.


At that point, some qt/kde-ish packages should get their build
dependencies available already, but gnome is mostly stuck because of
gnome-vfs. I'm not sure we want to do that, but it could possibly be
manually built, too, while we're at it (that would allow us to consider
more gnome-ish packages). It's quite of a PITA, though, at least in my
non-maintainer point of view. Here are my findings:

 * install the following built packages:
    libavahi-client3 libavahi-client-dev libavahi-common3
    libavahi-common-data libavahi-common-dev libavahi-glib1
    libavahi-glib-dev

 * using the patch available upstream for #529827 (gnutls dropped some
   configure-helper scripts), when autoreconf'ing, I got into troubles
   due to a now-missing GTKDOC_REBASE. Indeed, it only exists in
   aclocal.m4, and gets dropped when autoreconf'ing. I tried
   autoconf'ing only, but then, I ran into libtool issues (classical
   libtool mismatch, unknown tags, commands that aren't found, etc.).

 * once back with autoreconf'ing, it turned out that GTKDOC_* commands
   boiled down to a call in doc/Makefile.in, which seems to come from
   the gtk-doc.make file. I decided to go the really dirty hackish way
   and setting using gtkdoc-rebase there.

 * to sum up: apply the attached gnome-vfs debdiff, then push all
   patches (QUILT_PATCHES=debian/patches quilt push -a), autoreconf
   (autoreconf -vfi), and build (debuild -b -nc). I initially put an
   NMU changelog entry, but of course we couldn't upload that kind of
   version anyway.


Once that done, one can get back to the dependency chain:

 * install the following built packages:
     libgnomevfs2-dev libgnomevfs2-0

 * get the libgsf sources and build it.

 * install the following built packages:
     libgsf-1-dev libgsf-1-114

 * get the librsvg sources and build it.


If one additionally installs the (locally-built) librsvg2-common and
librsvg2-2 packages, gnome-icon-theme becomes installable.

If the goal is to upload a minimum number of manually-built packages to
the archive, it might be interesting to only upload the librsvg
binaries, so that gnome-icon-theme becomes installable on the buildds,
making it possible to autobuild pygtk and avahi at least. gnome-vfs
would then need to wait until an upload fixing #529827 happens. I'm not
sure it would a good idea to upload the binaries built from a half-fixed
half-dirtily-hacked gnome-vfs package, but that might help speeding up
things.

Comments?

Mraw,
KiBi.
--- gnome-vfs-2.24.1/debian/changelog
+++ gnome-vfs-2.24.1/debian/changelog
@@ -1,3 +1,12 @@
+gnome-vfs (1:2.24.1-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix FTBFS with new gnutls (Closes: #529827):
+     - 35_newer_gnutls.patch (from upstream).
+     - 36_ugly_workaround.patch (WORK AROUND!).
+
+ -- Cyril Brulebois <kibi@debian.org>  Sat, 08 Aug 2009 07:14:24 +0200
+
 gnome-vfs (1:2.24.1-3) unstable; urgency=low
 
   * Change mounting blacklist to be recursive since live-installer is
--- gnome-vfs-2.24.1/debian/patches/series
+++ gnome-vfs-2.24.1/debian/patches/series
@@ -22,2 +22,4 @@
 30_nfs4.patch
+35_newer_gnutls.patch
+36_ugly_workaround.patch
 99_ltmain_as-needed.patch
--- gnome-vfs-2.24.1.orig/debian/patches/35_newer_gnutls.patch
+++ gnome-vfs-2.24.1/debian/patches/35_newer_gnutls.patch
@@ -0,0 +1,23 @@
+--- a/configure.in
++++ b/configure.in
+@@ -668,14 +668,14 @@ if test "x$enable_gnutls" = "xyes"; then
+     AC_MSG_ERROR([*** Can't use both openssl and gnutls at the same time. Please pick one only. ***])
+   else
+     AC_CHECK_HEADER(gcrypt.h,, AC_MSG_ERROR([*** Need gcrypt.h to compile with GnuTLS support ***]))
+-    AM_PATH_LIBGNUTLS(1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available])
+-			      have_ssl=true])
++    PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available])
++    				 	   	  have_ssl = true])
+ 
+     if test "x${LIBGNUTLS_LIBS}" = "x"; then
+-      AM_PATH_LIBGNUTLS(0.5.1, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available])
+-                                 AC_DEFINE(GNUTLS_COMPAT, 1, [FIXME])
+-				 have_ssl=true],
+-                                 AC_MSG_ERROR([Unable to find GNUTLS]))
++      PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 0.5.1, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available])
++      				   	     	    AC_DEFINE(GNUTLS_COMPAT, 1, [FIXME])
++						    have_ssl=true],
++						    AC_MSG_ERROR([Unable to find GNUTLS]))
+     fi
+   fi
+ fi
--- gnome-vfs-2.24.1.orig/debian/patches/36_ugly_workaround.patch
+++ gnome-vfs-2.24.1/debian/patches/36_ugly_workaround.patch
@@ -0,0 +1,11 @@
+--- a/gtk-doc.make
++++ b/gtk-doc.make
+@@ -156,7 +156,7 @@ install-data-local:
+ 	    mv -f $${installdir}/$(DOC_MODULE).devhelp \
+ 	      $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp; \
+ 	  fi; \
+-	  $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
++	  gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ 	fi
+ 
+ uninstall-local:

Attachment: signature.asc
Description: Digital signature


Reply to: