Control: user [email protected] Control: usertags + rebootstrap Hi Ryan and Daniel,
Thanks to Daniel for highlighting this bug to me. I know I'm being late to the party, but let us please reconsider this stage before uploading. On Tue, Aug 25, 2015 at 12:51:56PM -0700, Ryan Tandy wrote: > No hurry. Revised patch attached... I think it's correct, but would > appreciate a thumbs-up when you have time. Thanks a lot for your help! I think that when adding a stage one should look further than just the immediate cycle. This is the main reason that prevented me from submitting a stage for openldap: I was lacking assurance that I was doing it correctly. Given further testing I now have somewhat more confidence, so let me propose a very different stage1: --disable-slapd Why does this make sense? This stage builds way less than the stage proposed by Daniel. It also drops heimdal, but it also drops cyrus-sasl2. Keep in mind that cyrus-sasl2 and openldap do have a direct cycle that needs to be addressed in either cyrus-sasl2 or openldap. So rather than add yet another stage to drop libsasl2-dev or add a stage to cyrus-sasl2 dropping libldap2-dev, I therefore think that openldap's stage1 should also drop the libsasl2-dev dependency. Turns out the easiest way to do so is just not building the server. I am attaching my current stage1 for openldap for discussion. What do you think? Helmut
diff -u openldap-2.4.40/debian/changelog openldap-2.4.40/debian/changelog --- openldap-2.4.40/debian/changelog +++ openldap-2.4.40/debian/changelog @@ -1,3 +1,11 @@ +openldap (2.4.40-4.1) UNRELEASED; urgency=low + + * Non-maintainer upload. + * Add stage1 build profile without heimdal. (Closes: #-1) + * Fix cross build. (Closes: #-1) + + -- Helmut Grohne <[email protected]> Thu, 05 Mar 2015 07:11:16 +0100 + openldap (2.4.40-4) unstable; urgency=medium * debian/patches/ITS8027-deref-reject-empty-attr-list.patch: Import upstream diff -u openldap-2.4.40/debian/control openldap-2.4.40/debian/control --- openldap-2.4.40/debian/control +++ openldap-2.4.40/debian/control @@ -10,11 +10,11 @@ Ryan Tandy <[email protected]> Build-Depends: debhelper (>= 8.9.0~), dpkg-dev (>= 1.16.1), - libdb5.3-dev, nettle-dev, - libgnutls28-dev, unixodbc-dev, libncurses5-dev, libperl-dev (>= 5.8.0), - libsasl2-dev, libslp-dev, libltdl-dev | libltdl3-dev (>= 1.4.3), - libwrap0-dev, perl, po-debconf, - groff-base, time, heimdal-multidev, + libdb5.3-dev <!stage1>, nettle-dev, + libgnutls28-dev, unixodbc-dev <!stage1>, libncurses5-dev <!stage1>, libperl-dev (>= 5.8.0) <!stage1>, + libsasl2-dev, libslp-dev <!stage1>, libltdl-dev | libltdl3-dev (>= 1.4.3), + libwrap0-dev <!stage1>, perl, po-debconf, + groff-base, time, heimdal-multidev <!stage1>, dh-autoreconf Build-Conflicts: libbind-dev, bind-dev, libicu-dev, autoconf2.13 Standards-Version: 3.9.1 @@ -36,6 +36,7 @@ Conflicts: umich-ldapd, ldap-server, libltdl3 (= 1.5.4-1) Replaces: libldap2, ldap-utils (<< 2.2.23-3) Provides: ldap-server, ${slapd:Provides} +Build-Profiles: <!stage1> Description: OpenLDAP server (slapd) This is the OpenLDAP (Lightweight Directory Access Protocol) server (slapd). The server can be used to provide a standalone directory @@ -46,6 +47,7 @@ Priority: extra Architecture: any Depends: slapd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Build-Profiles: <!stage1> Description: Keeps Samba and Kerberos passwords in sync within slapd. Extends the PasswordModify Extended Operation to update Kerberos keys and Samba password hashes for an LDAP user. The Kerberos support is @@ -113,6 +115,7 @@ Priority: extra Architecture: any Depends: slapd (= ${binary:Version}), ${misc:Depends} +Build-Profiles: <!stage1> Description: Debugging information for the OpenLDAP server (slapd) This package provides detached debugging information for the OpenLDAP (Lightweight Directory Access Protocol) server (slapd). It is useful diff -u openldap-2.4.40/debian/rules openldap-2.4.40/debian/rules --- openldap-2.4.40/debian/rules +++ openldap-2.4.40/debian/rules @@ -11,12 +11,20 @@ export RESOLV_MULTI = off DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) CONFIG = $(shell grep -v "^\#" debian/configure.options) ifeq ($(DEB_HOST_ARCH_OS),hurd) CONFIG += --disable-bdb --disable-hdb --disable-mdb endif +ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),) + CONFIG += --disable-slapd + CONFIG += --disable-slp +endif +ifeq ($(origin CC),default) +export CC=$(DEB_HOST_GNU_TYPE)-cc +endif installdir := $(CURDIR)/debian/tmp builddir := $(CURDIR)/debian/build @@ -87,13 +95,16 @@ override_dh_auto_build: dh_auto_build -- $(MAKEVARS) +ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),) $(MAKE) -C contrib/slapd-modules/smbk5pwd $(MAKE) -C contrib/slapd-modules/autogroup $(MAKE) -C contrib/slapd-modules/lastbind $(MAKE) -C contrib/slapd-modules/passwd/sha2 +endif override_dh_auto_install: dh_auto_install -- $(MAKEVARS) +ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),) $(MAKE) -C contrib/slapd-modules/smbk5pwd install DESTDIR=$(installdir) $(MAKE) -C contrib/slapd-modules/autogroup install DESTDIR=$(installdir) $(MAKE) -C contrib/slapd-modules/lastbind install DESTDIR=$(installdir) @@ -103,6 +114,7 @@ for F in $(installdir)/usr/lib/ldap/*.la; do \ sed -i "s/^dependency_libs=.*/dependency_libs=''/" $$F; \ done +endif # Check all built libraries for unresolved symbols except for the # libslapi library. It is a special case since the SLAPI interface @@ -125,24 +137,30 @@ find $(installdir)/usr/share/man -name \*.8 \ | xargs perl -pi -e 's#(\.TH \w+ 8)C#$$1#' +ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),) override_dh_install: dh_install rm -rf $(CURDIR)/debian/slapd/usr/lib/ldap/smbk5pwd* chmod 0755 $(CURDIR)/debian/slapd/usr/share/slapd/ldiftopasswd +endif override_dh_installinit: dh_installinit -- "defaults 19 80" override_dh_strip: dh_strip -plibldap-2.4-2 --dbg-package=libldap-2.4-2-dbg +ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),) dh_strip -pslapd --dbg-package=slapd-dbg +endif dh_strip -Nlibldap-2.4-2 -Nslapd +ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),) # hardlink these so not confined by apparmor; do this here and not # in dh_link so that dh_strip doesn't get confused and put the wrong # binary in the debug package. for f in slapacl slapadd slapauth slapcat slapdn slapindex slappasswd slaptest slapschema ; do \ ln -f $(slapddir)/slapd $(slapddir)/$$f ; \ done +endif override_dh_link: for pkg in libldap2-dev libldap-2.4-2; do \

