Skip to content

Commit

Permalink
Bug 13758: Move the Koha version from kohaversion.pl
Browse files Browse the repository at this point in the history
It will permit not to run another perl interpreter.

Signed-off-by: Tomas Cohen Arazi <[email protected]>
Signed-off-by: Kyle M Hall <[email protected]>
  • Loading branch information
joubu authored and tomascohen committed May 7, 2015
1 parent e9d3086 commit 11049f9
Show file tree
Hide file tree
Showing 14 changed files with 58 additions and 73 deletions.
7 changes: 4 additions & 3 deletions C4/Auth.pm
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ use C4::Templates; # to get the template
use C4::Languages;
use C4::Branch; # GetBranches
use C4::Search::History;
use Koha;
use Koha::AuthUtils qw(hash_password);
use POSIX qw/strftime/;
use List::MoreUtils qw/ any /;
Expand Down Expand Up @@ -662,7 +663,7 @@ sub _version_check {
# there is no DB version, it's a fresh install,
# go to web installer
# there is a DB version, compare it to the code version
my $kohaversion = C4::Context::KOHAVERSION;
my $kohaversion = Koha::version();

# remove the 3 last . to have a Perl number
$kohaversion =~ s/(.*\..*)\.(.*)\.(.*)/$1$2$3/;
Expand Down Expand Up @@ -1311,7 +1312,7 @@ sub check_api_auth {
# database has not been installed yet
return ( "maintenance", undef, undef );
}
my $kohaversion = C4::Context::KOHAVERSION;
my $kohaversion = Koha::version();
$kohaversion =~ s/(.*\..*)\.(.*)\.(.*)/$1$2$3/;
if ( C4::Context->preference('Version') < $kohaversion ) {

Expand Down Expand Up @@ -1565,7 +1566,7 @@ sub check_cookie_auth {
# database has not been installed yet
return ( "maintenance", undef );
}
my $kohaversion = C4::Context::KOHAVERSION;
my $kohaversion = Koha::version();
$kohaversion =~ s/(.*\..*)\.(.*)\.(.*)/$1$2$3/;
if ( C4::Context->preference('Version') < $kohaversion ) {

Expand Down
33 changes: 2 additions & 31 deletions C4/Context.pm
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ use ZOOM;
use XML::Simple;
use C4::Boolean;
use C4::Debug;
use Koha;
use POSIX ();
use DateTime::TimeZone;
use Module::Load::Conditional qw(can_load);
Expand Down Expand Up @@ -204,36 +205,6 @@ $context = undef; # Initially, no context is set
@context_stack = (); # Initially, no saved contexts


=head2 KOHAVERSION
returns the kohaversion stored in kohaversion.pl file
=cut

sub KOHAVERSION {
my $cgidir = C4::Context->intranetdir;

# Apparently the GIT code does not run out of a CGI-BIN subdirectory
# but distribution code does? (Stan, 1jan08)
if(-d $cgidir . "/cgi-bin"){
my $cgidir .= "/cgi-bin";
}

do $cgidir."/kohaversion.pl" || die "NO $cgidir/kohaversion.pl";
return kohaversion();
}

=head2 final_linear_version
Returns the version number of the final update to run in updatedatabase.pl.
This number is equal to the version in kohaversion.pl
=cut

sub final_linear_version {
return KOHAVERSION;
}

=head2 read_config_file
Reads the specified Koha config file.
Expand Down Expand Up @@ -1199,7 +1170,7 @@ Gets various version info, for core Koha packages, Currently called from carp ha
# A little example sub to show more debugging info for CGI::Carp
sub get_versions {
my %versions;
$versions{kohaVersion} = KOHAVERSION();
$versions{kohaVersion} = Koha::version();
$versions{kohaDbVersion} = C4::Context->preference('version');
$versions{osVersion} = join(" ", POSIX::uname());
$versions{perlVersion} = $];
Expand Down
3 changes: 2 additions & 1 deletion C4/External/OverDrive.pm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ package C4::External::OverDrive;
use strict;
use warnings;

use Koha;
use JSON;
use Koha::Cache;
use HTTP::Request;
Expand All @@ -39,7 +40,7 @@ BEGIN {

sub _request {
my ( $request ) = @_;
my $ua = LWP::UserAgent->new( "Koha " . C4::Context->KOHAVERSION );
my $ua = LWP::UserAgent->new( "Koha " . $KOHA::VERSION );

my $response;
eval {
Expand Down
3 changes: 2 additions & 1 deletion C4/Installer.pm
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ use Encode qw( encode is_utf8 );
our $VERSION = 3.07.00.049;
use C4::Context;
use C4::Installer::PerlModules;
use Koha;

=head1 NAME
Expand Down Expand Up @@ -389,7 +390,7 @@ Koha software version.
sub set_version_syspref {
my $self = shift;

my $kohaversion=C4::Context::KOHAVERSION;
my $kohaversion = Koha::version();
# remove the 3 last . to have a Perl number
$kohaversion =~ s/(.*\..*)\.(.*)\.(.*)/$1$2$3/;
if (C4::Context->preference('Version')) {
Expand Down
20 changes: 20 additions & 0 deletions Koha.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package Koha;

use Modern::Perl;

use vars qw{ $VERSION };

#the kohaversion is divided in 4 parts :
# - #1 : the major number. 3 atm
# - #2 : the functional release. 00 atm
# - #3 : the subnumber, moves only on a public release
# - #4 : the developer version. The 4th number is the database subversion.
# used by developers when the database changes. updatedatabase take care of the changes itself
# and is automatically called by Auth.pm when needed.
$VERSION = "3.19.00.038";

sub version {
return $VERSION;
}

1;
3 changes: 2 additions & 1 deletion Koha/Template/Plugin/Koha.pm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ use Encode qw( encode );
use base qw( Template::Plugin );

use C4::Context;
use Koha;

=pod
Expand All @@ -46,7 +47,7 @@ sub Preference {
}

sub Version {
my $version_string = C4::Context::KOHAVERSION;
my $version_string = Koha::version();
my ($major,$minor,$maintenance,$development) = split('\.',$version_string);

return {
Expand Down
4 changes: 3 additions & 1 deletion about.pl
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
use C4::Context;
use C4::Installer;

use Koha;

#use Smart::Comments '####';

my $query = new CGI;
Expand All @@ -47,7 +49,7 @@
}
);

my $kohaVersion = C4::Context::KOHAVERSION;
my $kohaVersion = Koha::version();
my $osVersion = `uname -a`;
my $perl_path = $^X;
if ($^O ne 'VMS') {
Expand Down
4 changes: 3 additions & 1 deletion installer/data/mysql/updatedatabase.pl
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
use C4::Dates;
use Koha::Database;

use Koha;

use MARC::Record;
use MARC::File::XML ( BinaryEncoding => 'utf8' );

Expand Down Expand Up @@ -10509,7 +10511,7 @@ sub CheckVersion {
return 1 if ( $proposed_version =~ m/XXX/ );

if ( C4::Context->preference("Version") < $version_number
&& $version_number <= TransformToNum( C4::Context->final_linear_version ) )
&& $version_number <= TransformToNum( $Koha::VERSION ) )
{
return 1;
}
Expand Down
4 changes: 3 additions & 1 deletion installer/install.pl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
use C4::Languages qw(getAllLanguages getTranslatedLanguages);
use C4::Installer;

use Koha;

my $query = new CGI;
my $step = $query->param('step');

Expand Down Expand Up @@ -398,7 +400,7 @@
$dbversion = "$1.$2.$3.$4";
$template->param("upgrading" => 1,
"dbversion" => $dbversion,
"kohaversion" => C4::Context->KOHAVERSION,
"kohaversion" => Koha::version(),
);
}
}
Expand Down
19 changes: 3 additions & 16 deletions kohaversion.pl
Original file line number Diff line number Diff line change
@@ -1,23 +1,10 @@
# the next koha public release version number;

=head1 FUNCTIONS
=head2 kohaversion
the kohaversion is divided in 4 parts :
- #1 : the major number. 3 atm
- #2 : the functional release. 00 atm
- #3 : the subnumber, moves only on a public release
- #4 : the developer version. The 4th number is the database subversion.
used by developers when the database changes. updatedatabase take care of the changes itself
and is automatically called by Auth.pm when needed.
=cut

use strict;
use Modern::Perl;
use Koha;

sub kohaversion {
our $VERSION = '3.19.00.038';
our $VERSION = $Koha::VERSION;
# version needs to be set this way
# so that it can be picked up by Makefile.PL
# during install
Expand Down
6 changes: 4 additions & 2 deletions opac/maintenance.pl
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@
use C4::Output;
use C4::Templates qw/gettemplate/;

use Koha;

my $query = new CGI;
my $template = C4::Templates::gettemplate( 'maintenance.tt', 'opac', $query, 0 );

my $koha_db_version = C4::Context->preference('Version');
my $kohaversion = C4::Context::KOHAVERSION;
my $kohaversion = Koha::version();
# Strip dots from version
$kohaversion =~ s/\.//g if defined $kohaversion;
$koha_db_version =~ s/\.//g if defined $koha_db_version;
Expand All @@ -40,4 +42,4 @@
print $query->redirect("/cgi-bin/koha/opac-main.pl");
}

1;
1;
4 changes: 3 additions & 1 deletion opac/svc/overdrive_proxy
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ use C4::Context;
use C4::External::OverDrive;
use C4::Output;

use Koha;

my $query = new CGI;

my $token;
Expand All @@ -62,7 +64,7 @@ if ( !IsOverDriveEnabled() || !( $token = GetOverDriveToken() ) ) {
my $request = HTTP::Request::Common::GET( "https://api.overdrive.com/v1" . $query->path_info . '?' . $query->query_string );
$request->header( Authorization => $token );

my $ua = LWP::UserAgent->new( "Koha " . C4::Context->KOHAVERSION );
my $ua = LWP::UserAgent->new( "Koha " . Koha::version() );

my $response = $ua->request( $request ) ;
if ( $response->code eq '500' ) {
Expand Down
14 changes: 7 additions & 7 deletions t/Koha_Template_Plugin_Koha.t
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,19 @@ use String::Random;
use_ok( 'Koha::Template::Plugin::Koha' );
ok( my $cache = Koha::Template::Plugin::Koha->new() );

subtest "Koha::Template::Plugin::Koha::Version tests" => sub {
subtest "Koha::Template::Plugin::Koha::version tests" => sub {

plan tests => 2;

# Variables for mocking KOHAVERSION
# Variables for mocking Koha::version()
my $major;
my $minor;
my $maintenance;
my $development;

# Mock C4::Context::KOHAVERSION
my $context = new Test::MockModule('C4::Context');
$context->mock( 'KOHAVERSION', sub {
# Mock Koha::version()
my $koha = new Test::MockModule('Koha');
$koha->mock( 'Version', sub {
return "$major.$minor.$maintenance.$development";
});

Expand All @@ -49,7 +49,7 @@ subtest "Koha::Template::Plugin::Koha::Version tests" => sub {
$maintenance = $rnd->randregex('\d\d');
$development = $rnd->randregex('\d\d\d');
my $version = "$major.$minor.$maintenance.$development";
my $res = Koha::Template::Plugin::Koha::Version( $version );
my $res = Koha::Template::Plugin::Koha::version( $version );
is_deeply( $res, {
major => $major,
release => $major . "." . $minor,
Expand All @@ -64,7 +64,7 @@ subtest "Koha::Template::Plugin::Koha::Version tests" => sub {
$maintenance = $rnd->randregex('\d\d');
$development = "000";
$version = "$major.$minor.$maintenance.$development";
$res = Koha::Template::Plugin::Koha::Version( $version );
$res = Koha::Template::Plugin::Koha::version( $version );
is_deeply( $res, {
major => $major,
release => $major . "." . $minor,
Expand Down
7 changes: 0 additions & 7 deletions t/db_dependent/Context.t
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,6 @@ BEGIN {

ok($koha = C4::Context->new, 'C4::Context->new');
ok($dbh = C4::Context->dbh(), 'Getting dbh from C4::Context');
ok($ret = C4::Context->KOHAVERSION, ' (function) KOHAVERSION = ' . ($ret||''));
ok($ret = $koha->KOHAVERSION, ' $koha->KOHAVERSION = ' . ($ret||''));
ok(
TransformVersionToNum( C4::Context->final_linear_version ) <=
TransformVersionToNum( C4::Context->KOHAVERSION ),
'Final linear version is less than or equal to kohaversion.pl'
);
my @keys = keys %$koha;
my $width = 0;
if (ok(@keys)) {
Expand Down

0 comments on commit 11049f9

Please sign in to comment.