#!/usr/bin/perl -w =head1 NAME dh_ucf - register configuration files with ucf =cut use strict; use Debian::Debhelper::Dh_Lib; =head1 SYNOPSIS B [S>] [B<-n>] =head1 DESCRIPTION B is a debhelper program that is responsible for generating the F and F commands that register files with ucf(1) and ucfr(1). =head1 FILES =over 4 =item debian/I.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<-n>, B<--noscripts> Do not modify F/F scripts. Turns this command into a no-op. =back =head1 NOTES Note that this command is not idempotent. L 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 foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); 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:;s:#UCFDEST#:$dest:;s/#PACKAGE#/$package/",); autoscript($package,"postrm","postrm-ucf","s:#UCFDEST#:$dest:;s/#PACKAGE#/$package/"); } } } =head1 SEE ALSO L This program is a part of debhelper. =head1 AUTHOR Joey Hess Jeroen Schot =cut # Local Variables: # indent-tabs-mode: t # tab-width: 4 # cperl-indent-level: 4 # End: