diff options
author | joey <joey> | 2003-08-22 19:40:51 +0000 |
---|---|---|
committer | joey <joey> | 2003-08-22 19:40:51 +0000 |
commit | 917726187d01b79c7aa454a953f2e483a5171061 (patch) | |
tree | 7f614ae4c96f9cd3facf2f25e1be5c49a2c7ff15 /Debian | |
parent | 5dd373940d0348cc4dce74d0b0aa148d35b29934 (diff) | |
download | debhelper-917726187d01b79c7aa454a953f2e483a5171061.tar.gz |
r1596: * Remove duplicate packages from DOPACKAGES after argument processing.version_4.1.68
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
Diffstat (limited to 'Debian')
-rw-r--r-- | Debian/Debhelper/Dh_Getopt.pm | 12 | ||||
-rw-r--r-- | Debian/Debhelper/Dh_Lib.pm | 28 |
2 files changed, 34 insertions, 6 deletions
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. { |