path: root/dh_compress.1
diff options
Diffstat (limited to 'dh_compress.1')
1 files changed, 37 insertions, 32 deletions
diff --git a/dh_compress.1 b/dh_compress.1
index 06087b8..92f5b51 100644
--- a/dh_compress.1
+++ b/dh_compress.1
@@ -1,9 +1,9 @@
+.TH DH_COMPRESS 1 "" "Debhelper Commands" "Debhelper Commands"
dh_compress \- compress files and fix symlinks in package build directories
.B dh_compress
-.I "[-v] [-a] [-i] [-ppackage]"
+.I "[debhelper options] [-Xitem] [-A] [file ...]"
dh_compress is a debhelper program that is responsible for compressing
the files in package build directories, and makes sure that any symlinks
@@ -13,56 +13,61 @@ to the new files.
By default, dh_compress compresses files that debian policy mandates should
be compressed, namely all files in usr/info, usr/man, usr/X11R6/man, and
all files in usr/doc that are larger than 4k in size, except
-the copyright file, .html files and .gif files.
+the copyright file, .html files and .gif files, and all changelog files. It
+skips any files that appear to be already compressed (based on their
-If a debian/compress file exits, however, it will be ran as a shell script,
-and all filenames that the shell script outputs will be compressed instead
-of the default files. Note that the shell script will be run from inside the
-package build directory.
+If a debian/package.compress file exists (debian/compress may be used for the
+first binary package in debian/control), however, it will be ran as a shell
+script, and all filenames that the shell script outputs will be compressed
+instead of the default files. Note that the shell script will be run from
+inside the package build directory.
Here is a sample debian/compress file that causes dh_compress to compress
the same files as it would by default. This is a good starting point for
customization of what files are compressed:
- find usr/info usr/man usr/X11*/man -type f
- find usr/doc -type f -size +4k \\
- ! -name "*.htm*" ! -name "*.gif" \\
+ find usr/info usr/share/info usr/man usr/share/man usr/X11*/man -type f ! -name "*.gz"
+ find usr/doc usr/share/doc -type f \\
+ \\( -size +4k -or -name "changelog*" \\) \\
+ \\( -name changelog.html -or ! -name "*.htm*" \\) \\
+ ! -name "*.gif" ! -iname "*.gz" \\
+ ! -iname "*.taz" ! -iname "*.tgz" ! -iname "*.z" \\
! -name "copyright"
-.B \-v
-Verbose mode; show all commands that modify the package build directory.
+.B debhelper options
+.BR debhelper (1)
+for a list of options common to all debhelper commands.
-.B \-a
-Compress files for all architecture dependent packages.
+.B \-Xitem, \--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.
-.B \-i
-Compress files for all architecture independent packages.
+.B \-A, \--all
+Compress all files specified by command line parameters in ALL packages
+acted on.
-.B \-ppackage
-Compress files for the package named "package".
+.B file ...
+Add these files to the list of files to compress.
-.B \-a
-.B \-i
-.B \-p
-arguments are cumulative. If none are specified, then all packages listed in
-the control file will have their files compressed.
The debian/compress file applies to the first binary package listed in your
control file. For the other packages, you can make files named
debian/package.compress, where "package" is the name of the package they
-apply to.
+apply to. (This works for the first binary package too.)
-Enables verbose mode
+.BR debhelper (1)
+for a list of environment variables that affect all debhelper commands.
-.BR /usr/doc/debhelper/README
+.BR debhelper (1)
Filenames with spaces in them may not properly be compressed.
-Debian policy, version
+Debian policy, version
Joey Hess <>