]> git.donarmstrong.com Git - debhelper.git/blobdiff - debian/rules
r225: Initial Import
[debhelper.git] / debian / rules
index c1009b7f063ca6563c6dd7e4c7be2179bec8603c..d0d8ed05035b65a61cdb0c4526d29c0efb79e791 100755 (executable)
@@ -1,58 +1,90 @@
 #!/usr/bin/make -f
 # Note that I have to refer to debhelper programs with ./, to make sure
 # I run the most current ones. That's also why there is a symlink to the 
-# current dh_lib and the current dh_getopt.pl in this debian/ directory.
+# current Dh_lib.pm and the current Dh_getopt.pm in this debian/ directory.
 
 # If any automatic script generation is done in building this package, 
 # be sure to use the new templates from this package.
 export DH_AUTOSCRIPTDIR=autoscripts
 
+# Living dangerously :-)
+export DH_COMPAT=2
+
 # Figure out the current debhelper version.
-VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null`" : \
-       '.*Version: \(.*\).*Distribution:')
+VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Version: \(.*\)')
 
 export DH_VERBOSE=1
 
-test_files=dh_lib
-
 build:
-       # Important symlinks.
-       cd autoscripts && ln -sf postinst-menu postrm-menu
-       cd debian && ln -sf ../dh_lib dh_lib
-       cd debian && ln -sf ../dh_getopt.pl dh_getopt.pl
-
-       ./dh_testdir $(test_files)
-       sed "s/#DEBHELPER_VERSION#/$(VERSION)/" < dh_testversion.in \
-               > dh_testversion
-       chmod 755 dh_testversion
+       # Run regression tests.
+       $(MAKE) test
 
 clean:
-       ./dh_testdir $(test_files)
+       ./dh_testdir
        ./dh_testroot
-       ./dh_clean dh_testversion
+       ./dh_clean
+
+test:
+       ./dh_clean
+       DH_VERSION=10 perl -MTest::Harness -e 'runtests @ARGV' t/*
+       ./dh_clean
 
 # Build architecture-dependent files here.
 binary-arch: build
-# We have nothing to do by default.
+# Nothing to do.
 
 # Build architecture-independent files here.
 binary-indep: build
-       ./dh_testdir $(test_files)
+       ./dh_testdir
        ./dh_testroot
        ./dh_clean -k
        ./dh_installdirs usr/bin usr/lib/debhelper
 
+       echo -e "package Dh_Version;\n\$$version='$(VERSION)';" > debian/debhelper/usr/lib/debhelper/Dh_Version.pm
        find . -perm +111 -maxdepth 1 -type f -not -name "*.pl" \
-               -exec install -p {} debian/tmp/usr/bin \;
-       cp -a dh_lib dh_getopt.pl debian/tmp/usr/lib/debhelper
-       cp -a autoscripts debian/tmp/usr/lib/debhelper
+               -exec install -p {} debian/debhelper/usr/bin \;
+       cp -a Dh_*.pm debian/debhelper/usr/lib/debhelper
+       cp -a autoscripts debian/debhelper/usr/lib/debhelper
 
-       ./dh_installdocs TODO README PROGRAMMING
+       ./dh_installdocs doc/TODO doc/README doc/PROGRAMMING doc/from-debstd
        ./dh_installexamples examples/*
        ./dh_installmenu
        ./dh_installmanpages
+       # Fix up all man pages, filling in the modification time for them.
+       # Note this runs beofre the command below so debhelper.1 gets the right
+       # date on it.
+       perl -mPOSIX -e ' \
+               foreach $$f (@ARGV) { \
+               @data=stat($$f); \
+               $$date=POSIX::strftime("%d %B %Y",localtime($$data[9])); \
+               open (IN,$$f); \
+               @lines=<IN>; \
+               close IN; \
+               $$lines[0]=~s/1 ""/1 "$$date"/; \
+               open (OUT,">$$f"); \
+               print OUT @lines; \
+               close OUT; \
+       }' debian/debhelper/usr/man/man1/*.1
+       # Fix up the debhelper.1 man page, substituting in a list of all
+       # debhelper commands. eek!
+       perl -ne ' \
+               s/\\- /(1)\n/; \
+               $$collect.=".TP\n.BR $$_" if $$. eq 3 && /^dh_/; \
+               close(ARGV) if eof; \
+               END { \
+                       open(I,"debian/debhelper/usr/man/man1/debhelper.1"); \
+                       @lines=<I>; \
+                       close I; \
+                       open(O,">debian/debhelper/usr/man/man1/debhelper.1"); \
+                       foreach (@lines) { \
+                               s/#LIST#/$$collect/; \
+                               print O; \
+                       } \
+                       close O; \
+               }' *.1
        ./dh_installchangelogs
-       ./dh_movefiles
+#      ./dh_movefiles
+       ./dh_link
        ./dh_compress
        ./dh_fixperms
        ./dh_suidregister
@@ -61,5 +93,25 @@ binary-indep: build
        ./dh_md5sums
        ./dh_builddeb
 
+# Install in the proper location on my ftp server and web server. Not intended
+# for use by anyone except the author.
+OLD_VER=$(shell perl -e '<>;<>;while(<>){last if /^ --/};<>;$$_=<>;print m/\((.*?)\)/'<debian/changelog)
+dist:
+       dpkg-buildpackage -rfakeroot -tc
+       if [ `hostname` = 'kite' ] ; then \
+               cp ../debhelper_$(VERSION).tar.gz ../../public; \
+               rm /home/ftp/pub/code/debhelper/* || true; \
+               cp debian/changelog /home/pub/programs/debhelper/CHANGES; \
+               echo $(VERSION) > /home/pub/programs/debhelper/LATEST-VERSION-IS; \
+               cd ..; rm -rf debhelper-$(OLD_VER); \
+               [ -f ../public/debhelper_$(OLD_VER).tar.gz ] && \
+               tar zxf ../public/debhelper_$(OLD_VER).tar.gz || \
+               tar zxf ../outdated/debhelper_$(OLD_VER).tar.gz; \
+               diff -r -u --new-file debhelper-$(OLD_VER) debhelper-$(VERSION) > \
+                       /home/ftp/pub/code/debhelper/diffs/debhelper-$(VERSION).diff; \
+               gzip -9f /home/ftp/pub/code/debhelper/diffs/debhelper-$(VERSION).diff; \
+               cd /tmp; rm -f debhelper-$(OLD-VER); \
+        fi
+
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary
+.PHONY: build clean binary-indep binary-arch binary dist