+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 ./
#!/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 in this debian/ directory.
+# current dh_lib and the current dh_getopt.pl 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.
./dh_clean -k
./dh_installdirs usr/bin usr/lib/debhelper
- find . -perm +111 -maxdepth 1 -type f \
+ find . -perm +111 -maxdepth 1 -type f -not -name "*.pl" \
-exec install -p {} debian/tmp/usr/bin \;
- cp dh_lib debian/tmp/usr/lib/debhelper
+ cp -a dh_lib dh_getopt.pl debian/tmp/usr/lib/debhelper
cp -a autoscripts debian/tmp/usr/lib/debhelper
./dh_installdocs TODO README
to build a .deb package or packages.
.SH OPTIONS
.TP
-.B \-v
+.B \-v, \--verbose
Verbose mode; show all commands that modify the package build directory, etc.
.TP
-.B \-a
+.B \-a, \--arch
Build all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Build all architecture independent packages.
.TP
-.B \-ppackage
+.B -ppackage, \--package=package
Build the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.SH NOTES
The
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+ compress=`pkgfile $PACKAGE compress`
- # Run the file name gatering commands from within the directory
+ # Run the file name gathering commands from within the directory
# structure that will be effected.
olddir=`pwd`
doit "cd $TMP"
- if [ -f $olddir/debian/${EXT}compress ]; then
+ if [ "$compress" ]; then
# The config file is a sh script that outputs the files to be compressed
# (typically using find).
- files=`sh $olddir/debian/${EXT}compress 2>/dev/null`
+ files=`sh $olddir/$compress 2>/dev/null`
else
# By default fall back on what the policy manual says to compress.
files=`
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
# General things..
if [ -d $TMP ]; then
by hand.
.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
Install files for all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Install files for all architecture independent packages.
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Install files for the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.TP
-.B \-uparams
+.B \-uparams, \--update-rcd-params=params
Pass "params" to
.BR dpkg-gencontrol (1)
.SH NOTES
dh_installchangelogs \- install changelogs into package build directories
.SH SYNOPSIS
.B dh_installchangelogs
-.I "[-v] [-a] [-i] [-ppackage] [-Ptmpdir] upstream"
+.I "[-v] [-a] [-i] [-ppackage] [-Ptmpdir] [upstream]"
.SH "DESCRIPTION"
dh_installchangelogs is a debhelper program that is responsible for installing
changelogs into package build directories.
as usr/doc/package/changelog in the package build directory.
.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
Install changelogs for all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Install changelogs for all architecture independent packages.
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Install changelogs for the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
+.TP
+.B upstream
+Instal this file as the upstream changelog.
.SH NOTES
The
.B \-a
binary package this cron script goes into.
.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
Install cron files for all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Install cron files for all architecture independent packages.
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Install cron files for the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.SH NOTES
The
, and are shell script fragments.
.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
Install files for all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Install files for all architecture independent packages.
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Install files for the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.SH NOTES
The
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+ file=`pkgfile $PACKAGE dirs`
if [ ! -d $TMP ]; then
doit "install -d $TMP"
dirs=""
- if [ -e debian/${EXT}dirs ]; then
- dirs=`tr "\n" " " < debian/${EXT}dirs`
+ if [ "$file" ]; then
+ dirs=`tr "\n" " " < $file`
fi
if [ \( "$PACKAGE" = "$DH_FIRSTPACKAGE" -o "$DH_PARAMS_ALL" \) \
default, this is the first binary package in debian/control, but if you use
-p, -i, or -a flags, it will be the first package specified by those flags.
.P
-A file named debian/dirs (for the first binary package in debian/control),
-or debian/package.dirs (for each additional package in debian/control) can
-list other directories to be created. Separate the directory names with
-whitespace.
+A file named debian/package.dirs (debian/dirs may be used for the first
+binary package in debian/control) can list other directories to be created.
+Separate the directory names with whitespace.
.P
Be sure to only use directory names relative to the package build
directory. Ie, "/usr/bin" should not be used, use "usr/bin" instead.
debian/TODO will be installed named TODO.Debian, if the package is not a
debian native package.
.P
-A file named debian/docs (for the first binary package in debian/control),
-or debian/package.docs (for each additional package in debian/control) can
-list other files to be installed.
+A file named debian/package.docs (debian/docs may be used for the first
+binary package in debian/control) can list other files to be installed.
.SH OPTIONS
.TP
.B \-v
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+ file=`pkgfile $PACKAGE examples`
examples=""
- if [ -e debian/${EXT}examples ]; then
- examples=`tr "\n" " " < debian/${EXT}examples`
+ if [ "$file" ]; then
+ examples=`tr "\n" " " < $file`
fi
if [ \( "$PACKAGE" = "$DH_FIRSTPACKAGE" -o "$DH_PARAMS_ALL" \) \
binary package in debian/control, but if you use -p, -i, or -a flags, it
will be the first package specified by those flags.
.P
-A file named debian/examples (for the first binary package in debian/control),
-or debian/package.examples (for each additional package in debian/control) can
-list other files to be installed.
+A file named debian/package.examples (debian/examples may be used for the
+first binary package in debian/control) can list other files to be installed.
.SH OPTIONS
.TP
.B \-v
PATH=debian:$PATH:/usr/lib/debhelper
. dh_lib
-# This works around a bug in getopt(1), where it ignores some parameters.
-# Sigh.
-if [ "$*" ]; then
- DH_U_PARAMS="$DH_U_PARAMS $*"
-fi
-
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
init=`pkgfile $PACKAGE init`
needed to set up the symlinks in /etc/rc*.d/ and to start and stop the init
scripts.
.P
-If a file named debian/init exists, then it is installed into
-etc/init.d/package in the package build directory (with "package" replaced
-by the package name, unless the -d flag is specified, see below)
-.P
-For packages other than the first binary package listed in
-the control file, use debian/package.init instead (replace "package" with
-the name of the package.)
+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 packagename. (You may use debian/init for the first binary package
+listed in the control file.)
.SH OPTIONS
.TP
.B \-v
# Find all filenames that look like man pages.
# .ex files are examples installed by deb-make, we don't want those, or
# .in files, which are from configure.
- for file in `find * -name "*.[1-9]*" ! -name "*.ex" ! -name "*.in" | grep -v ^$TMP`; do
+ # We also need to exclude all debian/tmp type dirs.
+ EXCLUDE=`grep ^Package: debian/control | cut -d " " -f 2 | tac | tr "\n" "|"`
+ for file in `find * -name "*.[1-9]*" ! -name "*.ex" ! -name "*.in" | egrep -v "^debian/(${EXCLUDE}tmp)"`; do
# Make sure file thinks they are man pages.
if file $file|grep -q roff; then
if echo $file|grep -q /; then
Files specified as parameters that contain spaces in their filenames will
not be processed properly.
.P
+By default, all man pages are installed into all binary packages, which is
+almost never what you really want (use -p to work around this).
+.P
This is a "Do what I Mean" type program - you have been warned!
.SH AUTHOR
Joey Hess <joeyh@master.debian.org>
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+ menu=`pkgfile $PACKAGE menu`
+ menu_method=`pkgfile $PACKAGE menu-method`
- if [ -e debian/${EXT}menu ]; then
+ if [ "$menu" ]; then
if [ ! -d $TMP/usr/lib/menu ]; then
doit "install -d $TMP/usr/lib/menu"
fi
- doit "install -p -m644 debian/${EXT}menu $TMP/usr/lib/menu/$PACKAGE"
+ doit "install -p -m644 $menu $TMP/usr/lib/menu/$PACKAGE"
# Add the scripts if a menu-method file doesn't exist.
# The scripts for menu-method handle everything these do, too.
- if [ ! -e debian/${EXT}menu-method -a ! "$DH_NOSCRIPTS" ]; then
+ if [ ! "$menu_method" -a ! "$DH_NOSCRIPTS" ]; then
autoscript "postinst" "postinst-menu"
autoscript "postrm" "postrm-menu"
fi
fi
- if [ -e debian/${EXT}menu-method ]; then
+ if [ "$menu_method" ]; then
if [ ! -d $TMP/etc/menu-methods ]; then
doit "install -d $TMP/etc/menu-methods"
fi
- doit "install -p debian/${EXT}menu-method $TMP/etc/menu-methods/$PACKAGE"
+ doit "install -p $menu_method $TMP/etc/menu-methods/$PACKAGE"
if [ ! "$DH_NOSCRIPTS" ]; then
autoscript "postinst" "postinst-menu-method" "s/#PACKAGE#/$PACKAGE/"
.BR dh_installdeb (1)
for an explanation of how this works.
.P
-If a file named debian/menu exists, then it is installed into
+If a file named debian/package.menu exists, then it is installed into
usr/lib/menu/package in the package build directory. This is a debian menu
file.
.P
-If a file named debian/menu-method exits, then it is installed into
+If a file named debian/package.menu-method exits, then it is installed into
etc/menu-methods/package in the package build directory. This is a debian
menu method file.
.P
-For packages other than the first binary package listed in
-the control file, use debian/package.menu and debian/package.menu-method
-instead (replace "package" with the name of the package.)
+For the first first binary package listed in the control file, you may use
+debian/menu and debian/menu-method instead.
.SH OPTIONS
.TP
.B \-v
# Library functions for debhelper programs.
+#
+# Joey Hess, GPL copyright 1997, 1998.
# Run a command, and display the command to stdout if verbose mode is on.
# All commands that modifiy files in $TMP should be ran via this
# Argument processing and global variable initialization is below.
-# Parse command line.
-set -- `getopt xvidrnakVAp:P:u:m: $*`
-
-for i; do
- case "$i"
- in
- -v)
- DH_VERBOSE=1
- shift
- ;;
- -i)
- get_arch_indep_packages
- DH_DOPACKAGES="$DH_DOPACKAGES $INDEP_PACKAGES"
- DH_DOINDEP=1
- shift
- ;;
- -a)
- get_arch_indep_packages
- DH_DOPACKAGES="$DH_DOPACKAGES $ARCH_PACKAGES"
- DH_DOARCH=1
- shift
- ;;
- -p)
- DH_DOPACKAGES="$DH_DOPACKAGES $2"
- shift
- shift
- ;;
- -n)
- DH_NOSCRIPTS=1
- shift
- ;;
- -x)
- DH_EXCLUDE=1
- shift
- ;;
- -d)
- DH_D_FLAG=1
- shift
- ;;
- -r)
- DH_R_FLAG=1
- shift
- ;;
- -k)
- DH_K_FLAG=1
- shift
- ;;
- -P)
- DH_TMPDIR="$2"
- shift
- shift
- ;;
- -u)
- DH_U_PARAMS="$2"
- shift
- shift
- ;;
- -m)
- DH_M_PARAMS="$2"
- shift
- shift
- ;;
- -V)
- DH_V_FLAG=1
- shift
- ;;
- -A)
- DH_PARAMS_ALL=1
- shift
- ;;
- --)
- shift
- break
- ;;
- esac
+# Check to see if an argument on the command line starts with a dash.
+# if so, we need to pass this off to the resource intensive perl.
+for arg; do
+ if expr "$arg" : '-' >/dev/null ; then
+ parseopt=1
+ break
+ fi
done
+if [ "$parseopt" ]; then
+ parseopt=""
+ # Parse command line. I wrote a perl program to do this becuase
+ # getopt(1) is so broken. Note: the quotes around $@ are very
+ # important!
+ eval `dh_getopt.pl "$@"`
+ if [ "$DH_PARSE_ERROR" ]; then
+ error "$DH_PARSE_ERROR"
+ fi
+fi
# Get the name of the main binary package (first one listed in
# debian/control).
MAINPACKAGE=`grep ^Package: debian/control | cut -d " " -f 2 | head -1`
-# Remove leading spaces from DH_DOPACKAGES.
-if expr "$DH_DOPACKAGES" : ' *.*' >/dev/null ; then
- DH_DOPACKAGES_NEW=`expr "$DH_DOPACKAGES" : ' *\(.*\)'`
-fi
-
# Check if packages to build have been specified, if not, fall back to
# the default, doing them all.
if [ ! "$DH_DOPACKAGES" ]; then
done
# Check to see if: DH_FIRSTPACKAGE is not the MAINPACKAGE, and
-# some command line arguemnts are passed. Display a warning, becuase
+# some command line arguements are passed. Display a warning, becuase
# debhelper's behaviour has changed in this case.
if [ "$DH_FIRSTPACKAGE" != "$MAINPACKAGE" -a "$*" ]; then
echo `basename $0`": Warning: my behavior has changed, and command line" >&2
The md5sums file is installed with proper permissions and ownerships.
.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
Generate md5sums files for all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Generate md5sums files for all architecture independent packages.
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Generate md5sums file for the package named "package".
.TP
-.B \-x
+.B \-x, \--include-conffiles
Include conffiles in the md5sums list. Note that this is redundant, and
included elsewhere in debian packages.
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.SH NOTES
The
whitespace.
.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
Move files for all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Move files for all architecture independent packages.
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Move files for the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.SH NOTES
The
by hand.
.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
Install files for all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Install files for all architecture independent packages.
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Install files for the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.TP
-.B \-uparams
+.B \-uparams, \--dpkg-shlibdeps-params=params
Pass "params" to
.BR dpkg-shlibdeps (1)
.SH NOTES
used in debugging, and will not strip them.
.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
Strip files in all architecture dependent packages.
.TP
-.B \-i
+.B \-i, \--indep
Strip files in all architecture independent packages (likely, this is
pointless :-).
.TP
-.B \-ppackage
+.B \-ppackage, \--package=package
Strip files for the package named "package".
.TP
-.B \-Ptmpdir
+.B \-Ptmpdir, \--tmpdir=tmpdir
Use "tmpdir" for package build directory.
.SH NOTES
The
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+ suid=`pkgfile $PACKAGE suid`
files=""
- if [ -e debian/${EXT}suid ]; then
- files=`tr "\n" " " < debian/${EXT}suid`
+ if [ "$suid" ]; then
+ files=`tr "\n" " " < $suid`
fi
if [ \( "$PACKAGE" = "$DH_FIRSTPACKAGE" -o "$DH_PARAMS_ALL" \) \
files="$* $files"
fi
- if [ ! "$files" -a ! -e debian/${EXT}suid ]; then
+ if [ ! "$files" -a ! "$suid" ]; then
# No files specified (and no empty debian/suid file), so
# guess what files to process.
files=`find $TMP -type f -perm +6000`
binary package in debian/control, but if you use -p, -i, or -a flags,
it will be the first package specified by those flags.
.P
-The files debian/suid (for the first binary package in debian/control) or
-debian/package.suid (for each additional package in debian/control) can
-list other files to be registered.
+Files named debian/package.suid (or debian/suid for the first binary package
+in debian/control) can list other files to be registered.
.P
If neither of these methods is used to specify files, dh_suidregister will
scan the package build directory for files that have suid permissions, and
it exits with an error.
.SH OPTIONS
.TP
-.B \-v
+.B \-v, \--verbose
Verbose mode; show all commands that modify the package build directory.
This currently has no effect.
.TP
to work around this.
.SH OPTIONS
.TP
-.B \-v
+.B \-v, \--verbose
Verbose mode; show all commands that modify the package build directory.
This currently has no effect.
.SH ENVIRONMENT
for PACKAGE in $DH_DOPACKAGES; do
TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+ undocumented=`pkgfile $PACKAGE undocumented`
undoc=""
- if [ -e debian/${EXT}undocumented ]; then
- undoc=`tr "\n" " " < debian/${EXT}undocumented`
+ if [ "$undocumented" ]; then
+ undoc=`tr "\n" " " < $undocumented`
fi
if [ \( "$PACKAGE" = "$DH_FIRSTPACKAGE" -o "$DH_PARAMS_ALL" \) \
to act on. By default, this is the first binary package in debian/control,
but if you use -p, -i, or -a flags, it will be the first package specified
by those flags.
-Also, a file named debian/undocumented (for the first binary package in
-debian/control), or debian/package.undocumented (for each additional package
-in debian/control) can list other man page names to set up.
+Also, a file named debian/package.undocumented (or debian/undocumented, for
+the first binary package in debian/control) can list other man page names to
+set up.
.SH OPTIONS
.TP
.B \-v