]> git.donarmstrong.com Git - debhelper.git/commitdiff
r85: Initial Import
authorjoey <joey>
Tue, 17 Aug 1999 04:51:06 +0000 (04:51 +0000)
committerjoey <joey>
Tue, 17 Aug 1999 04:51:06 +0000 (04:51 +0000)
1  2 
PROGRAMMING
TODO
debian/changelog
dh_compress
dh_compress.1
dh_getopt.pl
dh_md5sums

diff --cc PROGRAMMING
index 22e015aff2dd8eb4e81b282180df220513519823,43e1554c038f253ed91eb0febf54c87440b23647..a6078c1ab1796731463d6a0bda837e27bd139ed0
@@@ -70,14 -70,14 +70,20 @@@ switch             variable        descriptio
  --no-act      DH_NO_ACT       should the program not actually do anything?
  -i,-a,-p      DH_DOPACKAGES   a space delimited list of the binary packages
                                to act on
 --i,-p         DH_DOINDEP      a space delimited list of the binary independant
 +-i,-p         DH_DOINDEP      a space delimited list of the binary independent
                                packages to act on
 --a,-p         DH_DOARCH       a space delimited list of the binary dependant
 +-a,-p         DH_DOARCH       a space delimited list of the binary dependent
                                packages to act on
  -n            DH_NOSCRIPTS    if set, do not make any modifications to the 
 -                              package's postinst, posrtm, etc scripts.
 --x            DH_EXCLUDE      exclude a something from processing (you
 +                              package's postinst, postrm, etc scripts.
- -x            DH_EXCLUDE      exclude a something from processing (you
++-X            DH_EXCLUDE      exclude a something from processing (you
                                decide what this means for your program)
++              DH_EXCLUDE_GREP same as DH_EXCLUDE, except all items are
++                              separated by '|' characters, instead of spaces,
++                              handy for egrep -v
++-x            DH_INCLUDE_CONFFILES
++                              include conffiles. It's -x for obscure
++                              historical reasons.
  -d            DH_D_FLAG       you decide what this means to your program
  -r            DH_R_FLAG       you decide what this means to your program
  -k            DH_K_FLAG       you decide what this means to your program
diff --cc TODO
index 064dcbf0f18fcd4eb62d5c0d588204aa9a67bcb0,de0177faa9694394aba33706546b98a7844b7839..542e9887a04d4eb14b9796762859ea22bca6fe6a
--- 1/TODO
--- 2/TODO
+++ b/TODO
@@@ -1,30 -1,6 +1,27 @@@
 -shared libaries
 -.so files of compressed manpages change to symlinks
 -multiple binary packages support
 -edit package scripts (??)
 -add all other functionality of debstd (??)
 -documentation
 +* add all other functionality of debstd (??)
 +  - add a program to generate file similar to buildinfo.Debian generated by
 +    debmake (wishlist bug #17043). I just never saw the point of that file..
 +  - Make dh_movefiles remove emptied directories after it's moved all the
 +    files out of them (wishlist bug #17111).
 +* dh_fixperms: allow listing of files not to be touched (difficult).
 +* add a dh_debstd, which mimics debstd, but uses debhelper tools internally.
 +  Note that the idea here is not just another debstd. This program will have
 +  a -v switch, that lists all the other debhelper commands it needs to run to
 +  do what debstd had to do. The intent is to make it easy to switch from
 +  debstd to debhelper.
- * dh_compress: add --exclude "*.conf" type-thingy, since that's the change
-   you most often want to make to what it does, and a debian/compress file is
-   overkill in those cases.
 +* info support for debhelper (currently implemented, but I hate how I did it,
 +  so it's not in the package.) (wishlist bug #15717)
 +* enhance dh_installmanpages so it associates binaries and man pages and
 +  installs the man pages into the correct areas to suit the binaries they
 +  document. I may need to make this only happen when a switch is given, to
 +  preserve backward compatibility.
 +* maybe make dh_installmanpages look at the .TH line of man pages whose
 +  filenames end in .man, to figure out what section they go it. This would
 +  require a switch to turn on, for backwards compatibility.
 +* All debhelper programs should be checked that they output files with the
 +  correct permissions no matter what the umask is set to. Currently, only
 +  those programs that run after dh_fixperms have been so checked. (Checking
 +  the rest is low priority, since dh_fixperms fixes any incorrect permissions
 +  they might have; still it would be nice to check them too, just to make
 +  debhelper more flexible.) One easy fix is to add umask 022 to dh_lib,
 +  however, there may be unforeseen ramifications of such a change.
index 148c6ea497c201dec400cd60ee80f9928932a7b9,87d526399607b5ddbb6dd7100918be643ce19277..9d007f0fb5006ab4cfdbdfc40c13a3db5cd7c1d8
++debhelper (0.87) unstable; urgency=low
++
++  * dh_strip: strip .comment and .note, not comment and note, when stripping
++    elf binaries. This makes for smaller output files. This has always been
++    broken in debhelper before! (#22395)
++
++ -- Joey Hess <joeyh@master.debian.org>  Wed, 13 May 1998 11:54:29 -0700
++
 +debhelper (0.86) unstable; urgency=low
 +
 +  * dh_compress: don't try to re-compress *.gz files. Eliminates warning
 +    messages in some cases, shouldn't actually change the result at all.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 27 Apr 1998 15:21:33 -0700
 +
 +debhelper (0.85) unstable; urgency=low
 +
 +  * Moved a few things around that were broken by Che's patch:
 +    - dh_installdirs should go in install target.
 +    - dh_clean should not run in binary targets.
 +  * This is just a quick fix to make it work, I'm not happy with it. I'm
 +    going to discuss my problems with it with Che, and either make a new
 +    version fixing them, or revert to 0.83.
 +  * So be warned that the example rules files are not currently in good
 +    shape if you're starting a new package.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat, 18 Apr 1998 23:30:38 -0700
 +
 +debhelper (0.84) unstable; urgency=low
 +
 +  * Applied Che_Fox'x patches to example rules files, which makes them use
 +    an install target internally to move things into place in debian/tmp.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu,  9 Apr 1998 12:08:45 -0700
 +
 +debhelper (0.83) unstable; urgency=low
 +
 +  * Generate symlinks in build stage of debian/rules. cvs cannot create them
 +    properly. Note that version 0.80 and 0.81 could not build some packages
 +    because of missing symlinks.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 31 Mar 1998 19:27:29 -0800
 +
 +debhelper (0.81) unstable; urgency=low
 +
 +  * dh_movefiles: empty $tomove (#20495).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 31 Mar 1998 15:36:32 -0800
 +
 +debhelper (0.80) unstable; urgency=low
 +
 +  * Moved under cvs (so I can fork a stable and an unstable version).
 +  * dh_movefiles: first move real files, then move symlinks. (#18220)
 +    Thanks to Bdale Garbee <bdale@gag.com> and Adam Heath 
 +    <adam.heath@usa.net> for help on the implementation.
 +  * dh_installchangelogs: use debian/package.changelog files if they exist
 +    rather than debian.changelog. It appears some people do need per-package
 +    changelogs.
 +  * dh_gencontrol: if debian/package.changelogs files exist, use them.
 +  * Above 2 changes close #20442.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 30 Mar 1998 20:54:26 -0800
 +
 +debhelper (0.78) frozen unstable; urgency=low
 +
 +  * More spelling fixes from Christian T. Steigies. (I ignored the spelling
 +    fixes to the changelog, though - too many, and a changelog isn't meant
 +    to be changed after the fact :-)
 +  * dh_fixperms: remove execute bits from .la files genrated by libtool.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 30 Mar 1998 12:44:42 -0800
 +
 +debhelper (0.77) frozen unstable; urgency=low
 +
 +  * Fixed a nasty bug in dh_makeshlibs when it was called with -V, but with
 +    no version string after the -V.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun, 29 Mar 1998 16:08:27 -0800
 +
 +debhelper (0.76) frozen unstable; urgency=low
 +
 +  * I intended version 0.75 to make it in before the freeze, and it did not.
 +    This is just to get it into frozen. There are no changes except bug
 +    fixes.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu, 26 Mar 1998 12:25:47 -0800
 +
 +debhelper (0.75) unstable; urgency=low
 +
 +  * Actually exit if there is an unknown option on the command line (oooops!)
 +  * Fix .so file conversion to actually work (#19933).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu, 19 Mar 1998 11:54:58 -0800
 +
 +debhelper (0.74) unstable; urgency=low
 +
 +  * dh_installmanpages: convert .so links to symlinks at last (#19829).
 +  * dh_installmanpages.1: documented that no, dh_installmanpages never
 +    installs symlink man pages from the source package (#19831).
 +  * dh_installmanpages: minor speedups
 +  * PROGRAMMING: numerous spelling fixes, thanks to Christian T. Steigies.
 +    Life is too short for me to spell check my technical documentation, but
 +    I always welcome corrections!
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 17 Mar 1998 22:09:07 -0800
 +
 +debhelper (0.73) unstable; urgency=low
 +
 +  * Fixed typo in dh_suidregister.1
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu, 12 Mar 1998 16:30:27 -0800
 +
 +debhelper (0.72) unstable; urgency=low
 +
 +  * Applied patch from Yann Dirson <ydirson@a2points.com> to add a
 +    --init-script parameter to dh_installinit. (#19227)
 +  * Documented this new switch.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon,  9 Mar 1998 17:12:04 -0800
 +
 +debhelper (0.71) unstable; urgency=low
 +
 +  * dh_makeshlibs: -V flag was broken: if just -V was specified,
 +    dh_makeshlibs would die. Corrected this.
 +  * dh_lib: removed warning if the arguments passed to a debhelper command
 +    do not apply to the main package. It's been long enough so I'm 100% sure
 +    no packages use the old behavior.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon,  9 Mar 1998 11:46:59 -0800
 +
 +debhelper (0.70) unstable; urgency=low
 +
 +  * dh_lib: autoscript(): no longer add the modification date to the
 +    comments aurrounding debhelper-added code. I don't think this date was
 +    gaining us anything, so let's remove it and save some disk space.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun,  8 Mar 1998 21:15:13 -0800
 +
 +debhelper (0.69) unstable; urgency=low
 +
 +  * Refer to suidregister (8), not (1). Bug #19149.
 +  * Removed junk file from debian/ dir.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun,  8 Mar 1998 13:04:36 -0800
 +
 +debhelper (0.68) unstable; urgency=low
 +
 +  * Document that README.debian files are installed as README.Debian (#19089).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri,  6 Mar 1998 17:48:32 -0800
 +
 +debhelper (0.67) unstable; urgency=low
 +
 +  * Added PROGRAMMING document that describes the interface of dh_lib, to
 +    aid others in writing and understanding debhelper programs.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri,  6 Mar 1998 12:45:08 -0800
 +
 +debhelper (0.66) unstable; urgency=low
 +
 +  * README, dh_testversion.1, dh_movefiles.1: more doc fixes.
 +  * dh_movefiles: don't check for package names to see if files are being
 +    moved from one package back into itself, instead, check tmp dir names.
 +    If you use this behavior, you should use "dh_testversion 0.66".
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon,  2 Mar 1998 17:50:29 -0800
 +
 +debhelper (0.65) unstable; urgency=low
 +
 +  * dh_installdocs.1, dh_movefiles.1: clarified documentation for Che.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon,  2 Mar 1998 17:20:39 -0800
 +
 +debhelper (0.64) unstable; urgency=low
 +
 +  * Removed some junk (a whole old debhelper source tree!) that had gotten
 +    into the source package by accident.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 23 Feb 1998 20:23:34 -0800
 +
 +debhelper (0.63) unstable; urgency=low
 +
 +  * Removed some debugging output from dh_installmanpages.
 +  * du_du: no longer does anything, becuase it has been decided on
 +    debian-policy that du control files are bad.
 +  * examples/*: removed dh_du calls.
 +  * debian/rules: removed dh_du call.
 +  * Modified dh_gencontrol, dh_makeshlibs, and dh_md5sums to generate files 
 +    with the correct permissions even if the umask is set to unusual 
 +    values. (#18283)
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 16 Feb 1998 23:34:36 -0800
 +
 +debhelper (0.62) unstable; urgency=low
 +
 +  * dh_installmanpages: if the man page filename ends in 'x', install it in
 +    /usr/X11R6/man/.
 +  * TODO: expanded descriptions of stuff, in the hope someone else will get
 +    inspired to implement some of it.
 +  *  Also added all wishlist bugs to the TODO.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu, 12 Feb 1998 22:38:53 -0800
 +
 +debhelper (0.61) unstable; urgency=low
 +
 +  * dh_installmanpages: Add / to end of egrep -v regexp, fixes it so
 +    debian/icewm.1 can be found.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Wed, 11 Feb 1998 09:09:28 -0800
 +
 +debhelper (0.60) unstable; urgency=low
 +
 +  * dh_fixperms: make all files readable and writable by owner
 +    (policy 3.3.8 paragraph 2).
 +    Lintian found lots of bugs that will be fixed by this change.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon,  9 Feb 1998 12:26:13 -0800
 +
 +debhelper (0.59) unstable; urgency=low
 +
 +  * Added DH_NO_ACT and --no-act, which make debhelper commands run without
 +    actually doing anything. (Combine with -v to see what the command would
 +    have done.) (#17598)
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun,  1 Feb 1998 14:51:08 -0800
 +
 +debhelper (0.58) unstable; urgency=low
 +
 +  * Fixed bug #17597 - DH_VERBOSE wasn'talways taking effect.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Wed, 28 Jan 1998 17:18:17 -0500
 +
 +debhelper (0.57) unstable; urgency=low
 +
 +  * Depend on perl 5.004 or greater (for Getopt::Long).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat, 17 Jan 1998 02:12:06 -0500
 +
 +debhelper (0.56) unstable; urgency=low
 +
 +  * dh_compress: Applied patch from Yann Dirson <ydirson@a2points.com>,
 +    to make it not abort of one of the find's fails.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu, 15 Jan 1998 19:16:48 -0500
 +
 +debhelper (0.55) unstable; urgency=low
 +
 +  * dh_clean: delete substvarsfiles probperly again (broken in 0.53). #17077
 +  * Added call to dh_movefiles, and a commented out call to dh_testversion,
 +    to some of the sample rules files. #17076
 +
 + -- Joey Hess <joeyh@master.debian.org>  Wed, 14 Jan 1998 12:48:43 -0500
 +
 +debhelper (0.54) unstable; urgency=low
 +
 +  * dh_lib: no longer call getopt(1) to parse options. I wrote my own
 +    argument processor in perl.
 +  * Added long versions of all arguments. TODO: document them.
 +  * All parameters may now be passed values that include whitespace (ie,
 +    dh_installinit -u"defaults 10")
 +  * Now depends on perl (needs Getopt::Long).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat, 10 Jan 1998 15:44:09 -0500
 +
 +debhelper (0.53) unstable; urgency=low
 +
 +  * dh_installmanpages: ignore all man pages installed into debian/tmp
 +    type directories. (#16933)
 +  * dh_*: set up alternative name for files like debian/dirs; you may now
 +    use debian/<mainpackage>.dirs too, for consistency. (#16934)
 +  * dh_installdocs: if a debian/package.copyright file exists, use it in
 +    preference to debian/copyright, so subpackages with varying copyrights
 +    are supported. (#16935)
 +  * Added dh_movefiles, which moves files out of debian/tmp into subpackages.
 +    (#16932)
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat, 10 Jan 1998 11:30:12 -0500
 +
 +debhelper (0.52) unstable; urgency=low
 +
 +  * dh_compress: compress file belongs in debian/. It was looking in ./
 +    This has been broken since version 0.30.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue,  6 Jan 1998 14:08:31 -0500
 +
 +debhelper (0.51) unstable; urgency=low
 +
 +  * dh_fixperms: make shared libraries non-executable, in accordance with
 +    policy. (#16644)
 +  * dh_makeshlibs: introduced a -V flag, which allows you to specify explicit
 +    version requirements in the shlibs file.
 +  * dh_{installdirs,installdocs,installexamples,suidregister,undocumented}:
 +    Added a -A flag, which makes any files/directories specified on the
 +    command line apply to ALL packages acted on.
 +  * Updated Standards-Version to latest.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon,  5 Jan 1998 16:15:01 -0500
 +
 +debhelper (0.50) unstable; urgency=low
 +
 +  * dh_makeshlibs: added -m parameter, which can force the major number
 +    of the shared library if it is guessed incorrectly.
 +  * Added dh_testversion to let your package depend on a certian version of
 +    debhelper to build.
 +  * dh_{installdirs,installdocs,installexamples,suidregieter,undocumented}:
 +    behavior modification - any files/directories specified on the command
 +    line now apply to the first package acted on. This may not be the
 +    first package listed in debian/control, if you use -p to make it act on
 +    a given package, or -i or -a.
 +  * If you take advantage of the above new behavior, I suggest you add
 +    "dh_testversion 0.50" to your debian/rules.
 +  * Display a warning message in cases where the above behavior is triggered,
 +    and debhelper's behavior has altered.
 +  * I have grepped debian's source packages, and I'm quite sure this
 +    is not going to affect any packages currently in debian.
 +  * dh_lib: isnative() now caches its return value, which should optimize
 +    away several more calls to dpkg-parsechangelog.
 +  * README: explain a way to embed debhelper generated shell script into a
 +    perl script.
 +  * dh_installinit: A hack to work around the problem in getopt(1) that
 +    led to bug report #16229: Any text specified on the command line that is
 +    not a flag will be presumed to be part of the -u flag. Yuck.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat,  3 Jan 1998 14:36:15 -0500
 +
 +debhelper (0.37) unstable; urgency=low
 +
 +  * dh_du: Fixed hardcoded debian/tmp.
 +  * This change got lost by accident, redid it: Optimized out most of the
 +    slowdown caused by using dpkg-parsechangelog - now it's only called by
 +    2 dh_* programs.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun, 28 Dec 1997 20:45:22 -0500
 +
 +debhelper (0.36) unstable; urgency=low
 +
 +  * dh_undocumented: exit with an error message if the man page specified
 +    does not have a section.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat, 27 Dec 1997 14:14:04 -0500
 +
 +debhelper (0.35) unstable; urgency=low
 +
 +  * dh_lib: use dpkg-parsechangelog instead of parsing it by hand. This
 +    makes a package build slower (by about 30 seconds, on average), so
 +    I might remove it or optimize it if too many people yell at me. :-)
 +  * dh_undocumented.1: note that it really links to undocumented.7.gz.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 22 Dec 1997 22:19:39 -0500
 +
 +debhelper (0.34) unstable; urgency=low
 +
 +  * Fixed typo #16215.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 22 Dec 1997 14:41:46 -0500
 +
 +debhelper (0.33) unstable; urgency=low
 +
 +  * examples/*: use prefix, instead of PREFIX, becuase autoconf uses that.
 +    Also, use `pwd`/debian/tmp, instead of debian/tmp.
 +  * Always substitute #DEBHELPER# in maintainer scripts, even if it expands
 +    to nothing, for neatness and to save a few bytes. #15863
 +  * dh_clean: added -k parameter to not delete debian/files. #15789
 +  * examples/*: use dh_clean -k in the binary targets of all rules files,
 +    for safety.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu, 11 Dec 1997 19:05:41 -0500
 +
 +debhelper (0.32) unstable; urgency=low
 +
 +  * Split dh_installdebfiles into 3 programs (dh_installdeb, dh_shlibdeps,
 +    and dh_gencontrol). dh_installdebfiles still works, but is depricated.
 +  * Added an examples/rules.indep file.
 +  * examples/rules.multi: changed dh_du -a to dh_du -i in binary-indep
 +    section.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Wed, 10 Dec 1997 19:53:13 -0500
 +
 +debhelper (0.31) unstable; urgency=low
 +
 +  * Fixed man page typos #15685.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat,  6 Dec 1997 21:44:58 -0500
 +
 +debhelper (0.30) unstable; urgency=low
 +
 +  * dh_md5sumes, dh_installdirs, dh_compress: fixed assorted cd bugs.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri,  5 Dec 1997 15:08:36 -0500
 +
 +debhelper (0.29) unstable; urgency=low
 +
 +  * dh_lib: don't expand text passed to doit() a second time. This fixes
 +    #15624, and hopefully doesn't break anything else.
 +  * A side effect of this (of interest only to the debhelper programmer) is
 +    that doit() can no longer handle complex commands now. (ie, pipes, `;',
 +    `&', etc separating multiple commands, or redirection)
 +  * dh_makeshlibs, dh_md5sums, dh_installdebfiles, dh_du, dh_clean, 
 +    dh_installdirs: don't pass complex commands to doit().
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu,  4 Dec 1997 13:56:14 -0500
 +
 +debhelper (0.28) unstable; urgency=low
 +
 +  * dh_makeshlibs: fixes type that caused the program to crash (#15536).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Wed,  3 Dec 1997 13:22:48 -0500
 +
 +debhelper (0.27) unstable; urgency=low
 +
 +  * README: fixed typoes (one serious).
 +  * Ran ispell on all the documentation.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun, 30 Nov 1997 18:48:20 -0500
 +
 +debhelper (0.26) unstable; urgency=low
 +
 +  * dh_installdirs: Do not create usr/doc/$PACKAGE directory. Bug #15498
 +  * README: documented that $PACKAGE can be used in the arguments to some of
 +    the dh_* programs (#15497).
 +  * dh_du.1: no, this is not really the dh_md5sums man page (#15499).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun, 30 Nov 1997 13:01:40 -0500
 +
 +debhelper (0.25) unstable; urgency=low
 +
 +  * dh_compress: was not reading debian/compress file - fixed.
 +  * examples/*: moved dh_clean call to after make clean is run.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 25 Nov 1997 15:43:58 -0500
 +
 +debhelper (0.24) unstable; urgency=low
 +
 +  * dh_clean: no longer clean up empty (0 byte) files (#15240).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 25 Nov 1997 14:29:37 -0500
 +
 +debhelper (0.23) unstable; urgency=low
 +
 +  * Now depends on fileutils (>= 3.16-4), becuase with any earlier version
 +    of fileutils, install -p will not work (#14680)
 +
 + -- Joey Hess <joeyh@master.debian.org>  Wed, 19 Nov 1997 23:59:43 -0500
 +
 +debhelper (0.22) unstable; urgency=low
 +
 +  * dh_installdocs: Install README.debian as README.Debian (of course,
 +    README.Debian is installed with the same name..)
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 18 Nov 1997 01:23:53 -0500
 +
 +debhelper (0.21) unstable; urgency=low
 +
 +  * dh_installinit: on removal, fixed how update-rc.d is called.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat, 15 Nov 1997 20:43:14 -0500
 +
 +debhelper (0.20) unstable; urgency=low
 +
 +  * Added dh_installinit, which installs an init.d script, and edits the
 +    postinst, postrm, etc.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri, 14 Nov 1997 00:45:53 -0500
 +
 +debhelper (0.19) unstable; urgency=low
 +
 +  * dh_installmenu.1: menufile is in section 5, not 1.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Wed, 12 Nov 1997 19:54:48 -0500
 +
 +debhelper (0.18) unstable; urgency=low
 +
 +  * examples/*: added source, diff targets that just print an error.
 +  * dh_clean: clean up more files - *.orig, *.rej, *.bak, .*.orig, .*.rej, 
 +    .SUMS, TAGS, and empty files.
 +  * dh_lib: doit(): use eval on parameters, instead of directly running
 +    them. This lets me clean up several nasty areas where I had to echo the
 +    commands once, and then run them seperatly.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 10 Nov 1997 19:48:36 -0500
 +
 +debhelper (0.17) unstable; urgency=low
 +
 +  * Added dh_installdirs, automatically creates subdirectories (for
 +    compatability with debstd's debian/dirs file.
 +  * dh_lib: fixed problem with -P flag.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri,  7 Nov 1997 16:07:11 -0500
 +
 +debhelper (0.16) unstable; urgency=low
 +
 +  * dh_compress: always compress changelog and upstream changelog, no 
 +    matter what their size (#14604) (policy 5.8)
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu,  6 Nov 1997 19:50:36 -0500
 +
 +debhelper (0.15) unstable; urgency=low
 +
 +  * README: documented what temporary directories are used by default for 
 +    installing package files into.
 +  * dh_*: added -P flag, to let a different package build directory be
 +    specified.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Thu,  6 Nov 1997 15:51:22 -0500
 +
 +debhelper (0.14) unstable; urgency=low
 +
 +  * dh_fixperms: leave permissions on files in /usr/doc/packages/examples
 +    unchanged.
 +  * Install examples/rules* executable.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 27 Oct 1997 12:42:33 -0500
 +
 +debhelper (0.13) unstable; urgency=low
 +
 +  * Added dh_makeshlibs, automatically generates a shlibs file.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri, 24 Oct 1997 20:33:14 -0400
 +
 +debhelper (0.12) unstable; urgency=low
 +
 +  * Fixed mispelling of dh_md5sums in examples rules files and README.
 +    (#13990) Thanks, Adrian.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri, 24 Oct 1997 14:35:30 -0400
 +
 +debhelper (0.11) unstable; urgency=low
 +
 +  * dh_md5sums: behavior modification: do not generate md5sums for conffiles.
 +    (Thanks to Charles Briscoe-Smith <cpb4@ukc.ac.uk>) #14048.
 +  * dh_md5sums: can generate conffile md5sums with -x parameter.
 +  * Added a "converting from debstd" section to the README.
 +  * Added dh_du, generates a DEBIAN/du file with disk usage stats (#14048).
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 21 Oct 1997 13:17:28 -0400
 +
 +debhelper (0.10) unstable; urgency=medium
 +
 +  * dh_installdebfiles: fixed *bad* bug that messed up the names of all
 +    files installed into DEBIAN/ for multiple binary packages.
 +  * dh_md5sums: fixed another serious bug if dh_md5sums was used for
 +    multiple binary packages.
 +  * If you have made any multiple binary packages using debhelper, you
 +    should rebuild them with this version.
 +  * dh_md5sums: show cd commands in verbose mode.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 20 Oct 1997 14:44:30 -0400
 +
 +debhelper (0.9) unstable; urgency=low
 +
 +  * Added dh_suidregister, interfaces to to the suidmanager package.
 +  * dh_installdebfiles: fixed typo on man page.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sat, 18 Oct 1997 20:55:39 -0400
 +
 +debhelper (0.8) unstable; urgency=low
 +
 +  * Added dh_md5sum, generates a md5sums file.
 +  * dh_clean: fixed to echo all commands when verbose mode is on.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri, 17 Oct 1997 14:18:26 -0400
 +
 +debhelper (0.7) unstable; urgency=low
 +
 +  * Sped up some things by removing unnecesary for loops.
 +  * dh_installdocs: behavior modifcation: if there is a debian/TODO, it is
 +    named like a debian/changelog file: if the package is a debian native
 +    package, it is installed as TODO. If the package is not a native package,
 +    it is installed as TODO.Debian.
 +  * dh_installdocs: handle debian/README.Debian as well as
 +    debian/README.debian.
 +  * Added dh_undocumented program, which can set up undocumented.7 symlinks.
 +  * Moved dh_installdebfiles to come after dh_fixperms in the example rules
 +    files. (dh_installdebfiles makes sure it installs things with the proper
 +    permissions, and this reorganization makes the file a bit more flexable
 +    in a few situations.)
 +
 + -- Joey Hess <joeyh@master.debian.org>  Mon, 13 Oct 1997 20:08:05 -0400
 +
 +debhelper (0.6) unstable; urgency=low
 +
 +  * Got rid of bashisms - this package should work now if /bin/sh is ash.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri, 10 Oct 1997 15:24:40 -0400
 +
 +debhelper (0.5) unstable; urgency=low
 +
 +  * Added dh_installcron to install cron jobs.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 30 Sep 1997 19:37:41 -0400
 +
 +debhelper (0.4) unstable; urgency=low
 +
 +  * Added dh_strip to strip binaries and libraries.
 +  * Fixed several man pages.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Sun, 28 Sep 1997 20:46:32 -0400
 +
 +debhelper (0.3) unstable; urgency=low
 +
 +  * Added support for automatic generation of debian install scripts to
 +    dh_installmenu and dh_installdebfiles and dh_clean.
 +  * Removed some pointless uses of cat.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Fri, 26 Sep 1997 21:52:53 -0400
 +
 +debhelper (0.2) unstable; urgency=low
 +
 +  * Moved out of unstable, it still has rough edges and incomplete bits, but
 +    is ready for general use.
 +  * Added man pages for all commands.
 +  * Multiple binary package support.
 +  * Support for specifying exactly what set of binary packages to act on,
 +    by group (arch or noarch), and by package name.
 +  * dh_clean: allow specification of additional files to remove as
 +    parameters.
 +  * dh_compress: fixed it to not compress doc/package/copyright
 +  * dh_installmanpage: allow listing of man pages that should not be 
 +    auto-installed as parameters.
 +  * dh_installdebfiles: make sure all installed files have proper ownerships
 +    and permissions.
 +  * dh_installdebfiles: only pass ELF files to dpkg-shlibdeps, and pass .so
 +    files.
 +  * Added a README.
 +  * dh_compress: changed behavior - debian/compress script is now run inside
 +    the package build directory it is to act on.
 +  * Added dh_lib symlink in debian/ so the debhelper apps used in this
 +    package's debian/rules always use the most up-to-date db_lib.
 +  * Changed dh_cleantmp commands in the examples rules files to dh_clean.
 +
 + -- Joey Hess <joeyh@master.debian.org>  Tue, 23 Sep 1997 12:26:12 -0400
 +
  debhelper (0.1) experimental; urgency=low
  
    * First release. This is a snapshot of my work so far, and it not yet
diff --cc dh_compress
index 27f931f5d1917a52f6ecf9888b3747c1948041de,e1f8ed643525f9102e87a652b60515ea71337713..1d30c65d5dabbd9c141bba3e489aaf06e8509f31
@@@ -4,50 -4,37 +4,68 @@@
  # compressed files get fixed.
  
  PATH=debian:$PATH:/usr/lib/debhelper
 -source dh_lib
 -
 -# The config file is a sh script that outputs the files to be compressed
 -# (typically using find).
 -if [ -f debian/compress ]; then
 -      files=`sh debian/compress 2>/dev/null`
 -else
 -      # By default fall back on what the policy manual says to compress.
 -      files=`
 -              find debian/tmp/usr/info debian/tmp/usr/man \
 -                      debian/tmp/usr/X11*/man -type f 2>/dev/null ;
 -              find debian/tmp/usr/doc -type f -size +4k \
 -                      ! -name "*.htm*" ! -name "*.gif" \
 -                      ! -name "debian/tmp/usr/doc/*/copyright" 2>/dev/null
 -      `
 -fi
 -
 -if [ "$files" ]; then
 -      # This is just a cosmetic fix.
 -      files=`echo $files | tr "\n" " "`       
 -
 -      doit "gzip -9 $files" || true
 -fi
 -
 -# Fix up symlinks that were pointing to the uncompressed files.
 -for file in `find debian/tmp -type l`; do
 -      DIRECTORY=`expr $file : "\(.*\)/[^/]*"`
 -      NAME=`expr $file : ".*/\([^/]*\)"`
 -      LINKVAL=`ls -l $DIRECTORY/$NAME | awk '{ print $11;}'`
 -      if [ ! -e $DIRECTORY/$LINKVAL -a -f $DIRECTORY/$LINKVAL.gz ]; then
 -              doit "rm $DIRECTORY/$NAME"
 -              doit "ln -s $LINKVAL.gz $DIRECTORY/$NAME.gz"
 +. dh_lib
 +
++# Returns a list of all the files that we want to compress,
++# (ignoring any files we were asked to exclude on the command
++# line). Assummes we are already in the temp directory.
++filelist () {
++      if [ "$compress" ]; then
++              # The config file is a sh script that outputs the files to be compressed
++              # (typically using find).
++              sh $olddir/$compress 2>/dev/null
++      else
++              # By default fall back on what the policy manual says to compress.
++              find usr/info usr/man usr/X11*/man -type f ! -name "*.gz" 2>/dev/null
++              find usr/doc -type f \( -size +4k -or -name "changelog*" \) \
++                      ! -name "*.htm*" ! -name "*.gif" ! -name "*.gz" \
++                      ! -name "copyright" 2>/dev/null
++      fi
++}
++
++# Returns a list of all the files we want to compress,
++# after taking command line exclusions into account.
++# Call only if DH_EXCLUDE_GREP is non-empty.
++filelist_excluded () {
++      # Use grep -F so we don't have to worry about regexp's.
++      filelist | grep -v -F \
++              "`echo "$DH_EXCLUDE_GREP" | tr "|" "\n"`"
++}
++
 +for PACKAGE in $DH_DOPACKAGES; do
 +      TMP=`tmpdir $PACKAGE`
 +      compress=`pkgfile $PACKAGE compress`
 +
 +      # Run the file name gathering commands from within the directory
 +      # structure that will be effected.
 +      olddir=`pwd`
 +      doit "cd $TMP"
 +
-       if [ "$compress" ]; then
-               # The config file is a sh script that outputs the files to be compressed
-               # (typically using find).
-               files=`sh $olddir/$compress 2>/dev/null ; true`
++      # Get the list of files to compress.
++      if [ "$DH_EXCLUDE_GREP" ]; then
++              files=`filelist_excluded`
 +      else
-               # By default fall back on what the policy manual says to compress.
-               files=`
-                       find usr/info usr/man usr/X11*/man -type f ! -name "*.gz" 2>/dev/null ;
-                       find usr/doc -type f \( -size +4k -or -name "changelog*" \) \
-                               ! -name "*.htm*" ! -name "*.gif" ! -name "*.gz" \
-                               ! -name "copyright" 2>/dev/null ;
-                       true
-                       `
++              files=`filelist`
 +      fi
 +
 +      if [ "$files" ]; then
 +              # This is just a cosmetic fix.
-               files=`echo $files | tr "\n" " "`       
++              files=`echo $files | tr "\n" " "`
 +      
-               doit "gzip -9 $files" || true
++              doit "gzip -f9 $files" || true
        fi
 +
 +      # Change back to old pwd.
 +      doit "cd $olddir"
 +
 +      # Fix up symlinks that were pointing to the uncompressed files.
 +      for file in `find $TMP -type l`; do
 +              DIRECTORY=`expr $file : "\(.*\)/[^/]*"`
 +              NAME=`expr $file : ".*/\([^/]*\)"`
 +              LINKVAL=`ls -l $DIRECTORY/$NAME | awk '{ print $11;}'`
 +              if [ ! -e $DIRECTORY/$LINKVAL -a -f $DIRECTORY/$LINKVAL.gz ]; then
 +                      doit "rm $DIRECTORY/$NAME"
 +                      doit "ln -s $LINKVAL.gz $DIRECTORY/$NAME.gz"
 +              fi
 +      done
  done
diff --cc dh_compress.1
index dbb33e6db4cbe1d977bdb629ed56d177bb07391e,06087b8edcf7a903b1300022ea3480d51ffeb8e9..4f2d2d0ac2e3765a4c6f9bce981f875ad9db2391
@@@ -3,7 -3,7 +3,7 @@@
  dh_compress \- compress files and fix symlinks in package build directories
  .SH SYNOPSIS
  .B dh_compress
- .I "[-v] [-a] [-i] [--no-act] [-ppackage] [-Ptmpdir]"
 -.I "[-v] [-a] [-i] [-ppackage]"
++.I "[-v] [-a] [-i] [-X] [--no-act] [-ppackage] [-Ptmpdir]"
  .SH "DESCRIPTION"
  dh_compress is a debhelper program that is responsible for compressing
  the files in package build directories, and makes sure that any symlinks
@@@ -31,24 -30,17 +31,31 @@@ customization of what files are compres
        ! -name "copyright"
  .SH OPTIONS
  .TP
 -.B \-v
 +.B \-v, \--verbose
  Verbose mode; show all commands that modify the package build directory.
  .TP
 -.B \-a
 +.B \-a, \--arch
  Compress files for all architecture dependent packages.
  .TP
 -.B \-i
 +.B \-i, \--indep
  Compress files for all architecture independent packages.
  .TP
 -.B \-ppackage
 +.B \--no-act
 +Do not really do anything. If used with -v, the result is that this command
 +will output a list of what it would have done.
 +.TP
 +.B \-ppackage, \--package=package
  Compress files for the package named "package".
 +.TP
 +.B \-Ptmpdir, \--tmpdir=tmpdir
 +Use "tmpdir" for package build directory. 
++.TP
++.B \-X=item, \--exclude=item
++Exclude files that contain "item" anywhere in their filename from being
++compressed. For example, -X=.jpeg will exclude jpeg's from compression.
++You may use this option multiple times to build up a list of things to
++exclude. You can accomplish the same thing by using a debian/compress file,
++but this is easier.
  .SH NOTES
  The
  .B \-a
diff --cc dh_getopt.pl
index 0c9bba0b3b3f3bb05e1d5856974c999aa5d85a6e,bb7d51332f94385d07b26d65ddcaf4a43384b24b..b5cde776ff7a29f08510d8a6ed6b8beb05364879
@@@ -58,6 -58,6 +58,11 @@@ sub AddPackage { my($option,$value)=@_
        }
  }
  
++# Add another item to the exclude list.
++sub AddExclude { my($option,$value)=@_;
++      push @exclude,$value;
++}
++
  use Getopt::Long;
  
  # Enable bundling of short command line options.
@@@ -82,7 -82,7 +87,10 @@@ $ret=GetOptions
  
        "x" => \$include, # is -x for some unknown historical reason..
        "include-conffiles" => \$include,
--      
++
++      "X=s" => \&AddExclude,
++      "exclude=s" => \&AddExclude,
++
        "d" => \$d_flag,
        "remove-d" => \$d_flag,
  
@@@ -123,17 -115,6 +131,20 @@@ if (defined($version_info)) 
        $version_info_set=1;
  }
  
 +# Check to see if DH_VERBOSE environment variable was set, if so, make sure
 +# verbose is on.
 +if ($ENV{DH_VERBOSE} ne undef) {
 +      $verbose=1;
 +}
 +
 +# Check to see if DH_NO_ACT was set, if so, make sure no act mode is on.
 +if ($ENV{DH_NO_ACT} ne undef) {
 +      $no_act=1;
 +}
 +
++$exclude=join ' ', @exclude;
++$exclude_grep=join '|', @exclude;
++
  # Now output everything, in a format suitable for a shell to eval it. 
  # Note the last line sets $@ in the shell to whatever arguements remain.
  print qq{
@@@ -143,7 -123,7 +154,9 @@@ DH_DOPACKAGES='@packages
  DH_DOINDEP='$indep'
  DH_DOARCH='$arch'
  DH_NOSCRIPTS='$noscripts'
--DH_EXCLUDE='$include'
++DH_INCLUDE_CONFFILES='$include'
++DH_EXCLUDE='$exclude'
++DH_EXCLUDE_GREP='$exclude_grep'
  DH_D_FLAG='$d_flag'
  DH_R_FLAG='$r_flag'
  DH_K_FLAG='$k_flag'
diff --cc dh_md5sums
index 8db017612d2f6a4e0ff0c13293bcbf38a43d8534,634e2fd6c0bf8c4faa93b1deb279999db9b62e61..40cb7ab88ad3c38d97ed601ae10c7c0d9d88e620
@@@ -9,19 -9,14 +9,19 @@@ PATH=debian:$PATH:/usr/lib/debhelpe
  for PACKAGE in $DH_DOPACKAGES; do
        TMP=`tmpdir $PACKAGE`
  
 -      if [ ! -d "debian/$TMP/DEBIAN" ]; then
 -              doit "install -d debian/$TMP/DEBIAN"
 +      if [ ! -d "$TMP/DEBIAN" ]; then
 +              doit "install -d $TMP/DEBIAN"
        fi
  
 -      doit "pushd debian/$TMP" >/dev/null
 -      # Doit isn't smart enough to hande this next command so echo by hand. (sigh)
 -      verbose_echo 'md5sum `find * -type f ! -regex "^DEBIAN/.*"` > DEBIAN/md5sums </dev/null'
 -      md5sum `find * -type f ! -regex "^DEBIAN/.*"` >DEBIAN/md5sums </dev/null
 -      doit "chown root.root DEBIAN/md5sums"
 -      doit "popd 2>/dev/null" >/dev/null 
 +      complex_doit "find $TMP/* -type f ! -regex '^$TMP/DEBIAN/.*' | sed s:$TMP:: | sort > $TMP/DEBIAN/allfiles"
 +      # Check if we should exclude conffiles.
-       if [ ! "$DH_EXCLUDE" -a -r $TMP/DEBIAN/conffiles ]; then
++      if [ ! "$DH_INCLUDE" -a -r $TMP/DEBIAN/conffiles ]; then
 +              complex_doit "sort $TMP/DEBIAN/conffiles | comm -13 - $TMP/DEBIAN/allfiles > $TMP/DEBIAN/allfiles.new"
 +              doit "mv $TMP/DEBIAN/allfiles.new $TMP/DEBIAN/allfiles"
 +      fi
 +      olddir=`pwd`
 +      complex_doit "cd $TMP ; sed 's:^/::' < DEBIAN/allfiles | xargs md5sum > DEBIAN/md5sums ; cd $olddir"
 +      doit "chmod 644 $TMP/DEBIAN/md5sums"
 +      doit "chown root.root $TMP/DEBIAN/md5sums"
 +      doit "rm -f $TMP/DEBIAN/allfiles"
  done