summaryrefslogtreecommitdiff
path: root/dh_installdebconf
blob: 82d69d017d49de67a7cf34ceb7d2a335eafb8c8e (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
#!/usr/bin/perl -w
#
# Integration with debconf.

use Debian::Debhelper::Dh_Lib;
init();

foreach $PACKAGE (@{$dh{DOPACKAGES}}) {
	$TMP=tmpdir($PACKAGE);
	$config=pkgfile($PACKAGE,"config");
	$templates=pkgfile($PACKAGE,"templates");

	if (! -d "$TMP/DEBIAN") {
		doit("install","-o","root","-g","root","-d","$TMP/DEBIAN");
	}

	if ($config ne '') {
		doit("install", "-o", "root", "-g", "root", "-m", 755, "-p",
		     $config, "$TMP/DEBIAN/config");
	}
	
	if ($templates ne '') {
		# Are there translated templates too?
		my @trans=glob("$templates.??");
		if (@trans) {
			complex_doit("debconf-mergetemplate @trans $templates > $TMP/DEBIAN/templates");
			chmod 0644, "$TMP/DEBIAN/templates";
			chown 0, 0, "$TMP/DEBIAN/templates";
		}
		else {
			doit("install", "-o", "root", "-g", "root", "-m", 644, "-p",
			     $templates, "$TMP/DEBIAN/templates");
		}
	}

	if (($config ne ''|| $templates ne '') && ! $dh{NOSCRIPTS}) {
		autoscript($PACKAGE,"postrm","postrm-debconf");
	}
}