summaryrefslogtreecommitdiff
path: root/dh_installdirs
diff options
context:
space:
mode:
authorjoey <joey>2000-03-02 21:23:22 +0000
committerjoey <joey>2000-03-02 21:23:22 +0000
commit67b74298f08a3e2b30e43cbcd7cdaccc2e1b1614 (patch)
tree3ce180eedb8c91f9371456f3fb40336b4c7c34dd /dh_installdirs
parentc7f541bd2bc869c366e8242baf1faa6856cd2e39 (diff)
r338: * Patch from Jorgen `forcer' Schaefer <forcer at mindless.com> (much
modified)to make dh_installwm use new window manager registration method, update-alternatives. Closes: #52156, #34684 (latter bug is obsolete) * Fixed $dh{flavor} to be upper-case. * Deprecated dh_installemavcsen --number; use --priority instead. Also, the option parser requires the parameter be a number now. And, dh_installwm now accepts --priority, and window manager packages should start using it. * dh_installwm now behaves like a proper debhelper command, and reads debian/<package>.wm too. This is a small behavior change; filenames specified on the command line no longer apply to all packages it acts on. I can't belive this program existed for 2 years with such a glaring problem; I guess most people don't need ot register 5 wm's in 3 sub-packages. Anyway, it can handle such things now. :-) * Moved Dh_*.pm to /usr/lib/perl5/Debian/Debhelper. *big* change.
Diffstat (limited to 'dh_installdirs')
-rwxr-xr-xdh_installdirs62
1 files changed, 32 insertions, 30 deletions
diff --git a/dh_installdirs b/dh_installdirs
index bab883d7..1ecf907e 100755
--- a/dh_installdirs
+++ b/dh_installdirs
@@ -1,39 +1,41 @@
-#!/bin/sh -e
+#!/usr/bin/perl -w
#
-# Reads debian/dirs, creates the directories listed there there
+# Reads debian/dirs, creates the directories listed there
-PATH=debian:$PATH:/usr/lib/debhelper
-. dh_lib
+use Debian::Debhelper::Dh_Lib;
+init();
-for PACKAGE in $DH_DOPACKAGES; do
- TMP=`tmpdir $PACKAGE`
- EXT=`pkgext $PACKAGE`
+foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
+ $TMP=tmpdir($PACKAGE);
+ $file=pkgfile($PACKAGE,"dirs");
- if [ ! -d $TMP/usr/doc/$PACKAGE ]; then
- doit "install -d $TMP/usr/doc/$PACKAGE"
- fi
+ if (! -e $TMP) {
+ doit("install","-d",$TMP);
+ }
- dirs=""
+ undef @dirs;
- if [ -e debian/${EXT}dirs ]; then
- dirs=`tr "\n" " " < debian/${EXT}dirs`
- fi
+ if ($file) {
+ @dirs=filearray($file)
+ }
- if [ "$PACKAGE" = "$MAINPACKAGE" -a "$*" ]; then
- dirs="$* $dirs"
- fi
+ if (($PACKAGE eq $dh{FIRSTPACKAGE} || $dh{PARAMS_ALL}) && @ARGV) {
+ push @dirs, @ARGV;
+ }
+
+ if (@dirs) {
+ # Stick the $TMP onto the front of all the dirs.
+ # This is necessary, for 2 reasons, one to make them
+ # be in the right directory, but more importantly, it
+ # protects against the danger of absolute dirs being
+ # specified.
+ @dirs=map {
+ $_="$TMP/$_";
+ tr:/:/:s; # just beautification.
+ $_
+ } @dirs;
- if [ "$dirs" ]; then
- # Check to see if any of the dirs are absolute.
- for dir in "$dirs" ; do
- if expr "$dir" : "/" >/dev/null ; then
- error "Absolute directory name \"$dir\" specified."
- fi
- done
# Create dirs.
- verbose_echo "cd $TMP && install -d $dirs && cd ../.."
- cd $TMP
- install -d $dirs
- cd ../..
- fi
-done
+ doit("install","-d",@dirs);
+ }
+}