chiark / gitweb /
stupid makefile quoting
[chiark-utils.git] / debian / rules
index 526bbd8ea1c3ad60e016b9b86116c83ae5748c43..71c4f17f3bc6bb6d36269b001c879ce72cbe2566 100755 (executable)
@@ -1,10 +1,12 @@
 #!/usr/bin/make -f
 
+SHELL=/bin/bash
+
 subdirs_build= cprogs
 subdirs_nobuild=backup sync-accounts scripts
 package=       chiark-utils
 packages_indep=        chiark-backup chiark-scripts
-packages_arch= chiark-rwbuffer chiark-really
+packages_arch= chiark-rwbuffer chiark-really chiark-utils-bin
 packages=      $(packages_indep) $(packages_arch)
 
 cwd=   $(shell pwd)
@@ -37,6 +39,8 @@ binary-prep:
                        mandir=$t/$$s/usr/share/man; \
        done
        #
+       mv $t/cprogs $t/chiark-utils-bin
+       #
        cp -a debian/tmp/sync-accounts/* debian/tmp/scripts/.
        rm -r debian/tmp/sync-accounts
        mv debian/tmp/scripts debian/tmp/chiark-scripts
@@ -53,17 +57,32 @@ binary-prep:
        #
        install -d $t/chiark-rwbuffer/usr/bin
        install -d $t/chiark-rwbuffer/usr/share/man/man1
-       cd $t/cprogs/usr/bin && \
+       cd $t/chiark-utils-bin/usr/bin && \
                mv readbuffer writebuffer $t/chiark-rwbuffer/usr/bin/
-       cd $t/cprogs/usr/share/man/man1 && \
+       cd $t/chiark-utils-bin/usr/share/man/man1 && \
                mv readbuffer.1 writebuffer.1 $t/chiark-rwbuffer/usr/share/man/man1/
        #
+       install -d $t/chiark-backup/usr/share/man/man1
+       cp backup/man/*.1 $t/chiark-backup/usr/share/man/man1/
+       cd $t/chiark-backup/usr/share/man/man1 && \
+               for m in *.1; do \
+                       mv "$$m" backup-"$$m"; \
+               done
+       cp \
+ $t/chiark-backup/usr/share/doc/chiark-backup/examples/chiark/settings.sh \
+ $t/chiark-backup/etc/chiark-backup/settings.sh
+       #
        install -d $t/chiark-really/usr/sbin
        install -d $t/chiark-really/usr/share/man/man8
-       cd $t/cprogs/usr/sbin && \
+       cd $t/chiark-utils-bin/usr/sbin && \
                mv really $t/chiark-really/usr/sbin/
-       cd $t/cprogs/usr/share/man/man8 && \
+       strip --strip-unneeded --remove-section .note --remove-section .comment $t/chiark-really/usr/sbin/really
+       cd $t/chiark-utils-bin/usr/share/man/man8 && \
                mv really.8 $t/chiark-really/usr/share/man/man8/
+       rm      $t/chiark-utils-bin/usr/sbin/trivsoundd \
+               $t/chiark-utils-bin/usr/share/man/man8/trivsoundd.8
+       rmdir   $t/chiark-utils-bin/usr/sbin \
+               $t/chiark-utils-bin/usr/share/man/man8
        #
        gzip -9f $t/*/usr/share/man/man*/*
 
@@ -72,6 +91,7 @@ binary-hook-chiark-rwbuffer:
 binary-hook-sync-accounts:
 binary-hook-chiark-scripts:
 binary-hook-chiark-really:
+binary-hook-chiark-utils-bin:
 
 binary-one:
        set -e; for f in preinst postinst prerm postrm conffiles; do \
@@ -79,7 +99,7 @@ binary-one:
                cp debian/$p/$$f $t/$p/DEBIAN/$$f; \
                chmod u=rwX,go=rX $t/$p/DEBIAN/$$f; \
        done
-       dpkg-gencontrol -p$p -P$t/$p -Tdebian/sv-$p
+       dpkg-gencontrol -isp -p$p -P$t/$p -Tdebian/sv-$p
        chown -R root.root debian/tmp
        chmod -R g-ws debian/tmp
        debian/rules binary-hook-$p
@@ -91,7 +111,25 @@ binary-indep:       checkroot build binary-prep
 
 binary-arch:   checkroot build binary-prep
        $(checkdir)
-       dpkg-shlibdeps -Tdebian/sv-chiark-rwbuffer $t/chiark-rwbuffer/usr/bin/*
+       dpkg-shlibdeps -Tdebian/sv-chiark-rwbuffer \
+               $t/chiark-rwbuffer/usr/bin/*
+       dpkg-shlibdeps -Tdebian/sv-chiark-really \
+               $t/chiark-really/usr/sbin/*
+       set -e; for f in $t/chiark-utils-bin/usr/bin/*; do \
+               case "$$f" in \
+               */xacpi-simple)         d=Suggests      ;; \
+               */watershed|*/summer)   d=Recommends    ;; \
+               *)                      d=Depends       ;; \
+               esac; \
+               a="$$a -d$$d $$f"; \
+           done; set -x; \
+           dpkg-shlibdeps -Tdebian/sv-chiark-utils-bin $$a
+       perl -i~ -pe '                                          '\
+        -e'    next unless m/^shlibs:/;                        '\
+        -e'    s/$$/,/; s/=/=, /;                              '\
+        -e'    s/, libgmp3(?:c2)?,/, libgmp3 | libgmp3c2,/;    '\
+        -e'    s/=, /=/; s/,$$//;                              '\
+                       debian/sv-*[!~]
        set -e; for p in $(packages_arch); \
                do debian/rules binary-one p=$$p; done