#!/usr/bin/perl -w =head1 NAME dh_installdirs - create subdirectories in package build directories =cut use strict; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS B [S>] [B<-A>] [S>] =head1 DESCRIPTION dh_installdirs is a debhelper program that is responsible for creating subdirectories in package build directories. Any directory names specified as parameters will be created in the package build directory of the first package dh_installdirs is told 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. A file named debian/package.dirs can list other directories to be created. Separate the directory names with whitespace. Be sure to only use directory names relative to the package build directory. Ie, "/usr/bin" should not be used, use "usr/bin" instead. =head1 OPTIONS =over 4 =item B<-A>, B<--all> Create any directories specified by command line parameters in ALL packages acted on, not just the first. =item I Create these directories in the package build directory of the first package acted on. (Or in all packages if -A is specified.) =back =cut init(); foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $file=pkgfile($package,"dirs"); if (! -e $tmp) { doit("install","-d",$tmp); } my @dirs; if ($file) { @dirs=filearray($file) } 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; # Create dirs. doit("install","-d",@dirs); } } =head1 SEE ALSO L This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut