From bc58ee80318647f129716781e5a518a85c16d1c0 Mon Sep 17 00:00:00 2001 From: Robin Sheat Date: Mon, 11 Jun 2012 16:04:06 +0100 Subject: [PATCH] Bug 8235 - allow a whitelist of modules that aren't in Debian This allows modules that aren't in the main debian repos to be handled by the list-deps script when building a control file. --- debian/list-deps | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/debian/list-deps b/debian/list-deps index d5f6ba3..12e70da 100755 --- a/debian/list-deps +++ b/debian/list-deps @@ -23,6 +23,16 @@ use warnings; use C4::Installer::PerlDependencies; +# These are packages that may not be in the apt archive in a way that +# apt-file can find, e.g. in the Koha repo rather than the regular +# debian one. +my %overrides = ( + 'CGI::Session::Driver::memcached' => 'libcgi-session-driver-memcached-perl', + 'CHI' => 'libchi-perl', + 'CHI::Driver::Memcached' => 'libchi-driver-memcached-perl', + 'Template::Plugin::HtmlToText' => 'libtemplate-plugin-htmltotext-perl', +); + my $deps = $C4::Installer::PerlDependencies::PERL_DEPS; my $prefix = "^/usr/((lib|share)/perl5|(lib|share)/perl/[0-9.]+)"; @@ -31,7 +41,7 @@ foreach my $module (keys %$deps) { my $ver = $deps->{$module}->{'min_ver'}; my $subpath = $module; $subpath =~ s,::,/,g; - my $output = + my $output = qx(apt-file -l -x search "$prefix/$subpath.pm\$"); my @temp = split(/\n/, $output); my @lines = (); @@ -64,6 +74,8 @@ foreach my $module (keys %$deps) { # is no reason to be suspicious of this # commit.) # RM note: suspicious? me? always! + } elsif (exists $overrides{$module}) { + print "$overrides{$module}\n"; } else { print "EEEK: unknown package for $module\n"; } -- 1.7.9.5