File: dh_ucf

package info (click to toggle)
debhelper 12.1.1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 4,072 kB
  • sloc: perl: 10,850; makefile: 120; sh: 8
file content (108 lines) | stat: -rwxr-xr-x 2,342 bytes parent folder | download | duplicates (5)
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
98
99
100
101
102
103
104
105
106
107
108
#!/usr/bin/perl

=head1 NAME

dh_ucf - register configuration files with ucf 

=cut

use strict;
use warnings;
use Debian::Debhelper::Dh_Lib;

our $VERSION = DH_BUILTIN_VERSION;

=head1 SYNOPSIS

B<dh_ucf> [S<I<debhelper options>>] [B<-A>] [B<-n>] [S<I<file> ...>]

=head1 DESCRIPTION

B<dh_ucf> is a debhelper program that is responsible for generating the
F<postinst> and F<postrm> commands that register files with ucf(1) and ucfr(1).

=head1 FILES

=over 4

=item debian/I<package>.ucf

List pairs of source and destination files to register with ucf. Each pair
should be put on its own line, with the source and destination separated by
whitespace. Both source and destination must be absolute paths. The source
should be a file that is provided by your package, typically in /usr/share/,
while the destination is typically a file in /etc/.

A dependency on ucf will be generated in B<${misc:Depends}>.

=back

=head1 OPTIONS

=over 4

=item B<-A>, B<--all>

Install all files specified by command line parameters in ALL packages
acted on.

=item B<-n>, B<--no-scripts>

Do not modify F<postinst>/F<postrm> scripts. Turns this command into a no-op.

=item I<file> ...

Install these info files into the first package acted on. (Or in
all packages if B<-A> is specified).

=back

=head1 NOTES

Note that this command is not idempotent. L<dh_prep(1)> should be called
between invocations of this command. Otherwise, it may cause multiple
instances of the same text to be added to maintainer scripts.

=cut

init();

# PROMISE: DH NOOP WITHOUT ucf cli-options()

foreach my $package (@{$dh{DOPACKAGES}}) {
	my $file=pkgfile($package,"ucf");

	my @ucf;
	if ($file) {
		@ucf=filedoublearray($file);
	}

	if (($package eq $dh{FIRSTPACKAGE} || $dh{PARAMS_ALL}) && @ARGV) {
		push @ucf, [@ARGV];
	}
	
	if (! $dh{NOSCRIPTS}) {
		if (@ucf) {
			addsubstvar($package, "misc:Depends", "ucf");
		}
		foreach my $set (@ucf) {
			my $src = $set->[0];
			my $dest = $set->[1];
			autoscript($package,"postinst","postinst-ucf","s:#UCFSRC#:$src:g;s:#UCFDEST#:$dest:g;s/#PACKAGE#/$package/g",);
			autoscript($package,"postrm","postrm-ucf","s:#UCFDEST#:$dest:g;s/#PACKAGE#/$package/g");
		}
	}
}

=head1 SEE ALSO

L<debhelper(7)>

This program is a part of debhelper.

=head1 AUTHOR

Joey Hess <joeyh@debian.org>
Jeroen Schot <schot@a-eskwadraat.nl>

=cut