+debhelper (1.1.10) unstable; urgency=low
+
+ * It's come to my attention that a few packages use filename globbing in
+ debian/{docs,examples,whatever} files and expect that to work. It used
+ to work before the perl conversion, but it was never _documented_, or
+ intented to work. If you use this in your packages, they are broken and
+ need fixing (and will refuse to build with current versions of debhelper).
+ I apologize for the inconvenience.
+
+ * dh_clean: fixed a bug, intorduced in version 1.1.8, where it didn't
+ remove debian/files properly.
+ * dh_shlibdeps, dh_testdir, dh_testroot, dh_testversion: converted to perl.
+ * Encode the version of debhelper in a sepererate file, so dh_testversion
+ doesn't have to be generated when a new version of debhelper is built.
+ * Removed bogus menu file.
+
+ -- Joey Hess <joeyh@master.debian.org> Mon, 17 Aug 1998 14:15:17 -0700
+
debhelper (1.1.9) unstable; urgency=low
* dh_fixperms: has been removing the +x bits of all doc/*/examples/* files
export DH_AUTOSCRIPTDIR=autoscripts
# 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:
- ./dh_testdir $(test_files)
- sed "s/#DEBHELPER_VERSION#/$(VERSION)/" < dh_testversion.in \
- > dh_testversion
- chmod 755 dh_testversion
+# Nothing to do.
clean:
- ./dh_testdir $(test_files)
+ ./dh_testdir
./dh_testroot
- ./dh_clean dh_testversion
+ ./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/tmp/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 *.pm debian/tmp/usr/lib/debhelper
if ($upstream) {
doit("install","-p","-m644",$upstream,"$TMP/usr/doc/$PACKAGE/changelog");
+ if ($dh{K_FLAG}) {
+ # Install symlink to original name of the upstream changelog file.
+ # Use basename in case original file was in a subdirectory or something.
+ doit("ln","-sf","changelog","$TMP/usr/doc/$PACKAGE/".Dh_Lib::basename($upstream));
+ }
}
}
dh_installchangelogs \- install changelogs into package build directories
.SH SYNOPSIS
.B dh_installchangelogs
-.I "[debhelper options] [upstream]"
+.I "[debhelper options] [-k] [upstream]"
.SH "DESCRIPTION"
dh_installchangelogs is a debhelper program that is responsible for installing
changelogs into package build directories.
.BR debhelper (1)
for a list of options common to all debhelper commands.
.TP
+.B \-k, \--keep
+Keep the original name of the upstream changelog. This will be accomplished
+by installing the upstream changelog as "changelog", and making a symlink from
+that to the original name of the changelog file. This can be useful if the
+upstream changelog has an unusual name, or if other documentation in the
+package refers to the changelog file.
+.TP
.B upstream
Install this file as the upstream changelog.
.SH NOTES
-#!/bin/sh -e
+#!/usr/bin/perl -w
#
# Find dependancies. Simple dpkg-shlibdeps wrapper.
-PATH=debian:$PATH:/usr/lib/debhelper
-. dh_lib
+BEGIN { push @INC, "debian", "/usr/lib/debhelper" }
+use Dh_Lib;
+init();
-for PACKAGE in $DH_DOPACKAGES; do
- TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
+ $TMP=tmpdir($PACKAGE);
+ $EXT=pkgext($PACKAGE);
- # Run dpkg-shlibdeps to generate dependancies.
- filelist=""
- for file in `find $TMP -type f \( -perm +111 -or -name "*.so*" \) | tr "\n" " "` ; do
- case "`file $file`" in
- *ELF*)
- filelist="$file $filelist"
- ;;
- esac
- done
- if [ "$filelist" ]; then
- doit "dpkg-shlibdeps -Tdebian/${EXT}substvars $DH_U_PARAMS $filelist"
- fi
-done
+ my @filelist;
+ my $ff;
+
+ # Generate a list of all ELF binaries in the package.
+ foreach $file (split(/\n/,`find $TMP -type f \\( -perm +111 -or -name "*.so*" \\)`)) {
+ # TODO: this is slow, optimize. Ie, file can run once on multiple files..
+ $ff=`file $file`;
+ if ($ff=~m/ELF/) {
+ push @filelist,$file;
+ }
+ }
+
+ if (@filelist) {
+ doit("dpkg-shlibdeps","-Tdebian/$EXT\substvars",@{$dh{U_PARAMS}},@filelist);
+ }
+}
-#!/bin/sh -e
+#!/usr/bin/perl -w
#
# Checks to make sure we are building the package in the right directory.
# Tests for the existance of debian/control, and for the existance
# of any other files you specify on the command line.
-PATH=debian:$PATH:/usr/lib/debhelper
-. dh_lib
+BEGIN { push @INC, "debian", "/usr/lib/debhelper" }
+use Dh_Lib;
+init();
-for file in debian/control $@; do
- if [ ! -e "$file" ] ; then
- error "\"$file\" not found. Are you sure you are in the correct directory?"
- fi
-done
+foreach $file ('debian/control',@ARGV) {
+ if (! -e $file) {
+ error("\"$file\" not found. Are you sure you are in the correct directory?");
+ }
+}
for a list of environment variables that affect all debhelper commands.
.SH "SEE ALSO"
.BR debhelper (1)
-.SH BUGS
-Files with spaces in their names will not be processed correctly.
.SH AUTHOR
Joey Hess <joeyh@master.debian.org>
-#!/bin/sh -e
+#!/usr/bin/perl -w
#
# Checks to make sure you are root.
-PATH=debian:$PATH:/usr/lib/debhelper
-. dh_lib
+BEGIN { push @INC, "debian", "/usr/lib/debhelper" }
+use Dh_Lib;
+init();
# Test for uid = 0, not username of root, becuase
# some people rename root.
-if [ "`id -u`" != 0 ]; then
- error "You must run this as root."
-fi
+if ($< != 0) {
+ error("You must run this as root.");
+}