]> git.donarmstrong.com Git - debhelper.git/commitdiff
r441: * Added dh_installman, a new program that replaces dh_installmanpages.
authorjoey <joey>
Sat, 10 Feb 2001 01:22:32 +0000 (01:22 +0000)
committerjoey <joey>
Sat, 10 Feb 2001 01:22:32 +0000 (01:22 +0000)
     It is not DWIM. You tell it what to install and it figures out where
     based on .TH section field and filename extention. I reccommend everyone
     begin using it, since this is much better then dh_installmanpages's
     evilness. I've been meaning to do this for a very long time..
Closes: #38673, #53964, #64297, #16933, #17061, #54059, #54373, #61816
   * dh_installmanpages remains in the package for backwards compatability,
     but is mildly deprecated.
   * dh_testversion is deprecated; use build dependancies instead.
   * dh_suidregister: re-enabled. Aj thinks that requiring people to stop
     using it is unacceptable. Who am I to disagree with a rc bug report?
Closes: #84910 It is still deprecated, and it will still whine at you
     if you use it. I appreciate the job everyone has been doing at
     switching to statoverrides..
   * Since dh_debstd requires dh_installmanpages (where do you think the
     latter's evil interface came from?), I have removed it. It was a nice
     thought-toy, but nobody really used it, right?
   * Since the from-debstd document walks the maintainer through running
     dh_debstd to get a list of debhelper commands, and since that document
     has really outlives its usefullness, I removed it too. Use dh-make
     instead.
   * dh_installman installs only into /usr/share/man, not the X11R6
     directory. Policy says "files must not be installed into
     `/usr/X11R6/bin/', `/usr/X11R6/lib/', or `/usr/X11R6/man/' unless this
     is necessary for the package to operate properly", and I really doubt
     a man page being in /usr/share/man is going to break many programs.
Closes: #81853 (I hope the bug submitter doesn't care that
     dh_installmanpages still puts stuff in the X11R6/man directory.)
   * dh_undocumented now the same too now.
   * dh_installinit: installs debian/package.default files as /etc/default/
     files.
   * Updated to current perl coding standards (use strict, lower-case
     variable names, pod man pages).
   * Since with the fixing of the man page installer issue, my checklist for
     debhelper v3 is complete, I pronounce debhelper v3 done! Revved the
     version number appropriatly (a large jump; v3 changes less than I had
     planned). Note that I have no plans for a v4 at this time. :-)
   * Testing: I have used this new version of debhelper to build a large
     number of my own packages, and it seems to work. But this release
     touches every file in this package, so be careful out there..

debian/changelog
debian/rules
dh_installinit
dh_makeshlibs

index 794b019eda320135a9c20525419f3348e4229c6c..cbd88929e9ff2bba3cc9b91c7e99f735f9475f91 100644 (file)
@@ -9,6 +9,11 @@ debhelper (3.0.0) unstable; urgency=low
   * dh_installmanpages remains in the package for backwards compatability,
     but is mildly deprecated.
   * dh_testversion is deprecated; use build dependancies instead.
+  * dh_suidregister: re-enabled. Aj thinks that requiring people to stop
+    using it is unacceptable. Who am I to disagree with a rc bug report?
+    Closes: #84910 It is still deprecated, and it will still whine at you
+    if you use it. I appreciate the job everyone has been doing at
+    switching to statoverrides..
   * Since dh_debstd requires dh_installmanpages (where do you think the
     latter's evil interface came from?), I have removed it. It was a nice
     thought-toy, but nobody really used it, right?
@@ -24,22 +29,17 @@ debhelper (3.0.0) unstable; urgency=low
     Closes: #81853 (I hope the bug submitter doesn't care that
     dh_installmanpages still puts stuff in the X11R6/man directory.)
   * dh_undocumented now the same too now.
-  * dh_suidregister: re-enabled. Aj thinks that requiring people to stop
-    using it is unacceptable. Who am I to disagree with a rc bug report?
-    Closes: #84910
+  * dh_installinit: installs debian/package.default files as /etc/default/
+    files.
   * Updated to current perl coding standards (use strict, lower-case
     variable names, pod man pages).
   * Since with the fixing of the man page installer issue, my checklist for
     debhelper v3 is complete, I pronounce debhelper v3 done! Revved the
     version number appropriatly (a large jump; v3 changes less than I had
-    planned).
-  * Tonnes of changes here and there to mark v3 as done. I don't have a
-    v4 planned at this time. All the big changes are done.
-*** move man pages into programs as pod docs ***
-*** build all my packages using new version, and ditching dh_installmanpages
-    mainly as a regression test..
-*** fix aj's bug, sigh ***
-*** dh_installinit should install defaults files ***
+    planned). Note that I have no plans for a v4 at this time. :-)
+  * Testing: I have used this new version of debhelper to build a large
+    number of my own packages, and it seems to work. But this release
+    touches every file in this package, so be careful out there..
 
  -- Joey Hess <joeyh@debian.org>  Thu,  8 Feb 2001 14:29:58 -0800
 
index 25217881c7ca36708fd79f9da3be5c2b47211d43..f889fee53d1349fd0ef6124d0f55f588b8d6e504 100755 (executable)
@@ -14,6 +14,7 @@ export PERL5LIB=.
 # be sure to use the new templates from this package.
 export DH_AUTOSCRIPTDIR=autoscripts
 
+# Use most recent compatability level.
 export DH_COMPAT=3
 
 # Figure out the current debhelper version.
@@ -22,18 +23,46 @@ VERSION=$(shell expr "`dpkg-parsechangelog 2>/dev/null |grep Version:`" : '.*Ver
 # Debug
 #export DH_VERBOSE=1
 
-build: test
-# Nothing to do.       
+build: test build-stamp
+build-stamp:
+       # Turn all executables and .pod files into man pages.
+       find . \( \( -type f -perm +1 -maxdepth 1 \) -or \
+                 \( -type f -name '*.pod' \) \) \
+               -exec pod2man -c Debhelper -r "$(VERSION)" {} {}.1 \;
+       mv -f debhelper.pod.1 debhelper.1
+       # Fix up the debhelper.1 man page, substituting in a list of all
+       # debhelper commands. Eek!
+       perl -e ' \
+               undef $$/; \
+               foreach (@ARGV) { \
+                       open (IN, $$_) or die "$$_: $$!"; \
+                       $$file=<IN>; \
+                       close IN; \
+                       if ($$file=~m/=head1 NAME\n\n(.*?) - (.*?)\n/m) { \
+                               $$collect.=".IP $$1(1)\n$$2\n"; \
+                       } \
+               } \
+               END { \
+                       open(IN,"debhelper.1") or die "debhelper.1: $$!"; \
+                       $$file=<IN>; \
+                       open(OUT,">debhelper.1") or die "debhelper.1: $$!";; \
+                       $$file=~s/#LIST#/$$collect/; \
+                       print OUT $$file; \
+                       close OUT; \
+               }' dh_*
+       touch build-stamp
 
 clean:
        ./dh_testdir
        ./dh_testroot
-       ./dh_clean
+       -./dh_clean *.1 *-stamp
 
-test:
+test: test-stamp
+test-stamp:
        ./dh_clean
        DH_VERSION=10 perl -MTest::Harness -e 'runtests grep { ! /CVS/ } @ARGV' t/*
        ./dh_clean
+       touch test-stamp
 
 # Build architecture-dependent files here.
 binary-arch: build
@@ -61,38 +90,6 @@ binary-indep: build
        ./dh_installmenu
        ./dh_installman *.1
        ./dh_installinfo
-       # Fix up all man pages, filling in the modification time for them.
-       # Note this runs before 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/share/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/share/man/man1/debhelper.1"); \
-                       @lines=<I>; \
-                       close I; \
-                       open(O,">debian/debhelper/usr/share/man/man1/debhelper.1"); \
-                       foreach (@lines) { \
-                               s/#LIST#/$$collect/; \
-                               print O; \
-                       } \
-                       close O; \
-               }' *.1
        ./dh_installchangelogs
        ./dh_link
        ./dh_compress
index e73aaf5055c0be506f117e4872e1aee5da26f9ee..214028e268db19314b16179569db7e003ae13fff 100755 (executable)
@@ -17,7 +17,7 @@ use Debian::Debhelper::Dh_Lib;
 =head1 DESCRIPTION
 
 dh_installinit is a debhelper program that is responsible for installing
-init scripts into package build directories.
+init scripts and associated defaults files into package build directories.
 
 It also automatically generates the postinst and postrm and prerm commands
 needed to set up the symlinks in /etc/rc*.d/ and to start and stop the init
@@ -27,6 +27,10 @@ If a file named debian/package.init exists, then it is installed into
 etc/init.d/package in the package build directory, with "package" replaced
 by the package name.
 
+If a file named debian/package.default exists, then it is installed into
+etc/default/package in the package build directory, with "package" replaced
+by the package name.
+
 =head1 OPTIONS
 
 =over 4
@@ -42,9 +46,10 @@ Do not restart daemon on upgrade.
 =item B<-d>, B<--remove-d>
 
 Remove trailing "d" from the name of the package, and use the result for the
-filename the init script is installed as in etc/init.d/ . This may be useful
-for daemons with names ending in "d". (Note: this takes precedence over
-the --init-script parameter described below.)
+filename the init script is installed as in etc/init.d/ , and the defualt file
+is installed as in etc/default/ . This may be useful for daemons with names
+ending in "d". (Note: this takes precedence over the --init-script parameter
+described below.)
 
 =item B<-u>I<params> B<--update-rcd-params=>I<params>
 
@@ -56,13 +61,13 @@ passed to L<update-rc.d(8)>.
 =item B<--init-script=>I<scriptname>
 
 Use "scriptname" as for the filename the init script is installed as in
-etc/init.d/ . This is useful if you need to have an init script with a name
+etc/init.d/ (and also use it as the filename for the defaults file, if it
+is installed). This is useful if you need to have an init script with a name
 different from the package's name. Note that if you use this parameter,
 dh_installinit will look to see if a file in the debian/ directory exists
-that looks like "scriptname" or "package.scriptname" and if so will install
-it as the init script in preference to the files it normally installs. This
-feature is really only useful if you need a single package to install more
-than one init script.
+that looks like "package.scriptname" and if so will install it as the init
+script in preference to the files it normally installs. This feature is really
+only useful if you need a single package to install more than one init script.
 
 =back
 
@@ -102,6 +107,14 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
 
        my $init=pkgfile($package,$script) || pkgfile($package,"init") ||
              pkgfile($package,"init.d");
+       my $default=pkgfile($package,'default');
+
+       if ($default ne '') {
+               if (! -d "$tmp/etc/default") {
+                       doit("install","-d","$tmp/etc/default");
+               }
+               doit("install","-p","-m644",$default,"$tmp/etc/default/$script");
+       }
 
        if ($init ne '') {
                if (! -d "$tmp/etc/init.d") {
index 9d48cd8b82b0030099a826876f338eab3ba61362..de29453c21e1c63c6ecdbca79f4ddb8c13e00f85 100755 (executable)
@@ -68,8 +68,6 @@ file that looks something like:
 Generates a shlibs file that looks something like:
   libfoobar 1 libfoobar1 (>= 1.0)
 
-=back
-
 =head1 NOTES
 
 There is no guarantee that the program will get the shlibs file right. For