Hello community, here is the log from the commit of package perl-Data-Compare for openSUSE:Factory checked in at 2019-11-23 23:12:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Data-Compare (Old) and /work/SRC/openSUSE:Factory/.perl-Data-Compare.new.26869 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Data-Compare" Sat Nov 23 23:12:45 2019 rev:9 rq:749088 version:1.27 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Data-Compare/perl-Data-Compare.changes 2015-04-25 21:16:46.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Data-Compare.new.26869/perl-Data-Compare.changes 2019-11-23 23:12:46.518745541 +0100 @@ -1,0 +2,27 @@ +Fri Nov 15 11:45:39 UTC 2019 - <[email protected]> + +- Add manual license Artistic-1.0 OR GPL-1.0-or-later to cpanspec.yml + https://github.com/DrHyde/perl-modules-Data-Compare/issues/15 + +------------------------------------------------------------------- +Wed Nov 6 10:02:56 UTC 2019 - <[email protected]> + +- updated to 1.27 + see /usr/share/doc/packages/perl-Data-Compare/CHANGELOG + + 1.27 2019-11-05 DCANTRELL Fix bug when options are passed as a persistent + hash from calling code and not an anonyhash + (Sam Kington) + +------------------------------------------------------------------- +Thu Sep 19 07:52:32 UTC 2019 - <[email protected]> + +- updated to 1.26 + see /usr/share/doc/packages/perl-Data-Compare/CHANGELOG + + 1.26 2019-09-18 DCANTRELL Minor code quality improvements from Alberto + Simõe; + Reinstate check for cwd being inaccessible + (Daniel Collins) + +------------------------------------------------------------------- Old: ---- Data-Compare-1.25.tar.gz New: ---- Data-Compare-1.27.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Data-Compare.spec ++++++ --- /var/tmp/diff_new_pack.i8YB8N/_old 2019-11-23 23:12:47.070745600 +0100 +++ /var/tmp/diff_new_pack.i8YB8N/_new 2019-11-23 23:12:47.074745600 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-Data-Compare # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,26 +12,31 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-Data-Compare -Version: 1.25 +Version: 1.27 Release: 0 +#Upstream: SUSE-Public-Domain %define cpan_name Data-Compare -Summary: Compare Perl Data Structures -License: GPL-1.0+ or Artistic-1.0 +Summary: Compare perl data structures +License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/Data-Compare/ -Source0: http://www.cpan.org/authors/id/D/DC/DCANTRELL/%{cpan_name}-%{version}.tar.gz +Url: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(Clone) >= 0.43 BuildRequires: perl(File::Find::Rule) >= 0.1 +BuildRequires: perl(Test::More) >= 0.88 +Requires: perl(Clone) >= 0.43 Requires: perl(File::Find::Rule) >= 0.1 +Requires: perl(Test::More) >= 0.88 %{perl_requires} %description @@ -42,30 +47,30 @@ * Scalar::Properties objects - This has been moved into a plugin, although functionality remains the - same as with the previous version. Full documentation is in the - Data::Compare::Plugins::Scalar::Properties manpage. +This has been moved into a plugin, although functionality remains the same +as with the previous version. Full documentation is in +Data::Compare::Plugins::Scalar::Properties. * Compiled regular expressions, eg qr/foo/ - These are stringified before comparison, so the following will match: +These are stringified before comparison, so the following will match: $r = qr/abc/i; $s = qr/abc/i; Compare($r, $s); - and the following won't, despite them matching *exactly* the same text: +and the following won't, despite them matching *exactly* the same text: $r = qr/abc/i; $s = qr/[aA][bB][cC]/; Compare($r, $s); - Sorry, that's the best we can do. +Sorry, that's the best we can do. * CODE and GLOB references - These are assumed not to match unless the references are identical - ie, - both are references to the same thing. +These are assumed not to match unless the references are identical - ie, +both are references to the same thing. You may also customise how we compare structures by supplying options in a hashref as a third parameter to the 'Compare()' function. This is not yet @@ -75,19 +80,19 @@ * ignore_hash_keys - an arrayref of strings. When comparing two hashes, any keys mentioned in - this list will be ignored. +an arrayref of strings. When comparing two hashes, any keys mentioned in +this list will be ignored. %prep %setup -q -n %{cpan_name}-%{version} -find . -type f -print0 | xargs -0 chmod 644 +find . -type f ! -path "*/t/*" ! -name "*.pl" ! -name "*.sh" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor +make %{?_smp_mflags} %check -%{__make} test +make test %install %perl_make_install @@ -96,6 +101,7 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc ARTISTIC.txt CHANGELOG GPL2.txt MAINTAINERS-NOTE NOTES README TODO +%doc CHANGELOG GPL2.txt MAINTAINERS-NOTE NOTES README +%license ARTISTIC.txt %changelog ++++++ Data-Compare-1.25.tar.gz -> Data-Compare-1.27.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/CHANGELOG new/Data-Compare-1.27/CHANGELOG --- old/Data-Compare-1.25/CHANGELOG 2014-12-10 14:32:38.000000000 +0100 +++ new/Data-Compare-1.27/CHANGELOG 2019-11-05 17:35:21.000000000 +0100 @@ -1,7 +1,16 @@ +1.27 2019-11-05 DCANTRELL Fix bug when options are passed as a persistent + hash from calling code and not an anonyhash + (Sam Kington) + +1.26 2019-09-18 DCANTRELL Minor code quality improvements from Alberto + Simõe; + Reinstate check for cwd being inaccessible + (Daniel Collins) + 1.25 2013-04-15 DCANTRELL Add Gianni Ceccarelli's tests and patch - to Use refaddr & reftype to "do the right - thing" when comparing objects that overload - numification and stringification + to Use refaddr & reftype to "do the right + thing" when comparing objects that overload + numification and stringification 1.24 2014-04-05 DCANTRELL Bump the required JSON.pm version for tests - something's a bit broken around diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/MANIFEST new/Data-Compare-1.27/MANIFEST --- old/Data-Compare-1.25/MANIFEST 2014-12-10 14:34:52.000000000 +0100 +++ new/Data-Compare-1.27/MANIFEST 2019-11-05 17:43:46.000000000 +0100 @@ -3,7 +3,6 @@ CHANGELOG MAINTAINERS-NOTE Makefile.PL -TODO lib/Data/Compare.pm lib/Data/Compare/Plugins.pod lib/Data/Compare/Plugins/Scalar/Properties.pm @@ -31,5 +30,6 @@ MANIFEST.SKIP t/overload.t t/lib/SpecialClass.pm +t/persistent-args-hash.t META.yml Module YAML meta-data (added by MakeMaker) META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/MANIFEST.SKIP new/Data-Compare-1.27/MANIFEST.SKIP --- old/Data-Compare-1.25/MANIFEST.SKIP 2014-11-21 12:11:44.000000000 +0100 +++ new/Data-Compare-1.27/MANIFEST.SKIP 2019-11-05 17:22:36.000000000 +0100 @@ -1,2 +1,4 @@ .travis.yml ^\.git +.appveyor.yml +.cirrus.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/META.json new/Data-Compare-1.27/META.json --- old/Data-Compare-1.25/META.json 2014-12-10 14:34:52.000000000 +0100 +++ new/Data-Compare-1.27/META.json 2019-11-05 17:43:46.000000000 +0100 @@ -4,9 +4,10 @@ "unknown" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.120351", + "generated_by" : "ExtUtils::MakeMaker version 7.0402, CPAN::Meta::Converter version 2.150001", "license" : [ - "unknown" + "artistic_1", + "gpl_2" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", @@ -22,7 +23,7 @@ "prereqs" : { "build" : { "requires" : { - "ExtUtils::MakeMaker" : "0" + "ExtUtils::MakeMaker" : "6.48" } }, "configure" : { @@ -32,19 +33,22 @@ }, "runtime" : { "requires" : { + "Clone" : "0.43", "File::Find::Rule" : "0.1", - "Scalar::Util" : "0" + "Scalar::Util" : "0", + "Test::More" : "0.88", + "perl" : "5.006" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { - "web" : "https://github.com/DrHyde/perl-modules-Data-Compare/issues/new" + "web" : "https://github.com/DrHyde/perl-modules-Data-Compare/issues" }, "repository" : { "url" : "https://github.com/DrHyde/perl-modules-Data-Compare" } }, - "version" : "1.25" + "version" : 1.27 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/META.yml new/Data-Compare-1.27/META.yml --- old/Data-Compare-1.25/META.yml 2014-12-10 14:34:52.000000000 +0100 +++ new/Data-Compare-1.27/META.yml 2019-11-05 17:43:45.000000000 +0100 @@ -3,24 +3,27 @@ author: - unknown build_requires: - ExtUtils::MakeMaker: 0 + ExtUtils::MakeMaker: '6.48' configure_requires: - ExtUtils::MakeMaker: 0 + ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.120351' -license: unknown +generated_by: 'ExtUtils::MakeMaker version 7.0402, CPAN::Meta::Converter version 2.150001' +license: open_source meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + version: '1.4' name: Data-Compare no_index: directory: - t - inc requires: - File::Find::Rule: 0.1 - Scalar::Util: 0 + Clone: '0.43' + File::Find::Rule: '0.1' + Scalar::Util: '0' + Test::More: '0.88' + perl: '5.006' resources: - bugtracker: https://github.com/DrHyde/perl-modules-Data-Compare/issues/new + bugtracker: https://github.com/DrHyde/perl-modules-Data-Compare/issues repository: https://github.com/DrHyde/perl-modules-Data-Compare -version: 1.25 +version: 1.27 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/Makefile.PL new/Data-Compare-1.27/Makefile.PL --- old/Data-Compare-1.25/Makefile.PL 2013-09-26 15:44:12.000000000 +0200 +++ new/Data-Compare-1.27/Makefile.PL 2019-11-05 17:37:47.000000000 +0100 @@ -2,17 +2,21 @@ WriteMakefile( NAME => 'Data::Compare', + MIN_PERL_VERSION => 5.006, META_MERGE => { - license => 'other', + license => ["artistic_1", "gpl_2"], resources => { repository => 'https://github.com/DrHyde/perl-modules-Data-Compare', - bugtracker => 'https://github.com/DrHyde/perl-modules-Data-Compare/issues/new' + bugtracker => 'https://github.com/DrHyde/perl-modules-Data-Compare/issues' }, }, + BUILD_REQUIRES => { "ExtUtils::MakeMaker" => 6.48 }, VERSION_FROM => "lib/Data/Compare.pm", PREREQ_PM => { File::Find::Rule => 0.10, - Scalar::Util => 0 + Scalar::Util => 0, + Clone => 0.43, + Test::More => 0.88, # done_testing }, clean => { FILES => '*.bak *.old mibs/*.dump lib/*/*~' }, ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/TODO new/Data-Compare-1.27/TODO --- old/Data-Compare-1.25/TODO 2011-07-23 15:45:21.000000000 +0200 +++ new/Data-Compare-1.27/TODO 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -add tests to see if plugin loading fails appropriately - -fiddle so that we can: - optionally only load certain plugins - optionally load all plugins except foo bar and baz - default to loading all -the best way to do this is to have our own import() and do it at -use() time, so dumping Exporter - -be paranoid about plugins trampling on each other? - -what about plugins overriding default behaviour? - hehe, Data::Compare::Approximate :-) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/lib/Data/Compare/Plugins/Scalar/Properties.pm new/Data-Compare-1.27/lib/Data/Compare/Plugins/Scalar/Properties.pm --- old/Data-Compare-1.25/lib/Data/Compare/Plugins/Scalar/Properties.pm 2011-07-23 15:45:21.000000000 +0200 +++ new/Data-Compare-1.27/lib/Data/Compare/Plugins/Scalar/Properties.pm 2019-11-05 17:22:36.000000000 +0100 @@ -1,10 +1,11 @@ package Data::Compare::Plugins::Scalar::Properties; +use warnings; use strict; use vars qw($VERSION); use Data::Compare; -$VERSION = 1.0; +$VERSION = 1.25; sub register { return [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/lib/Data/Compare.pm new/Data-Compare-1.27/lib/Data/Compare.pm --- old/Data-Compare-1.25/lib/Data/Compare.pm 2014-12-10 14:31:08.000000000 +0100 +++ new/Data-Compare-1.27/lib/Data/Compare.pm 2019-11-05 17:35:29.000000000 +0100 @@ -12,12 +12,13 @@ use vars qw(@ISA @EXPORT $VERSION $DEBUG %been_there); use Exporter; use Carp; +use Clone qw(clone); use Scalar::Util qw(tainted); use File::Find::Rule; @ISA = qw(Exporter); @EXPORT = qw(Compare); -$VERSION = 1.25; +$VERSION = 1.27; $DEBUG = $ENV{PERL_DATA_COMPARE_DEBUG} || 0; my %handler; @@ -25,7 +26,8 @@ use Cwd; sub import { - register_plugins() unless tainted getcwd(); + my $cwd = getcwd(); + register_plugins() unless(tainted getcwd() || !chdir $cwd); __PACKAGE__->export_to_level(1, @EXPORT); } @@ -98,7 +100,14 @@ my $x = shift; my $y = shift; - my $opts = shift || {}; + my $opts = {}; + if(@_) { $opts = clone(shift); } + + _Compare($x, $y, $opts); +} + +sub _Compare { + my($x, $y, $opts) = @_; my($xparent, $xpos, $yparent, $ypos) = map { $opts->{$_} || '' } qw(xparent xpos yparent ypos); @@ -148,7 +157,7 @@ $rval = 1; } elsif ($refx eq 'SCALAR' || $refx eq 'REF') { - $rval = Compare(${$x}, ${$y}, $opts); + $rval = _Compare(${$x}, ${$y}, $opts); } elsif ($refx eq 'ARRAY') { if ($#{$x} == $#{$y}) { # same length @@ -156,7 +165,7 @@ $rval = 1; for (@$x) { $i++; - $rval = 0 unless Compare($x->[$i], $y->[$i], { %{$opts}, xparent => $x, xpos => $i, yparent => $y, ypos => $i}); + $rval = 0 unless _Compare($x->[$i], $y->[$i], { %{$opts}, xparent => $x, xpos => $i, yparent => $y, ypos => $i}); } } else { @@ -171,11 +180,11 @@ for (@kx) { next unless defined $x->{$_} || defined $y->{$_}; - $rval = 0 unless defined $y->{$_} && Compare($x->{$_}, $y->{$_}, { %{$opts}, xparent => $x, xpos => $_, yparent => $y, ypos => $_}); + $rval = 0 unless defined $y->{$_} && _Compare($x->{$_}, $y->{$_}, { %{$opts}, xparent => $x, xpos => $_, yparent => $y, ypos => $_}); } } elsif($refx eq 'Regexp') { - $rval = Compare($x.'', $y.'', $opts); + $rval = _Compare($x.'', $y.'', $opts); } elsif ($refx eq 'CODE') { $rval = 0; @@ -188,21 +197,21 @@ if ($type eq 'HASH') { my %x = %$x; my %y = %$y; - $rval = Compare(\%x, \%y, { %{$opts}, xparent => $xparent, xpos => $xpos, yparent => $yparent, ypos => $ypos}); + $rval = _Compare(\%x, \%y, { %{$opts}, xparent => $xparent, xpos => $xpos, yparent => $yparent, ypos => $ypos}); $been_there{\%x."-$xpos-$xparent"}--; # decrement count for temp structures $been_there{\%y."-$ypos-$yparent"}--; } elsif ($type eq 'ARRAY') { my @x = @$x; my @y = @$y; - $rval = Compare(\@x, \@y, { %{$opts}, xparent => $xparent, xpos => $xpos, yparent => $yparent, ypos => $ypos}); + $rval = _Compare(\@x, \@y, { %{$opts}, xparent => $xparent, xpos => $xpos, yparent => $yparent, ypos => $ypos}); $been_there{\@x."-$xpos-$xparent"}--; $been_there{\@y."-$ypos-$yparent"}--; } elsif ($type eq 'SCALAR' || $type eq 'REF') { my $x = ${$x}; my $y = ${$y}; - $rval = Compare($x, $y, $opts); + $rval = _Compare($x, $y, $opts); # $been_there{\$x}--; # $been_there{\$y}--; } @@ -384,14 +393,16 @@ =head1 BUGS -Plugin support is not quite finished (see the TODO file for details) but -is usable. The missing bits are bells and whistles rather than core -functionality. - -Please report any other bugs either by email to David Cantrell (see below -for address) or using rt.cpan.org: +Plugin support is not quite finished (see the the Github +L<issue #5|http://github.com/DrHyde/perl-modules-Data-Compare/issues/5> +for details) but is usable. The missing bits are bells and whistles rather than +core functionality. + +Plugins are unavailable if you can't change to the current directory. This +might happen if you started your process as a priveleged user and then dropped +priveleges. If this affects you, please supply a portable patch with tests. -L<https://rt.cpan.org/Ticket/Create.html?Queue=Data-Compare> +Bug reports should be made on Github or by email. =head1 AUTHOR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/t/deep-objects.t new/Data-Compare-1.27/t/deep-objects.t --- old/Data-Compare-1.25/t/deep-objects.t 2011-07-23 15:45:21.000000000 +0200 +++ new/Data-Compare-1.27/t/deep-objects.t 2019-11-05 17:40:03.000000000 +0100 @@ -4,13 +4,7 @@ use warnings; # use diagnostics; -eval 'use Clone'; -($@) ? - do { - print "1..0 # Skipping no Clone found\n"; - exit(0); - } : - eval 'use Test::More tests => 1;'; +use Test::More; use Data::Compare; @@ -26,3 +20,5 @@ Compare($j, $k); ok(Compare($j, $k), 'Can compare deeply-nested objecty jibber-jabber'); + +done_testing(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Compare-1.25/t/persistent-args-hash.t new/Data-Compare-1.27/t/persistent-args-hash.t --- old/Data-Compare-1.25/t/persistent-args-hash.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Data-Compare-1.27/t/persistent-args-hash.t 2019-11-05 17:25:15.000000000 +0100 @@ -0,0 +1,33 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use Data::Dumper; + +use Data::Compare; +use Test::More; + +local $Data::Dumper::Indent = 1; +local $Data::Dumper::Terse = 1; +local $Data::Dumper::Sortkeys = 1; + +my @elements = ( + { foo => 'always' }, + { foo => 'always' }, + { foo => 'always', bar => 'sometimes' } +); + +my $want = { foo => 'always' }; +my @matching_no_args= grep { Data::Compare::Compare($_, $want) } @elements; +is(scalar @matching_no_args, 2, 'Just the two matching elements without args') + or diag(Dumper(@matching_no_args)); + + +my %args; +my @matching_args + = grep { Data::Compare::Compare($_, $want, \%args) } @elements; +is(scalar @matching_args, + 2, 'Just the two matching elements when passed a consistent hashref') + or diag(Dumper(@matching_args)); + +done_testing(); ++++++ cpanspec.yml ++++++ --- /var/tmp/diff_new_pack.i8YB8N/_old 2019-11-23 23:12:47.166745610 +0100 +++ /var/tmp/diff_new_pack.i8YB8N/_new 2019-11-23 23:12:47.166745610 +0100 @@ -14,7 +14,7 @@ # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_install: |- # sed on %{name}.files -#license: SUSE-NonFree +license: Artistic-1.0 OR GPL-1.0-or-later #skip_noarch: 1 #custom_build: - #./Build build flags=%{?_smp_mflags} --myflag
