From 917726187d01b79c7aa454a953f2e483a5171061 Mon Sep 17 00:00:00 2001 From: joey Date: Fri, 22 Aug 2003 19:40:51 +0000 Subject: r1596: * Remove duplicate packages from DOPACKAGES after argument processing. Closes: #112950 * dh_compress: deal with links pointing to links pointing to compressed files, no matter what order find returns them. Closes: #204169 * dh_installmodules, dh_installpam, dh_installcron, dh_installinit, dh_installogrotate: add --name= option, that can be used to specify the name to use for the file(s) installed by these commands. For example, dh_installcron --name=foo will install debian/package.foo.cron.daily to etc/cron.daily/foo. Closes: #138202, #101003, #68545, #148844 (Thanks to Thomas Hood for connecting these bug reports.) * dh_installinit: deprecated --init-script option in favor of the above. * Add dh_installppp. Closes: #43403 --- Debian/Debhelper/Dh_Getopt.pm | 12 ++++++++++-- Debian/Debhelper/Dh_Lib.pm | 28 ++++++++++++++++++++++++---- 2 files changed, 34 insertions(+), 6 deletions(-) (limited to 'Debian') diff --git a/Debian/Debhelper/Dh_Getopt.pm b/Debian/Debhelper/Dh_Getopt.pm index 53db13ae..364187a1 100644 --- a/Debian/Debhelper/Dh_Getopt.pm +++ b/Debian/Debhelper/Dh_Getopt.pm @@ -149,6 +149,8 @@ sub parseopts { "L|libpackage=s" => \$options{LIBPACKAGE}, + "name=s" => \$options{NAME}, + "<>" => \&NonOption, ); @@ -173,13 +175,19 @@ sub parseopts { } push @{$options{DOPACKAGES}},GetPackages(); } - + # Remove excluded packages from the list of packages to act on. + # Also unique the list, in case some options were specified that + # added a package to it twice. my @package_list; my $package; + my %packages_seen; foreach $package (@{$options{DOPACKAGES}}) { if (! $exclude_package{$package}) { - push @package_list, $package; + if (! exists $packages_seen{$package}) { + $packages_seen{$package}=1; + push @package_list, $package; + } } } @{$options{DOPACKAGES}}=@package_list; diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm index 345630d7..0eea0180 100644 --- a/Debian/Debhelper/Dh_Lib.pm +++ b/Debian/Debhelper/Dh_Lib.pm @@ -11,9 +11,9 @@ use Exporter; use vars qw(@ISA @EXPORT %dh); @ISA=qw(Exporter); @EXPORT=qw(&init &doit &complex_doit &verbose_print &error &warning &tmpdir - &pkgfile &pkgext &isnative &autoscript &filearray &filedoublearray - &GetPackages &basename &dirname &xargs %dh &compat &addsubstvar - &delsubstvar &excludefile); + &pkgfile &pkgext &pkgfilename &isnative &autoscript &filearray + &filedoublearray &GetPackages &basename &dirname &xargs %dh + &compat &addsubstvar &delsubstvar &excludefile); my $max_compat=4; @@ -283,10 +283,18 @@ sub tmpdir { # * debian/package.filename.buildarch # * debian/package.filename # * debian/file (if the package is the main package) +# If --name was specified then tonly the first two are tried, and they must +# have the name after the pacage name: +# * debian/package.name.filename.buildarch +# * debian/package.name.filename sub pkgfile { my $package=shift; my $filename=shift; + if (defined $dh{NAME}) { + $filename="$dh{NAME}.$filename"; + } + if (-f "debian/$package.$filename.".buildarch()) { return "debian/$package.$filename.".buildarch(); } @@ -302,7 +310,7 @@ sub pkgfile { } # Pass it a name of a binary package, it returns the name to prefix to files -# in debian for this package. +# in debian/ for this package. sub pkgext { my $package=shift; @@ -312,6 +320,18 @@ sub pkgext { return "$package."; } +# Pass it the name of a binary package, it returns the name to install +# files by in eg, etc. Normally this is the same, but --name can override +# it. +sub pkgfilename { + my $package=shift; + + if (defined $dh{NAME}) { + return $dh{NAME}; + } + return $package; +} + # Returns 1 if the package is a native debian package, null otherwise. # As a side effect, sets $dh{VERSION} to the version of this package. { -- cgit v1.2.3