Hello community,
here is the log from the commit of package perl-Apache-Session for
openSUSE:Factory checked in at 2015-04-15 16:24:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Apache-Session (Old)
and /work/SRC/openSUSE:Factory/.perl-Apache-Session.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Apache-Session"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Apache-Session/perl-Apache-Session.changes
2014-02-24 14:12:20.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Apache-Session.new/perl-Apache-Session.changes
2015-04-15 16:24:22.000000000 +0200
@@ -1,0 +2,12 @@
+Tue Apr 14 09:27:20 UTC 2015 - [email protected]
+
+- updated to 1.93
+ see /usr/share/doc/packages/perl-Apache-Session/CHANGES
+
+ 1.93 2014-04-12
+ - even more test fixes
+
+ 1.92 2014-03-08
+ - more test fixes
+
+-------------------------------------------------------------------
Old:
----
Apache-Session-1.91.tar.gz
New:
----
Apache-Session-1.93.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Apache-Session.spec ++++++
--- /var/tmp/diff_new_pack.L3mK8S/_old 2015-04-15 16:24:22.000000000 +0200
+++ /var/tmp/diff_new_pack.L3mK8S/_new 2015-04-15 16:24:22.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Apache-Session
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,61 +17,62 @@
Name: perl-Apache-Session
-BuildRequires: apache2-devel
-BuildRequires: apache2-mod_perl
-BuildRequires: dos2unix
-BuildRequires: libapr-util1-devel
-BuildRequires: pcre-devel
-BuildRequires: perl-DBI
-BuildRequires: perl-macros
-BuildRequires: perl(Module::Build)
-BuildRequires: perl(Test::Deep) >= 0.082
-BuildRequires: perl(Test::Exception) >= 0.15
-Version: 1.91
+Version: 1.93
Release: 0
-Provides: Apache-Session
-Requires: apache2
-Requires: apache2-mod_perl
-Requires: perl-DBI
-Requires: perl-URI
-Conflicts: perlmod
-Url: http://cpan.org/modules/by-module/Apache/
-Source: Apache-Session-%{version}.tar.gz
-Summary: persistent storage for arbitrary data
+%define cpan_name Apache-Session
+Summary: A persistence framework for session data
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
+Url: http://search.cpan.org/dist/Apache-Session/
+Source:
http://www.cpan.org/authors/id/C/CH/CHORNY/%{cpan_name}-%{version}.tar.gz
+BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-#BuildRequires: perl(Test::Database)
+BuildRequires: perl
+BuildRequires: perl-macros
+BuildRequires: perl(Module::Build)
+BuildRequires: perl(Test::Deep) >= 0.082
+BuildRequires: perl(Test::Exception) >= 0.15
%{perl_requires}
%description
-These modules provide persistent storage for arbitrary data, in
-arbitrary backing stores. The details of interacting with the backing
-store are abstracted to make all backing stores behave alike. The
-programmer simply interacts with a tied hash.
+Apache::Session is a persistence framework which is particularly useful for
+tracking session data between httpd requests. Apache::Session is designed
+to work with Apache and mod_perl, but it should work under CGI and other
+web servers, and it also works outside of a web server altogether.
+
+Apache::Session consists of five components: the interface, the object
+store, the lock manager, the ID generator, and the serializer. The
+interface is defined in Session.pm, which is meant to be easily subclassed.
+The object store can be the filesystem, a Berkeley DB, a MySQL DB, an
+Oracle DB, a Postgres DB, Sybase, or Informix. Locking is done by lock
+files, semaphores, or the locking capabilities of the various databases.
+Serialization is done via Storable, and optionally ASCII-fied via MIME or
+pack(). ID numbers are generated via MD5. The reader is encouraged to
+extend these capabilities to meet his own requirements.
+
+A derived class of Apache::Session is used to tie together the three
+following components. The derived class inherits the interface from
+Apache::Session, and specifies which store and locker classes to use.
+Apache::Session::MySQL, for instance, uses the MySQL storage class and also
+the MySQL locking class. You can easily plug in your own object store or
+locker class.
%prep
-%setup -q -n Apache-Session-%{version}
-dos2unix INSTALL CHANGES TODO README eg/example.perl
+%setup -q -n %{cpan_name}-%{version}
%build
-perl Makefile.PL
-make %{?_smp_mflags} all
+%{__perl} Build.PL installdirs=vendor
+./Build build flags=%{?_smp_mflags}
%check
-# disable testing as we do not have Test::Deep yet
-# make test
+./Build test
%install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install_vendor
-%perl_process_packlist
-
-%files
-%defattr(-, root, root)
-%doc INSTALL README TODO CHANGES README eg
-%doc %{_mandir}/man?/*
-%{perl_vendorlib}/Apache
-%{perl_vendorarch}/auto/Apache
+./Build install destdir=%{buildroot} create_packlist=0
+%perl_gen_filelist
+
+%files -f %{name}.files
+%defattr(-,root,root,755)
+%doc b CHANGES Contributing.txt eg README TODO
%changelog
++++++ Apache-Session-1.91.tar.gz -> Apache-Session-1.93.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/CHANGES
new/Apache-Session-1.93/CHANGES
--- old/Apache-Session-1.91/CHANGES 2014-01-06 23:38:53.000000000 +0100
+++ new/Apache-Session-1.93/CHANGES 2014-04-12 21:32:48.000000000 +0200
@@ -3,6 +3,12 @@
and tell me what version do you use, why and will you need newer versions
of Apache::Session.
+1.93 2014-04-12
+ - even more test fixes
+
+1.92 2014-03-08
+ - more test fixes
+
1.91 2014-01-07 by Alexandr Ciornii, Perl 26th birthday version
- Add a test for RT#50896
- 99mysql.t will work more correctly in some corner cases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/META.json
new/Apache-Session-1.93/META.json
--- old/Apache-Session-1.91/META.json 2014-01-06 23:42:56.000000000 +0100
+++ new/Apache-Session-1.93/META.json 2014-04-12 21:34:08.000000000 +0200
@@ -40,7 +40,7 @@
"provides" : {
"Apache::Session" : {
"file" : "lib/Apache/Session.pm",
- "version" : "1.91"
+ "version" : "1.93"
},
"Apache::Session::DB_File" : {
"file" : "lib/Apache/Session/DB_File.pm",
@@ -168,5 +168,5 @@
"url" : "http://github.com/chorny/Apache-Session"
}
},
- "version" : "1.91"
+ "version" : "1.93"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/META.yml
new/Apache-Session-1.93/META.yml
--- old/Apache-Session-1.91/META.yml 2014-01-06 23:42:56.000000000 +0100
+++ new/Apache-Session-1.93/META.yml 2014-04-12 21:34:08.000000000 +0200
@@ -20,7 +20,7 @@
provides:
Apache::Session:
file: lib/Apache/Session.pm
- version: 1.91
+ version: 1.93
Apache::Session::DB_File:
file: lib/Apache/Session/DB_File.pm
version: 1.01
@@ -118,4 +118,4 @@
resources:
license: http://dev.perl.org/licenses/
repository: http://github.com/chorny/Apache-Session
-version: 1.91
+version: 1.93
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/README
new/Apache-Session-1.93/README
--- old/Apache-Session-1.91/README 2014-01-06 23:37:50.000000000 +0100
+++ new/Apache-Session-1.93/README 2014-04-12 21:33:27.000000000 +0200
@@ -7,7 +7,7 @@
DESCRIPTION
-----------
-This is Apache::Session 1.91
+This is Apache::Session 1.93
These modules provide persistent storage for arbitrary data, in arbitrary
backing stores. The details of interacting with the backing store are
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/lib/Apache/Session/Store/DBI.pm
new/Apache-Session-1.93/lib/Apache/Session/Store/DBI.pm
--- old/Apache-Session-1.91/lib/Apache/Session/Store/DBI.pm 2009-09-15
22:08:50.000000000 +0200
+++ new/Apache-Session-1.93/lib/Apache/Session/Store/DBI.pm 2014-02-15
15:08:12.000000000 +0100
@@ -1,121 +1,121 @@
-#############################################################################
-#
-# Apache::Session::Store::DBI
-# A base class for the MySQL, Postgres, and other DBI stores
-# Copyright(c) 2000, 2004 Jeffrey William Baker ([email protected])
-# Distribute under the Perl License
-#
-############################################################################
-
-package Apache::Session::Store::DBI;
-
-use strict;
-use DBI;
-
-use vars qw($VERSION);
-
-$VERSION = '1.02';
-
-$Apache::Session::Store::DBI::TableName = "sessions";
-
-sub new {
- my $class = shift;
-
- return bless { table_name => $Apache::Session::Store::DBI::TableName },
$class;
-}
-
-sub insert {
- my $self = shift;
- my $session = shift;
-
- $self->connection($session);
-
- local $self->{dbh}->{RaiseError} = 1;
-
- if (!defined $self->{insert_sth}) {
- $self->{insert_sth} =
- $self->{dbh}->prepare_cached(qq{
- INSERT INTO $self->{'table_name'} (id, a_session) VALUES
(?,?)});
- }
-
- $self->{insert_sth}->bind_param(1, $session->{data}->{_session_id});
- $self->{insert_sth}->bind_param(2, $session->{serialized});
-
- $self->{insert_sth}->execute;
-
- $self->{insert_sth}->finish;
-}
-
-
-sub update {
- my $self = shift;
- my $session = shift;
-
- $self->connection($session);
-
- local $self->{dbh}->{RaiseError} = 1;
-
- if (!defined $self->{update_sth}) {
- $self->{update_sth} =
- $self->{dbh}->prepare_cached(qq{
- UPDATE $self->{'table_name'} SET a_session = ? WHERE id = ?});
- }
-
- $self->{update_sth}->bind_param(1, $session->{serialized});
- $self->{update_sth}->bind_param(2, $session->{data}->{_session_id});
-
- $self->{update_sth}->execute;
-
- $self->{update_sth}->finish;
-}
-
-sub materialize {
- my $self = shift;
- my $session = shift;
-
- $self->connection($session);
-
- local $self->{dbh}->{RaiseError} = 1;
-
- if (!defined $self->{materialize_sth}) {
- $self->{materialize_sth} =
- $self->{dbh}->prepare_cached(qq{
- SELECT a_session FROM $self->{'table_name'} WHERE id = ?});
- }
-
- $self->{materialize_sth}->bind_param(1, $session->{data}->{_session_id});
-
- $self->{materialize_sth}->execute;
-
- my $results = $self->{materialize_sth}->fetchrow_arrayref;
-
- if (!(defined $results)) {
- die "Object does not exist in the data store";
- }
-
- $self->{materialize_sth}->finish;
-
- $session->{serialized} = $results->[0];
-}
-
-sub remove {
- my $self = shift;
- my $session = shift;
-
- $self->connection($session);
-
- local $self->{dbh}->{RaiseError} = 1;
-
- if (!defined $self->{remove_sth}) {
- $self->{remove_sth} =
- $self->{dbh}->prepare_cached(qq{
- DELETE FROM $self->{'table_name'} WHERE id = ?});
- }
-
- $self->{remove_sth}->bind_param(1, $session->{data}->{_session_id});
-
- $self->{remove_sth}->execute;
- $self->{remove_sth}->finish;
-}
-
-1;
+#############################################################################
+#
+# Apache::Session::Store::DBI
+# A base class for the MySQL, Postgres, and other DBI stores
+# Copyright(c) 2000, 2004 Jeffrey William Baker ([email protected])
+# Distribute under the Perl License
+#
+############################################################################
+
+package Apache::Session::Store::DBI;
+
+use strict;
+use DBI;
+
+use vars qw($VERSION);
+
+$VERSION = '1.02';
+
+$Apache::Session::Store::DBI::TableName = "sessions";
+
+sub new {
+ my $class = shift;
+
+ return bless { table_name => $Apache::Session::Store::DBI::TableName },
$class;
+}
+
+sub insert {
+ my $self = shift;
+ my $session = shift;
+
+ $self->connection($session);
+
+ local $self->{dbh}->{RaiseError} = 1;
+
+ if (!defined $self->{insert_sth}) {
+ $self->{insert_sth} =
+ $self->{dbh}->prepare_cached(qq{
+ INSERT INTO $self->{'table_name'} (id, a_session) VALUES
(?,?)});
+ }
+
+ $self->{insert_sth}->bind_param(1, $session->{data}->{_session_id});
+ $self->{insert_sth}->bind_param(2, $session->{serialized});
+
+ $self->{insert_sth}->execute;
+
+ $self->{insert_sth}->finish;
+}
+
+
+sub update {
+ my $self = shift;
+ my $session = shift;
+
+ $self->connection($session);
+
+ local $self->{dbh}->{RaiseError} = 1;
+
+ if (!defined $self->{update_sth}) {
+ $self->{update_sth} =
+ $self->{dbh}->prepare_cached(qq{
+ UPDATE $self->{'table_name'} SET a_session = ? WHERE id = ?});
+ }
+
+ $self->{update_sth}->bind_param(1, $session->{serialized});
+ $self->{update_sth}->bind_param(2, $session->{data}->{_session_id});
+
+ $self->{update_sth}->execute;
+
+ $self->{update_sth}->finish;
+}
+
+sub materialize {
+ my $self = shift;
+ my $session = shift;
+
+ $self->connection($session);
+
+ local $self->{dbh}->{RaiseError} = 1;
+
+ if (!defined $self->{materialize_sth}) {
+ $self->{materialize_sth} =
+ $self->{dbh}->prepare_cached(qq{
+ SELECT a_session FROM $self->{'table_name'} WHERE id = ?});
+ }
+
+ $self->{materialize_sth}->bind_param(1, $session->{data}->{_session_id});
+
+ $self->{materialize_sth}->execute;
+
+ my $results = $self->{materialize_sth}->fetchrow_arrayref;
+
+ if (!(defined $results)) {
+ die "Object does not exist in the data store";
+ }
+
+ $self->{materialize_sth}->finish;
+
+ $session->{serialized} = $results->[0];
+}
+
+sub remove {
+ my $self = shift;
+ my $session = shift;
+
+ $self->connection($session);
+
+ local $self->{dbh}->{RaiseError} = 1;
+
+ if (!defined $self->{remove_sth}) {
+ $self->{remove_sth} =
+ $self->{dbh}->prepare_cached(qq{
+ DELETE FROM $self->{'table_name'} WHERE id = ?});
+ }
+
+ $self->{remove_sth}->bind_param(1, $session->{data}->{_session_id});
+
+ $self->{remove_sth}->execute;
+ $self->{remove_sth}->finish;
+}
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/lib/Apache/Session.pm
new/Apache-Session-1.93/lib/Apache/Session.pm
--- old/Apache-Session-1.91/lib/Apache/Session.pm 2014-01-06
23:36:13.000000000 +0100
+++ new/Apache-Session-1.93/lib/Apache/Session.pm 2014-04-12
21:33:21.000000000 +0200
@@ -325,7 +325,7 @@
use strict;
use vars qw($VERSION);
-$VERSION = '1.91';
+$VERSION = '1.93';
$VERSION = eval $VERSION;
#State constants
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/t/99mysql.t
new/Apache-Session-1.93/t/99mysql.t
--- old/Apache-Session-1.91/t/99mysql.t 2014-01-06 15:04:27.000000000 +0100
+++ new/Apache-Session-1.93/t/99mysql.t 2014-04-08 12:39:15.000000000 +0200
@@ -10,6 +10,10 @@
require DBI;
};
+my $dbd_mysq_ver = DBD::mysql->VERSION();
+plan skip_all => "Version $dbd_mysq_ver of DBD::mysql has serious problems on
Windows"
+ if ($^O eq 'MSWin32' && $dbd_mysq_ver >= '4.021' && $dbd_mysq_ver <=
'4.023');
+
if ($ENV{TRAVIS}) {
my $cfg = << 'EOT';
driver_dsn = dbi:mysql:
@@ -23,17 +27,22 @@
plan skip_all => "No mysql handle reported by Test::Database"
unless @db_handles;
-plan tests => 23;
-
-my $package = 'Apache::Session::MySQL';
-use_ok $package;
-
my $mysql = $db_handles[0];
my $dsn = $mysql->dsn();
my $uname = $mysql->username();
my $upass = $mysql->password();
+diag "DBD::mysql version ".DBD::mysql->VERSION();
+
+plan skip_all => "Test::Database handle->driver is undef. Probably it was not
possible to establish connection."
+ if !defined($mysql->driver);
+
diag "Mysql version ".$mysql->driver->version;
+plan tests => 23;
+
+my $package = 'Apache::Session::MySQL';
+use_ok $package;
+
my @tables_used = qw/sessions s/;
sub drop_tables {
my $dbh = shift;
@@ -43,7 +52,10 @@
my $ary_ref = $dbh->selectcol_arrayref('SHOW TABLES');
$dblist = join(', ', @$ary_ref);
diag "Found foreign key constraint, trying to drop all tables from DB";
+
+ $dbh->do("SET foreign_key_checks = 0");
$dbh->do("DROP TABLE IF EXISTS $dblist");
+ $dbh->do("SET foreign_key_checks = 1");
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Apache-Session-1.91/t/99mysqllock.t
new/Apache-Session-1.93/t/99mysqllock.t
--- old/Apache-Session-1.91/t/99mysqllock.t 2013-01-27 12:24:12.000000000
+0100
+++ new/Apache-Session-1.93/t/99mysqllock.t 2014-04-12 16:40:27.000000000
+0200
@@ -22,16 +22,20 @@
plan skip_all => "No mysql handle reported by Test::Database"
unless @db_handles;
-plan tests => 4;
-
-my $package = 'Apache::Session::Lock::MySQL';
-use_ok $package;
-
my $mysql = $db_handles[0];
my $dsn = $mysql->dsn();
my $uname = $mysql->username();
my $upass = $mysql->password();
+my $dbh = DBI->connect($dsn, $uname, $upass);
+plan skip_all => "Cannot connect to DB specified in Test::Database config"
+ unless $dbh;
+
+plan tests => 4;
+
+my $package = 'Apache::Session::Lock::MySQL';
+use_ok $package;
+
my $session = {
args => {
LockDataSource => $dsn,
@@ -44,7 +48,6 @@
};
my $lock = $package->new;
-my $dbh = DBI->connect($dsn, $uname, $upass, {RaiseError => 1});
my $sth = $dbh->prepare(q{SELECT
GET_LOCK('Apache-Session-09876543210987654321098765432109', 0)});
my $sth2 = $dbh->prepare(q{SELECT
RELEASE_LOCK('Apache-Session-09876543210987654321098765432109')});