0x1949 Team - FAZEMRX - MANAGER
Edit File: dh_installdebconf
#!/usr/bin/perl =head1 NAME dh_installdebconf - install files used by debconf in package build directories =cut use strict; use warnings; use Debian::Debhelper::Dh_Lib; our $VERSION = DH_BUILTIN_VERSION; =head1 SYNOPSIS B<dh_installdebconf> [S<I<debhelper options>>] [B<-n>] [S<B<--> I<params>>] =head1 DESCRIPTION B<dh_installdebconf> is a debhelper program that is responsible for installing files used by debconf into package build directories. It also automatically generates the F<postrm> commands needed to interface with debconf. The commands are added to the maintainer scripts by B<dh_installdeb>. See L<dh_installdeb(1)> for an explanation of how that works. Note that if you use debconf, your package probably needs to depend on it (it will be added to B<${misc:Depends}> by this program). Note that for your config script to be called by B<dpkg>, your F<postinst> needs to source debconf's confmodule. B<dh_installdebconf> does not install this statement into the F<postinst> automatically as it is too hard to do it right. =head1 FILES =over 4 =item debian/I<package>.config This is the debconf F<config> script, and is installed into the F<DEBIAN> directory in the package build directory. Inside the script, the token B<#DEBHELPER#> is replaced with shell script snippets generated by other debhelper commands. =item debian/I<package>.templates This is the debconf F<templates> file, and is installed into the F<DEBIAN> directory in the package build directory. =item F<debian/po/> If this directory is present, this program will automatically use L<po2debconf(1)> to generate merged templates files that include the translations from there. For this to work, your package should build-depend on F<po-debconf>. =back =head1 OPTIONS =over 4 =item B<-n>, B<--no-scripts> Do not modify F<postrm> script. =item B<--> I<params> Pass the params to B<po2debconf>. =back =cut init(); my @extraparams; if (defined($dh{U_PARAMS})) { @extraparams=@{$dh{U_PARAMS}}; } # PROMISE: DH NOOP WITHOUT config templates cli-options() foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); my $config=pkgfile($package,"config"); my $templates=pkgfile($package,"templates"); install_dir("$tmp/DEBIAN"); if (! is_udeb($package)) { debhelper_script_subst($package, "config"); } if ($templates ne '') { # Are there old-style translated templates? if (glob("$templates.??"), glob("$templates.??_??")) { warning "Ignoring debian/templates.ll files. Switch to po-debconf!"; } umask(0022); # since I do a redirect below if (-d "debian/po") { complex_doit("po2debconf @extraparams $templates > $tmp/DEBIAN/templates"); } else { install_file($templates,"$tmp/DEBIAN/templates"); } } # I'm going with debconf 0.5 because it was the first # "modern" one. udebs just need cdebconf. my $debconfdep=is_udeb($package) ? "cdebconf-udeb" : "debconf (>= 0.5) | debconf-2.0"; if ($config ne '' || $templates ne '') { addsubstvar($package, "misc:Depends", $debconfdep); } if (($config ne '' || $templates ne '') && ! $dh{NOSCRIPTS}) { autoscript($package,"postrm","postrm-debconf"); } } =head1 SEE ALSO L<debhelper(7)> This program is a part of debhelper. =head1 AUTHOR Joey Hess <joeyh@debian.org> =cut