Hello community, here is the log from the commit of package perl-Clone for openSUSE:Factory checked in at 2013-06-05 17:49:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Clone (Old) and /work/SRC/openSUSE:Factory/.perl-Clone.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Clone" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Clone/perl-Clone.changes 2011-11-21 12:37:42.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Clone.new/perl-Clone.changes 2013-06-05 17:49:03.000000000 +0200 @@ -1,0 +2,16 @@ +Mon Jun 3 15:40:26 UTC 2013 - [email protected] + +- updated to 0.34 + - Stop skipping SvROK handling for all magical scalars. This fixes + RT issues 67105, 79730 and 80201 (FLORA). + - making the Changes file compliant to the CPAN::Changes spec (GARU). + - Fixing tests when Scalar::Util::weaken is not available. As a + result, tests should now pass even in odd OpenBSD versions (GARU). + - removed dubious documentation on the optional parameter until + it is 'fixed'. Right now it just increases the refcount when it's 0, + and clones otherwise (which isn't exactly what it says). This + fixes RT issue 57773 (GARU). + - updated remark on Storable's dclone() to address RT issue 50174 (GARU) + - updated Makefile.PL to include test dependencies (GARU) + +------------------------------------------------------------------- Old: ---- Clone-0.31.tar.gz New: ---- Clone-0.34.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Clone.spec ++++++ --- /var/tmp/diff_new_pack.Ozwdie/_old 2013-06-05 17:49:03.000000000 +0200 +++ /var/tmp/diff_new_pack.Ozwdie/_new 2013-06-05 17:49:03.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Clone # -# 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,40 +15,43 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - Name: perl-Clone +Version: 0.34 +Release: 0 %define cpan_name Clone -Summary: Recursively copy Perl datatypes -Version: 0.31 -Release: 8 -License: GPL-1.0+ or Artistic-1.0 +Summary: recursively copy Perl datatypes +License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/Clone/ -#Source: http://www.cpan.org/authors/id/R/RD/RDF/Clone-0.31.tar.gz -Source: %{cpan_name}-%{version}.tar.gz +Source: http://www.cpan.org/authors/id/G/GA/GARU/%{cpan_name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build -%{perl_requires} BuildRequires: perl BuildRequires: perl-macros +#BuildRequires: perl(Clone) +#BuildRequires: perl(Hash::Util::FieldHash) +%{perl_requires} %description This module provides a clone() method which makes recursive copies of nested hash, array, scalar and reference types, including tied variables and objects. -For a slower, but more flexible solution see Storable's dclone(). +clone() takes a scalar argument and duplicates it. To duplicate lists, +arrays or hashes, pass them in by reference. e.g. + + my $copy = clone (\@array); + + # or + + my %copy = %{ clone (\%hash) }; %prep %setup -q -n %{cpan_name}-%{version} -### rpmlint: -# spurious-executable-perm -# script-without-shebang -%{__chmod} 0644 Changes *.{xs,pm} +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 @@ -56,24 +59,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/Clone/.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 Changes %changelog ++++++ Clone-0.31.tar.gz -> Clone-0.34.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/Changes new/Clone-0.34/Changes --- old/Clone-0.31/Changes 2009-01-20 05:54:37.000000000 +0100 +++ new/Clone-0.34/Changes 2012-12-09 22:18:48.000000000 +0100 @@ -1,144 +1,165 @@ -Revision history for Perl extension Clone. +Revision history for Perl module Clone -$Log: Changes,v $ -Revision 0.31 2009/01/20 04:54:37 ray -Made changes for build failure on Solaris, apparently compiler warnings from the last patch are errors in Solaris. -Also, brought Changes file up to date. +0.34 2012-12-09 14:46:09 garu + - making some tests optional (fixes RT81774) (GARU) + - modernizing synopsis (GARU) -Revision 0.30 2008/12/14 03:33:14 ray -Updating log: Applied patches from RT # 40957 and #41551. +0.33 2012-11-24 11:37:22 garu + - fix typo in croak message (Salvatore Bonaccorso) -Revision 0.29 2008/12/14 03:32:41 ray -Updating log: Applied patches supplied by Andreas Koenig, see RT #34317. +0.32 2012-11-22 12:14:07 garu + - Stop skipping SvROK handling for all magical scalars. This fixes + RT issues 67105, 79730 and 80201 (FLORA). + - making the Changes file compliant to the CPAN::Changes spec (GARU). + - Fixing tests when Scalar::Util::weaken is not available. As a + result, tests should now pass even in odd OpenBSD versions (GARU). + - removed dubious documentation on the optional parameter until + it is 'fixed'. Right now it just increases the refcount when it's 0, + and clones otherwise (which isn't exactly what it says). This + fixes RT issue 57773 (GARU). + - updated remark on Storable's dclone() to address RT issue 50174 (GARU) + - updated Makefile.PL to include test dependencies (GARU) -Revision 0.28 2008/12/14 03:31:33 ray -Updating log: Made a change in CLONE_KEY to the way Clone stores refs in the ref hash. -Perl no longer uses the SvANY part of the SV struct in the same way which -meams the old way of storing the hash key is no longer unique. -Thanks to Slaven Rezic for the patch. +0.31 2009-01-20 04:54:37 ray + - Made changes for build failure on Solaris, apparently compiler warnings + from the last patch are errors in Solaris. + - Also, brought Changes file up to date. -Revision 0.27 2008/12/14 03:30:40 ray -Updating Log: Latest patch from Ruslan Zakirov. Patched another memory leak. +0.30 2008-12-14 03:33:14 ray + - Updating log: Applied patches from RT # 40957 and #41551. -Revision 0.26 2007/10/15 04:52:42 ray -Made a change in CLONE_KEY to the way Clone stores refs in the ref hash. -Perl no longer uses the SvANY part of the SV struct in the same way which -meams the old way of storing the hash key is no longer unique. -Thanks to Slaven Rezic for the patch. +0.29 2008-12-14 03:32:41 ray + - Updating log: Applied patches supplied by Andreas Koenig, see RT #34317. -Revision 0.25 2007-07-25 03:41:04 ray -Latest patch from Ruslan Zakirov. Patched another memory leak. +0.28 2008-12-14 03:31:33 ray + - Updating log: Made a change in CLONE_KEY to the way Clone stores refs in + the ref hash. + - Perl no longer uses the SvANY part of the SV struct in the same way which + means the old way of storing the hash key is no longer unique. + Thanks to Slaven Rezic for the patch. -Revision 0.24 2007-07-25 03:33:57 ray -Bug fix for 5.9.*, for some reason the 'visible' logic is no longer working. -I #if 'ed it out until I figure out what is going on. -Also removed an old redundant CLONE_STORE, could have been the cause of some -memory leaks. +0.27 2008-12-14 03:30:40 ray + - Updating Log: Latest patch from Ruslan Zakirov. Patched another + memory leak. -Revision 0.23 2007-04-20 05:40:27 ray -Applied patch so clone will contiue to work with newer perls. -Also fixed test to work with older perls. +0.26 2007-10-15 04:52:42 ray + - Made a change in CLONE_KEY to the way Clone stores refs in the ref hash. + - Perl no longer uses the SvANY part of the SV struct in the same way which + means the old way of storing the hash key is no longer unique. + Thanks to Slaven Rezic for the patch. -Revision 0.22 2006-10-08 05:35:19 ray -D'oh! The 0.21 tardist that I just uploaded to CPAN contained the 0.20 Clone.xs file. This release is just in case any of the 0.21 releases get mirrored. +0.25 2007-07-25 03:41:04 ray + - Latest patch from Ruslan Zakirov. Patched another memory leak. -Revision 0.21 2006-10-08 04:02:56 ray -Clone was segfaulting due to a null SV object in a magical reference (a -PERL_MAGIC_utf8). -21859: Clone segfault (isolated example) +0.24 2007-07-25 03:33:57 ray + - Bug fix for 5.9.*, for some reason the 'visible' logic is no longer + working. I #if 'ed it out until I figure out what is going on. + - Also removed an old redundant CLONE_STORE, could have been the cause of + some memory leaks. -Revision 0.20 2006/03/08 17:15:23 ray -Commented out VERSION causes errors with DynaLoader in perl 5.6.1 (and -probably all earlier versions. It was removed. +0.23 2007-04-20 05:40:27 ray + - Applied patch so clone will contiue to work with newer perls. + - Also fixed test to work with older perls. -Revision 0.19 2006/03/06 07:22:32 ray -added a test and fix for tainted variables. -use a static VERSION in Clone.pm. +0.22 2006-10-08 05:35:19 ray + - D'oh! The 0.21 tardist that I just uploaded to CPAN contained the + 0.20 Clone.xs file. This release is just in case any of the 0.21 + releases get mirrored. -Revision 0.18 2005/05/23 15:34:31 ray -moved declaration to top of function, M$ (and other) C compilers choke. +0.21 2006-10-08 04:02:56 ray + - Clone was segfaulting due to a null SV object in a magical reference (a + PERL_MAGIC_utf8). + - 21859: Clone segfault (isolated example) -Revision 0.17 2005/05/05 22:26:01 ray -Changed PERL_MAGIC_backref to '<' for compatability with 5.6 +0.20 2006-03-08 17:15:23 ray + - Commented out VERSION causes errors with DynaLoader in perl 5.6.1 (and + probably all earlier versions. It was removed. -Revision 0.16 2005/04/20 15:49:35 ray -Bug fix for id 11997, "Clone dies horribly when Scalar::Util::weaken is around" -see http://rt.cpan.org/Ticket/Display.html?id=11997 for details. +0.19 2006-03-06 07:22:32 ray + - added a test and fix for tainted variables. + - use a static VERSION in Clone.pm. -Revision 0.15.2.1 2005/05/05 21:55:30 ray -changed PERL_MAGIC_backref to '<' for backward compatibility with 5.6 +0.18 2005-05-23 15:34:31 ray + - moved declaration to top of function, M$ (and other) C compilers choke. -Revision 0.15 2003/09/07 22:02:35 ray -VERSION 0.15 +0.17 2005-05-05 22:26:01 ray + - Changed PERL_MAGIC_backref to '<' for compatability with 5.6 -Revision 0.13.2.3 2003/09/07 21:51:03 ray -added support for unicode hash keys. This is only really a bug in 5.8.0 and -the test in t/03scalar supports this. +0.16 2005-04-20 15:49:35 ray + - Bug fix for id 11997, "Clone dies horribly when Scalar::Util::weaken + is around" see http://rt.cpan.org/Ticket/Display.html?id=11997 + for details. -Revision 0.14 2003/09/07 05:48:10 ray -VERSION 0.14 +0.15.2.1 2005-05-05 21:55:30 ray + - changed PERL_MAGIC_backref to '<' for backward compatibility with 5.6 -Revision 0.13.2.2 2003/09/07 05:45:52 ray -bug fix: refs to a qr (regexp) expression was causing a segfault. +0.15 2003-09-07 22:02:35 ray + - VERSION 0.15 -Revision 0.13.2.1 2003/09/06 20:18:37 ray -Bug fix on cloning references, only set ROK in clone if it's set in ref. +0.13.2.3 2003-09-07 21:51:03 ray + - added support for unicode hash keys. This is only really a bug in 5.8.0 + and the test in t/03scalar supports this. -Revision 0.13 2002/06/12 06:42:14 ray -VERSION 0.13 +0.14 2003-09-07 05:48:10 ray + - VERSION 0.14 -Revision 0.13 2002/02/03 02:12:29 ray -VERSION 0.13 +0.13.2.2 2003-09-07 05:45:52 ray + - bug fix: refs to a qr (regexp) expression was causing a segfault. -Revision 0.11.2.1 2002/02/03 02:10:30 ray -removed dependency on Storable for tests. +0.13.2.1 2003-09-06 20:18:37 ray + - Bug fix on cloning references, only set ROK in clone if it's set in ref. -Revision 0.12 2001/09/30 20:35:27 ray -Version 0.12 release. +0.13 2002-02-03 02:12:29 ray + - VERSION 0.13 -Revision 0.11 2001/07/29 19:30:27 ray -VERSION 0.11 +0.11.2.1 2002-02-03 02:10:30 ray + - removed dependency on Storable for tests. -Revision 0.10.2.3 2001/07/28 21:53:03 ray -fixed memory leaks on un-blessed references. +0.12 2001-09-30 20:35:27 ray + - Version 0.12 release. -Revision 0.10.2.2 2001/07/28 21:52:41 ray -added test cases for circular reference bugs and memory leaks. +0.11 2001-07-29 19:30:27 ray + - VERSION 0.11 -Revision 0.10.2.1 2001/07/28 21:52:15 ray -fixed circular reference bugs. +0.10.2.3 2001-07-28 21:53:03 ray + - fixed memory leaks on un-blessed references. -Revision 0.10 2001/04/29 21:48:45 ray -VERSION 0.10 +0.10.2.2 2001-07-28 21:52:41 ray + - added test cases for circular reference bugs and memory leaks. -Revision 0.9.2.3 2001/03/11 00:54:41 ray -change call to rv_clone in clone to sv_clone; this allows any scalar to -be cloned. +0.10.2.1 2001-07-28 21:52:15 ray + - fixed circular reference bugs. -Revision 0.9.2.2 2001/03/11 00:50:01 ray -version 0.09.3: cleaned up code, consolidated MAGIC. +0.10 2001-04-29 21:48:45 ray + - VERSION 0.10 -Revision 0.9.2.1 2001/03/05 16:01:52 ray -added support for double-types. +0.09.2.3 2001-03-11 00:54:41 ray + - change call to rv_clone in clone to sv_clone; this allows any scalar to + be cloned. -Revision 0.9 2000/08/21 23:05:55 ray -added support for code refs +0.09.2.2 2001-03-11 00:50:01 ray + - version 0.09.3: cleaned up code, consolidated MAGIC. -Revision 0.8 2000/08/11 17:08:24 ray -Release 0.08. +0.09.2.1 2001-03-05 16:01:52 ray + - added support for double-types. -Revision 0.7 2000/08/01 00:31:24 ray -release 0.07. +0.09 2000-08-21 23:05:55 ray + - added support for code refs -Revision 0.6.2.3 2000/07/28 20:40:25 ray -added support for circular references +0.08 2000-08-11 17:08:24 ray + - Release 0.08. -Revision 0.6.2.2 2000/07/28 19:04:14 ray -first pass at circular references. +0.07 2000-08-01 00:31:24 ray + - release 0.07. -Revision 0.6.2.1 2000/07/28 18:54:33 ray -added support for scalar types. +0.06.2.3 2000-07-28 20:40:25 ray + - added support for circular references +0.06.2.2 2000-07-28 19:04:14 ray + - first pass at circular references. + +0.06.2.1 2000-07-28 18:54:33 ray + - added support for scalar types. 0.06 Thu May 25 17:48:59 2000 GMT - initial release to CPAN. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/Clone.pm new/Clone-0.34/Clone.pm --- old/Clone-0.31/Clone.pm 2009-01-20 05:54:37.000000000 +0100 +++ new/Clone-0.34/Clone.pm 2012-12-09 22:18:48.000000000 +0100 @@ -1,4 +1,3 @@ -# $Id: Clone.pm,v 0.31 2009/01/20 04:54:37 ray Exp $ package Clone; use strict; @@ -16,7 +15,7 @@ @EXPORT = qw(); @EXPORT_OK = qw( clone ); -$VERSION = '0.31'; +$VERSION = '0.34'; bootstrap Clone $VERSION; @@ -33,12 +32,12 @@ =head1 SYNOPSIS - use Clone; - - push @Foo::ISA, 'Clone'; + package Foo; + use parent 'Clone'; - $a = new Foo; - $b = $a->clone(); + package main; + my $original = Foo->new; + $copy = $original->clone; # or @@ -46,7 +45,7 @@ $a = { 'foo' => 'bar', 'move' => 'zig' }; $b = [ 'alpha', 'beta', 'gamma', 'vlissides' ]; - $c = new Foo(); + $c = Foo->new; $d = clone($a); $e = clone($b); @@ -59,8 +58,7 @@ including tied variables and objects. -clone() takes a scalar argument and an optional parameter that -can be used to limit the depth of the copy. To duplicate lists, +clone() takes a scalar argument and duplicates it. To duplicate lists, arrays or hashes, pass them in by reference. e.g. my $copy = clone (\@array); @@ -68,21 +66,28 @@ # or my %copy = %{ clone (\%hash) }; - -For a slower, but more flexible solution see Storable's dclone(). +=head1 SEE ALSO -=head1 AUTHOR +L<Storable>'s dclone() is a flexible solution for cloning variables, +albeit slower for average-sized data structures. Simple +and naive benchmarks show that Clone is faster for data structures +with 3 or less levels, while dclone() can be faster for structures +4 or more levels deep. -Ray Finch, [email protected] +=head1 COPYRIGHT -Copyright 2001 Ray Finch. +Copyright 2001-2012 Ray Finch. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. -=head1 SEE ALSO +=head1 AUTHOR + +Ray Finch C<< <[email protected]> >> -Storable(3). +Breno G. de Oliveira C<< <[email protected]> >> and +Florian Ragwitz C<< <[email protected]> >> perform routine maintenance +releases since 2012. =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/Clone.xs new/Clone-0.34/Clone.xs --- old/Clone-0.31/Clone.xs 2009-01-20 05:54:37.000000000 +0100 +++ new/Clone-0.34/Clone.xs 2012-11-24 14:41:31.000000000 +0100 @@ -4,8 +4,6 @@ #include "perl.h" #include "XSUB.h" -static char *rcs_id = "$Id: Clone.xs,v 0.31 2009/01/20 04:54:37 ray Exp $"; - #define CLONE_KEY(x) ((char *) &x) #define CLONE_STORE(x,y) \ @@ -196,7 +194,7 @@ clone = SvREFCNT_inc(ref); /* just return the ref */ break; default: - croak("unkown type: 0x%x", SvTYPE(ref)); + croak("unknown type: 0x%x", SvTYPE(ref)); } /** @@ -253,13 +251,17 @@ case '@': /* PERL_MAGIC_arylen_p */ continue; break; + case 'P': /* PERL_MAGIC_tied */ + case 'p': /* PERL_MAGIC_tiedelem */ + case 'q': /* PERL_MAGIC_tiedscalar */ + magic_ref++; + /* fall through */ default: obj = sv_clone(mg->mg_obj, hseen, -1); } } else { TRACEME(("magic object for type %c in NULL\n", mg->mg_type)); } - magic_ref++; /* this is plain old magic, so do the same thing */ sv_magic(clone, obj, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/MANIFEST new/Clone-0.34/MANIFEST --- old/Clone-0.31/MANIFEST 2006-10-08 05:37:20.000000000 +0200 +++ new/Clone-0.34/MANIFEST 2012-12-09 22:48:15.000000000 +0100 @@ -1,9 +1,9 @@ -# $Id: MANIFEST,v 0.19 2006/10/08 03:37:20 ray Exp $ Changes Clone.pm Clone.xs Makefile.PL MANIFEST +META.yml Module meta-data (added by MakeMaker) t/01array.t t/02hash.t t/03scalar.t @@ -11,7 +11,8 @@ t/05dtype.t t/06refcnt.t t/07magic.t +t/08fieldhash.t t/dclone.t t/dump.pl t/tied.pl -META.yml Module 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/Clone-0.31/META.json new/Clone-0.34/META.json --- old/Clone-0.31/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/Clone-0.34/META.json 2012-12-09 22:48:15.000000000 +0100 @@ -0,0 +1,50 @@ +{ + "abstract" : "recursively copy Perl datatypes", + "author" : [ + "Ray Finch <[email protected]>" + ], + "dynamic_config" : 1, + "generated_by" : "ExtUtils::MakeMaker version 6.6302, CPAN::Meta::Converter version 2.120921", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Clone", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "Test::More" : "0" + } + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "runtime" : { + "requires" : {} + } + }, + "release_status" : "stable", + "resources" : { + "bugtracker" : { + "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Clone" + }, + "license" : [ + "http://dev.perl.org/licenses/" + ], + "repository" : { + "url" : "http://github.com/garu/Clone" + } + }, + "version" : "0.34" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/META.yml new/Clone-0.34/META.yml --- old/Clone-0.31/META.yml 2009-01-20 05:55:34.000000000 +0100 +++ new/Clone-0.34/META.yml 2012-12-09 22:48:15.000000000 +0100 @@ -1,10 +1,25 @@ -# http://module-build.sourceforge.net/META-spec.html -#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# -name: Clone -version: 0.31 -version_from: Clone.pm -installdirs: site -requires: - -distribution_type: module -generated_by: ExtUtils::MakeMaker version 6.30 +--- +abstract: 'recursively copy Perl datatypes' +author: + - 'Ray Finch <[email protected]>' +build_requires: + Test::More: 0 +configure_requires: + ExtUtils::MakeMaker: 0 +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 6.6302, CPAN::Meta::Converter version 2.120921' +license: perl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 +name: Clone +no_index: + directory: + - t + - inc +requires: {} +resources: + bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Clone + license: http://dev.perl.org/licenses/ + repository: http://github.com/garu/Clone +version: 0.34 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/Makefile.PL new/Clone-0.34/Makefile.PL --- old/Clone-0.31/Makefile.PL 2007-10-15 06:57:20.000000000 +0200 +++ new/Clone-0.34/Makefile.PL 2012-12-09 22:18:58.000000000 +0100 @@ -1,15 +1,27 @@ use ExtUtils::MakeMaker; -# $Id: Makefile.PL,v 0.19 2007/10/15 04:57:20 ray Exp $ -# See lib/ExtUtils/MakeMaker.pm for details of how to influence -# the contents of the Makefile that is written. + WriteMakefile( - 'NAME' => 'Clone', - 'VERSION_FROM' => 'Clone.pm', # finds $VERSION - 'LIBS' => [''], # e.g., '-lm' - 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' - 'INC' => '', # e.g., '-I/usr/include/other' -# 'OPTIMIZE' => '-g', # e.g., '-I/usr/include/other' - 'OPTIMIZE' => '-O3', # e.g., '-I/usr/include/other' - clean => {FILES => '_Inline'}, + 'NAME' => 'Clone', + 'AUTHOR' => 'Ray Finch <[email protected]>', + 'VERSION_FROM' => 'Clone.pm', + 'ABSTRACT_FROM' => 'Clone.pm', + 'LICENSE' => 'perl', + 'PL_FILES' => {}, + 'BUILD_REQUIRES' => { + 'Test::More' => 0, + }, + 'LIBS' => [''], # e.g., '-lm' + 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' + 'INC' => '', # e.g., '-I/usr/include/other' +# 'OPTIMIZE' => '-g', # e.g., '-I/usr/include/other' + 'OPTIMIZE' => '-O3', # e.g., '-I/usr/include/other' + clean => { FILES => '_Inline' }, + META_MERGE => { + resources => { + license => 'http://dev.perl.org/licenses/', + bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Clone', + repository => 'http://github.com/garu/Clone', + }, + }, ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/t/01array.t new/Clone-0.34/t/01array.t --- old/Clone-0.31/t/01array.t 2006-10-08 05:37:29.000000000 +0200 +++ new/Clone-0.34/t/01array.t 2012-12-09 16:53:54.000000000 +0100 @@ -7,10 +7,19 @@ # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) -BEGIN { $| = 1; print "1..7\n"; } +my $has_data_dumper; +BEGIN { + $| = 1; + my $tests = 6; + eval q[use Data::Dumper]; + if (!$@) { + $has_data_dumper = 1; + $tests++; + } + print "1..$tests\n"; +} END {print "not ok 1\n" unless $loaded;} use Clone qw( clone ); -use Data::Dumper; $loaded = 1; print "ok 1\n"; @@ -66,7 +75,10 @@ my @circ = (); $circ[0] = \@circ; $aref = clone(\@circ); -Dumper(\@circ) eq Dumper($aref) ? ok : not_ok; + +if ($has_data_dumper) { + Dumper(\@circ) eq Dumper($aref) ? ok : not_ok; +} # test for unicode support { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/t/02hash.t new/Clone-0.34/t/02hash.t --- old/Clone-0.31/t/02hash.t 2006-10-08 05:37:29.000000000 +0200 +++ new/Clone-0.34/t/02hash.t 2012-12-09 16:56:15.000000000 +0100 @@ -7,10 +7,19 @@ # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) -BEGIN { $| = 1; print "1..12\n"; } +my $has_data_dumper; +BEGIN { + $| = 1; + my $tests = 11; + eval q[use Data::Dumper]; + if (!$@) { + $has_data_dumper = 1; + $tests++; + } + print "1..$tests\n"; +} END {print "not ok 1\n" unless $loaded;} use Clone qw( clone ); -use Data::Dumper; $loaded = 1; print "ok 1\n"; @@ -82,7 +91,9 @@ my %circ = (); $circ{c} = \%circ; my $cref = clone(\%circ); -Dumper(\%circ) eq Dumper($cref) ? ok : not_ok; +if ($has_data_dumper) { + Dumper(\%circ) eq Dumper($cref) ? ok : not_ok; +} # test for unicode support { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/t/03scalar.t new/Clone-0.34/t/03scalar.t --- old/Clone-0.31/t/03scalar.t 2006-10-08 05:37:29.000000000 +0200 +++ new/Clone-0.34/t/03scalar.t 2012-12-09 16:57:55.000000000 +0100 @@ -7,10 +7,19 @@ # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) -BEGIN { $| = 1; print "1..10\n"; } +my $has_data_dumper; +BEGIN { + $| = 1; + my $tests = 9; + eval q[use Data::Dumper]; + if (!$@) { + $has_data_dumper = 1; + $tests++; + } + print "1..$tests\n"; +} END {print "not ok 1\n" unless $loaded;} use Clone qw( clone ); -use Data::Dumper; $loaded = 1; print "ok 1\n"; @@ -62,7 +71,9 @@ my $circ = undef; $circ = \$circ; $aref = clone($circ); -Dumper($circ) eq Dumper($aref) ? ok : not_ok; +if ($has_data_dumper) { + Dumper($circ) eq Dumper($aref) ? ok : not_ok; +} # the following used to produce a segfault, rt.cpan.org id=2264 undef $a; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/t/05dtype.t new/Clone-0.34/t/05dtype.t --- old/Clone-0.31/t/05dtype.t 2006-10-08 05:37:29.000000000 +0200 +++ new/Clone-0.34/t/05dtype.t 2012-12-09 17:02:45.000000000 +0100 @@ -7,7 +7,17 @@ # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) -BEGIN { $| = 1; print "1..2\n"; } +my $has_data_dumper; +BEGIN { + $| = 1; + my $tests = 1; + eval q[use Data::Dumper]; + if (!$@) { + $has_data_dumper = 1; + $tests++; + } + print "1..$tests\n"; +} END {print "not ok 1\n" unless $loaded;} use Clone; $loaded = 1; @@ -19,7 +29,6 @@ # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): -use Data::Dumper; eval 'use Storable qw( dclone )'; if ($@) { @@ -58,6 +67,8 @@ my $b = $a->clone; my $c = dclone($a); -Dumper($a, $b) eq Dumper($a, $c) ? ok() : not_ok; +if ($has_data_dumper) { + Dumper($a, $b) eq Dumper($a, $c) ? ok() : not_ok; +} # print Dumper($a, $b); # print Dumper($a, $c); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/t/06refcnt.t new/Clone-0.34/t/06refcnt.t --- old/Clone-0.31/t/06refcnt.t 2007-07-25 05:41:06.000000000 +0200 +++ new/Clone-0.34/t/06refcnt.t 2012-11-22 03:47:34.000000000 +0100 @@ -7,7 +7,23 @@ # Change 1..1 below to 1..last_test_to_print . # (It may become useful if the test is moved to ./t subdirectory.) -BEGIN { $| = 1; print "1..20\n"; } +my $HAS_WEAKEN; + +BEGIN { + $| = 1; + my $plan = 20; + + eval 'use Scalar::Util qw( weaken isweak );'; + if ($@) { + $HAS_WEAKEN = 0; + $plan = 15; + } + else { + $HAS_WEAKEN = 1; + } + + print "1..$plan\n"; +} END {print "not ok 1\n" unless $loaded;} use Clone qw( clone ); $loaded = 1; @@ -22,7 +38,7 @@ # code to test for memory leaks ## use Benchmark; -use Data::Dumper; +## use Data::Dumper; # use Storable qw( dclone ); $^W = 1; @@ -112,27 +128,27 @@ } # test for cloning weak reference -{ - use Scalar::Util qw(weaken isweak); - my $a = new Test::Hash(); - my $b = { r => $a }; - $a->{r} = $b; - weaken($b->{'r'}); - my $c = clone($a); -} - -# another weak reference problem, this one causes a segfault in 0.24 -{ - use Scalar::Util qw(weaken isweak); - my $a = new Test::Hash(); +if ( $HAS_WEAKEN ) { { - my $b = [ $a, $a ]; + my $a = new Test::Hash(); + my $b = { r => $a }; $a->{r} = $b; - weaken($b->[0]); - weaken($b->[1]); + weaken($b->{'r'}); + my $c = clone($a); + } + + # another weak reference problem, this one causes a segfault in 0.24 + { + my $a = new Test::Hash(); + { + my $b = [ $a, $a ]; + $a->{r} = $b; + weaken($b->[0]); + weaken($b->[1]); + } + my $c = clone($a); + # check that references point to the same thing + print "not " unless $c->{'r'}[0] == $c->{'r'}[1]; + printf "ok %d\n", $::test++; } - my $c = clone($a); - # check that references point to the same thing - print "not " unless $c->{'r'}[0] == $c->{'r'}[1]; - printf "ok %d\n", $::test++; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Clone-0.31/t/08fieldhash.t new/Clone-0.34/t/08fieldhash.t --- old/Clone-0.31/t/08fieldhash.t 1970-01-01 01:00:00.000000000 +0100 +++ new/Clone-0.34/t/08fieldhash.t 2012-12-09 17:20:57.000000000 +0100 @@ -0,0 +1,28 @@ +# $Id: 07magic.t,v 1.8 2007/04/20 05:40:48 ray Exp $ + +use strict; +use warnings; + +use Clone 'clone'; + +BEGIN { + use Test::More; + eval { + require Hash::Util::FieldHash; + Hash::Util::FieldHash->import('fieldhash'); + }; + if ($@) { + plan skip_all => 'Hash::Util::FieldHash not available'; + } +} + +fieldhash my %hash; + +my $var = {}; + +exists $hash{ \$var }; + +my $cloned = clone($var); +cmp_ok($cloned, '!=', $var); + +done_testing; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
