diff options
Diffstat (limited to 'dh_lib')
-rw-r--r-- | dh_lib | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/dh_lib b/dh_lib deleted file mode 100644 index a0f8bb91..00000000 --- a/dh_lib +++ /dev/null @@ -1,188 +0,0 @@ -# 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 -# function. -# Note that this cannot handle complex commands, especially anything -# involving redirection. Use complex_doit instead. -doit() { - verbose_echo "$@" - if [ ! "$DH_NO_ACT" ]; then - eval '$@' - fi -} - - -# This is an identical command to doit, except the parameter passed to it -# are evaled with double quotes. This version can handle compound commands. -complex_doit() { - verbose_echo "$@" - if [ ! "$DH_NO_ACT" ]; then - eval "$@" - fi -} - -# Echo something if the verbose flag is on. -verbose_echo() { - if [ "$DH_VERBOSE" ]; then - echo " $@" - fi -} - -# Echo an error message and exit. -error() { - echo `basename $0`": $1" >&2 - exit 1 -} - -# Output a warning. -warning() { - echo `basename $0`": $1" >&2 -} - -# Pass it a name of a binary package, it returns the name of the tmp dir to -# use, for that package. -# This is for back-compatability with the debian/tmp tradition. -tmpdir() { - if [ "$DH_TMPDIR" ]; then - echo "$DH_TMPDIR" - elif [ "$1" = "$MAINPACKAGE" ]; then - echo debian/tmp - else - echo "debian/$PACKAGE" - fi -} - -# Pass this the name of a binary package, and the name of the file wanted -# for the package, and it will return the actual filename to use. For -# example if the package is foo, and the file is somefile, it will look for -# debian/somefile, and if found return that, otherwise, if the package is -# the main package, it will look for debian/foo, and if found, return that. -# Failing that, it will return nothing. -pkgfile() { - if [ -e "debian/$1.$2" ]; then - echo "debian/$1.$2" - elif [ "$1" = "$MAINPACKAGE" -a -e "debian/$2" ]; then - echo "debian/$2" - fi -} - -# Pass it a name of a binary package, it returns the name to prefix to files -# in debian for this package. -pkgext() { - if [ "$1" != "$MAINPACKAGE" ]; then - echo "$PACKAGE." - fi -} - -# Returns 1 if the package is a native debian package, null otherwise. -# As a side effect, sets $VERSION to the version of this package. -# Caches return code so it only needs to run dpkg-parsechangelog once. -isnative() { - if [ -z "$DH_ISNATIVE" ]; then - # Make sure we look at the correct changelog. - isnative_changelog=`pkgfile $PACKAGE changelog` - if [ ! "$isnative_changelog" ]; then - isnative_changelog=debian/changelog - fi - # Get the package version. - # Note that the 2>/dev/null is because a bug in dpkg-parsechangelog makes it - # output a bogus error message to stderr. - # If it actually has a real error, then the expr will fail, and this whole - # script will come crashing to a halt, which is good enough to inform - # the user something's wrong. :-) - VERSION=`expr "\`dpkg-parsechangelog -l$isnative_changelog 2>/dev/null\`" : \ - '.*Version: \(.*\).*Distribution:'` - # Is this a native Debian package? - if expr "$VERSION" : '.*-' >/dev/null; then - DH_ISNATIVE=1 - else - DH_ISNATIVE=0 - fi - fi - - return "$DH_ISNATIVE" -} - -# Automatically add a shell script snippet to a debian script. -# Only works if the script has #DEBHELPER# in it. -# -# Parameters: -# 1: script to add to -# 2: filename of snippet -# 3: sed commands to run on the snippet. Ie, s/#PACKAGE#/$PACKAGE/ -autoscript() { - autoscript_script=$1 - autoscript_filename=$2 - autoscript_sed=$3 - autoscript_debscript=debian/`pkgext $PACKAGE`$autoscript_script.debhelper - - if [ -e "$DH_AUTOSCRIPTDIR/$autoscript_filename" ]; then - autoscript_filename="$DH_AUTOSCRIPTDIR/$autoscript_filename" - else - if [ -e "/usr/lib/debhelper/autoscripts/$autoscript_filename" ]; then - autoscript_filename="/usr/lib/debhelper/autoscripts/$autoscript_filename" - else - error "/usr/lib/debhelper/autoscripts/$autoscript_filename does not exist" - fi - fi - - complex_doit "echo \"# Automatically added by `basename $0`\" >> $autoscript_debscript" - complex_doit "sed \"$autoscript_sed\" $autoscript_filename >> $autoscript_debscript" - complex_doit "echo '# End automatically added section' >> $autoscript_debscript" -} - -# Argument processing and global variable initialization is below. - -# If DH_OPTIONS is set, prepend it to the command line. -if [ "$DH_OPTIONS" ]; then - set -- $DH_OPTIONS $@ -fi - -# 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` - -# Check if packages to build have been specified, if not, fall back to -# the default, doing them all. -if [ ! "$DH_DOPACKAGES" ]; then - if [ "$DH_DOINDEP" -o "$DH_DOARCH" -o "$DH_DOSAME" ]; then - error "I have no package to build." - fi - DH_DOPACKAGES=`grep ^Package: debian/control | cut -d " " -f 2 | tr "\n" " "` -fi - -# Check to see if -P was specified. If so, we can only act on a single -# package. -if [ "$DH_TMPDIR" ] && echo "$DH_DOPACKAGES" | egrep -q '.+ .+' ; then - error "-P was specified, but multiple packages would be acted on." -fi - -# Figure out which package is the first one we were instructed to build. -# This package gets special treatement, files and directories specified on -# the command line may effect it. -for PACKAGE in $DH_DOPACKAGES ; do - DH_FIRSTPACKAGE="$PACKAGE" - break -done |