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: