summaryrefslogtreecommitdiff
path: root/dh_installdirs
blob: 340c966e4e8fd69e69d914c19beb944992debdcc (plain)
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
#!/usr/bin/perl -w
#
# Reads debian/dirs, creates the directories listed there

use strict;
use Debian::Debhelper::Dh_Lib;
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);
	}
}