Source: avahi
Version: 0.6.31-4
Severity: normal
Tags: patch

avahi needs gtk2, gtk3 and QT to build, but is also needed to build
packages which gtk3 and QT build-depend on, thus it is involved in one of
the many circular build-deps in Debian.

We are working to make Debian bootstrappable by adding 'profile'
information to packages to untangle these circular dependencies, and
make the dependency relations into an actual tree.

This patch contains the necessary debian/rules changes to build a basic
libavahi without all the GUI tools. It is generally nice and clean,
except for the need to fake up a man page file to stop the build barfing
due to one being missing. This could also be done using dh_exec to make
the .install file conditional, or take that file out of the .install file
and copy it in the rules file. Use whichever of these solutions seems
nicest to you.

A later patch will provide the Build-Depends profile annotations to the
control file, but these cannot yet go into the main archive so I'm not
sending those in yet. Having the build mechanism in in the meantime is
still very useful to porters.

See https://wiki.debian.org/DebianBootstrap for more info 

-- System Information:
Debian Release: 7.3
  APT prefers stable
  APT policy: (990, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-kvm-i386-20110111 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Nru avahi-0.6.31/debian/changelog avahi-0.6.31/debian/changelog
--- avahi-0.6.31/debian/changelog	2013-12-26 17:36:01.000000000 +0000
+++ avahi-0.6.31/debian/changelog	2014-01-03 18:29:30.000000000 +0000
@@ -1,3 +1,10 @@
+avahi (0.6.31-4profile1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Add stage1 DEB_BUILD_PROFILE avoiding gtk and qt build-deps 
+
+ -- wookey <woo...@wookware.org>  Fri, 03 Jan 2014 18:28:40 +0000
+
 avahi (0.6.31-4) unstable; urgency=medium
 
   * Team upload.
diff -Nru avahi-0.6.31/debian/rules avahi-0.6.31/debian/rules
--- avahi-0.6.31/debian/rules	2013-11-26 19:22:52.000000000 +0000
+++ avahi-0.6.31/debian/rules	2014-01-03 19:00:52.000000000 +0000
@@ -9,6 +9,14 @@
 	CONFFLAGS += --disable-autoipd
 endif
 
+#disable gtk and qt parts of build for bootstrap
+ifeq ($(words $(sort $(filter stage1,$(DEB_BUILD_PROFILES)))),1)
+    DH_OPTIONS += -Nlibavahi-qt4-1 -Nlibavahi-qt4-dev -Navahi-discover
+    DH_OPTIONS += -Nlibavahi-ui0 -Nlibavahi-ui-dev -Navahi-ui-utils
+    DH_OPTIONS += -Nlibavahi-ui-gtk3-0 -Nlibavahi-ui-gtk3-dev
+    CONFIGURE_SWITCHES += --disable-gtk --disable-gtk3 --disable-qt4 --disable-pygtk
+endif
+
 # Ensure at build time that the library has no dependencies on undefined
 # symbols, and speed up loading.
 export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs -Wl,-O1 -Wl,--as-needed
@@ -20,7 +28,8 @@
 		--disable-monodoc \
 		--disable-qt3 \
 		--enable-gtk3 \
-		--with-systemdsystemunitdir=/lib/systemd/system
+		--with-systemdsystemunitdir=/lib/systemd/system \
+		$(CONFIGURE_SWITCHES)
 
 override_dh_auto_build:
 	dh_auto_build
@@ -44,13 +53,17 @@
 
 # List any files which are not installed
 override_dh_install:
-	dh_install --list-missing
+	dh_install --list-missing $(DH_OPTIONS)
 
 override_dh_installinit:
 	dh_installinit -pavahi-daemon -- start 14 2 3 4 5 . stop 86 0 1 6 .
 	dh_installinit -pavahi-dnsconfd -- start 16 2 3 4 5 . stop 84 0 1 6 .
 
 override_dh_installdocs:
+        #bodge missing manpage
+	ifeq ($(words $(sort $(filter stage1,$(DEB_BUILD_PROFILES)))),1)
+	  debian/tmp/usr/share/man/man1/avahi-discover.1
+	endif
 	dh_installdocs --all docs/NEWS docs/README
 
 override_dh_strip:

Reply via email to