Enable systemd integration
[anytun.git] / debian / rules
index d555e24..ba19bca 100755 (executable)
@@ -1,42 +1,40 @@
 #!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
+# See debhelper(7) (uncomment to enable)
+# output every command that modifies files on the build system.
+#export DH_VERBOSE = 1
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+# see FEATURE AREAS in dpkg-buildflags(1)
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
-CFLAGS = -Wall -g
+# see ENVIRONMENT in dpkg-buildflags(1)
+# package maintainers to append CFLAGS
+#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
+# package maintainers to append LDFLAGS
+#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
 
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -Os
-endif
 
-config.status:
+configure: configure-stamp
+configure-stamp:
        dh_testdir
-       # Add here commands to configure the package.
-       cd src/ && ./configure
+       cd src && ./configure --no-manpage --prefix=/usr --sysconfdir=/etc --examplesdir=/usr/share/anytun/examples && cd ..
+       touch configure-stamp
 
-build: build-stamp
+build: build-arch build-indep
 
-build-stamp:  config.status
+build-arch: build-stamp
+build-indep: build-stamp
+
+build-stamp: configure-stamp
        dh_testdir
 
-       # Add here commands to compile the package.
-       $(MAKE) --directory=$(CURDIR)/src
-       cd src/man && $(MAKE)
+       cd src && $(MAKE) && cd ..
 
        touch $@
 
 clean:
        dh_testdir
        dh_testroot
-       rm -f build-stamp
+       rm -f build-stamp configure-stamp
 
        # Add here commands to clean up after the build process.
        $(MAKE) --directory=$(CURDIR)/src distclean
@@ -45,36 +43,37 @@ clean:
 install: build
        dh_testdir
        dh_testroot
-       dh_clean -k
-       dh_installdirs usr/bin usr/sbin usr/share/man/man8 etc/anytun etc/init.d/
+       dh_installdirs
 
        # Add here commands to install the package into debian/anytun.
-       install $(CURDIR)/src/anytun            $(CURDIR)/debian/anytun/usr/sbin/
-       install $(CURDIR)/src/anytun-config     $(CURDIR)/debian/anytun/usr/bin/
-       install $(CURDIR)/src/anytun-controld   $(CURDIR)/debian/anytun/usr/bin/
-       install $(CURDIR)/src/anytun-showtables $(CURDIR)/debian/anytun/usr/bin/
-       # currently broken (known upstream):
-       # install $(CURDIR)/src/anyrtpproxy/anyrtpproxy $(CURDIR)/debian/anytun/usr/bin/
-       cp $(CURDIR)/src/man/*.8                $(CURDIR)/debian/anytun/usr/share/man/man8
-       install $(CURDIR)/etc/init.d/anytun     $(CURDIR)/debian/anytun/etc/init.d/
-       cp -a $(CURDIR)/etc/anytun              $(CURDIR)/debian/anytun/etc/
+       cd src && $(MAKE) DESTDIR=$(CURDIR)/debian/anytun install && cd ..
+       # Fix unusual path:
+       mv debian/anytun/usr/share/anytun/examples/anytun debian/anytun/usr/share/anytun/examples/config
+       echo "example configurations can be found at /usr/share/anytun/examples/config" > debian/anytun/etc/anytun/README
 
 # Build architecture-independent files here.
-binary-indep: build install
+binary-indep: install
 # We have nothing to do by default.
 
 # Build architecture-dependent files here.
-binary-arch: build install
+binary-arch: install
        dh_testdir
        dh_testroot
-       dh_installchangelogs
+       dh_installchangelogs ChangeLog
        dh_installdocs
+       dh_installman doc/anytun.8 doc/anytun-config.8 doc/anytun-controld.8 doc/anytun-showtables.8
        dh_installexamples
-       dh_installman
+       dh_systemd_enable anytun.service
+       dh_installinit
        dh_link
        dh_strip
        dh_compress
+       mkdir -p debian/anytun/usr/share/lintian/overrides/
+       cp -av debian/overrides debian/anytun/usr/share/lintian/overrides/anytun
        dh_fixperms
+       find debian/anytun -type f -name config     -exec chmod 600 {} \;
+       find debian/anytun -type f -name post-up.sh -exec chmod 755 {} \;
+       chmod 600 debian/anytun/usr/share/anytun/examples/config/server/conf.d/*
        dh_installdeb
        dh_shlibdeps
        dh_gencontrol
@@ -82,4 +81,4 @@ binary-arch: build install
        dh_builddeb
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
+.PHONY: build clean binary-indep binary-arch binary install configure