#!/usr/bin/perl =head1 NAME dh_installdirs - create subdirectories in package build directories =cut use strict; use warnings; use Debian::Debhelper::Dh_Lib; our $VERSION = DH_BUILTIN_VERSION; =head1 SYNOPSIS B [S>] [B<-A>] [S ...>] =head1 DESCRIPTION B is a debhelper program that is responsible for creating subdirectories in package build directories. Many packages can get away with omitting the call to B completely. Notably, other B commands are expected to create directories as needed. =head1 FILES =over 4 =item debian/I.dirs Lists directories to be created in I. Generally, there is no need to list directories created by the upstream build system or directories needed by other B commands. =back =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 B<-A> is specified.) =back =cut init(); # PROMISE: DH NOOP WITHOUT dirs foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $file=pkgfile($package,"dirs"); install_dir($tmp) if compat(10); 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. install_dir(@dirs); } } =head1 SEE ALSO L This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut