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 \

Reply via email to