1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
#!/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<dh_installdirs> [S<I<debhelper options>>] [B<-A>] [S<I<dir ...>>]
=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<dir ...>
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<debhelper(1)>
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <joeyh@debian.org>
=cut
|