openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2013
- 1 participants
- 2024 discussions
30 Jul '13
Hello community,
here is the log from the commit of package perl-Module-Implementation for openSUSE:Factory checked in at 2013-07-30 16:45:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Module-Implementation (Old)
and /work/SRC/openSUSE:Factory/.perl-Module-Implementation.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Module-Implementation"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Module-Implementation/perl-Module-Implementation.changes 2013-06-13 17:48:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Module-Implementation.new/perl-Module-Implementation.changes 2013-07-30 16:45:51.000000000 +0200
@@ -1,0 +2,8 @@
+Fri Jul 26 05:28:35 UTC 2013 - coolo(a)suse.com
+
+- updated to 0.07
+ - Require Test::Fatal 0.006+ to avoid test failures. Reported by Salve
+ Nilsen. RT #76809.
+- remove old old_test_more.patch
+
+-------------------------------------------------------------------
Old:
----
Module-Implementation-0.06.tar.gz
New:
----
Module-Implementation-0.07.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Module-Implementation.spec ++++++
--- /var/tmp/diff_new_pack.t3qx03/_old 2013-07-30 16:45:53.000000000 +0200
+++ /var/tmp/diff_new_pack.t3qx03/_new 2013-07-30 16:45:53.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Module-Implementation
-Version: 0.06
+Version: 0.07
Release: 0
%define cpan_name Module-Implementation
Summary: Loads one of several alternate underlying implementations for a module
@@ -25,19 +25,16 @@
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Module-Implementation/
Source: http://www.cpan.org/authors/id/D/DR/DROLSKY/%{cpan_name}-%{version}.tar.gz
-# MANUAL
-Patch0: old_test_more.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Module::Runtime) >= 0.012
-BuildRequires: perl(Test::Fatal)
+BuildRequires: perl(Test::Fatal) >= 0.006
BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::Requires)
BuildRequires: perl(Try::Tiny)
#BuildRequires: perl(Module::Implementation)
-#BuildRequires: perl(Test::Spelling)
Requires: perl(Module::Runtime) >= 0.012
Requires: perl(Try::Tiny)
%{perl_requires}
@@ -55,9 +52,6 @@
%prep
%setup -q -n %{cpan_name}-%{version}
-%if 0%{?suse_version} <= 1110
-%patch0
-%endif
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
++++++ Module-Implementation-0.06.tar.gz -> Module-Implementation-0.07.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/Changes new/Module-Implementation-0.07/Changes
--- old/Module-Implementation-0.06/Changes 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/Changes 2013-07-14 18:58:57.000000000 +0200
@@ -1,6 +1,12 @@
+0.07 2013-07-14
+
+- Require Test::Fatal 0.006+ to avoid test failures. Reported by Salve
+ Nilsen. RT #76809.
+
+
0.06 2012-02-12
-- Require Module::Runtime 0.012 which has a number of useful bug fixes.
+- Require Module::Runtime 0.012, which has a number of useful bug fixes.
0.05 2012-02-09
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/LICENSE new/Module-Implementation-0.07/LICENSE
--- old/Module-Implementation-0.06/LICENSE 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/LICENSE 2013-07-14 18:58:57.000000000 +0200
@@ -1,4 +1,4 @@
-This software is Copyright (c) 2012 by Dave Rolsky.
+This software is Copyright (c) 2013 by Dave Rolsky.
This is free software, licensed under:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/MANIFEST new/Module-Implementation-0.07/MANIFEST
--- old/Module-Implementation-0.06/MANIFEST 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/MANIFEST 2013-07-14 18:58:57.000000000 +0200
@@ -8,6 +8,8 @@
README
dist.ini
lib/Module/Implementation.pm
+t/00-compile.t
+t/author-pod-spell.t
t/basic.t
t/both-fail.t
t/env-value.t
@@ -21,9 +23,9 @@
t/release-cpan-changes.t
t/release-eol.t
t/release-no-tabs.t
+t/release-pod-coverage.t
t/release-pod-linkcheck.t
t/release-pod-no404s.t
-t/release-pod-spell.t
t/release-pod-syntax.t
t/requested-fails.t
t/taint.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/META.json new/Module-Implementation-0.07/META.json
--- old/Module-Implementation-0.06/META.json 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/META.json 2013-07-14 18:58:57.000000000 +0200
@@ -4,7 +4,7 @@
"Dave Rolsky <autarch(a)urth.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 4.300006, CPAN::Meta::Converter version 2.113640",
+ "generated_by" : "Dist::Zilla version 4.300035, CPAN::Meta::Converter version 2.131560",
"license" : [
"artistic_2"
],
@@ -19,20 +19,31 @@
"ExtUtils::MakeMaker" : "6.30"
}
},
+ "develop" : {
+ "requires" : {
+ "Pod::Coverage::TrustPod" : "0",
+ "Test::CPAN::Changes" : "0.19",
+ "Test::Pod" : "1.41",
+ "Test::Pod::Coverage" : "1.08"
+ }
+ },
"runtime" : {
"requires" : {
- "Carp" : 0,
+ "Carp" : "0",
"Module::Runtime" : "0.012",
- "Try::Tiny" : 0,
- "strict" : 0,
- "warnings" : 0
+ "Try::Tiny" : "0",
+ "strict" : "0",
+ "warnings" : "0"
}
},
"test" : {
"requires" : {
- "Test::Fatal" : 0,
+ "File::Find" : "0",
+ "File::Temp" : "0",
+ "Test::Fatal" : "0.006",
"Test::More" : "0.88",
- "Test::Requires" : 0
+ "Test::Requires" : "0",
+ "lib" : "0"
}
}
},
@@ -40,14 +51,16 @@
"resources" : {
"bugtracker" : {
"mailto" : "bug-module-implementation(a)rt.cpan.org",
- "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Implementation"
+ "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=Module-Implementation"
},
+ "homepage" : "http://metacpan.org/release/Module-Implementation",
"repository" : {
"type" : "git",
"url" : "git://git.urth.org/Module-Implementation.git",
"web" : "http://git.urth.org/Module-Implementation.git"
}
},
- "version" : "0.06"
+ "version" : "0.07",
+ "x_authority" : "cpan:DROLSKY"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/META.yml new/Module-Implementation-0.07/META.yml
--- old/Module-Implementation-0.06/META.yml 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/META.yml 2013-07-14 18:58:57.000000000 +0200
@@ -3,13 +3,16 @@
author:
- 'Dave Rolsky <autarch(a)urth.org>'
build_requires:
- Test::Fatal: 0
+ File::Find: 0
+ File::Temp: 0
+ Test::Fatal: 0.006
Test::More: 0.88
Test::Requires: 0
+ lib: 0
configure_requires:
ExtUtils::MakeMaker: 6.30
dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300006, CPAN::Meta::Converter version 2.113640'
+generated_by: 'Dist::Zilla version 4.300035, CPAN::Meta::Converter version 2.131560'
license: artistic_2
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,6 +25,8 @@
strict: 0
warnings: 0
resources:
- bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Implementation
+ bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Module-Implementation
+ homepage: http://metacpan.org/release/Module-Implementation
repository: git://git.urth.org/Module-Implementation.git
-version: 0.06
+version: 0.07
+x_authority: cpan:DROLSKY
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/Makefile.PL new/Module-Implementation-0.07/Makefile.PL
--- old/Module-Implementation-0.06/Makefile.PL 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/Makefile.PL 2013-07-14 18:58:57.000000000 +0200
@@ -11,11 +11,7 @@
my %WriteMakefileArgs = (
"ABSTRACT" => "Loads one of several alternate underlying implementations for a module",
"AUTHOR" => "Dave Rolsky <autarch\(a)urth.org>",
- "BUILD_REQUIRES" => {
- "Test::Fatal" => 0,
- "Test::More" => "0.88",
- "Test::Requires" => 0
- },
+ "BUILD_REQUIRES" => {},
"CONFIGURE_REQUIRES" => {
"ExtUtils::MakeMaker" => "6.30"
},
@@ -30,13 +26,34 @@
"strict" => 0,
"warnings" => 0
},
- "VERSION" => "0.06",
+ "TEST_REQUIRES" => {
+ "File::Find" => 0,
+ "File::Temp" => 0,
+ "Test::Fatal" => "0.006",
+ "Test::More" => "0.88",
+ "Test::Requires" => 0,
+ "lib" => 0
+ },
+ "VERSION" => "0.07",
"test" => {
"TESTS" => "t/*.t"
}
);
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+ my $tr = delete $WriteMakefileArgs{TEST_REQUIRES};
+ my $br = $WriteMakefileArgs{BUILD_REQUIRES};
+ for my $mod ( keys %$tr ) {
+ if ( exists $br->{$mod} ) {
+ $br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
+ }
+ else {
+ $br->{$mod} = $tr->{$mod};
+ }
+ }
+}
+
unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
my $pp = $WriteMakefileArgs{PREREQ_PM};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/README new/Module-Implementation-0.07/README
--- old/Module-Implementation-0.06/README 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/README 2013-07-14 18:58:57.000000000 +0200
@@ -1,11 +1,11 @@
This archive contains the distribution Module-Implementation,
-version 0.06:
+version 0.07:
Loads one of several alternate underlying implementations for a module
-This software is Copyright (c) 2012 by Dave Rolsky.
+This software is Copyright (c) 2013 by Dave Rolsky.
This is free software, licensed under:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/dist.ini new/Module-Implementation-0.07/dist.ini
--- old/Module-Implementation-0.06/dist.ini 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/dist.ini 2013-07-14 18:58:57.000000000 +0200
@@ -3,37 +3,9 @@
license = Artistic_2_0
copyright_holder = Dave Rolsky
-version = 0.06
+version = 0.07
-[NextRelease]
-format = %-8v %{yyyy-MM-dd}d
-
-[@Basic]
-
-[InstallGuide]
-[MetaJSON]
-
-[MetaResources]
-bugtracker.web = http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Implementation
-bugtracker.mailto = bug-module-implementation(a)rt.cpan.org
-repository.url = git://git.urth.org/Module-Implementation.git
-repository.web = http://git.urth.org/Module-Implementation.git
-repository.type = git
-
-[SurgicalPodWeaver]
-
-[SurgicalPkgVersion]
-
-[EOLTests]
-[NoTabsTests]
-[PodSyntaxTests]
-[Test::CPAN::Changes]
-[Test::Pod::LinkCheck]
-[Test::Pod::No404s]
-
-[AutoPrereqs]
-skip = Test::Spelling
-
-[CheckPrereqsIndexed]
-
-[@Git]
+[@DROLSKY]
+dist = Module-Implementation
+stopwords = PurePerl
+stopwords = env
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/lib/Module/Implementation.pm new/Module-Implementation-0.07/lib/Module/Implementation.pm
--- old/Module-Implementation-0.06/lib/Module/Implementation.pm 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/lib/Module/Implementation.pm 2013-07-14 18:58:57.000000000 +0200
@@ -1,6 +1,9 @@
package Module::Implementation;
{
- $Module::Implementation::VERSION = '0.06';
+ $Module::Implementation::VERSION = '0.07';
+}
+BEGIN {
+ $Module::Implementation::AUTHORITY = 'cpan:DROLSKY';
}
use strict;
@@ -59,42 +62,49 @@
die "$env_value is not a valid implementation for $package"
unless grep { $_ eq $env_value } @{$implementations};
- my $loaded = "${package}::$env_value";
+ my $requested = "${package}::$env_value";
# Values from the %ENV hash are tainted. We know it's safe to untaint
# this value because the value was one of our known implementations.
- ($loaded) = $loaded =~ /^(.+)$/;
+ ($requested) = $requested =~ /^(.+)$/;
try {
- require_module($loaded);
+ require_module($requested);
}
catch {
require Carp;
- Carp::croak("Could not load $loaded: $_");
+ Carp::croak("Could not load $requested: $_");
};
- return ( $env_value, $loaded );
+ return ( $env_value, $requested );
}
else {
my $err;
for my $possible ( @{$implementations} ) {
- my $load = "${package}::$possible";
+ my $try = "${package}::$possible";
my $ok;
try {
- require_module($load);
+ require_module($try);
$ok = 1;
}
catch {
- $err .= $_;
+ $err .= $_ if defined $_;
};
- return ( $possible, $load ) if $ok;
+ return ( $possible, $try ) if $ok;
}
require Carp;
- Carp::croak(
- "Could not find a suitable $package implementation: $err");
+ if ( defined $err && length $err ) {
+ Carp::croak(
+ "Could not find a suitable $package implementation: $err");
+ }
+ else {
+ Carp::croak(
+ 'Module::Runtime failed to load a module but did not throw a real error. This should never happen. Something is very broken'
+ );
+ }
}
}
@@ -130,7 +140,7 @@
# ABSTRACT: Loads one of several alternate underlying implementations for a module
-
+__END__
=pod
@@ -140,7 +150,7 @@
=head1 VERSION
-version 0.06
+version 0.07
=head1 SYNOPSIS
@@ -177,7 +187,7 @@
This module provides two subroutines, neither of which are exported.
-=head2 Module::Implementation::<build_loader_sub(...)
+=head2 Module::Implementation::build_loader_sub(...)
This subroutine takes the following arguments.
@@ -189,7 +199,7 @@
correspond to a module in the caller's namespace.
In other words, using the example in the L</SYNOPSIS>, this module will look
-for the C<Foo::Bar::XS> and C<Foo::Bar::PurePerl> modules will be installed
+for the C<Foo::Bar::XS> and C<Foo::Bar::PurePerl> modules.
This argument is required.
@@ -264,14 +274,10 @@
=head1 COPYRIGHT AND LICENSE
-This software is Copyright (c) 2012 by Dave Rolsky.
+This software is Copyright (c) 2013 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
=cut
-
-
-__END__
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/00-compile.t new/Module-Implementation-0.07/t/00-compile.t
--- old/Module-Implementation-0.06/t/00-compile.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Module-Implementation-0.07/t/00-compile.t 2013-07-14 18:58:57.000000000 +0200
@@ -0,0 +1,74 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+
+
+use File::Find;
+use File::Temp qw{ tempdir };
+
+my @modules;
+find(
+ sub {
+ return if $File::Find::name !~ /\.pm\z/;
+ my $found = $File::Find::name;
+ $found =~ s{^lib/}{};
+ $found =~ s{[/\\]}{::}g;
+ $found =~ s/\.pm$//;
+ # nothing to skip
+ push @modules, $found;
+ },
+ 'lib',
+);
+
+sub _find_scripts {
+ my $dir = shift @_;
+
+ my @found_scripts = ();
+ find(
+ sub {
+ return unless -f;
+ my $found = $File::Find::name;
+ # nothing to skip
+ open my $FH, '<', $_ or do {
+ note( "Unable to open $found in ( $! ), skipping" );
+ return;
+ };
+ my $shebang = <$FH>;
+ return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
+ push @found_scripts, $found;
+ },
+ $dir,
+ );
+
+ return @found_scripts;
+}
+
+my @scripts;
+do { push @scripts, _find_scripts($_) if -d $_ }
+ for qw{ bin script scripts };
+
+my $plan = scalar(@modules) + scalar(@scripts);
+$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
+
+{
+ # fake home for cpan-testers
+ # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
+
+ like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
+ for sort @modules;
+
+ SKIP: {
+ eval "use Test::Script 1.05; 1;";
+ skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
+ foreach my $file ( @scripts ) {
+ my $script = $file;
+ $script =~ s!.*/!!;
+ script_compiles( $file, "$script script compiles" );
+ }
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/author-pod-spell.t new/Module-Implementation-0.07/t/author-pod-spell.t
--- old/Module-Implementation-0.06/t/author-pod-spell.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Module-Implementation-0.07/t/author-pod-spell.t 2013-07-14 18:58:57.000000000 +0200
@@ -0,0 +1,30 @@
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all => 'these tests are for testing by the author');
+ }
+}
+
+use strict;
+use warnings;
+use Test::More;
+
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.004003
+eval "use Test::Spelling 0.12; use Pod::Wordlist::hanekomu; 1" or die $@;
+
+
+add_stopwords(<DATA>);
+all_pod_files_spelling_ok( qw( bin lib ) );
+__DATA__
+PurePerl
+env
+DROLSKY
+DROLSKY's
+Rolsky
+Rolsky's
+Dave
+autarch
+lib
+Module
+Implementation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/both-fail.t new/Module-Implementation-0.07/t/both-fail.t
--- old/Module-Implementation-0.06/t/both-fail.t 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/t/both-fail.t 2013-07-14 18:58:57.000000000 +0200
@@ -2,7 +2,7 @@
use warnings;
use Test::More 0.88;
-use Test::Fatal;
+use Test::Fatal 0.006;
{
package T;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/release-cpan-changes.t new/Module-Implementation-0.07/t/release-cpan-changes.t
--- old/Module-Implementation-0.06/t/release-cpan-changes.t 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/t/release-cpan-changes.t 2013-07-14 18:58:57.000000000 +0200
@@ -8,8 +8,12 @@
}
-use Test::More;
-eval 'use Test::CPAN::Changes';
-plan skip_all => 'Test::CPAN::Changes required for this test' if $@;
-changes_ok();
+use strict;
+use warnings;
+
+use Test::More 0.96 tests => 2;
+use_ok('Test::CPAN::Changes');
+subtest 'changes_ok' => sub {
+ changes_file_ok('Changes');
+};
done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/release-pod-coverage.t new/Module-Implementation-0.07/t/release-pod-coverage.t
--- old/Module-Implementation-0.06/t/release-pod-coverage.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Module-Implementation-0.07/t/release-pod-coverage.t 2013-07-14 18:58:57.000000000 +0200
@@ -0,0 +1,21 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{RELEASE_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ }
+}
+
+
+use Test::More;
+
+eval "use Test::Pod::Coverage 1.08";
+plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
+ if $@;
+
+eval "use Pod::Coverage::TrustPod";
+plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
+ if $@;
+
+all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/release-pod-spell.t new/Module-Implementation-0.07/t/release-pod-spell.t
--- old/Module-Implementation-0.06/t/release-pod-spell.t 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/t/release-pod-spell.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-
-BEGIN {
- unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
- }
-}
-
-use strict;
-use warnings;
-
-use Test::Spelling;
-
-my @stopwords;
-for (<DATA>) {
- chomp;
- push @stopwords, $_
- unless /\A (?: \# | \s* \z)/msx;
-}
-
-add_stopwords(@stopwords);
-set_spell_cmd('aspell list -l en');
-
-# This prevents a weird segfault from the aspell command - see
-# https://bugs.launchpad.net/ubuntu/+source/aspell/+bug/71322
-local $ENV{LC_ALL} = 'C';
-all_pod_files_spelling_ok;
-
-__DATA__
-API
-PurePerl
-Rolsky
-env
-namespace
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/requested-fails.t new/Module-Implementation-0.07/t/requested-fails.t
--- old/Module-Implementation-0.06/t/requested-fails.t 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/t/requested-fails.t 2013-07-14 18:58:57.000000000 +0200
@@ -2,7 +2,7 @@
use warnings;
use Test::More 0.88;
-use Test::Fatal;
+use Test::Fatal 0.006;
{
package T;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Implementation-0.06/t/taint.t new/Module-Implementation-0.07/t/taint.t
--- old/Module-Implementation-0.06/t/taint.t 2012-02-12 16:37:05.000000000 +0100
+++ new/Module-Implementation-0.07/t/taint.t 2013-07-14 18:58:57.000000000 +0200
@@ -8,7 +8,7 @@
};
use Test::More 0.88;
-use Test::Fatal;
+use Test::Fatal 0.006;
taint_checking_ok();
@@ -26,7 +26,9 @@
symbols => ['return_42'],
);
- $ENV{T_IMPLEMENTATION} = 'Impl2';
+ ::taint( $ENV{T_IMPLEMENTATION} = 'Impl2' );
+
+ ::tainted_ok( $ENV{T_IMPLEMENTATION}, '$ENV{T_IMPLEMENTATION} is tainted' );
::is(
::exception{ $loader->() },
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Mixin-Linewise for openSUSE:Factory checked in at 2013-07-30 16:45:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mixin-Linewise (Old)
and /work/SRC/openSUSE:Factory/.perl-Mixin-Linewise.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mixin-Linewise"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mixin-Linewise/perl-Mixin-Linewise.changes 2011-11-21 12:43:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mixin-Linewise.new/perl-Mixin-Linewise.changes 2013-07-30 16:45:20.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Jul 24 07:28:45 UTC 2013 - coolo(a)suse.com
+
+- updated to 0.004
+ repackage
+- removed old perl-Mixin-Linewise-use_lib.patch
+
+-------------------------------------------------------------------
Old:
----
Mixin-Linewise-0.003.tar.gz
perl-Mixin-Linewise-use_lib.patch
New:
----
Mixin-Linewise-0.004.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mixin-Linewise.spec ++++++
--- /var/tmp/diff_new_pack.0XE1Qi/_old 2013-07-30 16:45:21.000000000 +0200
+++ /var/tmp/diff_new_pack.0XE1Qi/_new 2013-07-30 16:45:21.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mixin-Linewise
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,31 +16,26 @@
#
-
Name: perl-Mixin-Linewise
-Version: 0.003
-Release: 1
-License: GPL-1.0+ or Artistic-1.0
+Version: 0.004
+Release: 0
%define cpan_name Mixin-Linewise
-Summary: Write your linewise code for handles; this does the rest
-Url: http://search.cpan.org/dist/Mixin-Linewise/
+Summary: write your linewise code for handles; this does the rest
+License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
-#Source: http://www.cpan.org/authors/id/R/RJ/RJBS/Mixin-Linewise-%{version}.tar.gz
-Source: %{cpan_name}-%{version}.tar.gz
-Patch1: perl-Mixin-Linewise-use_lib.patch
-BuildRequires: perl(Carp)
-BuildRequires: perl(IO::File)
-BuildRequires: perl(IO::String)
-BuildRequires: perl(Test::More) >= 0.88
-BuildRequires: perl(Sub::Exporter) >= 0.9
+Url: http://search.cpan.org/dist/Mixin-Linewise/
+Source: http://www.cpan.org/authors/id/R/RJ/RJBS/%{cpan_name}-%{version}.tar.gz
+BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-Requires: perl(Carp)
-Requires: perl(IO::File)
+BuildRequires: perl(IO::String)
+BuildRequires: perl(Sub::Exporter)
+BuildRequires: perl(Test::More) >= 0.96
+#BuildRequires: perl(Mixin::Linewise::Readers)
+#BuildRequires: perl(MLTests)
Requires: perl(IO::String)
-Requires: perl(Sub::Exporter) >= 0.9
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
+Requires: perl(Sub::Exporter)
%{perl_requires}
%description
@@ -52,10 +47,6 @@
%prep
%setup -q -n %{cpan_name}-%{version}
-%if 0%{?suse_version} <= 1110
-%patch1 -p1
-sed -i "s|__vendorperl__|%{perl_vendorlib}|g" Makefile.PL t/*.t
-%endif
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
@@ -69,11 +60,8 @@
%perl_process_packlist
%perl_gen_filelist
-%clean
-%{__rm} -rf %{buildroot}
-
%files -f %{name}.files
-%defattr(644,root,root,755)
+%defattr(-,root,root,755)
%doc Changes LICENSE README
%changelog
++++++ Mixin-Linewise-0.003.tar.gz -> Mixin-Linewise-0.004.tar.gz ++++++
++++ 4045 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-IPC-Run for openSUSE:Factory checked in at 2013-07-30 16:44:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-IPC-Run (Old)
and /work/SRC/openSUSE:Factory/.perl-IPC-Run.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-IPC-Run"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-IPC-Run/perl-IPC-Run.changes 2012-10-16 07:14:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-IPC-Run.new/perl-IPC-Run.changes 2013-07-30 16:44:42.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Jul 27 11:58:55 UTC 2013 - coolo(a)suse.com
+
+- updated to 0.92
+ - Tests are good in dev version. Releasing to stable.
+ - RT 59775 - Catching a signal during select() can lock up IPC::Run
+
+-------------------------------------------------------------------
Old:
----
IPC-Run-0.91.tar.gz
New:
----
IPC-Run-0.92.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-IPC-Run.spec ++++++
--- /var/tmp/diff_new_pack.WKts6x/_old 2013-07-30 16:44:43.000000000 +0200
+++ /var/tmp/diff_new_pack.WKts6x/_new 2013-07-30 16:44:43.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-IPC-Run
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products 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,17 +17,19 @@
Name: perl-IPC-Run
-Version: 0.91
+Version: 0.92
Release: 0
Summary: System() and Background Procs with Piping, Redirs, and PTYs
License: GPL-1.0+ or Artistic-1.0
Group: Development/Libraries/Perl
Url: http://cpan.org/modules/by-module/IPC/
Source: IPC-Run-%{version}.tar.gz
-# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
+# PATCH-FIX-OPENSUSE -- Fix intepreter
Patch0: IPC-Run-0.89-path.diff
BuildRequires: perl
BuildRequires: perl-macros
+BuildRequires: perl(IO::Pty) >= 1.08
+Requires: perl(IO::Pty) >= 1.08
# MANUAL
BuildRequires: netcfg
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ IPC-Run-0.91.tar.gz -> IPC-Run-0.92.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPC-Run-0.91/Changes new/IPC-Run-0.92/Changes
--- old/IPC-Run-0.91/Changes 2012-02-15 05:48:09.000000000 +0100
+++ new/IPC-Run-0.92/Changes 2012-08-30 17:23:32.000000000 +0200
@@ -1,5 +1,11 @@
Revision history for Perl extension IPC::Run
+0.92 Thu Aug 30 2012
+ - Tests are good in dev version. Releasing to stable.
+
+0.92_01 Wed 22 Aug 2012
+ - RT 59775 - Catching a signal during select() can lock up IPC::Run
+
0.91 Tue 14 Feb 2012
- Tests are good in dev version. Releasing to stable.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPC-Run-0.91/META.json new/IPC-Run-0.92/META.json
--- old/IPC-Run-0.91/META.json 2012-02-15 05:48:54.000000000 +0100
+++ new/IPC-Run-0.92/META.json 2012-08-30 17:25:07.000000000 +0200
@@ -50,8 +50,8 @@
"http://dev.perl.org/licenses/"
],
"repository" : {
- "url" : "http://svn.ali.as/cpan/trunk/IPC-Run"
+ "url" : "https://github.com/toddr/IPC-Run"
}
},
- "version" : "0.91"
+ "version" : "0.92"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPC-Run-0.91/META.yml new/IPC-Run-0.92/META.yml
--- old/IPC-Run-0.91/META.yml 2012-02-15 05:48:54.000000000 +0100
+++ new/IPC-Run-0.92/META.yml 2012-08-30 17:25:07.000000000 +0200
@@ -26,5 +26,5 @@
resources:
bugtracker: https://rt.cpan.org/NoAuth/Bugs.html?Dist=IPC-Run
license: http://dev.perl.org/licenses/
- repository: http://svn.ali.as/cpan/trunk/IPC-Run
-version: 0.91
+ repository: https://github.com/toddr/IPC-Run
+version: 0.92
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPC-Run-0.91/Makefile.PL new/IPC-Run-0.92/Makefile.PL
--- old/IPC-Run-0.91/Makefile.PL 2012-01-16 08:23:31.000000000 +0100
+++ new/IPC-Run-0.92/Makefile.PL 2012-08-30 17:21:19.000000000 +0200
@@ -60,10 +60,8 @@
},
resources => {
license => 'http://dev.perl.org/licenses/',
-# homepage => 'http://',
bugtracker => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=IPC-Run',
- repository => 'http://svn.ali.as/cpan/trunk/IPC-Run',
-# MailingList => 'http://groups.google.com/group/IPC-Run',
+ repository => 'https://github.com/toddr/IPC-Run',
}
});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPC-Run-0.91/lib/IPC/Run.pm new/IPC-Run-0.92/lib/IPC/Run.pm
--- old/IPC-Run-0.91/lib/IPC/Run.pm 2012-02-15 05:45:53.000000000 +0100
+++ new/IPC-Run-0.92/lib/IPC/Run.pm 2012-08-30 17:22:46.000000000 +0200
@@ -1014,7 +1014,7 @@
use Exporter ();
use vars qw{$VERSION @ISA @FILTER_IMP @FILTERS @API @EXPORT_OK %EXPORT_TAGS};
BEGIN {
- $VERSION = '0.91';
+ $VERSION = '0.92';
@ISA = qw{ Exporter };
## We use @EXPORT for the end user's convenience: there's only one function
@@ -3069,7 +3069,17 @@
}
last if ! $nfound && $self->{non_blocking};
- croak "$! in select" if $nfound < 0 and $! != POSIX::EINTR;
+ if ($nfound < 0) {
+ if ($! == POSIX::EINTR) {
+ # Caught a signal before any FD went ready. Ensure that
+ # the bit fields reflect "no FDs ready".
+ $self->{ROUT} = $self->{WOUT} = $self->{EOUT} = '';
+ $nfound = 0;
+ }
+ else {
+ croak "$! in select";
+ }
+ }
## TODO: Analyze the EINTR failure mode and see if this patch
## is adequate and optimal.
## TODO: Add an EINTR test to the test suite.
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
30 Jul '13
Hello community,
here is the log from the commit of package perl-HTML-TokeParser-Simple for openSUSE:Factory checked in at 2013-07-30 16:44:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-HTML-TokeParser-Simple (Old)
and /work/SRC/openSUSE:Factory/.perl-HTML-TokeParser-Simple.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-HTML-TokeParser-Simple"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-HTML-TokeParser-Simple/perl-HTML-TokeParser-Simple.changes 2011-11-21 12:41:16.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-HTML-TokeParser-Simple.new/perl-HTML-TokeParser-Simple.changes 2013-07-30 16:44:05.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Jul 27 11:58:44 UTC 2013 - coolo(a)suse.com
+
+- updated to 3.16
+ Fix POD errors and move POD tests to XT directory.
+ Fix spelling errors.
+
+-------------------------------------------------------------------
Old:
----
HTML-TokeParser-Simple-3.15.tar.gz
New:
----
HTML-TokeParser-Simple-3.16.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-HTML-TokeParser-Simple.spec ++++++
--- /var/tmp/diff_new_pack.5LtBjc/_old 2013-07-30 16:44:07.000000000 +0200
+++ /var/tmp/diff_new_pack.5LtBjc/_new 2013-07-30 16:44:07.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-HTML-TokeParser-Simple
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,61 +15,64 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
-
-%bcond_with pod
Name: perl-HTML-TokeParser-Simple
+Version: 3.16
+Release: 0
%define cpan_name HTML-TokeParser-Simple
-Summary: Easy to use HTML::TokeParser interface
-Version: 3.15
-Release: 2
-License: GPL-1.0+ or Artistic-1.0
+Summary: Easy to use C<HTML::TokeParser> interface
+License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/HTML-TokeParser-Simple/
-#Source: http://search.cpan.org/CPAN/authors/id/O/OV/OVID/HTML-TokeParser-Simple-3.1…
-Source: %{cpan_name}-%{version}.tar.gz
+Source: http://www.cpan.org/authors/id/O/OV/OVID/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%{perl_requires}
BuildRequires: perl
-BuildRequires: perl(Module::Build)
BuildRequires: perl-macros
-%if %{with pod}
-BuildRequires: perl(Test::Pod) >= 1.14
-BuildRequires: perl(Test::Pod::Coverage)
-%endif
-BuildRequires: perl(Test::More)
-#
BuildRequires: perl(HTML::Parser) >= 3.25
BuildRequires: perl(HTML::TokeParser) >= 2.24
+BuildRequires: perl(Module::Build) >= 0.40
BuildRequires: perl(Sub::Override)
-#
+#BuildRequires: perl(HTML::Entities)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token::Comment)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token::Declaration)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token::ProcessInstruction)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token::Tag)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token::Tag::End)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token::Tag::Start)
+#BuildRequires: perl(HTML::TokeParser::Simple::Token::Text)
Requires: perl(HTML::Parser) >= 3.25
Requires: perl(HTML::TokeParser) >= 2.24
Requires: perl(Sub::Override)
+%{perl_requires}
%description
-HTML::TokeParser::Simple is a subclass of HTML::TokeParser that uses
-easy-to-remember method calls to work with the tokens. Rather than
-try to remember a bunch of array indices or try to write a bunch of
-constants for them, you can now do something like:
+'HTML::TokeParser' is an excellent module that's often used for parsing
+HTML. However, the tokens returned are not exactly intuitive to parse:
- $token->is_start_tag( 'form' )
-
-Instead of
-
- $token->[0] eq 'S' and $token->[1] eq 'form'
-
-Authors:
---------
- Curtis "Ovid" Poe <poec(a)yahoo.com>
+ ["S", $tag, $attr, $attrseq, $text]
+ ["E", $tag, $text]
+ ["T", $text, $is_data]
+ ["C", $text]
+ ["D", $text]
+ ["PI", $token0, $text]
+
+To simplify this, 'HTML::TokeParser::Simple' allows the user ask more
+intuitive (read: more self-documenting) questions about the tokens
+returned.
+
+You can also rebuild some tags on the fly. Frequently, the attributes
+associated with start tags need to be altered, added to, or deleted. This
+functionality is built in.
+
+Since this is a subclass of 'HTML::TokeParser', all 'HTML::TokeParser'
+methods are available. To truly appreciate the power of this module, please
+read the documentation for 'HTML::TokeParser' and 'HTML::Parser'.
%prep
%setup -q -n %{cpan_name}-%{version}
-### rpmlint:
-# wrong-file-end-of-line-encoding
-%{__perl} -pi -e 's|\r\n|\n|' Changes README
+find . -type f -print0 | xargs -0 chmod 644
%build
%{__perl} Build.PL installdirs=vendor
@@ -79,14 +82,11 @@
./Build test
%install
-./Build install destdir=$RPM_BUILD_ROOT create_packlist=0
+./Build install destdir=%{buildroot} create_packlist=0
%perl_gen_filelist
-%clean
-%{__rm} -rf $RPM_BUILD_ROOT
-
%files -f %{name}.files
-%defattr(-,root,root,-)
-%doc Changes README
+%defattr(-,root,root,755)
+%doc Changes README xt
%changelog
++++++ HTML-TokeParser-Simple-3.15.tar.gz -> HTML-TokeParser-Simple-3.16.tar.gz ++++++
++++ 4450 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Glib for openSUSE:Factory checked in at 2013-07-30 16:42:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Glib (Old)
and /work/SRC/openSUSE:Factory/.perl-Glib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Glib"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Glib/perl-Glib.changes 2013-06-06 13:22:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Glib.new/perl-Glib.changes 2013-07-30 16:42:06.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Jul 27 11:58:52 UTC 2013 - coolo(a)suse.com
+
+- updated to 1.301
+ * t/options.t: skip tests in non-UTF-8 locales; fixes RT#83490
+
+-------------------------------------------------------------------
Old:
----
Glib-1.300.tar.gz
New:
----
Glib-1.301.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Glib.spec ++++++
--- /var/tmp/diff_new_pack.NPGaXq/_old 2013-07-30 16:42:07.000000000 +0200
+++ /var/tmp/diff_new_pack.NPGaXq/_new 2013-07-30 16:42:07.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Glib
-Version: 1.300
+Version: 1.301
Release: 0
%define cpan_name Glib
Summary: Perl wrappers for the GLib utility and Object libraries
@@ -26,18 +26,18 @@
Url: http://search.cpan.org/dist/Glib/
Source: http://www.cpan.org/authors/id/X/XA/XAOC/%{cpan_name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# MANUAL
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(ExtUtils::Depends) >= 0.300
BuildRequires: perl(ExtUtils::PkgConfig) >= 1.000
-BuildRequires: pkgconfig(glib-2.0)
#BuildRequires: perl(Glib)
#BuildRequires: perl(Glib::Object::Subclass)
#BuildRequires: perl(Gtk2)
Requires: perl(ExtUtils::Depends) >= 0.300
Requires: perl(ExtUtils::PkgConfig) >= 1.000
%{perl_requires}
+# MANUAL
+BuildRequires: pkgconfig(glib-2.0)
%description
This wrapper attempts to provide a perlish interface while remaining as
++++++ Glib-1.300.tar.gz -> Glib-1.301.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/META.json new/Glib-1.301/META.json
--- old/Glib-1.300/META.json 2013-05-20 02:54:53.000000000 +0200
+++ new/Glib-1.301/META.json 2013-07-07 08:11:01.000000000 +0200
@@ -4,7 +4,7 @@
"gtk2-perl Team <gtk-perl-list at gnome dot org>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.64, CPAN::Meta::Converter version 2.112621",
+ "generated_by" : "ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.131560",
"license" : [
"lgpl_2_1"
],
@@ -44,11 +44,22 @@
]
},
"prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
"configure" : {
"requires" : {
"ExtUtils::Depends" : "0.300",
"ExtUtils::PkgConfig" : "1.000"
}
+ },
+ "runtime" : {
+ "requires" : {
+ "ExtUtils::Depends" : "0.300",
+ "ExtUtils::PkgConfig" : "1.000"
+ }
}
},
"release_status" : "stable",
@@ -68,5 +79,5 @@
},
"x_MailingList" : "https://mail.gnome.org/mailman/listinfo/gtk-perl-list"
},
- "version" : "1.300"
+ "version" : "1.301"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/META.yml new/Glib-1.301/META.yml
--- old/Glib-1.300/META.yml 2013-05-20 02:54:53.000000000 +0200
+++ new/Glib-1.301/META.yml 2013-07-07 08:11:01.000000000 +0200
@@ -2,12 +2,13 @@
abstract: 'Perl wrappers for the GLib utility and Object libraries'
author:
- 'gtk2-perl Team <gtk-perl-list at gnome dot org>'
-build_requires: {}
+build_requires:
+ ExtUtils::MakeMaker: 0
configure_requires:
ExtUtils::Depends: 0.300
ExtUtils::PkgConfig: 1.000
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.64, CPAN::Meta::Converter version 2.112621'
+generated_by: 'ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.131560'
license: lgpl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -39,10 +40,13 @@
- xsapi.pod.foot
package:
- MY
+requires:
+ ExtUtils::Depends: 0.300
+ ExtUtils::PkgConfig: 1.000
resources:
+ MailingList: https://mail.gnome.org/mailman/listinfo/gtk-perl-list
bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Glib
homepage: http://gtk2-perl.sourceforge.net
license: http://www.gnu.org/licenses/lgpl-2.1.html
repository: git://git.gnome.org/perl-Glib
- x_MailingList: https://mail.gnome.org/mailman/listinfo/gtk-perl-list
-version: 1.300
+version: 1.301
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/NEWS new/Glib-1.301/NEWS
--- old/Glib-1.300/NEWS 2013-05-20 02:41:33.000000000 +0200
+++ new/Glib-1.301/NEWS 2013-07-07 08:08:36.000000000 +0200
@@ -1,3 +1,8 @@
+Overview of changes in Glib 1.301 (stable)
+==========================================
+
+* t/options.t: skip tests in non-UTF-8 locales; fixes RT#83490
+
Overview of changes in Glib 1.300 (stable)
==========================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/lib/Glib/CodeGen.pm new/Glib-1.301/lib/Glib/CodeGen.pm
--- old/Glib-1.300/lib/Glib/CodeGen.pm 2013-05-20 02:43:23.000000000 +0200
+++ new/Glib-1.301/lib/Glib/CodeGen.pm 2013-07-07 08:09:17.000000000 +0200
@@ -5,7 +5,7 @@
use Carp;
use IO::File;
-our $VERSION = '1.300';
+our $VERSION = '1.301';
# type handlers should look like this:
# sub gen_foo_stuff {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/lib/Glib/GenPod.pm new/Glib-1.301/lib/Glib/GenPod.pm
--- old/Glib-1.300/lib/Glib/GenPod.pm 2013-05-20 02:43:33.000000000 +0200
+++ new/Glib-1.301/lib/Glib/GenPod.pm 2013-07-07 08:09:30.000000000 +0200
@@ -9,7 +9,7 @@
package Glib::GenPod;
-our $VERSION = '1.300';
+our $VERSION = '1.301';
use strict;
use warnings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/lib/Glib/MakeHelper.pm new/Glib-1.301/lib/Glib/MakeHelper.pm
--- old/Glib-1.300/lib/Glib/MakeHelper.pm 2013-05-20 02:43:41.000000000 +0200
+++ new/Glib-1.301/lib/Glib/MakeHelper.pm 2013-07-07 08:09:42.000000000 +0200
@@ -4,7 +4,7 @@
package Glib::MakeHelper;
-our $VERSION = '1.300';
+our $VERSION = '1.301';
=head1 NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/lib/Glib/Object/Subclass.pm new/Glib-1.301/lib/Glib/Object/Subclass.pm
--- old/Glib-1.300/lib/Glib/Object/Subclass.pm 2013-05-20 02:43:55.000000000 +0200
+++ new/Glib-1.301/lib/Glib/Object/Subclass.pm 2013-07-07 08:10:05.000000000 +0200
@@ -20,7 +20,7 @@
package Glib::Object::Subclass;
-our $VERSION = '1.300';
+our $VERSION = '1.301';
use Glib;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/lib/Glib/ParseXSDoc.pm new/Glib-1.301/lib/Glib/ParseXSDoc.pm
--- old/Glib-1.300/lib/Glib/ParseXSDoc.pm 2013-05-20 02:44:05.000000000 +0200
+++ new/Glib-1.301/lib/Glib/ParseXSDoc.pm 2013-07-07 08:10:20.000000000 +0200
@@ -13,7 +13,7 @@
xsdocparse
);
-our $VERSION = '1.300';
+our $VERSION = '1.301';
our $NOISY = $ENV{NOISYDOC};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/lib/Glib.pm new/Glib-1.301/lib/Glib.pm
--- old/Glib-1.300/lib/Glib.pm 2013-05-20 02:43:14.000000000 +0200
+++ new/Glib-1.301/lib/Glib.pm 2013-07-07 08:09:04.000000000 +0200
@@ -27,7 +27,7 @@
require DynaLoader;
our @ISA = qw(DynaLoader Exporter);
-our $VERSION = '1.300';
+our $VERSION = '1.301';
use constant {
TRUE => 1,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Glib-1.300/t/options.t new/Glib-1.301/t/options.t
--- old/Glib-1.300/t/options.t 2013-01-15 07:47:46.000000000 +0100
+++ new/Glib-1.301/t/options.t 2013-07-07 08:02:23.000000000 +0200
@@ -156,7 +156,22 @@
}
# Test that there is no double-encoding for utf8-encoded strings.
- {
+SKIP: {
+ my $codeset;
+ # This eval() was taken from <https://metacpan.org/module/I18N::Langinfo>
+ # and from a suggestion from Kevin Ryde
+ eval {
+ require I18N::Langinfo;
+ $codeset = I18N::Langinfo::langinfo(I18N::Langinfo::CODESET());
+ };
+ # If there was an error requiring I18N::Langinfo, then skip this block of
+ # tests; we need I18N::Langinfo to check LC_ALL/LANG
+ skip("Can't check LC_ALL/LANG, I18N::Langinfo unavailable; $@", 4)
+ if ( length($@) > 0 );
+ # If LC_ALL/LANG is not some variant of UTF-8 (8-bit, wide/multibyte
+ # characters), skip this block of tests
+ skip("Can't test parsing of wide-byte args (non-UTF-8 locale: $codeset)", 4)
+ if ( $codeset !~ /UTF-8|utf8/i );
@ARGV = qw(-s ❤ ❤);
$context -> parse();
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-File-MMagic for openSUSE:Factory checked in at 2013-07-30 16:41:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-File-MMagic (Old)
and /work/SRC/openSUSE:Factory/.perl-File-MMagic.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-File-MMagic"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-File-MMagic/perl-File-MMagic.changes 2013-06-09 16:57:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-File-MMagic.new/perl-File-MMagic.changes 2013-07-30 16:41:34.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Jul 27 11:58:16 UTC 2013 - coolo(a)suse.com
+
+- updated to 1.30
+ * MMagic.pm: Version 1.30.
+ * MMagic.pm (checktype_byfilename): Remove Scalar::Util::weaken.
+ To prevent too much decrement REFCNT.
+
+-------------------------------------------------------------------
Old:
----
File-MMagic-1.29.tar.gz
New:
----
File-MMagic-1.30.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-File-MMagic.spec ++++++
--- /var/tmp/diff_new_pack.d60yHQ/_old 2013-07-30 16:41:35.000000000 +0200
+++ /var/tmp/diff_new_pack.d60yHQ/_new 2013-07-30 16:41:35.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-File-MMagic
-Version: 1.29
+Version: 1.30
Release: 0
%define cpan_name File-MMagic
Summary: Guess file type
++++++ File-MMagic-1.29.tar.gz -> File-MMagic-1.30.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-MMagic-1.29/ChangeLog new/File-MMagic-1.30/ChangeLog
--- old/File-MMagic-1.29/ChangeLog 2012-07-12 02:39:35.000000000 +0200
+++ new/File-MMagic-1.30/ChangeLog 2013-07-02 08:21:18.000000000 +0200
@@ -1,3 +1,12 @@
+2013-07-02 NOKUBI Takatsugu <knok(a)daionet.gr.jp>
+
+ * MMagic.pm: Version 1.30.
+
+2013-01-21 NOKUBI Takatsugu <knok(a)daionet.gr.jp>
+
+ * MMagic.pm (checktype_byfilename): Remove Scalar::Util::weaken.
+ To prevent too much decrement REFCNT.
+
2012-07-12 NOKUBI Takatsugu <knok(a)daionet.gr.jp>
* MMagic.pm (checktype_contents): Fix infinity loop bug.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-MMagic-1.29/META.yml new/File-MMagic-1.30/META.yml
--- old/File-MMagic-1.29/META.yml 2012-07-12 02:42:33.000000000 +0200
+++ new/File-MMagic-1.30/META.yml 2013-07-02 08:23:46.000000000 +0200
@@ -1,6 +1,6 @@
--- #YAML:1.0
name: File-MMagic
-version: 1.29
+version: 1.30
abstract: Guess file type from contents
author:
- NOKUBI Takatsugu <knok(a)daionet.gr.jp>
@@ -15,7 +15,7 @@
directory:
- t
- inc
-generated_by: ExtUtils::MakeMaker version 6.55_02
+generated_by: ExtUtils::MakeMaker version 6.57_05
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-MMagic-1.29/MMagic.pm new/File-MMagic-1.30/MMagic.pm
--- old/File-MMagic-1.29/MMagic.pm 2012-07-12 02:42:19.000000000 +0200
+++ new/File-MMagic-1.30/MMagic.pm 2013-07-02 08:21:40.000000000 +0200
@@ -1,6 +1,6 @@
# File::MMagic
#
-# $Id: MMagic.pm 288 2012-07-12 00:42:19Z knok $
+# $Id: MMagic.pm 290 2013-07-02 06:21:39Z knok $
#
# This program is originated from file.kulp that is a production of The
# Unix Reconstruction Projct.
@@ -304,7 +304,6 @@
use FileHandle;
use strict;
-use Scalar::Util;
use vars qw(
%TEMPLATES %ESC $VERSION
@@ -342,7 +341,7 @@
t => "\t",
f => "\f");
-$VERSION = "1.29";
+$VERSION = "1.30";
$allowEightbit = 1;
}
@@ -740,7 +739,6 @@
$fname =~ s/^.*\///;
for my $regex (keys %{$self->{FILEEXTS}}) {
- Scalar::Util::weaken($self->{FILEEXTS});
if ($fname =~ /$regex/i) {
if ((defined $type && $type !~ /;/) || (! defined $type)) {
$type = $self->{FILEEXTS}->{$regex}; # has no x-type param
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Devel-Declare for openSUSE:Factory checked in at 2013-07-30 16:40:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-Declare (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-Declare.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-Declare"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-Declare/perl-Devel-Declare.changes 2013-06-09 16:54:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Devel-Declare.new/perl-Devel-Declare.changes 2013-07-30 16:40:32.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Jul 27 11:58:45 UTC 2013 - coolo(a)suse.com
+
+- updated to 0.006014
+ - converted dist to Distar
+ - re-release, because Module::Install is AWESOME!
+ - Updates for some deprecations in perl 5.17. (Zefram, RT#83968)
+
+-------------------------------------------------------------------
Old:
----
Devel-Declare-0.006011.tar.gz
New:
----
Devel-Declare-0.006014.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-Declare.spec ++++++
--- /var/tmp/diff_new_pack.ksIxkT/_old 2013-07-30 16:40:33.000000000 +0200
+++ /var/tmp/diff_new_pack.ksIxkT/_new 2013-07-30 16:40:33.000000000 +0200
@@ -17,14 +17,14 @@
Name: perl-Devel-Declare
-Version: 0.006011
+Version: 0.006014
Release: 0
%define cpan_name Devel-Declare
Summary: Adding keywords to perl, in perl
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Devel-Declare/
-Source: http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/%{cpan_name}-%{version}.tar.gz
+Source: http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
@@ -33,17 +33,13 @@
BuildRequires: perl(ExtUtils::Depends) >= 0.302
BuildRequires: perl(Sub::Name)
BuildRequires: perl(Test::More) >= 0.88
+BuildRequires: perl(Test::Requires)
#BuildRequires: perl(Devel::CallParser)
#BuildRequires: perl(Devel::Declare)
#BuildRequires: perl(Devel::Declare::Context::Simple)
#BuildRequires: perl(Devel::Declare::MethodInstaller::Simple)
-#BuildRequires: perl(inc::Module::Install) >= 0.91
-#BuildRequires: perl(JSON)
-#BuildRequires: perl(Module::Build)
-#BuildRequires: perl(Module::Install::Base)
-#BuildRequires: perl(Parse::CPAN::Meta)
+#BuildRequires: perl(Distar) >= 0.001000
#BuildRequires: perl(t::early1_x)
-#BuildRequires: perl(YAML::Tiny)
Requires: perl(B::Hooks::EndOfScope) >= 0.05
Requires: perl(B::Hooks::OP::Check) >= 0.19
Requires: perl(Sub::Name)
@@ -57,6 +53,7 @@
%prep
%setup -q -n %{cpan_name}-%{version}
+find . -type f -print0 | xargs -0 chmod 644
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
++++++ Devel-Declare-0.006011.tar.gz -> Devel-Declare-0.006014.tar.gz ++++++
++++ 2552 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-DBM-Deep for openSUSE:Factory checked in at 2013-07-30 16:38:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-DBM-Deep (Old)
and /work/SRC/openSUSE:Factory/.perl-DBM-Deep.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-DBM-Deep"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-DBM-Deep/perl-DBM-Deep.changes 2013-06-05 13:33:59.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-DBM-Deep.new/perl-DBM-Deep.changes 2013-07-30 16:38:25.000000000 +0200
@@ -1,0 +2,5 @@
+Sat Jul 27 11:58:59 UTC 2013 - coolo(a)suse.com
+
+- updated to 2.0009, no changelog
+
+-------------------------------------------------------------------
Old:
----
DBM-Deep-2.0008.tar.gz
New:
----
DBM-Deep-2.0009.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-DBM-Deep.spec ++++++
--- /var/tmp/diff_new_pack.5jI1FL/_old 2013-07-30 16:38:26.000000000 +0200
+++ /var/tmp/diff_new_pack.5jI1FL/_new 2013-07-30 16:38:26.000000000 +0200
@@ -23,7 +23,7 @@
Summary: Pure perl multi-level hash/array DBM that supports transactions
License: GPL-1.0+ or Artistic-1.0
Group: Development/Libraries/Perl
-Version: 2.0008
+Version: 2.0009
Release: 0
Url: http://search.cpan.org/dist/DBM-Deep/
Source: http://www.cpan.org/modules/by-module/DBM/DBM-Deep-%{version}.tar.gz
++++++ DBM-Deep-2.0008.tar.gz -> DBM-Deep-2.0009.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/MANIFEST new/DBM-Deep-2.0009/MANIFEST
--- old/DBM-Deep-2.0008/MANIFEST 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/MANIFEST 2013-06-30 16:06:02.000000000 +0200
@@ -104,3 +104,4 @@
utils/lib/DBM/Deep/09830.pm
utils/lib/DBM/Deep/10002.pm
utils/upgrade_db.pl
+META.json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/META.json new/DBM-Deep-2.0009/META.json
--- old/DBM-Deep-2.0008/META.json 1970-01-01 01:00:00.000000000 +0100
+++ new/DBM-Deep-2.0009/META.json 2013-06-30 16:06:02.000000000 +0200
@@ -0,0 +1,135 @@
+{
+ "abstract" : "A pure perl multi-level hash/array DBM that supports transactions",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "Module::Build version 0.4005, CPAN::Meta::Converter version 2.131560",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "DBM-Deep",
+ "no_index" : {
+ "directory" : [
+ "utils"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "File::Path" : "0.01",
+ "File::Temp" : "0.01",
+ "Pod::Usage" : "1.3",
+ "Test::Deep" : "0.095",
+ "Test::Exception" : "0.21",
+ "Test::More" : "0.88",
+ "Test::Warn" : "0.08"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "Module::Build" : "0.40"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Digest::MD5" : "1.00",
+ "Fcntl" : "0.01",
+ "Scalar::Util" : "1.14",
+ "perl" : "5.008_004"
+ }
+ }
+ },
+ "provides" : {
+ "DBM::Deep" : {
+ "file" : "lib/DBM/Deep.pm",
+ "version" : "2.0009"
+ },
+ "DBM::Deep::Array" : {
+ "file" : "lib/DBM/Deep/Array.pm"
+ },
+ "DBM::Deep::Engine" : {
+ "file" : "lib/DBM/Deep/Engine.pm"
+ },
+ "DBM::Deep::Engine::DBI" : {
+ "file" : "lib/DBM/Deep/Engine/DBI.pm"
+ },
+ "DBM::Deep::Engine::File" : {
+ "file" : "lib/DBM/Deep/Engine/File.pm"
+ },
+ "DBM::Deep::Hash" : {
+ "file" : "lib/DBM/Deep/Hash.pm"
+ },
+ "DBM::Deep::Iterator" : {
+ "file" : "lib/DBM/Deep/Iterator.pm"
+ },
+ "DBM::Deep::Iterator::DBI" : {
+ "file" : "lib/DBM/Deep/Iterator/DBI.pm"
+ },
+ "DBM::Deep::Iterator::File" : {
+ "file" : "lib/DBM/Deep/Iterator/File.pm"
+ },
+ "DBM::Deep::Iterator::File::BucketList" : {
+ "file" : "lib/DBM/Deep/Iterator/File/BucketList.pm"
+ },
+ "DBM::Deep::Iterator::File::Index" : {
+ "file" : "lib/DBM/Deep/Iterator/File/Index.pm"
+ },
+ "DBM::Deep::Null" : {
+ "file" : "lib/DBM/Deep/Null.pm"
+ },
+ "DBM::Deep::Sector" : {
+ "file" : "lib/DBM/Deep/Sector.pm"
+ },
+ "DBM::Deep::Sector::DBI" : {
+ "file" : "lib/DBM/Deep/Sector/DBI.pm"
+ },
+ "DBM::Deep::Sector::DBI::Reference" : {
+ "file" : "lib/DBM/Deep/Sector/DBI/Reference.pm"
+ },
+ "DBM::Deep::Sector::DBI::Scalar" : {
+ "file" : "lib/DBM/Deep/Sector/DBI/Scalar.pm"
+ },
+ "DBM::Deep::Sector::File" : {
+ "file" : "lib/DBM/Deep/Sector/File.pm"
+ },
+ "DBM::Deep::Sector::File::BucketList" : {
+ "file" : "lib/DBM/Deep/Sector/File/BucketList.pm"
+ },
+ "DBM::Deep::Sector::File::Data" : {
+ "file" : "lib/DBM/Deep/Sector/File/Data.pm"
+ },
+ "DBM::Deep::Sector::File::Index" : {
+ "file" : "lib/DBM/Deep/Sector/File/Index.pm"
+ },
+ "DBM::Deep::Sector::File::Null" : {
+ "file" : "lib/DBM/Deep/Sector/File/Null.pm"
+ },
+ "DBM::Deep::Sector::File::Reference" : {
+ "file" : "lib/DBM/Deep/Sector/File/Reference.pm"
+ },
+ "DBM::Deep::Sector::File::Scalar" : {
+ "file" : "lib/DBM/Deep/Sector/File/Scalar.pm"
+ },
+ "DBM::Deep::Storage" : {
+ "file" : "lib/DBM/Deep/Storage.pm"
+ },
+ "DBM::Deep::Storage::DBI" : {
+ "file" : "lib/DBM/Deep/Storage/DBI.pm"
+ },
+ "DBM::Deep::Storage::File" : {
+ "file" : "lib/DBM/Deep/Storage/File.pm"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ]
+ },
+ "version" : "2.0009"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/META.yml new/DBM-Deep-2.0009/META.yml
--- old/DBM-Deep-2.0008/META.yml 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/META.yml 2013-06-30 16:06:02.000000000 +0200
@@ -1,6 +1,7 @@
---
abstract: 'A pure perl multi-level hash/array DBM that supports transactions'
-author: []
+author:
+ - unknown
build_requires:
File::Path: 0.01
File::Temp: 0.01
@@ -10,8 +11,9 @@
Test::More: 0.88
Test::Warn: 0.08
configure_requires:
- Module::Build: 0.36
-generated_by: 'Module::Build version 0.3603'
+ Module::Build: 0.40
+dynamic_config: 1
+generated_by: 'Module::Build version 0.4005, CPAN::Meta::Converter version 2.131560'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -23,7 +25,7 @@
provides:
DBM::Deep:
file: lib/DBM/Deep.pm
- version: 2.0008
+ version: 2.0009
DBM::Deep::Array:
file: lib/DBM/Deep/Array.pm
DBM::Deep::Engine:
@@ -81,4 +83,4 @@
perl: 5.008_004
resources:
license: http://dev.perl.org/licenses/
-version: 2.0008
+version: 2.0009
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/Makefile.PL new/DBM-Deep-2.0009/Makefile.PL
--- old/DBM-Deep-2.0008/Makefile.PL 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/Makefile.PL 2013-06-30 16:06:02.000000000 +0200
@@ -1,24 +1,24 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.3603
+# Note: this file was auto-generated by Module::Build::Compat version 0.4005
require 5.008_004;
use ExtUtils::MakeMaker;
WriteMakefile
(
- 'NAME' => 'DBM::Deep',
- 'VERSION_FROM' => 'lib/DBM/Deep.pm',
- 'PREREQ_PM' => {
- 'Digest::MD5' => '1.00',
- 'Fcntl' => '0.01',
- 'File::Path' => '0.01',
- 'File::Temp' => '0.01',
- 'Pod::Usage' => '1.3',
- 'Scalar::Util' => '1.14',
- 'Test::Deep' => '0.095',
- 'Test::Exception' => '0.21',
- 'Test::More' => '0.88',
- 'Test::Warn' => '0.08'
- },
- 'INSTALLDIRS' => 'site',
- 'EXE_FILES' => [],
- 'PL_FILES' => {}
- )
+ 'PL_FILES' => {},
+ 'INSTALLDIRS' => 'site',
+ 'NAME' => 'DBM::Deep',
+ 'EXE_FILES' => [],
+ 'VERSION_FROM' => 'lib/DBM/Deep.pm',
+ 'PREREQ_PM' => {
+ 'Scalar::Util' => '1.14',
+ 'Test::Exception' => '0.21',
+ 'Pod::Usage' => '1.3',
+ 'Fcntl' => '0.01',
+ 'Test::More' => '0.88',
+ 'Test::Warn' => '0.08',
+ 'File::Temp' => '0.01',
+ 'Digest::MD5' => '1.00',
+ 'File::Path' => '0.01',
+ 'Test::Deep' => '0.095'
+ }
+)
;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/README new/DBM-Deep-2.0009/README
--- old/DBM-Deep-2.0008/README 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/README 2013-06-30 16:06:02.000000000 +0200
@@ -3,7 +3,7 @@
transactions
VERSION
- 2.0008
+ 2.0009
SYNOPSIS
use DBM::Deep;
@@ -53,11 +53,11 @@
NOTE: 1.0020 introduces different engines which are backed by different
types of storage. There is the original storage (called 'File') and a
- database storage (called 'DBI'). q.v. PLUGINS for more information.
+ database storage (called 'DBI'). q.v. "PLUGINS" for more information.
NOTE: 1.0000 has significant file format differences from prior
versions. There is a backwards-compatibility layer at
- `utils/upgrade_db.pl'. Files created by 1.0000 or higher are NOT
+ "utils/upgrade_db.pl". Files created by 1.0000 or higher are NOT
compatible with scripts using prior versions.
PLUGINS
@@ -67,13 +67,15 @@
This is the traditional storage engine, storing the data to a custom
file format. The parameters accepted are:
- * file
+ * file
+
Filename of the DB file to link the handle to. You can pass a full
absolute filesystem path, partial path, or a plain filename if the
file is in the current working directory. This is a required
parameter (though q.v. fh).
- * fh
+ * fh
+
If you want, you can pass in the fh instead of the file. This is
most useful for doing something like:
@@ -85,20 +87,22 @@
append-only, an exception will be thrown immediately as DBM::Deep
needs to read from the fh.
- * file_offset
+ * file_offset
+
This is the offset within the file that the DBM::Deep db starts.
Most of the time, you will not need to set this. However, it's there
if you want it.
If you pass in fh and do not set this, it will be set appropriately.
- * locking
+ * locking
+
Specifies whether locking is to be enabled. DBM::Deep uses Perl's
flock() function to lock the database in exclusive mode for writes,
and shared mode for reads. Pass any true value to enable. This
affects the base DB handle *and any child hashes or arrays* that use
the same DB file. This is an optional parameter, and defaults to 1
- (enabled). See LOCKING below for more.
+ (enabled). See "LOCKING" below for more.
When you open an existing database file, the version of the database
format will stay the same. But if you are creating a new file, it will
@@ -111,18 +115,23 @@
The parameters accepted are:
- * dbh
- This is a DBH that's already been opened with DBI.
+ * dbh
+
+ This is a DBH that's already been opened with "connect" in DBI.
+
+ * dbi
- * dbi
This is a hashref containing:
- * dsn
- * username
- * password
- * connect_args
+ * dsn
+
+ * username
+
+ * password
- These correspond to the 4 parameters DBI takes.
+ * connect_args
+
+ These correspond to the 4 parameters "connect" in DBI takes.
NOTE: This has only been tested with MySQL and SQLite (with
disappointing results). I plan on extending this to work with PostgreSQL
@@ -132,9 +141,11 @@
There are plans to extend this functionality to (at least) the
following:
- * BDB (and other hash engines like memcached)
- * NoSQL engines (such as Tokyo Cabinet)
- * DBIx::Class (and other ORMs)
+ * BDB (and other hash engines like memcached)
+
+ * NoSQL engines (such as Tokyo Cabinet)
+
+ * DBIx::Class (and other ORMs)
SETUP
Construction can be done OO-style (which is the recommended way), or
@@ -149,7 +160,7 @@
This opens a new database handle, mapped to the file "foo.db". If this
file does not exist, it will automatically be created. DB files are
opened in "r+" (read/write) mode, and the type of object returned is a
- hash, unless otherwise specified (see OPTIONS below).
+ hash, unless otherwise specified (see "OPTIONS" below).
You can pass a number of options to the constructor to specify things
like locking, autoflush, etc. This is done by passing an inline hash (or
@@ -163,20 +174,20 @@
Notice that the filename is now specified *inside* the hash with the
"file" parameter, as opposed to being the sole argument to the
- constructor. This is required if any options are specified. See OPTIONS
- below for the complete list.
+ constructor. This is required if any options are specified. See
+ "OPTIONS" below for the complete list.
You can also start with an array instead of a hash. For this, you must
- specify the `type' parameter:
+ specify the "type" parameter:
my $db = DBM::Deep->new(
file => "foo.db",
type => DBM::Deep->TYPE_ARRAY
);
- Note: Specifying the `type' parameter only takes effect when beginning a
+ Note: Specifying the "type" parameter only takes effect when beginning a
new DB file. If you create a DBM::Deep object with an existing file, the
- `type' will be loaded from the file header, and an error will be thrown
+ "type" will be loaded from the file header, and an error will be thrown
if the wrong type is passed in.
Tie Construction
@@ -193,7 +204,7 @@
my $db = tie @array, "DBM::Deep", "bar.db";
As with the OO constructor, you can replace the DB filename parameter
- with a hash containing one or more options (see OPTIONS just below for
+ with a hash containing one or more options (see "OPTIONS" just below for
the complete list).
tie %hash, "DBM::Deep", {
@@ -207,25 +218,29 @@
your DBM::Deep objects. These apply to both the OO- and tie- based
approaches.
- * type
+ * type
+
This parameter specifies what type of object to create, a hash or
array. Use one of these two constants:
- * `DBM::Deep->TYPE_HASH'
- * `DBM::Deep->TYPE_ARRAY'
+ * "DBM::Deep->TYPE_HASH"
+
+ * "DBM::Deep->TYPE_ARRAY"
This only takes effect when beginning a new file. This is an
- optional parameter, and defaults to `DBM::Deep->TYPE_HASH'.
+ optional parameter, and defaults to "DBM::Deep->TYPE_HASH".
+
+ * autoflush
- * autoflush
Specifies whether autoflush is to be enabled on the underlying
filehandle. This obviously slows down write operations, but is
required if you may have multiple processes accessing the same DB
file (also consider enable *locking*). Pass any true value to
enable. This is an optional parameter, and defaults to 1 (enabled).
- * filter_*
- See FILTERS below.
+ * filter_*
+
+ See "FILTERS" below.
The following parameters may be specified in the constructor the first
time the datafile is created. However, they will be stored in the header
@@ -233,7 +248,8 @@
- the values will be set from the values stored in the datafile's
header.
- * num_txns
+ * num_txns
+
This is the number of transactions that can be running at one time.
The default is one - the HEAD. The minimum is one and the maximum is
255. The more transactions, the larger and quicker the datafile
@@ -242,18 +258,20 @@
Simple access to a database, regardless of how many processes are
doing it, already counts as one transaction (the HEAD). So, if you
want, say, 5 processes to be able to call begin_work at the same
- time, `num_txns' must be at least 6.
+ time, "num_txns" must be at least 6.
+
+ See "TRANSACTIONS" below.
- See TRANSACTIONS below.
+ * max_buckets
- * max_buckets
This is the number of entries that can be added before a reindexing.
The larger this number is made, the larger a file gets, but the
better performance you will have. The default and minimum number
this can be is 16. The maximum is 256, but more than 64 isn't
recommended.
- * data_sector_size
+ * data_sector_size
+
This is the size in bytes of a given data sector. Data sectors will
chain, so a value of any size can be stored. However, chaining is
expensive in terms of time. Setting this value to something close to
@@ -266,7 +284,7 @@
maximum is 256 bytes.
Note: There are between 6 and 10 bytes taken up in each data sector
- for bookkeeping. (It's 4 + the number of bytes in your pack_size.)
+ for bookkeeping. (It's 4 + the number of bytes in your "pack_size".)
This is included within the data_sector_size, thus the effective
value is 6-10 bytes less than what you specified.
@@ -275,26 +293,31 @@
file. This will make all non-ASCII characters take up more than one
byte each.
- * pack_size
+ * pack_size
+
This is the size of the file pointer used throughout the file. The
valid values are:
- * small
+ * small
+
This uses 2-byte offsets, allowing for a maximum file size of 65
KB.
- * medium (default)
+ * medium (default)
+
This uses 4-byte offsets, allowing for a maximum file size of 4
GB.
- * large
+ * large
+
This uses 8-byte offsets, allowing for a maximum file size of 16
XB (exabytes). This can only be enabled if your Perl is compiled
for 64-bit.
- See LARGEFILE SUPPORT for more information.
+ See "LARGEFILE SUPPORT" for more information.
+
+ * external_refs
- * external_refs
This is a boolean option. When enabled, it allows external
references to database entries to hold on to those entries, even
when they are deleted.
@@ -308,32 +331,32 @@
delete $db->{foo};
- `$foo_hash' will point to a location in the DB that is no longer
- valid (we call this a stale reference). So if you try to retrieve
- the data from `$foo_hash',
+ $foo_hash will point to a location in the DB that is no longer valid
+ (we call this a stale reference). So if you try to retrieve the data
+ from $foo_hash,
for(keys %$foo_hash) {
you will get an error.
- The `external_refs' option causes `$foo_hash' to 'hang on' to the DB
+ The "external_refs" option causes $foo_hash to 'hang on' to the DB
entry, so it will not be deleted from the database if there is still
a reference to it in a running program. It will be deleted, instead,
- when the `$foo_hash' variable no longer exists, or is overwritten.
+ when the $foo_hash variable no longer exists, or is overwritten.
This has the potential to cause database bloat if your program
- crashes, so it is not enabled by default. (See also the export
+ crashes, so it is not enabled by default. (See also the "export"
method for an alternative workaround.)
TIE INTERFACE
With DBM::Deep you can access your databases using Perl's standard
hash/array syntax. Because all DBM::Deep objects are *tied* to hashes or
- arrays, you can treat them as such (but see external_refs, above, and
- Stale References, below). DBM::Deep will intercept all reads/writes and
- direct them to the right place -- the DB file. This has nothing to do
- with the TIE CONSTRUCTION section above. This simply tells you how to
- use DBM::Deep using regular hashes and arrays, rather than calling
- functions like `get()' and `put()' (although those work too). It is
+ arrays, you can treat them as such (but see "external_refs", above, and
+ "Stale References", below). DBM::Deep will intercept all reads/writes
+ and direct them to the right place -- the DB file. This has nothing to
+ do with the "TIE CONSTRUCTION" section above. This simply tells you how
+ to use DBM::Deep using regular hashes and arrays, rather than calling
+ functions like "get()" and "put()" (although those work too). It is
entirely up to you how to want to access your databases.
Hashes
@@ -348,24 +371,24 @@
print $db->{myhash}->{subkey} . "\n";
- You can even step through hash keys using the normal Perl `keys()'
+ You can even step through hash keys using the normal Perl "keys()"
function:
foreach my $key (keys %$db) {
print "$key: " . $db->{$key} . "\n";
}
- Remember that Perl's `keys()' function extracts *every* key from the
+ Remember that Perl's "keys()" function extracts *every* key from the
hash and pushes them onto an array, all before the loop even begins. If
you have an extremely large hash, this may exhaust Perl's memory.
- Instead, consider using Perl's `each()' function, which pulls
+ Instead, consider using Perl's "each()" function, which pulls
keys/values one at a time, using very little memory:
while (my ($key, $value) = each %$db) {
print "$key: $value\n";
}
- Please note that when using `each()', you should always pass a direct
+ Please note that when using "each()", you should always pass a direct
hash reference, not a lookup. Meaning, you should never do this:
# NEVER DO THIS
@@ -374,15 +397,15 @@
This causes an infinite loop, because for each iteration, Perl is
calling FETCH() on the $db handle, resulting in a "new" hash for foo
every time, so it effectively keeps returning the first key over and
- over again. Instead, assign a temporary variable to `$db->{foo}', then
+ over again. Instead, assign a temporary variable to "$db->{foo}", then
pass that to each().
Arrays
As with hashes, you can treat any DBM::Deep object like a normal Perl
array reference. This includes inserting, removing and manipulating
- elements, and the `push()', `pop()', `shift()', `unshift()' and
- `splice()' functions. The object must have first been created using type
- `DBM::Deep->TYPE_ARRAY', or simply be a nested array reference inside a
+ elements, and the "push()", "pop()", "shift()", "unshift()" and
+ "splice()" functions. The object must have first been created using type
+ "DBM::Deep->TYPE_ARRAY", or simply be a nested array reference inside a
hash. Example:
my $db = DBM::Deep->new(
@@ -404,14 +427,16 @@
In addition to the *tie()* interface, you can also use a standard OO
interface to manipulate all aspects of DBM::Deep databases. Each type of
object (hash or array) has its own methods, but both types share the
- following common methods: `put()', `get()', `exists()', `delete()' and
- `clear()'. `fetch()' and `store()' are aliases to `put()' and `get()',
+ following common methods: "put()", "get()", "exists()", "delete()" and
+ "clear()". "fetch()" and "store()" are aliases to "put()" and "get()",
respectively.
- * new() / clone()
+ * new() / clone()
+
These are the constructor and copy-functions.
- * put() / store()
+ * put() / store()
+
Stores a new hash key/value pair, or sets an array element value.
Takes two arguments, the hash key or array index, and the new value.
The value can be a scalar, hash ref or array ref. Returns true on
@@ -420,7 +445,8 @@
$db->put("foo", "bar"); # for hashes
$db->put(1, "bar"); # for arrays
- * get() / fetch()
+ * get() / fetch()
+
Fetches the value of a hash key or array element. Takes one
argument: the hash key or array index. Returns a scalar, hash ref or
array ref, depending on the data type stored.
@@ -428,18 +454,20 @@
my $value = $db->get("foo"); # for hashes
my $value = $db->get(1); # for arrays
- * exists()
+ * exists()
+
Checks if a hash key or array index exists. Takes one argument: the
hash key or array index. Returns true if it exists, false if not.
if ($db->exists("foo")) { print "yay!\n"; } # for hashes
if ($db->exists(1)) { print "yay!\n"; } # for arrays
- * delete()
+ * delete()
+
Deletes one hash key/value pair or array element. Takes one
argument: the hash key or array index. Returns the data that the
- element used to contain (just like Perl's `delete' function), which
- is `undef' if it did not exist. For arrays, the remaining elements
+ element used to contain (just like Perl's "delete" function), which
+ is "undef" if it did not exist. For arrays, the remaining elements
located after the deleted element are NOT moved over. The deleted
element is essentially just undefined, which is exactly how Perl's
internal arrays work.
@@ -447,48 +475,57 @@
$db->delete("foo"); # for hashes
$db->delete(1); # for arrays
- * clear()
+ * clear()
+
Deletes all hash keys or array elements. Takes no arguments. No
return value.
$db->clear(); # hashes or arrays
- * lock() / unlock() / lock_exclusive() / lock_shared()
- q.v. LOCKING for more info.
+ * lock() / unlock() / lock_exclusive() / lock_shared()
+
+ q.v. "LOCKING" for more info.
+
+ * optimize()
- * optimize()
This will compress the datafile so that it takes up as little space
as possible. There is a freespace manager so that when space is
freed up, it is used before extending the size of the datafile. But,
- that freespace just sits in the datafile unless `optimize()' is
+ that freespace just sits in the datafile unless "optimize()" is
called.
- `optimize' basically copies everything into a new database, so, if
+ "optimize" basically copies everything into a new database, so, if
it is in version 1.0003 format, it will be upgraded.
- * import()
- Unlike simple assignment, `import()' does not tie the right-hand
- side. Instead, a copy of your data is put into the DB. `import()'
+ * import()
+
+ Unlike simple assignment, "import()" does not tie the right-hand
+ side. Instead, a copy of your data is put into the DB. "import()"
takes either an arrayref (if your DB is an array) or a hashref (if
- your DB is a hash). `import()' will die if anything else is passed
+ your DB is a hash). "import()" will die if anything else is passed
in.
- * export()
+ * export()
+
This returns a complete copy of the data structure at the point you
do the export. This copy is in RAM, not on disk like the DB is.
- * begin_work() / commit() / rollback()
- These are the transactional functions. TRANSACTIONS for more
+ * begin_work() / commit() / rollback()
+
+ These are the transactional functions. "TRANSACTIONS" for more
information.
- * supports( $option )
+ * supports( $option )
+
This returns a boolean indicating whether this instance of DBM::Deep
- supports that feature. `$option' can be one of:
+ supports that feature. $option can be one of:
+
+ * transactions
- * transactions
- * unicode
+ * unicode
+
+ * db_version()
- * db_version()
This returns the version of the database format that the current
database is in. This is specified as the earliest version of
DBM::Deep that supports it.
@@ -499,16 +536,18 @@
Hashes
For hashes, DBM::Deep supports all the common methods described above,
- and the following additional methods: `first_key()' and `next_key()'.
+ and the following additional methods: "first_key()" and "next_key()".
+
+ * first_key()
- * first_key()
Returns the "first" key in the hash. As with built-in Perl hashes,
keys are fetched in an undefined order (which appears random). Takes
no arguments, returns the key as a scalar value.
my $key = $db->first_key();
- * next_key()
+ * next_key()
+
Returns the "next" key in the hash, given the previous one as the
sole argument. Returns undef if there are no more keys to be
fetched.
@@ -536,36 +575,41 @@
Arrays
For arrays, DBM::Deep supports all the common methods described above,
- and the following additional methods: `length()', `push()', `pop()',
- `shift()', `unshift()' and `splice()'.
+ and the following additional methods: "length()", "push()", "pop()",
+ "shift()", "unshift()" and "splice()".
+
+ * length()
- * length()
Returns the number of elements in the array. Takes no arguments.
my $len = $db->length();
- * push()
+ * push()
+
Adds one or more elements onto the end of the array. Accepts
scalars, hash refs or array refs. No return value.
$db->push("foo", "bar", {});
- * pop()
+ * pop()
+
Fetches the last element in the array, and deletes it. Takes no
arguments. Returns undef if array is empty. Returns the element
value.
my $elem = $db->pop();
- * shift()
+ * shift()
+
Fetches the first element in the array, deletes it, then shifts all
the remaining elements over to take up the space. Returns the
element value. This method is not recommended with large arrays --
- see LARGE ARRAYS below for details.
+ see "LARGE ARRAYS" below for details.
my $elem = $db->shift();
- * unshift()
+ * unshift()
+
Inserts one or more elements onto the beginning of the array,
shifting all existing elements over to make room. Accepts scalars,
hash refs or array refs. No return value. This method is not
@@ -574,11 +618,12 @@
$db->unshift("foo", "bar", {});
- * splice()
+ * splice()
+
Performs exactly like Perl's built-in function of the same name. See
- perldoc -f splice for usage -- it is too complicated to document
- here. This method is not recommended with large arrays -- see LARGE
- ARRAYS below for details.
+ "perldoc -f splice" for usage -- it is too complicated to document
+ here. This method is not recommended with large arrays -- see "LARGE
+ ARRAYS" below for details.
Here are some examples of using arrays:
@@ -606,24 +651,24 @@
LOCKING
Enable or disable automatic file locking by passing a boolean value to
- the `locking' parameter when constructing your DBM::Deep object (see
- SETUP above).
+ the "locking" parameter when constructing your DBM::Deep object (see
+ "SETUP" above).
my $db = DBM::Deep->new(
file => "foo.db",
locking => 1
);
- This causes DBM::Deep to `flock()' the underlying filehandle with
+ This causes DBM::Deep to "flock()" the underlying filehandle with
exclusive mode for writes, and shared mode for reads. This is required
if you have multiple processes accessing the same database file, to
- avoid file corruption. Please note that `flock()' does NOT work for
- files over NFS. See DB OVER NFS below for more.
+ avoid file corruption. Please note that "flock()" does NOT work for
+ files over NFS. See "DB OVER NFS" below for more.
Explicit Locking
You can explicitly lock a database, so it remains locked for multiple
- actions. This is done by calling the `lock_exclusive()' method (for when
- you want to write) or the `lock_shared()' method (for when you want to
+ actions. This is done by calling the "lock_exclusive()" method (for when
+ you want to write) or the "lock_shared()" method (for when you want to
read). This is particularly useful for things like counters, where the
current value needs to be fetched, then incremented, then stored again.
@@ -646,14 +691,14 @@
future release.
IMPORTING/EXPORTING
- You can import existing complex structures by calling the `import()'
+ You can import existing complex structures by calling the "import()"
method, and export an entire database into an in-memory structure using
- the `export()' method. Both are examined here.
+ the "export()" method. Both are examined here.
Importing
Say you have an existing hash with nested hashes/arrays inside it.
Instead of walking the structure and adding keys/elements to the
- database as you go, simply pass a reference to the `import()' method.
+ database as you go, simply pass a reference to the "import()" method.
This recursively adds everything to an existing DBM::Deep object for
you. Here is an example:
@@ -672,18 +717,18 @@
print $db->{key1} . "\n"; # prints "value1"
- This recursively imports the entire `$struct' object into `$db',
- including all nested hashes and arrays. If the DBM::Deep object contains
- existing data, keys are merged with the existing ones, replacing if they
- already exist. The `import()' method can be called on any database level
- (not just the base level), and works with both hash and array DB types.
+ This recursively imports the entire $struct object into $db, including
+ all nested hashes and arrays. If the DBM::Deep object contains existing
+ data, keys are merged with the existing ones, replacing if they already
+ exist. The "import()" method can be called on any database level (not
+ just the base level), and works with both hash and array DB types.
Note: Make sure your existing structure has no circular references in
it. These will cause an infinite loop when importing. There are plans to
fix this in a later release.
Exporting
- Calling the `export()' method on an existing DBM::Deep object will
+ Calling the "export()" method on an existing DBM::Deep object will
return a reference to a new in-memory copy of the database. The export
is done recursively, so all nested hashes/arrays are all exported to
standard Perl objects. Here is an example:
@@ -701,7 +746,7 @@
print $struct->{key1} . "\n"; # prints "value1"
This makes a complete copy of the database in memory, and returns a
- reference to it. The `export()' method can be called on any database
+ reference to it. The "export()" method can be called on any database
level (not just the base level), and works with both hash and array DB
types. Be careful of large databases -- you can store a lot more data in
a DBM::Deep object than an in-memory Perl structure.
@@ -716,28 +761,32 @@
perfect way to extend the engine, and implement things like real-time
compression or encryption. Filtering applies to the base DB level, and
all child hashes / arrays. Filter hooks can be specified when your
- DBM::Deep object is first constructed, or by calling the `set_filter()'
+ DBM::Deep object is first constructed, or by calling the "set_filter()"
method at any time. There are four available filter hooks.
set_filter()
This method takes two parameters - the filter type and the filter
subreference. The four types are:
- * filter_store_key
+ * filter_store_key
+
This filter is called whenever a hash key is stored. It is passed
the incoming key, and expected to return a transformed key.
- * filter_store_value
+ * filter_store_value
+
This filter is called whenever a hash key or array element is
stored. It is passed the incoming value, and expected to return a
transformed value.
- * filter_fetch_key
+ * filter_fetch_key
+
This filter is called whenever a hash key is fetched (i.e. via
- `first_key()' or `next_key()'). It is passed the transformed key,
+ "first_key()" or "next_key()"). It is passed the transformed key,
and expected to return the plain key.
- * filter_fetch_value
+ * filter_fetch_value
+
This filter is called whenever a hash key or array element is
fetched. It is passed the transformed value, and expected to return
the plain value.
@@ -759,7 +808,7 @@
or values. When nested hashes and arrays are being stored/fetched,
filtering is bypassed. Filters are called as static functions, passed a
single SCALAR argument, and expected to return a single SCALAR value. If
- you want to remove a filter, set the function reference to `undef':
+ you want to remove a filter, set the function reference to "undef":
$db->set_filter( "store_value", undef );
@@ -791,7 +840,7 @@
words instead of 32-bit longs. After setting these values your DB files
have a theoretical maximum size of 16 XB (exabytes).
- You can also use `pack_size => 'small'' in order to use 16-bit file
+ You can also use "pack_size => 'small'" in order to use 16-bit file
offsets.
Note: Changing these values will NOT work for existing database files.
@@ -806,7 +855,7 @@
LOW-LEVEL ACCESS
If you require low-level access to the underlying filehandle that
- DBM::Deep uses, you can call the `_fh()' method, which returns the
+ DBM::Deep uses, you can call the "_fh()" method, which returns the
handle:
my $fh = $db->_fh();
@@ -815,7 +864,7 @@
hashes or arrays. All levels share a *root* structure, which contains
things like the filehandle, a reference counter, and all the options
specified when you created the object. You can get access to this file
- object by calling the `_storage()' method.
+ object by calling the "_storage()" method.
my $file_obj = $db->_storage();
@@ -857,26 +906,29 @@
$db2->{foo} = $db1->{foo}; # dies
Note: Passing the object to a function that recursively walks the object
- tree (such as *Data::Dumper* or even the built-in `optimize()' or
- `export()' methods) will result in an infinite loop. This will be fixed
+ tree (such as *Data::Dumper* or even the built-in "optimize()" or
+ "export()" methods) will result in an infinite loop. This will be fixed
in a future release by adding singleton support.
TRANSACTIONS
As of 1.0000, DBM::Deep hass ACID transactions. Every DBM::Deep object
is completely transaction-ready - it is not an option you have to turn
on. You do have to specify how many transactions may run simultaneously
- (q.v. num_txns).
+ (q.v. "num_txns").
Three new methods have been added to support them. They are:
- * begin_work()
+ * begin_work()
+
This starts a transaction.
- * commit()
+ * commit()
+
This applies the changes done within the transaction to the mainline
and ends the transaction.
- * rollback()
+ * rollback()
+
This discards the changes done within the transaction to the
mainline and ends the transaction.
@@ -897,7 +949,7 @@
TODO
The following are items that are planned to be added in future releases.
- These are separate from the CAVEATS, ISSUES & BUGS below.
+ These are separate from the "CAVEATS, ISSUES & BUGS" below.
Sub-Transactions
Right now, you cannot run a transaction within a transaction. Removing
@@ -944,12 +996,14 @@
reference types (SCALAR, CODE, GLOB, and REF) cannot be supported for
various reasons.
- * GLOB
+ * GLOB
+
These are things like filehandles and other sockets. They can't be
supported because it's completely unclear how DBM::Deep should
serialize them.
- * SCALAR / REF
+ * SCALAR / REF
+
The discussion here refers to the following type of example:
my $x = 25;
@@ -977,17 +1031,18 @@
twofold (if not more) and be a significant performance drain, all to
support a feature that has never been requested.
- * CODE
+ * CODE
+
Data::Dump::Streamer provides a mechanism for serializing coderefs,
including saving off all closure state. This would allow for
DBM::Deep to store the code for a subroutine. Then, whenever the
- subroutine is read, the code could be `eval()''ed into being.
+ subroutine is read, the code could be "eval()"'ed into being.
However, just as for SCALAR and REF, that closure state may change
without notifying the DBM::Deep object storing the reference. Again,
this would generally be considered a feature.
External references and transactions
- If you do `my $x = $db->{foo};', then start a transaction, $x will be
+ If you do "my $x = $db->{foo};", then start a transaction, $x will be
referencing the database from outside the transaction. A fix for this
(and other issues with how external references into the database) is
being looked into. This is the skipped set of tests in t/39_singletons.t
@@ -997,7 +1052,7 @@
The current level of error handling in DBM::Deep is minimal. Files *are*
checked for a 32-bit signature when opened, but any other form of
corruption in the datafile can cause segmentation faults. DBM::Deep may
- try to `seek()' past the end of a file, or get stuck in an infinite loop
+ try to "seek()" past the end of a file, or get stuck in an infinite loop
depending on the level and type of corruption. File write operations are
not checked for failure (for speed), so if you happen to run out of disk
space, DBM::Deep will probably fail in a bad way. These things will be
@@ -1007,15 +1062,15 @@
Beware of using DBM::Deep files over NFS. DBM::Deep uses flock(), which
works well on local filesystems, but will NOT protect you from file
corruption over NFS. I've heard about setting up your NFS server with a
- locking daemon, then using `lockf()' to lock your files, but your
+ locking daemon, then using "lockf()" to lock your files, but your
mileage may vary there as well. From what I understand, there is no real
way to do it. However, if you need access to the underlying filehandle
- in DBM::Deep for using some other kind of locking scheme like `lockf()',
- see the LOW-LEVEL ACCESS section above.
+ in DBM::Deep for using some other kind of locking scheme like "lockf()",
+ see the "LOW-LEVEL ACCESS" section above.
Copying Objects
Beware of copying tied objects in Perl. Very strange things can happen.
- Instead, use DBM::Deep's `clone()' method which safely copies the object
+ Instead, use DBM::Deep's "clone()" method which safely copies the object
and returns a new, blessed and tied hash or array to the same level in
the DB.
@@ -1036,8 +1091,8 @@
my %hash = %{ $db->{some_hash} };
- can fail if another process deletes or clobbers `$db->{some_hash}' while
- the data are being extracted, since `%{ ... }' is not atomic. (This
+ can fail if another process deletes or clobbers "$db->{some_hash}" while
+ the data are being extracted, since "%{ ... }" is not atomic. (This
actually happened.) The solution is to lock the database before reading
the data:
@@ -1047,11 +1102,11 @@
As of version 1.0024, if you assign a stale reference to a location in
the database, DBM::Deep will warn, if you have uninitialized warnings
- enabled, and treat the stale reference as `undef'. An attempt to use a
+ enabled, and treat the stale reference as "undef". An attempt to use a
stale reference as an array or hash reference will cause an error.
Large Arrays
- Beware of using `shift()', `unshift()' or `splice()' with large arrays.
+ Beware of using "shift()", "unshift()" or "splice()" with large arrays.
These functions cause every element in the array to move, which can be
murder on DBM::Deep, as every element has to be fetched from disk, then
stored again in a different location. This will be addressed in a future
@@ -1082,10 +1137,10 @@
The problem is that the moment a reference used as the rvalue to a
DBM::Deep object's lvalue, it becomes tied itself. This is so that
- future changes to `$x' can be tracked within the DBM::Deep file and is
+ future changes to $x can be tracked within the DBM::Deep file and is
considered to be a feature. By the time the rollback occurs, there is no
- knowledge that there had been an `$x' or what memory location to assign
- an `export()' to.
+ knowledge that there had been an $x or what memory location to assign an
+ "export()" to.
NOTE: This does not affect importing because imports do a walk over the
reference to be imported in order to explicitly leave it untied.
@@ -1128,10 +1183,10 @@
MORE INFORMATION
Check out the DBM::Deep Google Group at
- http://groups.google.com/group/DBM-Deep or send email to
+ <http://groups.google.com/group/DBM-Deep> or send email to
DBM-Deep(a)googlegroups.com. You can also visit #dbm-deep on irc.perl.org
- The source code repository is at http://github.com/robkinyon/dbm-deep
+ The source code repository is at <http://github.com/robkinyon/dbm-deep>
MAINTAINERS
Rob Kinyon, rkinyon(a)cpan.org
@@ -1139,7 +1194,7 @@
Originally written by Joseph Huckaby, jhuckaby(a)cpan.org
SPONSORS
- Stonehenge Consulting (http://www.stonehenge.com/) sponsored the
+ Stonehenge Consulting (<http://www.stonehenge.com/>) sponsored the
developement of transactions and freespace management, leading to the
1.0000 release. A great debt of gratitude goes out to them for their
continuing leadership in and support of the Perl community.
@@ -1148,9 +1203,12 @@
The following have contributed greatly to make DBM::Deep what it is
today:
- * Adam Sah and Rich Gaushell for innumerable contributions early on.
- * Dan Golden and others at YAPC::NA 2006 for helping me design through
- transactions.
+ * Adam Sah and Rich Gaushell for innumerable contributions early on.
+
+ * Dan Golden and others at YAPC::NA 2006 for helping me design through
+ transactions.
+
+ * James Stanley for bug fix
SEE ALSO
DBM::Deep::Cookbook(3)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/lib/DBM/Deep/Array.pm new/DBM-Deep-2.0009/lib/DBM/Deep/Array.pm
--- old/DBM-Deep-2.0008/lib/DBM/Deep/Array.pm 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/lib/DBM/Deep/Array.pm 2013-06-30 16:06:02.000000000 +0200
@@ -244,7 +244,7 @@
my $length = $self->FETCHSIZE();
- while (my $content = shift @_) {
+ for my $content (@_) {
$self->STORE( $length, $content );
$length++;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/lib/DBM/Deep.pm new/DBM-Deep-2.0009/lib/DBM/Deep.pm
--- old/DBM-Deep-2.0008/lib/DBM/Deep.pm 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/lib/DBM/Deep.pm 2013-06-30 16:06:02.000000000 +0200
@@ -6,7 +6,7 @@
use warnings FATAL => 'all';
no warnings 'recursion';
-our $VERSION = q(2.0008);
+our $VERSION = q(2.0009);
use Scalar::Util ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/lib/DBM/Deep.pod new/DBM-Deep-2.0009/lib/DBM/Deep.pod
--- old/DBM-Deep-2.0008/lib/DBM/Deep.pod 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/lib/DBM/Deep.pod 2013-06-30 16:06:02.000000000 +0200
@@ -4,7 +4,7 @@
=head1 VERSION
-2.0008
+2.0009
=head1 SYNOPSIS
@@ -1275,6 +1275,8 @@
=item * Dan Golden and others at YAPC::NA 2006 for helping me design through transactions.
+=item * James Stanley for bug fix
+
=back
=head1 SEE ALSO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/DBM-Deep-2.0008/t/04_array.t new/DBM-Deep-2.0009/t/04_array.t
--- old/DBM-Deep-2.0008/t/04_array.t 2012-06-17 21:58:48.000000000 +0200
+++ new/DBM-Deep-2.0009/t/04_array.t 2013-06-30 16:06:02.000000000 +0200
@@ -138,6 +138,20 @@
$db->clear;
##
+ # push with non-true values
+ ##
+ $db->push( 'foo', 0, 'bar', undef, 'baz', '', 'quux' );
+ is( $db->length, 7, "7-element push results in seven elements" );
+ is( $db->[0], 'foo', "First element is 'foo'" );
+ is( $db->[1], 0, "Second element is 0" );
+ is( $db->[2], 'bar', "Third element is 'bar'" );
+ is( $db->[3], undef, "Fourth element is undef" );
+ is( $db->[4], 'baz', "Fifth element is 'baz'" );
+ is( $db->[5], '', "Sixth element is ''" );
+ is( $db->[6], 'quux', "Seventh element is 'quux'" );
+ $db->clear;
+
+ ##
# multi-push
##
$db->push( 'elem first', "elem middle", "elem last" );
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Crypt-DES for openSUSE:Factory checked in at 2013-07-30 16:37:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Crypt-DES (Old)
and /work/SRC/openSUSE:Factory/.perl-Crypt-DES.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Crypt-DES"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Crypt-DES/perl-Crypt-DES.changes 2013-06-25 06:59:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Crypt-DES.new/perl-Crypt-DES.changes 2013-07-30 16:37:52.000000000 +0200
@@ -1,0 +2,15 @@
+Mon Jul 29 12:11:49 UTC 2013 - cfarrell(a)suse.com
+
+- license update: BSD-3-Clause
+ See Copyright
+
+-------------------------------------------------------------------
+Sat Jul 27 11:58:30 UTC 2013 - coolo(a)suse.com
+
+- updated to 2.07
+ SvUPGRADE was changed to a statement.
+ a minor bug in META.yml was fixed.
+- remove old svupgrade.patch
+
+
+-------------------------------------------------------------------
Old:
----
Crypt-DES-2.05.tar.gz
svupgrade.patch
New:
----
Crypt-DES-2.07.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Crypt-DES.spec ++++++
--- /var/tmp/diff_new_pack.2Y339G/_old 2013-07-30 16:37:52.000000000 +0200
+++ /var/tmp/diff_new_pack.2Y339G/_new 2013-07-30 16:37:53.000000000 +0200
@@ -17,21 +17,18 @@
Name: perl-Crypt-DES
+Version: 2.07
+Release: 0
%define cpan_name Crypt-DES
Summary: Perl DES encryption module
-License: Artistic-1.0
+License: BSD-3-Clause
Group: Development/Libraries/Perl
-Version: 2.05
-Release: 0
Url: http://search.cpan.org/dist/Crypt-DES/
-#Source: http://www.cpan.org/authors/id/D/DP/DPARIS/Crypt-DES-2.05.tar.gz
-Source: %{cpan_name}-%{version}.tar.gz
-Patch0: svupgrade.patch
+Source: http://www.cpan.org/authors/id/D/DP/DPARIS/%{cpan_name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%{perl_requires}
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Crypt::CBC)
+%{perl_requires}
%description
The module implements the Crypt::CBC interface, which has the following
@@ -42,16 +39,12 @@
=item encrypt
=item decrypt
-Authors:
---------
- Eric Young (eay(a)mincom.oz.au)
-
%prep
%setup -q -n %{cpan_name}-%{version}
-%patch0 -p1
+find . -type f -print0 | xargs -0 chmod 644
%build
-%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
+%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}"
%{__make} %{?_smp_mflags}
%check
@@ -59,24 +52,11 @@
%install
%perl_make_install
-### since 11.4 perl_process_packlist
-### removes .packlist, perllocal.pod files
-%if 0%{?suse_version} > 1130
%perl_process_packlist
-%else
-# do not perl_process_packlist
-# remove .packlist file
-%{__rm} -f $RPM_BUILD_ROOT%perl_vendorarch/auto/Crypt/DES/.packlist
-# remove perllocal.pod file
-%{__rm} -f $RPM_BUILD_ROOT%perl_archlib/perllocal.pod
-%endif
%perl_gen_filelist
-%clean
-%{__rm} -rf $RPM_BUILD_ROOT
-
%files -f %{name}.files
-%defattr(-,root,root,-)
+%defattr(-,root,root,755)
%doc COPYRIGHT README
%changelog
++++++ Crypt-DES-2.05.tar.gz -> Crypt-DES-2.07.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Crypt-DES-2.05/DES.pm new/Crypt-DES-2.07/DES.pm
--- old/Crypt-DES-2.05/DES.pm 2005-12-08 17:18:58.000000000 +0100
+++ new/Crypt-DES-2.07/DES.pm 2013-07-23 22:41:38.000000000 +0200
@@ -19,7 +19,7 @@
# Other items we are prepared to export if requested
@EXPORT_OK = qw();
-$VERSION = '2.05';
+$VERSION = '2.07';
bootstrap Crypt::DES $VERSION;
use strict;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Crypt-DES-2.05/DES.xs new/Crypt-DES-2.07/DES.xs
--- old/Crypt-DES-2.05/DES.xs 2005-12-08 16:52:50.000000000 +0100
+++ new/Crypt-DES-2.07/DES.xs 2013-07-23 17:23:00.000000000 +0200
@@ -64,8 +64,7 @@
output = sv_newmortal();
output_len = 8;
- if (!SvUPGRADE(output, SVt_PV))
- croak("cannot use output argument as lvalue");
+ (SvUPGRADE(output, SVt_PV));
perl_des_crypt(input, SvGROW(output, output_len), (i32 *)ks, enc_flag);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Crypt-DES-2.05/META.yml new/Crypt-DES-2.07/META.yml
--- old/Crypt-DES-2.05/META.yml 2005-12-08 17:21:12.000000000 +0100
+++ new/Crypt-DES-2.07/META.yml 2013-07-23 22:42:52.000000000 +0200
@@ -1,10 +1,20 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
-name: Crypt-DES
-version: 2.05
-version_from: DES.pm
-installdirs: site
-requires:
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.30
+--- #YAML:1.0
+name: Crypt-DES
+version: 2.07
+abstract: ~
+author: []
+license: unknown
+distribution_type: module
+configure_requires:
+ ExtUtils::MakeMaker: 0
+build_requires:
+ ExtUtils::MakeMaker: 0
+requires: {}
+no_index:
+ directory:
+ - t
+ - inc
+generated_by: ExtUtils::MakeMaker version 6.55_02
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Crypt-DES-2.05/README new/Crypt-DES-2.07/README
--- old/Crypt-DES-2.05/README 2005-12-08 17:21:05.000000000 +0100
+++ new/Crypt-DES-2.07/README 2013-07-23 22:42:40.000000000 +0200
@@ -18,6 +18,10 @@
_des_ since the 2.04 release didn't seem to fix the problem
on Solaris.
+In release 2.06, SvUPGRADE was changed to a statement.
+
+In release 2.07, a minor bug in META.yml was fixed.
+
Prerequisites
-------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Crypt-DES-2.05/test.pl new/Crypt-DES-2.07/test.pl
--- old/Crypt-DES-2.05/test.pl 2005-12-08 17:19:23.000000000 +0100
+++ new/Crypt-DES-2.07/test.pl 2013-07-23 22:41:55.000000000 +0200
@@ -23,7 +23,7 @@
# Other items we are prepared to export if requested
@EXPORT_OK = qw();
-$VERSION = '2.05';
+$VERSION = '2.07';
bootstrap Crypt::DES;
use strict;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Class-XSAccessor for openSUSE:Factory checked in at 2013-07-30 16:37:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Class-XSAccessor (Old)
and /work/SRC/openSUSE:Factory/.perl-Class-XSAccessor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Class-XSAccessor"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Class-XSAccessor/perl-Class-XSAccessor.changes 2013-06-05 17:48:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Class-XSAccessor.new/perl-Class-XSAccessor.changes 2013-07-30 16:37:25.000000000 +0200
@@ -1,0 +2,14 @@
+Sat Jul 27 11:58:18 UTC 2013 - coolo(a)suse.com
+
+- updated to 1.18
+ - Revert fixes for implicitly-lvalue getters for now since that
+ actually breaks user code. It seems it's not just because the
+ users are naughty, so more investigation required.
+ - For Hashes: Implement predicates that check definedness and
+ existance explicitly. The traditional "predicates" check
+ definedness. It's conceivable to also want a bool-check
+ type predicate. File a ticket if you need that.
+ - Fix bug regarding getters being implicitly lvalue by
+ returning the internal SV*. Instead, we now use TARG.
+
+-------------------------------------------------------------------
Old:
----
Class-XSAccessor-1.16.tar.gz
New:
----
Class-XSAccessor-1.18.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Class-XSAccessor.spec ++++++
--- /var/tmp/diff_new_pack.KjVQEu/_old 2013-07-30 16:37:26.000000000 +0200
+++ /var/tmp/diff_new_pack.KjVQEu/_new 2013-07-30 16:37:26.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Class-XSAccessor
-Version: 1.16
+Version: 1.18
Release: 0
%define cpan_name Class-XSAccessor
Summary: Generate fast XS accessors without runtime compilation
@@ -37,10 +37,11 @@
%description
Class::XSAccessor implements fast read, write and read/write accessors in
XS. Additionally, it can provide predicates such as 'has_foo()' for testing
-whether the attribute 'foo' is defined in the object. It only works with
-objects that are implemented as ordinary hashes. the
-Class::XSAccessor::Array manpage implements the same interface for objects
-that use arrays for their internal representation.
+whether the attribute 'foo' exists in the object (which is different from
+"is defined within the object"). It only works with objects that are
+implemented as ordinary hashes. the Class::XSAccessor::Array manpage
+implements the same interface for objects that use arrays for their
+internal representation.
Since version 0.10, the module can also generate simple constructors
(implemented in XS). Simply supply the 'constructor => 'constructor_name''
@@ -76,6 +77,11 @@
hierarchy with interfaces such as the PPI manpage. These methods are
provided by the 'true' and 'false' options - see the synopsis.
+'defined_predicates' check whether a given object attribute is defined.
+'predicates' is an alias for 'defined_predicates' for compatibility with
+older versions of 'Class::XSAccessor'. 'exists_predicates' checks whether
+the given attribute exists in the object using 'exists'.
+
%prep
%setup -q -n %{cpan_name}-%{version}
++++++ Class-XSAccessor-1.16.tar.gz -> Class-XSAccessor-1.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/Changes new/Class-XSAccessor-1.18/Changes
--- old/Class-XSAccessor-1.16/Changes 2012-11-05 13:47:26.000000000 +0100
+++ new/Class-XSAccessor-1.18/Changes 2013-06-17 18:08:31.000000000 +0200
@@ -1,5 +1,18 @@
Revision history for Perl extension Class-XSAccessor.
+1.18 Mon Jun 17 18:07 2013
+ - Revert fixes for implicitly-lvalue getters for now since that
+ actually breaks user code. It seems it's not just because the
+ users are naughty, so more investigation required.
+
+1.17 Mon Jun 17 07:09 2013
+ - For Hashes: Implement predicates that check definedness and
+ existance explicitly. The traditional "predicates" check
+ definedness. It's conceivable to also want a bool-check
+ type predicate. File a ticket if you need that.
+ - Fix bug regarding getters being implicitly lvalue by
+ returning the internal SV*. Instead, we now use TARG.
+
1.16 Mon Nov 5 13:47 2012
- Drop erroneous MYMETA files from distribution.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/META.json new/Class-XSAccessor-1.18/META.json
--- old/Class-XSAccessor-1.16/META.json 2012-11-05 13:49:47.000000000 +0100
+++ new/Class-XSAccessor-1.18/META.json 2013-06-17 18:09:04.000000000 +0200
@@ -4,7 +4,7 @@
"Steffen Mueller <smueller(a)cpan.org>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.120921",
+ "generated_by" : "ExtUtils::MakeMaker version 6.64, CPAN::Meta::Converter version 2.120921",
"license" : [
"perl_5"
],
@@ -43,5 +43,5 @@
"url" : "git://github.com/tsee/Class-XSAccessor.git"
}
},
- "version" : "1.16"
+ "version" : "1.18"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/META.yml new/Class-XSAccessor-1.18/META.yml
--- old/Class-XSAccessor-1.16/META.yml 2012-11-05 13:49:46.000000000 +0100
+++ new/Class-XSAccessor-1.18/META.yml 2013-06-17 18:09:04.000000000 +0200
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: 0
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.120921'
+generated_by: 'ExtUtils::MakeMaker version 6.64, CPAN::Meta::Converter version 2.120921'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,4 +22,4 @@
perl: 5.008
resources:
repository: git://github.com/tsee/Class-XSAccessor.git
-version: 1.16
+version: 1.18
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/XS/Array.xs new/Class-XSAccessor-1.18/XS/Array.xs
--- old/Class-XSAccessor-1.16/XS/Array.xs 2012-11-04 15:05:21.000000000 +0100
+++ new/Class-XSAccessor-1.18/XS/Array.xs 2013-06-17 18:01:52.000000000 +0200
@@ -352,7 +352,7 @@
case 1: /* newxs_lvalue_accessor */
{
CV* cv;
- INSTALL_NEW_CV_ARRAY_OBJ(name, CXAA(getter_init), index);
+ INSTALL_NEW_CV_ARRAY_OBJ(name, CXAA(lvalue_accessor_init), index);
/* Make the CV lvalue-able. "cv" was set by the previous macro */
CvLVALUE_on(cv);
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/XS/Hash.xs new/Class-XSAccessor-1.18/XS/Hash.xs
--- old/Class-XSAccessor-1.16/XS/Hash.xs 2012-11-04 15:15:32.000000000 +0100
+++ new/Class-XSAccessor-1.18/XS/Hash.xs 2013-06-17 18:01:52.000000000 +0200
@@ -1,12 +1,22 @@
#include "ppport.h"
## we want hv_fetch but with the U32 hash argument of hv_fetch_ent, so do it ourselves...
+
#ifdef hv_common_key_len
-#define CXSA_HASH_FETCH(hv, key, len, hash) hv_common_key_len((hv), (key), (len), HV_FETCH_JUST_SV, NULL, (hash))
-#define CXSA_HASH_FETCH_LVALUE(hv, key, len, hash) hv_common_key_len((hv), (key), (len), (HV_FETCH_JUST_SV|HV_FETCH_LVALUE), NULL, (hash))
+
+# define CXSA_HASH_FETCH(hv, key, len, hash) \
+ hv_common_key_len((hv), (key), (len), HV_FETCH_JUST_SV, NULL, (hash))
+# define CXSA_HASH_FETCH_LVALUE(hv, key, len, hash) \
+ hv_common_key_len((hv), (key), (len), (HV_FETCH_JUST_SV|HV_FETCH_LVALUE), NULL, (hash))
+# define CXSA_HASH_EXISTS(hv, key, len, hash) \
+ hv_common_key_len((hv), (key), (len), HV_FETCH_ISEXISTS, NULL, (hash))
+
#else
-#define CXSA_HASH_FETCH(hv, key, len, hash) hv_fetch((hv), (key), (len), 0)
-#define CXSA_HASH_FETCH_LVALUE(hv, key, len, hash) hv_fetch((hv), (key), (len), 1)
+
+# define CXSA_HASH_FETCH(hv, key, len, hash) hv_fetch((hv), (key), (len), 0)
+# define CXSA_HASH_FETCH_LVALUE(hv, key, len, hash) hv_fetch((hv), (key), (len), 1)
+# define CXSA_HASH_EXISTS(hv, key, len, hash) hv_exists((hv), (key), (len))
+
#endif
@@ -243,7 +253,34 @@
}
void
-predicate_init(self)
+exists_predicate_init(self)
+ SV* self;
+ INIT:
+ /* Get the const hash key struct from the global storage */
+ const autoxs_hashkey * readfrom = CXAH_GET_HASHKEY;
+ PPCODE:
+ CXA_CHECK_HASH(self);
+ CXAH_OPTIMIZE_ENTERSUB(exists_predicate);
+ if ( CXSA_HASH_EXISTS((HV *)SvRV(self), readfrom->key, readfrom->len, readfrom->hash) != NULL )
+ XSRETURN_YES;
+ else
+ XSRETURN_NO;
+
+void
+exists_predicate(self)
+ SV* self;
+ INIT:
+ /* Get the const hash key struct from the global storage */
+ const autoxs_hashkey * readfrom = CXAH_GET_HASHKEY;
+ PPCODE:
+ CXA_CHECK_HASH(self);
+ if ( CXSA_HASH_EXISTS((HV *)SvRV(self), readfrom->key, readfrom->len, readfrom->hash) != NULL )
+ XSRETURN_YES;
+ else
+ XSRETURN_NO;
+
+void
+defined_predicate_init(self)
SV* self;
INIT:
/* Get the const hash key struct from the global storage */
@@ -251,14 +288,14 @@
SV** svp;
PPCODE:
CXA_CHECK_HASH(self);
- CXAH_OPTIMIZE_ENTERSUB(predicate);
+ CXAH_OPTIMIZE_ENTERSUB(defined_predicate);
if ( ((svp = CXSA_HASH_FETCH((HV *)SvRV(self), readfrom->key, readfrom->len, readfrom->hash))) && SvOK(*svp) )
XSRETURN_YES;
else
XSRETURN_NO;
void
-predicate(self)
+defined_predicate(self)
SV* self;
INIT:
/* Get the const hash key struct from the global storage */
@@ -271,6 +308,7 @@
else
XSRETURN_NO;
+
void
constructor_init(class, ...)
SV* class;
@@ -419,6 +457,8 @@
ALIAS:
Class::XSAccessor::newxs_lvalue_accessor = 1
Class::XSAccessor::newxs_predicate = 2
+ Class::XSAccessor::newxs_defined_predicate = 3
+ Class::XSAccessor::newxs_exists_predicate = 4
PREINIT:
char *name;
char *key;
@@ -438,7 +478,11 @@
}
break;
case 2:
- INSTALL_NEW_CV_HASH_OBJ(name, CXAH(predicate_init), key, keylen);
+ case 3:
+ INSTALL_NEW_CV_HASH_OBJ(name, CXAH(defined_predicate_init), key, keylen);
+ break;
+ case 4:
+ INSTALL_NEW_CV_HASH_OBJ(name, CXAH(exists_predicate_init), key, keylen);
break;
default:
croak("Invalid alias of newxs_getter called");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/XSAccessor.xs new/Class-XSAccessor-1.18/XSAccessor.xs
--- old/Class-XSAccessor-1.16/XSAccessor.xs 2012-11-04 15:24:55.000000000 +0100
+++ new/Class-XSAccessor-1.18/XSAccessor.xs 2013-06-17 18:00:57.000000000 +0200
@@ -284,7 +284,10 @@
#define Class__XSAccessor_accessor_init Clas_XSAcesor_acesor_init
#define Class__XSAccessor_chained_accessor_init Cs_XSAs_cid_as_init
#define Class__XSAccessor_chained_accessor Clas_XSAcesor_chained_acesor
-#define Class__XSAccessor_predicate_init Clas_XSAcesor_predicate_init
+#define Class__XSAccessor_exists_predicate_init Clas_XSAcesor_eprdicate_init
+#define Class__XSAccessor_defined_predicate_init Clas_XSAcesor_dprdicate_init
+#define Class__XSAccessor_exists_predicate Clas_XSAcesor_eprdicate
+#define Class__XSAccessor_defined_predicate Clas_XSAcesor_dprdicate
#define Class__XSAccessor_constructor_init Cs_XSAs_csuor_init
#define Class__XSAccessor_constructor Class_XSAccessor_constructor
#define Class__XSAccessor_constant_false_init Cs_XSAs_csnt_fse_init
@@ -472,9 +475,13 @@
XS(CXAH(chained_accessor_init));
CXAH_GENERATE_ENTERSUB(chained_accessor);
-XS(CXAH(predicate));
-XS(CXAH(predicate_init));
-CXAH_GENERATE_ENTERSUB(predicate);
+XS(CXAH(defined_predicate));
+XS(CXAH(defined_predicate_init));
+CXAH_GENERATE_ENTERSUB(defined_predicate);
+
+XS(CXAH(exists_predicate));
+XS(CXAH(exists_predicate_init));
+CXAH_GENERATE_ENTERSUB(exists_predicate);
XS(CXAH(constructor));
XS(CXAH(constructor_init));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/lib/Class/XSAccessor/Array.pm new/Class-XSAccessor-1.18/lib/Class/XSAccessor/Array.pm
--- old/Class-XSAccessor-1.16/lib/Class/XSAccessor/Array.pm 2012-08-26 23:25:09.000000000 +0200
+++ new/Class-XSAccessor-1.18/lib/Class/XSAccessor/Array.pm 2013-06-17 18:08:45.000000000 +0200
@@ -6,7 +6,7 @@
use Class::XSAccessor;
use Class::XSAccessor::Heavy;
-our $VERSION = '1.14';
+our $VERSION = '1.18';
sub import {
my $own_class = shift;
@@ -275,7 +275,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2008, 2009, 2010, 2011, 2012 by Steffen Mueller
+Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 by Steffen Mueller
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8 or,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/lib/Class/XSAccessor/Heavy.pm new/Class-XSAccessor-1.18/lib/Class/XSAccessor/Heavy.pm
--- old/Class-XSAccessor-1.16/lib/Class/XSAccessor/Heavy.pm 2012-08-26 23:25:01.000000000 +0200
+++ new/Class-XSAccessor-1.18/lib/Class/XSAccessor/Heavy.pm 2013-06-17 18:08:47.000000000 +0200
@@ -6,7 +6,7 @@
use warnings;
use Carp;
-our $VERSION = '1.14';
+our $VERSION = '1.18';
our @CARP_NOT = qw(
Class::XSAccessor
Class::XSAccessor::Array
@@ -66,7 +66,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2008, 2009, 2010, 2011, 2012 by Steffen Mueller
+Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 by Steffen Mueller
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8 or,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/lib/Class/XSAccessor.pm new/Class-XSAccessor-1.18/lib/Class/XSAccessor.pm
--- old/Class-XSAccessor-1.16/lib/Class/XSAccessor.pm 2012-11-05 13:49:24.000000000 +0100
+++ new/Class-XSAccessor-1.18/lib/Class/XSAccessor.pm 2013-06-17 18:08:39.000000000 +0200
@@ -6,7 +6,7 @@
use Class::XSAccessor::Heavy;
use XSLoader;
-our $VERSION = '1.16';
+our $VERSION = '1.18';
XSLoader::load('Class::XSAccessor', $VERSION);
@@ -39,6 +39,8 @@
my $acc_subs = _make_hash($opts{accessors} || {});
my $lvacc_subs = _make_hash($opts{lvalue_accessors} || {});
my $pred_subs = _make_hash($opts{predicates} || {});
+ my $ex_pred_subs = _make_hash($opts{exists_predicates} || {});
+ my $def_pred_subs = _make_hash($opts{defined_predicates} || {});
my $test_subs = _make_hash($opts{__tests__} || {});
my $construct_subs = $opts{constructors} || [defined($opts{constructor}) ? $opts{constructor} : ()];
my $true_subs = $opts{true} || [];
@@ -49,7 +51,9 @@
["accessor", $acc_subs],
["lvalue_accessor", $lvacc_subs],
["test", $test_subs],
- ["predicate", $pred_subs] )
+ ["ex_predicate", $ex_pred_subs],
+ ["def_predicate", $def_pred_subs],
+ ["def_predicate", $pred_subs] )
{
my $subs = $subtype->[1];
foreach my $subname (keys %$subs) {
@@ -88,8 +92,11 @@
elsif ($type eq 'setter') {
newxs_setter($subname, $hashkey, $opts->{chained}||0);
}
- elsif ($type eq 'predicate') {
- newxs_predicate($subname, $hashkey);
+ elsif ($type eq 'def_predicate') {
+ newxs_defined_predicate($subname, $hashkey);
+ }
+ elsif ($type eq 'ex_predicate') {
+ newxs_exists_predicate($subname, $hashkey);
}
elsif ($type eq 'constructor') {
newxs_constructor($subname);
@@ -134,7 +141,12 @@
foo => 'foo',
bar => 'bar',
},
- predicates => {
+ # "predicates" is an alias for "defined_predicates"
+ defined_predicates => {
+ defined_foo => 'foo',
+ defined_bar => 'bar',
+ },
+ exists_predicates => {
has_foo => 'foo',
has_bar => 'bar',
},
@@ -164,7 +176,8 @@
Class::XSAccessor implements fast read, write and read/write accessors in XS.
Additionally, it can provide predicates such as C<has_foo()> for testing
-whether the attribute C<foo> is defined in the object.
+whether the attribute C<foo> exists in the object (which is different from
+"is defined within the object").
It only works with objects that are implemented as ordinary hashes.
L<Class::XSAccessor::Array> implements the same interface for objects
that use arrays for their internal representation.
@@ -206,6 +219,11 @@
with interfaces such as L<PPI>. These methods are provided by the C<true>
and C<false> options - see the synopsis.
+C<defined_predicates> check whether a given object attribute is defined.
+C<predicates> is an alias for C<defined_predicates> for compatibility with
+older versions of C<Class::XSAccessor>. C<exists_predicates> checks
+whether the given attribute exists in the object using C<exists>.
+
=head1 OPTIONS
In addition to specifying the types and names of accessors, additional options
@@ -299,7 +317,7 @@
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2008, 2009, 2010, 2011, 2012 by Steffen Mueller
+Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 by Steffen Mueller
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8 or,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Class-XSAccessor-1.16/t/03hash_predicate.t new/Class-XSAccessor-1.18/t/03hash_predicate.t
--- old/Class-XSAccessor-1.16/t/03hash_predicate.t 2010-10-31 12:32:26.000000000 +0100
+++ new/Class-XSAccessor-1.18/t/03hash_predicate.t 2013-06-17 18:00:57.000000000 +0200
@@ -4,10 +4,12 @@
package Class::XSAccessor::Test;
use Class::XSAccessor
- accessors => { bar => 'bar' },
- getters => { get_foo => 'foo', get_zero => 'zero' },
- setters => { set_foo => 'foo' },
- predicates => { has_foo => 'foo', has_bar => 'bar', has_zero => 'zero' };
+ accessors => { bar => 'bar' },
+ getters => { get_foo => 'foo', get_zero => 'zero' },
+ setters => { set_foo => 'foo' },
+ predicates => { has_foo => 'foo', has_bar => 'bar', has_zero => 'zero' },
+ defined_predicates => { has_foo2 => 'foo', has_bar2 => 'bar', has_zero2 => 'zero' },
+ exists_predicates => { has_baz => 'baz', has_buz => 'buz' };
use Class::XSAccessor
predicates => 'single';
@@ -16,12 +18,12 @@
sub new {
my $class = shift;
- bless { bar => 'baz', zero => 0 }, $class;
+ bless { bar => 'baz', zero => 0, buz => undef }, $class;
}
package main;
-use Test::More tests => 20;
+use Test::More tests => 29;
my $obj = Class::XSAccessor::Test->new();
@@ -29,6 +31,9 @@
ok($obj->can('has_bar'));
ok(!$obj->has_foo());
+ok(!$obj->has_foo2());
+ok(!$obj->has_baz());
+ok($obj->has_buz());
ok($obj->has_bar());
is($obj->set_foo('bar'), 'bar');
@@ -36,12 +41,24 @@
ok($obj->has_foo());
ok($obj->has_bar());
+ok($obj->has_foo2());
+ok($obj->has_bar2());
is($obj->set_foo(undef), undef);
is($obj->bar(undef), undef);
+$obj->{foo2} = undef;
+ok(!$obj->has_foo()); # undef is "doesn't have" for defined_predicates
+ok(!$obj->has_foo2()); # undef is "doesn't have" for defined_predicates
+delete $obj->{foo};
+delete $obj->{foo2};
ok(!$obj->has_foo());
-ok(!$obj->has_bar());
+ok(!$obj->has_foo2());
+
+$obj->{baz} = undef;
+ok($obj->has_baz(), "exists_predicates on undef elem is true");
+delete $obj->{baz};
+ok(!$obj->has_baz(), "exists_predicates on non-existant elem is false");
is($obj->get_zero, 0);
ok($obj->has_zero);
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0