Bug 12393 - Depend on SSL module for LWP, for OverDrive

The OverDrive integration needs to connect to an authentication server
over HTTPS, and many systems do not install the necessary module
(LWP::Protocol::https) by default.

Test plan (for patch):
  1) Run koha_perl_deps.pl -a, verify that LWP::Protocol::https appears in
     listing.

Test plan (to verify that LWP::Protocol::https is necessary, needs OverDrive access):
  1) Remove LWP::Protocol::https (liblwp-protocol-https-perl under Debian).
  2) Run an OverDrive search on the OPAC, it should fail.
  3) Reinstall LWP::Protocol::https.
  4) Rerun OverDrive search, it should now succeed.

Note: older versions of Debian do not need to install LWP::Protocol::https separately;
the Debian scripts have been updated to reflect this divide.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
Jesse Weaver 2014-06-09 19:25:47 -06:00 committed by Tomas Cohen Arazi
parent 38d3443fdd
commit 8599b1dc5d
2 changed files with 12 additions and 5 deletions

View File

@ -732,6 +732,11 @@ our $PERL_DEPS = {
'required' => '1',
'min_ver' => '0.91',
},
'LWP::Protocol::https' => {
'usage' => 'OverDrive integration',
'required' => '0',
'min_ver' => '5.836',
},
};
1;

12
debian/list-deps vendored
View File

@ -25,7 +25,9 @@ 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 = ();
my %overrides = (
'LWP::Protocol::https' => 'liblwp-protocol-https-perl|libwww-perl (<6.02), libio-socket-ssl-perl',
);
# These are packages we're going to ignore
my %ignore = (
@ -55,7 +57,10 @@ foreach my $module ( keys %$deps ) {
@lines = ( @lines, $line );
}
}
if ( scalar(@lines) == 1 && $lines[0] ne "" ) {
if ( exists $overrides{$module} ) {
print "$overrides{$module}\n";
}
elsif ( scalar(@lines) == 1 && $lines[0] ne "" ) {
my $pkg = $lines[0];
print "$pkg\n";
}
@ -80,9 +85,6 @@ foreach my $module ( keys %$deps ) {
# commit.)
# RM note: suspicious? me? always!
}
elsif ( exists $overrides{$module} ) {
print "$overrides{$module}\n";
}
elsif ( ! $deps->{$module}->{'required'} ) {
# Ignore because we don't have it and we don't care.
}