From b9a42c8f8960f369b939214ac3ac68e096914990 Mon Sep 17 00:00:00 2001 From: Jesse Weaver Date: Mon, 9 Jun 2014 19:25:47 -0600 Subject: [PATCH] [PASSED QA] 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 Signed-off-by: Owen Leonard Signed-off-by: Katrin Fischer Passes all tests and QA script. --- C4/Installer/PerlDependencies.pm | 5 +++++ debian/list-deps | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/C4/Installer/PerlDependencies.pm b/C4/Installer/PerlDependencies.pm index 8914a6b..e8cf6ff 100644 --- a/C4/Installer/PerlDependencies.pm +++ b/C4/Installer/PerlDependencies.pm @@ -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; diff --git a/debian/list-deps b/debian/list-deps index 8d50164..f12d088 100755 --- a/debian/list-deps +++ b/debian/list-deps @@ -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. } -- 1.8.3.2