clone 752407 -1 retitle -1 krb5: Move doxygen to Build-Depends-Indep block 752407 by -1 user [email protected] usertags -1 bootstrap thanks
On Sun, Jul 06, 2014 at 01:37:50PM -0400, Benjamin Kaduk wrote: > On Mon, 23 Jun 2014, Peter Pentchev wrote: > > >As part of this year's "Bootstrappable Debian" Google Summer of Code > >project I took a look at krb5 to break a circular build dependency as > >noted in the "Feedback Arc Set" section of > >http://bootstrap.debian.net/amd64/ and, more specifically, at > >http://bootstrap.debian.net/source/krb5.html and the version-specific > >pages linked from it. There are two primary goals to my work on this > >GSoC project: > > > >With krb5 all of this may be achieved by building without LDAP support > >in the "stage1" build profile and thus dropping the libldap2-dev build > >dependency. Attached is a patch that implements the first part - it > > I see also a cycle involving doxygen; this should be easy to remove by > postponing the build of krb5-doc until after stage1 is complete. Actually this one is even easier to fix - since krb5-doc is an arch:all package, it will not be built in arch-only builds on the buildds, and it will not be built in a bootstrap build at all; the architecture-independent packages are taken from the Debian archive as-is. Thus, the fact that doxygen is only needed for the build of the arch:all packages means that it may safely be moved to B-D-I. So what do you think about the attached patch that does exactly that - moves doxygen to B-D-I? It's also available at https://gitorious.org/roam-debian-bootstrap/krb5-debian/commits/roam-indep I've also attached a new version of the patch that adds build-time support for the "stage1" build profile (no <!profile.stage1> yet) that has been rebased onto the new version of the master branch; it is also available from https://gitorious.org/roam-debian-bootstrap/krb5-debian/commits/roam-stage1-build-3 I'll send the full control profile syntax one to the other bug right away. Thanks for looking into this! G'luck, Peter -- Peter Pentchev [email protected] [email protected] [email protected] PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13
From 3c53be54cd828b10f7395a314d597438043a2d79 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <[email protected]> Date: Mon, 7 Jul 2014 23:42:23 +0300 Subject: [PATCH] Move doxygen to Build-Depends-Indep. This also removes a build dependency loop as shown on the version-specific pages linked from http://bootstrap.debian.net/source/krb5.html --- debian/control | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/control b/debian/control index aacaa8e..ec707e0 100644 --- a/debian/control +++ b/debian/control @@ -2,11 +2,11 @@ Source: krb5 Section: net Priority: standard Build-Depends: debhelper (>= 8.1.3), byacc | bison, - comerr-dev, docbook-to-man, doxygen, + comerr-dev, docbook-to-man, libkeyutils-dev [linux-any], libldap2-dev, libncurses5-dev, libssl-dev, ss-dev, libverto-dev (>= 0.2.4), pkg-config -build-depends-indep: python-cheetah, python-lxml, python-sphinx, doxygen-latex +build-depends-indep: python-cheetah, python-lxml, python-sphinx, doxygen-latex, doxygen Standards-Version: 3.9.5 Maintainer: Sam Hartman <[email protected]> Uploaders: Russ Allbery <[email protected]>, Benjamin Kaduk <[email protected]> -- 2.0.0
From 851637b01c69383ec9edd2fbd07b8257b728c795 Mon Sep 17 00:00:00 2001 From: Peter Pentchev <[email protected]> Date: Mon, 17 Mar 2014 17:12:17 +0200 Subject: [PATCH] A first try at adding stage1 support. In stage 1, remove the libldap2-dev build dependency as outlined in the "feedback arc set" section of http://bootstrap.debian.net/amd64/ While building, check the DEB_BUILD_PROFILES variable for "stage1" and, if found, disable the LDAP functionality and skip the LDAP-related parts of the build and installation. --- debian/control | 1 + debian/rules | 73 ++++++++++++++++++++++++++++++++++++---------------------- 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/debian/control b/debian/control index ec707e0..4594b71 100644 --- a/debian/control +++ b/debian/control @@ -1,6 +1,7 @@ Source: krb5 Section: net Priority: standard +# For stage1 builds, remove the libldap2-dev dependency. Build-Depends: debhelper (>= 8.1.3), byacc | bison, comerr-dev, docbook-to-man, libkeyutils-dev [linux-any], libldap2-dev, diff --git a/debian/rules b/debian/rules index 80d1092..a15ae9b 100755 --- a/debian/rules +++ b/debian/rules @@ -51,6 +51,19 @@ EXCLUDE = -Xtmac.doc -Xexamples/krb5 -Xgnats/mit -Xkrb5-send-pr \ LIB_PACKAGES = libkrb5-3 libgssapi-krb5-2 libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-7 libgssrpc4 \ libkrb5support0 libk5crypto3 libkrad0 +ifeq (,$(filter stage1,$(DEB_BUILD_PROFILES))) +DH_EXCLUDE= +else +KRB5_SKIP_LDAP= 1 +DH_EXCLUDE= -Nkrb5-kdc-ldap +endif + +ifeq (,$(KRB5_SKIP_LDAP)) +CONFIGURE_LDAP= --with-ldap +else +CONFIGURE_LDAP= --without-ldap +endif + # We touch each configure and Autoconf-related file so that we do not attempt # to use Autoconf. The cache is used by the Embdebian project for cross # compiles. @@ -66,7 +79,7 @@ configure-stamp: cd build && $(FLAGS) ../src/configure \ --prefix=/usr --localstatedir=/etc --mandir=/usr/share/man \ --with-system-et --with-system-ss --disable-rpath \ - --enable-shared --with-ldap --without-tcl \ + --enable-shared $(CONFIGURE_LDAP) --without-tcl \ --with-system-verto \ --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ --sysconfdir=/etc \ @@ -114,16 +127,20 @@ install: build-arch cd build && $(MAKE) install DESTDIR=`pwd`/../debian/tmp install -d $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/krb5 $(CURDIR)/debian/tmp/etc/insserv/overrides +ifeq (,$(KRB5_SKIP_LDAP)) install -m644 debian/krb5-kdc-ldap.insserv-override debian/tmp/etc/insserv/overrides/krb5-kdc - install -m644 $(CURDIR)/debian/README.mech.d $(CURDIR)/debian/libgssapi-krb5-2/etc/gss/mech.d/README mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libkdb_ldap* \ $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/krb5/ rm -f $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/krb5/libkdb_ldap*.so +else + rm -f $(CURDIR)/debian/tmp/usr/share/man/man8/kdb5_ldap_util.8 +endif + install -m644 $(CURDIR)/debian/README.mech.d $(CURDIR)/debian/libgssapi-krb5-2/etc/gss/mech.d/README install -m644 src/util/ac_check_krb5.m4 \ debian/libkrb5-dev/usr/share/aclocal - dh_install --sourcedir=debian/tmp --fail-missing $(EXCLUDE) + dh_install --sourcedir=debian/tmp --fail-missing $(EXCLUDE) $(DH_EXCLUDE) set -e ; find debian/krb5-multidev/usr/lib/$(DEB_HOST_MULTIARCH)/mit-krb5 -type l -name \*.so -print |\ while read linkname; do \ ln -s -f ../`readlink $$linkname` \ @@ -157,17 +174,17 @@ binary-indep: DH_OPTIONS=-i binary-indep: build-indep install dh_testdir dh_testroot - dh_installchangelogs -Xdoc/CHANGES - dh_installchangelogs -pkrb5-doc -k doc/CHANGES - dh_installdocs - dh_installinfo - dh_link - dh_compress - dh_fixperms - dh_installdeb - dh_gencontrol - dh_md5sums - dh_builddeb + dh_installchangelogs -Xdoc/CHANGES $(DH_EXCLUDE) + dh_installchangelogs -pkrb5-doc -k $(DH_EXCLUDE) doc/CHANGES + dh_installdocs $(DH_EXCLUDE) + dh_installinfo $(DH_EXCLUDE) + dh_link $(DH_EXCLUDE) + dh_compress $(DH_EXCLUDE) + dh_fixperms $(DH_EXCLUDE) + dh_installdeb $(DH_EXCLUDE) + dh_gencontrol $(DH_EXCLUDE) + dh_md5sums $(DH_EXCLUDE) + dh_builddeb $(DH_EXCLUDE) # Build architecture-dependent files here. # Pass -a to all debhelper commands in this target to reduce clutter. Strip @@ -179,27 +196,27 @@ binary-arch: DH_OPTIONS=-a binary-arch: build-arch install dh_testdir dh_testroot - dh_installchangelogs -Xdoc/CHANGES - dh_installdocs - dh_installdebconf - dh_installinit -- defaults 18 18 - dh_lintian + dh_installchangelogs -Xdoc/CHANGES $(DH_EXCLUDE) + dh_installdocs $(DH_EXCLUDE) + dh_installdebconf $(DH_EXCLUDE) + dh_installinit $(DH_EXCLUDE) -- defaults 18 18 + dh_lintian $(DH_EXCLUDE) set -e ; for pkg in $(LIB_PACKAGES) ; do \ DH_OPTIONS="" dh_strip -p$$pkg --dbg-package=libkrb5-dbg; \ DH_OPTIONS="" dh_makeshlibs -p$$pkg -Xusr/lib/$(DEB_HOST_MULTIARCH)/krb5/plugins -- -c4 ; \ done - dh_strip - dh_link - dh_compress - dh_fixperms + dh_strip $(DH_EXCLUDE) + dh_link $(DH_EXCLUDE) + dh_compress $(DH_EXCLUDE) + dh_fixperms $(DH_EXCLUDE) chmod u+s debian/krb5-user/usr/bin/ksu chmod 700 debian/krb5-kdc/var/lib/krb5kdc chmod 700 debian/krb5-kdc/etc/krb5kdc - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb + dh_installdeb $(DH_EXCLUDE) + dh_shlibdeps $(DH_EXCLUDE) + dh_gencontrol $(DH_EXCLUDE) + dh_md5sums $(DH_EXCLUDE) + dh_builddeb $(DH_EXCLUDE) binary: binary-indep binary-arch .PHONY: build clean configure binary-indep binary-arch binary install -- 2.0.0
signature.asc
Description: Digital signature

