Control: block -1 by 763766

Hi,

On Sun, 22 Jun 2014 02:26:20 +0300 Peter Pentchev <r...@ringlet.net> wrote:
> Now, with freetype this is relatively easy - the X libraries are only
> used for building the freetype2-demos package, not for the actual
> freetype libraries.  So what do you think about the attached patch that
> checks for a "stage1" build profile specified in the DEB_BUILD_PROFILES
> variable and, if so, omits the freetype2-demos package from the build
> at all?

the syntax for the Build-Profiles field was changed during the bootstrap
sprint in paris [1,2]. Attached patch is updated to reflect those changes.
It only changes debian/control.in so please regenerate debian/control.

As the patch requires debhelper to understand the new syntax, this bug is
blocked by that bug in debhelper.

In contrast to the patch for #752271 (which is marked as block by this bug)
this patch does use the new build profile syntax in the Build-Depends field and
thus can be applied before Jessie is released.

cheers, josch

[1] https://wiki.debian.org/Sprints/2014/BootstrapSprint
[2] https://wiki.debian.org/BuildProfileSpec
diff -u freetype-2.5.2/debian/changelog freetype-2.5.2/debian/changelog
--- freetype-2.5.2/debian/changelog
+++ freetype-2.5.2/debian/changelog
@@ -1,3 +1,12 @@
+freetype (2.5.2-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * If building in the stage1 build profile, do not depend on the X
+    libraries and do not build the demo programs.  This breaks a circular
+    build dependency of src:freetype with src:libx11 and src:x11proto-core
+
+ -- Johannes Schauer <j.scha...@email.de>  Tue, 07 Oct 2014 11:06:45 +0200
+
 freetype (2.5.2-2) unstable; urgency=medium
 
   * Acknowledge security NMU; thanks to Michael Gilbert.
diff -u freetype-2.5.2/debian/control freetype-2.5.2/debian/control
--- freetype-2.5.2/debian/control
+++ freetype-2.5.2/debian/control
@@ -3,7 +3,8 @@
 Priority: optional
 Maintainer: Steve Langasek <vor...@debian.org>
 Uploaders: Anthony Fok <f...@debian.org>, Keith Packard <kei...@keithp.com>
-Build-Depends: bzip2, debhelper (>= 9), docbook-to-man, gettext (>= 0.10.36-2), libx11-dev, x11proto-core-dev, libz-dev, quilt, libpng-dev, autoconf, automake, libtool
+# For stage1 builds, remove the libx11-dev and x11proto-core-dev dependencies.
+Build-Depends: bzip2, debhelper (>= 9.FIXME), docbook-to-man, gettext (>= 0.10.36-2), libx11-dev, x11proto-core-dev, libz-dev, quilt, libpng-dev, autoconf, automake, libtool
 Standards-Version: 3.9.6
 Homepage: http://www.freetype.org
 
@@ -63,6 +64,7 @@
 Package: freetype2-demos
 Architecture: any
 Section: utils
+Build-Profiles: <!stage1>
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Replaces: freetype-tools
 Description: FreeType 2 demonstration programs
diff -u freetype-2.5.2/debian/rules freetype-2.5.2/debian/rules
--- freetype-2.5.2/debian/rules
+++ freetype-2.5.2/debian/rules
@@ -46,13 +46,24 @@
 
 libdoc = FTL.TXT CHANGES TODO ft2faq.html
 
+ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES)))
+build_demos = 1
+else
+build_demos = 0
+endif
+
 %:
 	dh $@
 
+tarballs = $(freetype_u) $(ftdocs_u)
+ifeq ($(build_demos),1)
+tarballs += $(ft2demos_u)
+endif
+
 unpack:: unpack-stamp
 unpack-stamp::
 	# Unpack upstream tarballs
-	@for i in $(freetype_u) $(ftdocs_u) $(ft2demos_u); do \
+	@for i in $(tarballs); do \
 	    if [ -f $$i.tar.bz2 ]; then \
 		echo "Unpacking $$i.tar.bz2 ..."; \
 		tar -x --bzip2 -f $$i.tar.bz2; \
@@ -72,8 +83,10 @@
 	cd $(freetype_u) \
 	    && QUILT_PATCHES=../debian/patches-freetype quilt --quiltrc /dev/null push -a
 	cd $(freetype_u) && ./autogen.sh
+ifeq ($(build_demos),1)
 	cd $(ft2demos_u) \
 	    && QUILT_PATCHES=../debian/patches-ft2demos quilt --quiltrc /dev/null push -a
+endif
 	touch patch-stamp
 
 override_dh_auto_configure: patch
@@ -81,8 +94,10 @@
 
 override_dh_auto_build:
 	dh_auto_build -D $(freetype_u)
+ifeq ($(build_demos),1)
 	dh_auto_build -D $(ft2demos_u) -- TOP_DIR=../$(freetype_u) \
 		OBJ_DIR=../$(freetype_u)/objs
+endif
 	docbook-to-man $(freetype_config_sgml) > $(freetype_config_man)
 
 override_dh_auto_clean:
@@ -92,9 +107,11 @@
 
 override_dh_auto_install:
 	dh_auto_install -D $(freetype_u) --destdir=$(CURDIR)/debian/tmp
+ifeq ($(build_demos),1)
 	$(freetype_u)/builds/unix/libtool --mode=install \
 	    cp -av `find $(ft2demos_u)/bin -type f -perm -u=x -maxdepth 1` \
 		$(CURDIR)/debian/$(demospkg)/usr/bin/
+endif
 	sed -i -e'/dependency_libs/s/'.*'//' debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libfreetype.la
 
 override_dh_install:

Reply via email to