[Pkg-openldap-devel] Bug#724518: openldap: Patch to allow bootstrapping without heimdal-dev
Helmut Grohne
helmut at subdivi.de
Wed Aug 26 19:26:26 UTC 2015
Control: user helmutg at debian.org
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
-------------- next part --------------
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 <helmut at subdivi.de> 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 <ryan at nardis.ca>
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 \
More information about the Pkg-openldap-devel
mailing list