File debian.rules of Package mozldap
#!/usr/bin/make -f
include /usr/share/quilt/quilt.make
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
UPSTREAM_VERSION := $(shell dpkg-parsechangelog | sed -n 's/^Version: *\(.*\)-.*$$/\1/ p' | sed -e 's/~.*//')
MOD_MAJOR_VERSION := $(word 1, $(subst ., ,$(UPSTREAM_VERSION)))
MOD_MINOR_VERSION := $(word 2, $(subst ., ,$(UPSTREAM_VERSION)))
MOD_PATCH_VERSION := $(word 3, $(subst ., ,$(UPSTREAM_VERSION)))
USE_64 := $(shell echo "int main(void) { int assert[(sizeof(long) == 8) ? 1 : -1]; return 0; }" | gcc -o /dev/null -x c - 2> /dev/null && echo --enable-64bit)
CFLAGS := -Wall -pipe
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2 -fno-strict-aliasing
endif
CFLAGS += -g
SO_SUFFIX := 60
BASEDIR := $(CURDIR)/c-sdk
DISTDIR := $(CURDIR)/mozilla/dist
# FOR AUTOCONF 2.52 AND NEWER ONLY
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
CONFIGURE_SWITCHES := --build $(DEB_HOST_GNU_TYPE)
else
CONFIGURE_SWITCHES := --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif
CONFIGURE_SWITCHES += --prefix=/usr \
--exec-prefix=/usr \
--with-dist-prefix=${DISTDIR} \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--with-system-svrcore \
--with-system-nss \
--with-system-nspr \
--with-pthreads \
--enable-ipv6 \
--with-sasl \
$(USE_64)
DEBIAN_SO :=.0d
# These variables are used only by get-orig-source, which will normally only
# be run by maintainers.
VERSION = 6.0.7
URL = http://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/releases/v$(VERSION)/src/
# Download the upstream source and make changes as required for DFSG reasons.
# Assumes wget is available, as this is generally only used by the package
# maintainers.
get-orig-source:
@if [ ! -f "debian/rules" ] ; then \
echo 'Run this from the top directory of the Debian source' >&2; \
exit 1; \
fi
wget $(URL)/mozldap-$(VERSION).tar.gz
tar xzf mozldap-$(VERSION).tar.gz
rm -r mozldap-$(VERSION)/c-sdk/ldap/docs/
rm -r mozldap-$(VERSION)/c-sdk/ldap/examples/macintosh
rm -r mozldap-$(VERSION)/c-sdk/ldap/examples/windows/winldap/res
mv mozldap-$(VERSION) mozilla-ldap-sdk-$(VERSION)
tar cf mozilla-ldap-sdk_$(VERSION)+dfsg.orig.tar mozilla-ldap-sdk-$(VERSION)
rm -r mozilla-ldap-sdk-$(VERSION) mozldap-$(VERSION).tar.gz
gzip -9 mozilla-ldap-sdk_$(VERSION)+dfsg.orig.tar
configure: configure-stamp
configure-stamp: $(QUILT_STAMPFN)
dh_testdir
cp /usr/share/misc/config.sub /usr/share/misc/config.guess $(BASEDIR)/config/autoconf
cd $(BASEDIR) && autoreconf -ivf
cd $(BASEDIR) && ./configure $(CONFIGURE_SWITCHES)
touch configure-stamp
build: build-stamp
build-stamp: configure
dh_testdir
# Disable softokn3 linking (see bug #473275)
$(MAKE) -C $(BASEDIR) \
NSS_DYNAMIC_SOFTOKN=0 \
DEBIAN_SO_SUFFIX=$(DEBIAN_SO)
$(MAKE) -C c-sdk/ldap/clients/tools \
NSS_DYNAMIC_SOFTOKN=0
touch build-stamp
clean: clean-patched unpatch
clean-patched:
dh_testdir
dh_testroot
[ ! -f $(BASEDIR)/Makefile ] || $(MAKE) -C $(BASEDIR) distclean
rm -rf $(BASEDIR)/config/now
rm -rf $(BASEDIR)/config/nsinstall
#rm -f $(BASEDIR)/ldap/clients/tools/Makefile $(BASEDIR)/ldap/libraries/libutil/Makefile $(BASEDIR)/config/autoconf.mk
rm -f $(BASEDIR)/ldap/libraries/libutil/Makefile $(BASEDIR)/config/autoconf.mk
find . -name "*.so.*" -type f -exec rm "{}" \;
find . -name "*.so" -type f -exec rm "{}" \;
rm -rf config config.cache config.log config.status Makefile cscope.out
rm -f $(BASEDIR)/config/autoconf/config.{guess,sub}
rm -rf $(DISTDIR)
rm -f patches
dh_clean build-stamp install-stamp configure-stamp
install: install-stamp
install-stamp:
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
mkdir -p $(CURDIR)/debian/tmp/usr/lib/
# Copy the binary libraries we want
-for file in libssldap$(SO_SUFFIX).so$(DEBIAN_SO) libprldap$(SO_SUFFIX).so$(DEBIAN_SO) libldap$(SO_SUFFIX).so$(DEBIAN_SO) libldif$(SO_SUFFIX).so$(DEBIAN_SO); \
do install -m 755 $(DISTDIR)/lib/$$file $(CURDIR)/debian/tmp/usr/lib/; done
mkdir -p $(CURDIR)/debian/tmp/usr/lib/mozldap/
# Copy the utilities we want
-for file in ldapcompare ldapdelete ldapmodify ldapmodrdn ldappasswd ldapsearch; \
do install -m 755 $(DISTDIR)/bin/$$file $(CURDIR)/debian/tmp/usr/lib/mozldap; done
mkdir -p $(CURDIR)/debian/tmp/usr/include/mozldap
# Copy the include files
-for file in $(DISTDIR)/public/ldap/*.h; \
do echo $$file; install -m 644 $$file $(CURDIR)/debian/tmp/usr/include/mozldap; done
mkdir -p $(CURDIR)/debian/tmp/usr/share/doc/libmozldap-dev/examples
# Copy the examples
-cp -r $(CURDIR)/c-sdk/ldap/examples/*.[ch] $(CURDIR)/c-sdk/ldap/examples/*.conf $(CURDIR)/debian/tmp/usr/share/doc/libmozldap-dev/examples
install -m644 $(CURDIR)/debian/libmozldap-0d.lintian-overrides $(CURDIR)/debian/libmozldap-0d/usr/share/lintian/overrides/libmozldap-0d
install -m 644 -t $(CURDIR)/debian/libmozldap-dev/usr/lib/pkgconfig/ \
$(CURDIR)/debian/mozldap.pc
install -m 644 -t debian/libmozldap-0d/usr/lib \
$(CURDIR)/debian/tmp/usr/lib/*.so$(DEBIAN_SO)
install -m 644 -t debian/libmozldap-dev/usr/include/mozldap \
$(CURDIR)/debian/tmp/usr/include/mozldap/*
cp -r $(CURDIR)/debian/tmp/usr/share/doc/libmozldap-dev/examples/* $(CURDIR)/debian/libmozldap-dev/usr/share/doc/libmozldap-dev/examples
install -m 755 -t debian/mozldap-tools/usr/lib/mozldap/ \
$(CURDIR)/debian/tmp/usr/lib/mozldap/*
touch install-stamp
binary-indep:
binary-arch: install-stamp
dh_testdir
dh_testroot
dh_installchangelogs -a
dh_installdocs -a
dh_link -a
dh_strip -a --dbg-package=libmozldap-0d-dbg
dh_compress -a
dh_fixperms -a
dh_makeshlibs -a -V 'libmozldap-0d (>= 0.6.5)'
dh_installdeb -a
dh_shlibdeps -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-arch
.PHONY: clean install build clean-patched binary-indep binary-arch binary