diff options
author | Rene Mayrhofer <rene@mayrhofer.eu.org> | 2006-05-22 06:31:58 +0000 |
---|---|---|
committer | Rene Mayrhofer <rene@mayrhofer.eu.org> | 2006-05-22 06:31:58 +0000 |
commit | 4769e2f961d2930ffcc6cfa5b1561548e4ea552c (patch) | |
tree | 09d7bf5ab7e542d4f909c26d57b657d3f53b5a52 /debian/rules | |
parent | 12843c61608dfbfdd27d67d67f321e6b5b1806da (diff) | |
download | vyos-strongswan-4769e2f961d2930ffcc6cfa5b1561548e4ea552c.tar.gz vyos-strongswan-4769e2f961d2930ffcc6cfa5b1561548e4ea552c.zip |
- Just copy the whole debian/ dir from my openswan packaging.
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..b57711f7a --- /dev/null +++ b/debian/rules @@ -0,0 +1,306 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatability version to use. +export DH_COMPAT=4 + +export DH_OPTIONS + +ifeq (,$(wildcard /usr/bin/po2debconf)) + PO2DEBCONF := no + MINDEBCONFVER := 0.5 +else + PO2DEBCONF := yes + MINDEBCONFVER := 1.2.0 +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + +patch: + dh_testdir + dpatch apply-all + +unpatch: + dpatch deapply-all + #rm -f patch-stamp + +build: build-stamp +build-stamp: patch + # create a dummy ipsec.secrets file before building the package so + # that no RSA keys are created during the build process + # (a package should not include a RSA key, it should produce the key + # on demand, e.g. in the postinst script) + touch $(CURDIR)/debian/ipsec.secrets + $(MAKE) programs INC_USRLOCAL=/usr \ + FINALBINDIR=/usr/lib/ipsec \ + FINALLIBEXECDIR=/usr/lib/ipsec \ + PUBDIR=/usr/sbin \ + MANTREE=/usr/share/man \ + CONFDIR=$(CURDIR)/debian \ + USE_LDAP=true USE_LIBCURL=true HAVE_THREADS=true \ + USE_XAUTH=true USE_XAUTHPAM=true + # remove the temporary file, it will be created during install + rm -f $(CURDIR)/debian/ipsec.secrets + + # here we re-generate the upstream HTML documentation + $(MAKE) -C doc/ index.html + + # also generate the fswcert tool + $(MAKE) -C programs/fswcert/ + # ugly hack.... + $(MAKE) -C programs/fswcert/ programs WERROR='-lcrypto' + + touch build-stamp + +clean: unpatch + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + -$(MAKE) clean + -$(MAKE) -C programs/fswcert/ clean + # after a make clean, no binaries _should_ be left, but .... + -find $(CURDIR) -name "*.o" | xargs --no-run-if-empty rm + -find $(CURDIR)/lib/libcrypto -name "*.a" | xargs --no-run-if-empty rm + + rm -rf debian/openswan-modules-source-build/ + + # Really clean (#356716) + # This is a hack: should be better implemented + rm -f lib/libopenswan/libopenswan.a || true + rm -f lib/libopenswan/liboswlog.a || true + + # just in case something went wrong + rm -f $(CURDIR)/debian/ipsec.secrets + + dh_clean + +ifeq ($(PO2DEBCONF),yes) + # Hack for woody compatibility. This makes sure that the + # debian/templates file shipped in the source package doesn't + # specify encodings, which woody's debconf can't handle. If building + # on a system with po-debconf installed (conveniently debhelper (>= + # 4.1.16) depends on it), the binary-arch target will generate a + # better version for sarge. + echo 1 > debian/po/output + po2debconf debian/openswan.templates.master > debian/openswan.templates + rm -f debian/po/output +endif + +install-openswan: DH_OPTIONS=-a +install-openswan: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/tmp. + $(MAKE) install INC_USRLOCAL=/usr \ + FINALBINDIR=/usr/lib/ipsec \ + FINALLIBEXECDIR=/usr/lib/ipsec \ + PUBDIR=$(CURDIR)/debian/openswan/usr/sbin \ + MANTREE=$(CURDIR)/debian/openswan/usr/share/man \ + DESTDIR=$(CURDIR)/debian/openswan + rm -rf $(CURDIR)/debian/openswan/usr/local + install --mode=0600 $(CURDIR)/debian/ipsec.secrets.proto $(CURDIR)/debian/openswan/etc/ipsec.secrets + + # use bash for init.d and _plutorun + patch $(CURDIR)/debian/openswan/etc/init.d/ipsec < debian/use-bash.diff + patch $(CURDIR)/debian/openswan/usr/lib/ipsec/_plutorun < debian/use-bash.diff + + # install the fswcert tool + install $(CURDIR)/programs/fswcert/fswcert $(CURDIR)/debian/openswan/usr/bin + install $(CURDIR)/programs/fswcert/fswcert.8 $(CURDIR)/debian/openswan/usr/share/man/man8 + + rm -f $(CURDIR)/debian/openswan/etc/init.d/ipsec?* + rm -f $(CURDIR)/debian/openswan/usr/lib/ipsec/_plutorun?* + + # this is handled by update-rc.d + rm -rf $(CURDIR)/debian/openswan/etc/rc?.d + + dh_installdocs -popenswan -n + # change the paths in the installed doc files (but only in regular + # files, not in links to the outside of the build tree !) + ( cd $(CURDIR)/debian/openswan/; \ + for f in `grep "/usr/local/" --recursive --files-with-match *`; \ + do \ + if [ -f $$f -a ! -L $$f ]; then \ + cp $$f $$f.old; \ + sed 's/\/usr\/local\//\/usr\//' $$f.old > $$f; \ + rm $$f.old; \ + fi; \ + done ) + # but remove the doc/src dir, which just duplicates the HTML files + rm -rf $(CURDIR)/debian/openswan/usr/share/doc/openswan/doc/src + # and the index file in the main doc directory - it's replicated under + # doc/ + rm -f $(CURDIR)/debian/openswan/usr/share/doc/openswan/index.html + + # the logcheck ignore files + install -D --mode=0600 $(CURDIR)/debian/logcheck.ignore.paranoid $(CURDIR)/debian/openswan/etc/logcheck/ignore.d.paranoid/openswan + install -D --mode=0600 $(CURDIR)/debian/logcheck.ignore.server $(CURDIR)/debian/openswan/etc/logcheck/ignore.d.server/openswan + install -D --mode=0600 $(CURDIR)/debian/logcheck.ignore.server $(CURDIR)/debian/openswan/etc/logcheck/ignore.d.workstation/openswan + install -D --mode=0600 $(CURDIR)/debian/logcheck.violations.ignore $(CURDIR)/debian/openswan/etc/logcheck/violations.ignore.d/openswan + + # set permissions on ipsec.secrets + chmod 600 $(CURDIR)/debian/openswan/etc/ipsec.secrets + chmod 644 $(CURDIR)/debian/openswan/etc/ipsec.conf + chmod 700 -R $(CURDIR)/debian/openswan/etc/ipsec.d/private/ + # don't know why they come with +x set by default... + chmod 644 $(CURDIR)/debian/openswan/etc/ipsec.d/policies/* + chmod 644 $(CURDIR)/debian/openswan/etc/ipsec.d/examples/* + + # more lintian cleanups + find $(CURDIR)/debian/openswan -name ".cvsignore" | xargs --no-run-if-empty rm -f + find $(CURDIR)/debian/openswan -name "/.svn/" | xargs --no-run-if-empty rm -rf + +install-openswan-modules-source: DH_OPTIONS=-i +install-openswan-modules-source: PKGDIR=$(CURDIR)/debian/openswan-modules-source +install-openswan-modules-source: BUILDDIR=$(CURDIR)/debian/openswan-modules-source-build +install-openswan-modules-source: patch + dh_testdir + dh_testroot + dh_installdirs + mkdir -p "$(BUILDDIR)/modules/openswan" + mkdir -p "$(BUILDDIR)/modules/openswan/lib" + mkdir -p "$(BUILDDIR)/modules/openswan/debian" + mkdir -p "$(BUILDDIR)/modules/openswan/packaging" + cp -r Makefile Makefile.top Makefile.inc Makefile.ver linux/ \ + "$(BUILDDIR)/modules/openswan" + cp -r lib/libcrypto "$(BUILDDIR)/modules/openswan/lib/" + cp -r packaging/makefiles packaging/linus packaging/defaults/ \ + "$(BUILDDIR)/modules/openswan/packaging/" + find "$(BUILDDIR)/modules/openswan/lib/" -name "*.o" | xargs --no-run-if-empty rm + install --mode=644 debian/openswan-modules-source.kernel-config "$(BUILDDIR)/modules/openswan/config-all.h" + install --mode=755 debian/openswan-modules-source.rules "$(BUILDDIR)/modules/openswan/debian/rules" + install --mode=644 debian/openswan-modules-source.control.in "$(BUILDDIR)/modules/openswan/debian/control.in" + install --mode=644 debian/changelog "$(BUILDDIR)/modules/openswan/debian/" + + # This creates the NAT-T patches that can be used on the kernel tree + # even with openswan-modules-source. + make nattpatch2.4 > $(BUILDDIR)/modules/openswan/debian/nat-t-2.4.diff + make nattpatch2.6 > $(BUILDDIR)/modules/openswan/debian/nat-t-2.6.diff + + tar -C $(BUILDDIR) -c modules/ | bzip2 -9 > \ + "$(PKGDIR)/usr/src/openswan-modules.tar.bz2" + + dh_installdocs -popenswan-modules-source -n + + # more lintian cleanups + find $(CURDIR)/debian/openswan-modules-source -name ".cvsignore" | xargs --no-run-if-empty rm -f + find $(PKGDIR) -name "/.svn/" | xargs --no-run-if-empty rm -rf + +install-linux-patch-openswan: DH_OPTIONS=-i +install-linux-patch-openswan: PKGDIR=$(CURDIR)/debian/linux-patch-openswan +install-linux-patch-openswan: patch + dh_testdir + dh_testroot + dh_installdirs + # some of this has been taken from Tommi Virtanen's package + install --mode=0755 debian/linux-patch-openswan.apply \ + "$(PKGDIR)/usr/src/kernel-patches/all/apply/openswan" + install --mode=0755 debian/linux-patch-openswan.unpatch \ + "$(PKGDIR)/usr/src/kernel-patches/all/unpatch/openswan" + install --mode=0755 packaging/utils/patcher \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan" + cp -r Makefile Makefile.inc Makefile.ver Makefile.top lib/ linux/ \ + packaging/ nat-t/ \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan" + # also don't generate the out.kpatch file under /usr/src/.... + sed 's/>>out.kpatch//' \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile" \ + > "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile.tmp" + mv "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile.tmp" \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile" + sed 's/>out.kpatch//' \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile" \ + > "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile.tmp" + mv "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile.tmp" \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile" + sed 's/rm -f out.kpatch//' \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile" \ + > "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile.tmp" + mv "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile.tmp" \ + "$(PKGDIR)/usr/src/kernel-patches/all/openswan/Makefile" + chmod u=rwX,go=rX "$(PKGDIR)/usr/src/kernel-patches/all/openswan" + # remove extra junk not needed on linux / that lintian would complain about + find "$(PKGDIR)/usr/src/kernel-patches/all/openswan" \ + -name '*.o' -print0 | xargs --no-run-if-empty -0 rm -f + find "$(PKGDIR)/usr/src/kernel-patches/all/openswan" \ + -name '*.a' -print0 | xargs --no-run-if-empty -0 rm -f + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/lib/libopenswan/" + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/lib/libdes/" + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/lib/liblwres/" + rm -f "$(PKGDIR)/usr/src/kernel-patches/all/openswan/lib/COPYING.LIB" + rm -f "$(PKGDIR)/usr/src/kernel-patches/all/openswan/lib/README" + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/linus" + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/ipkg" + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/makefiles" + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/redhat" + rm -rf "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/suse" + rm -r "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/utils/disttools.pl" + rm -r "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/utils/kernel.patch.gen.sh" + rm -r "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/utils/sshenv" + rm -r "$(PKGDIR)/usr/src/kernel-patches/all/openswan/packaging/utils/setup" + find "$(PKGDIR)/usr/src/kernel-patches/all/openswan/linux/net/ipsec/des/asm/" \ + -name '*.pl' -print0 | xargs --no-run-if-empty -0 \ + perl -pi -e 's{^#!/usr/local/bin/perl}{#!/usr/bin/perl}g' + find "$(PKGDIR)/usr/src/kernel-patches/all/openswan/lib/libcrypto/" \ + -name '*.pl' -print0 | xargs --no-run-if-empty -0 \ + perl -pi -e 's{^#!/usr/local/bin/perl}{#!/usr/bin/perl}g' + find "$(PKGDIR)/usr/src/kernel-patches/all/openswan/linux/net/ipsec/des/asm/" \ + -name '*.pl' -print0 | xargs --no-run-if-empty -0 chmod a+x + find "$(PKGDIR)/usr/src/kernel-patches/all/openswan/lib/libcrypto/" \ + -name '*.pl' -print0 | xargs --no-run-if-empty -0 chmod a+x + find "$(PKGDIR)/usr/src/kernel-patches/all/openswan/linux/net/ipsec/alg/scripts/" \ + -name '*.sh' -print0 | xargs --no-run-if-empty -0 chmod a+x + chmod -R u=rwX,go=rX "$(PKGDIR)/usr/src/kernel-patches/all/openswan" + + dh_installdocs -plinux-patch-openswan -n + + # more lintian cleanups + find $(PKGDIR) -name ".cvsignore" | xargs --no-run-if-empty rm -f + find $(PKGDIR) -name "/.svn/" | xargs --no-run-if-empty rm -rf + +binary-common: + #dh_testversion 2 + dh_testdir + dh_testroot + dh_installdebconf + dh_installchangelogs CHANGES + dh_link + dh_strip + dh_compress + dh_fixperms -X etc/ipsec.conf -X etc/ipsec.secrets -X etc/ipsec.d + +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-independent files here. +binary-indep: install-openswan-modules-source install-linux-patch-openswan + $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common + +# Build architecture-dependent files here. +binary-arch: install-openswan + $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common + +# Any other binary targets build just one binary package at a time. +#binary-%: build install +# make -f debian/rules binary-common DH_OPTIONS=-p$* + +binary: binary-indep binary-arch +.PHONY: clean binary-indep binary-arch |