Make it more friendly to install on non-Debian distributions
authorMichael Prokop <mika@grml.org>
Thu, 4 Jun 2015 10:33:25 +0000 (12:33 +0200)
committerMichael Prokop <mika@grml.org>
Thu, 4 Jun 2015 10:36:01 +0000 (12:36 +0200)
* make DOCBOOK_XML=... supports providing a custom docbook.xsl
  instead of the default (/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl)
* provide install target via Makefile, supporting $DESTDIR
* minimize debian/rules

This should allow installation of grml-debootstrap on e.g. Fedora + Gentoo.
Thanks: Sebastian Pipping <sebastian@pipping.org> for feature request
Fixes #57 @ github

Makefile
debian/grml-debootstrap.docs [new file with mode: 0644]
debian/grml-debootstrap.manpages [new file with mode: 0644]
debian/rules

index 9e17781..059e19b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,7 @@
 BASH_SCRIPTS = grml-debootstrap
 SHELL_SCRIPTS = chroot-script
 MKSH_SCRIPTS = bootgrub.mksh
 BASH_SCRIPTS = grml-debootstrap
 SHELL_SCRIPTS = chroot-script
 MKSH_SCRIPTS = bootgrub.mksh
+DOCBOOK_XML=/usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl
 
 all: doc
 
 
 all: doc
 
@@ -19,7 +20,7 @@ man-stamp: grml-debootstrap.8.txt
        sed -i 's/^include::releasetable.txt\[\]/include::releasetable-man.txt\[\]/' grml-debootstrap.8.txt
        asciidoc -d manpage -b docbook grml-debootstrap.8.txt
        xsltproc --stringparam man.base.url.for.relative.links http://grml.org/grml-debootstrap/ \
        sed -i 's/^include::releasetable.txt\[\]/include::releasetable-man.txt\[\]/' grml-debootstrap.8.txt
        asciidoc -d manpage -b docbook grml-debootstrap.8.txt
        xsltproc --stringparam man.base.url.for.relative.links http://grml.org/grml-debootstrap/ \
-               /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl grml-debootstrap.8.xml
+               $(DOCBOOK_XML) grml-debootstrap.8.xml
        touch man-stamp
 
 shellcheck:
        touch man-stamp
 
 shellcheck:
@@ -41,6 +42,22 @@ shellcheck:
        done; \
        echo " done."
 
        done; \
        echo " done."
 
+install:
+       mkdir -p $(DESTDIR)/etc/debootstrap/
+       mkdir -p $(DESTDIR)/etc/debootstrap/extrapackages
+       mkdir -p $(DESTDIR)/usr/sbin/
+       mkdir -p $(DESTDIR)/etc/zsh/completion.d/
+       mkdir -p $(DESTDIR)/usr/share/grml-debootstrap/functions/
+       install -m 644 config           $(DESTDIR)/etc/debootstrap/
+       install -m 644 devices.tar.gz   $(DESTDIR)/etc/debootstrap/
+       install -m 644 locale.gen       $(DESTDIR)/etc/debootstrap/
+       install -m 644 packages         $(DESTDIR)/etc/debootstrap/
+       install -m 755 chroot-script    $(DESTDIR)/etc/debootstrap/
+       install -m 755 grml-debootstrap $(DESTDIR)/usr/sbin/
+       install -m 644 zsh-completion   $(DESTDIR)/etc/zsh/completion.d/_grml-debootstrap
+       install -m 644 cmdlineopts.clp  $(DESTDIR)/usr/share/grml-debootstrap/functions/cmdlineopts.clp
+       install -m 755 bootgrub.mksh    $(DESTDIR)/usr/share/grml-debootstrap/bootgrub.mksh
+
 clean:
        rm -rf grml-debootstrap.8.html grml-debootstrap.8.xml grml-debootstrap.8 html-stamp man-stamp
 
 clean:
        rm -rf grml-debootstrap.8.html grml-debootstrap.8.xml grml-debootstrap.8 html-stamp man-stamp
 
diff --git a/debian/grml-debootstrap.docs b/debian/grml-debootstrap.docs
new file mode 100644 (file)
index 0000000..090d0d1
--- /dev/null
@@ -0,0 +1,2 @@
+THANKS
+TODO
diff --git a/debian/grml-debootstrap.manpages b/debian/grml-debootstrap.manpages
new file mode 100644 (file)
index 0000000..f81bc7f
--- /dev/null
@@ -0,0 +1 @@
+grml-debootstrap.8
index 9e501f5..ba75826 100755 (executable)
@@ -9,64 +9,11 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-build: build-arch build-indep
+%:
+       dh $@
 
 
-build-arch: build-stamp
-
-build-indep: build-stamp
-
-build-stamp:
-       dh_testdir
+override_dh_auto_test:
        (cd tests && ./run_tests.sh)
        make shellcheck
        make
        (cd tests && ./run_tests.sh)
        make shellcheck
        make
-       touch $@
-
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp
-       make clean
-       dh_clean
-
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs etc/debootstrap usr/sbin etc/debootstrap/extrapackages etc/zsh/completion.d \
-         usr/share/grml-debootstrap/functions
-
-       # Add here commands to install the package into debian/grml-debootstrap.
-       install -m 644 config           debian/grml-debootstrap/etc/debootstrap/
-       install -m 644 devices.tar.gz   debian/grml-debootstrap/etc/debootstrap/
-       install -m 644 locale.gen       debian/grml-debootstrap/etc/debootstrap/
-       install -m 644 packages         debian/grml-debootstrap/etc/debootstrap/
-       install -m 755 chroot-script    debian/grml-debootstrap/etc/debootstrap/
-       install -m 755 grml-debootstrap debian/grml-debootstrap/usr/sbin/
-       install -m 644 zsh-completion   debian/grml-debootstrap/etc/zsh/completion.d/_grml-debootstrap
-       install -m 644 cmdlineopts.clp  debian/grml-debootstrap/usr/share/grml-debootstrap/functions/cmdlineopts.clp
-       install -m 755 bootgrub.mksh    debian/grml-debootstrap/usr/share/grml-debootstrap/bootgrub.mksh
-
-# Build architecture-dependent files here.
-binary-arch: build install
-# We have nothing to do by default.
-
-# Build architecture-independent files here.
-binary-indep: build install
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs
-       dh_installdocs TODO THANKS
-       dh_installman grml-debootstrap.8
-       dh_link
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
 
 
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install