Hello community,
here is the log from the commit of package perl-Algorithm-C3 for openSUSE:Factory checked in at 2014-03-09 18:33:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Algorithm-C3 (Old)
and /work/SRC/openSUSE:Factory/.perl-Algorithm-C3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Algorithm-C3"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Algorithm-C3/perl-Algorithm-C3.changes 2011-11-17 11:04:59.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Algorithm-C3.new/perl-Algorithm-C3.changes 2014-03-09 18:33:43.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Mar 7 06:48:31 UTC 2014 - coolo@suse.com
+
+- updated to 0.09
+ - convert to use ExtUtils::MakeMaker using distar
+ - include repo and bugtracker metadata
+- regenerate spec file
+
+-------------------------------------------------------------------
Old:
----
Algorithm-C3-0.08.tar.gz
New:
----
Algorithm-C3-0.09.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Algorithm-C3.spec ++++++
--- /var/tmp/diff_new_pack.StbIpa/_old 2014-03-09 18:33:44.000000000 +0100
+++ /var/tmp/diff_new_pack.StbIpa/_new 2014-03-09 18:33:44.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Algorithm-C3
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 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,33 +15,21 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
-
-%bcond_with pod
Name: perl-Algorithm-C3
+Version: 0.09
+Release: 0
%define cpan_name Algorithm-C3
-Summary: Module for merging hierarchies using the C3 algorithm
-Version: 0.08
-Release: 2
-License: GPL-1.0+ or Artistic-1.0
+Summary: A module for merging hierarchies using the C3 algorithm
+License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Algorithm-C3/
-Source: http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Algorithm-C3-0.08.tar.gz
+Source: http://www.cpan.org/authors/id/H/HA/HAARG/%{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) >= 1.04
-%endif
-BuildRequires: perl(Test::More) >= 0.47
-#
-BuildRequires: perl(Carp) >= 0.01
-Requires: perl(Carp) >= 0.01
+%{perl_requires}
%description
This module implements the C3 algorithm. I have broken this out into it's
@@ -49,32 +37,29 @@
various needs. Most of the uses I have for C3 revolve around class building
and metamodels, but it could also be used for things like dependency
resolution as well since it tends to do such a nice job of preserving local
-precendence orderings.
+precedence orderings.
-Authors:
---------
- Stevan Little,
- Brandon L. Black,
+Below is a brief explanation of C3 taken from the the Class::C3 manpage
+module. For more detailed information, see the the SEE ALSO manpage section
+and the links there.
%prep
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Build.PL installdirs=vendor
-./Build build flags=%{?_smp_mflags}
+%{__perl} Makefile.PL INSTALLDIRS=vendor
+%{__make} %{?_smp_mflags}
%check
-./Build test
+%{__make} test
%install
-./Build install destdir=$RPM_BUILD_ROOT create_packlist=0
+%perl_make_install
+%perl_process_packlist
%perl_gen_filelist
-%clean
-%{__rm} -rf $RPM_BUILD_ROOT
-
%files -f %{name}.files
-%defattr(-,root,root,-)
+%defattr(-,root,root,755)
%doc Changes README
%changelog
++++++ Algorithm-C3-0.08.tar.gz -> Algorithm-C3-0.09.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/Build.PL new/Algorithm-C3-0.09/Build.PL
--- old/Algorithm-C3-0.08/Build.PL 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/Build.PL 1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
-use Module::Build;
-
-use strict;
-
-my $build = Module::Build->new(
- module_name => 'Algorithm::C3',
- license => 'perl',
- requires => {
- 'Carp' => '0.01',
- },
- optional => {},
- build_requires => {
- 'Test::More' => '0.47',
- },
- recursive_test_files => 1,
- add_to_cleanup => [
- 'META.yml', '*.bak', '*.gz', 'Makefile.PL',
- ],
-);
-
-$build->create_build_script;
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/Changes new/Algorithm-C3-0.09/Changes
--- old/Algorithm-C3-0.08/Changes 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/Changes 2014-03-02 00:02:57.000000000 +0100
@@ -1,5 +1,9 @@
Revision history for Perl extension Algorithm-C3.
+0.09 - 2014-03-01
+ - convert to use ExtUtils::MakeMaker using distar
+ - include repo and bugtracker metadata
+
0.08 Thu. May 28, 2009
- Fix a couple of doc typos.
- Don't create a fake Makefile.PL.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/MANIFEST new/Algorithm-C3-0.09/MANIFEST
--- old/Algorithm-C3-0.08/MANIFEST 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/MANIFEST 2014-03-02 00:03:08.000000000 +0100
@@ -1,8 +1,8 @@
-Build.PL
Changes
lib/Algorithm/C3.pm
+maint/Makefile.PL.include
+Makefile.PL
MANIFEST This list of files
-README
t/000_load.t
t/001_merge.t
t/002_merge.t
@@ -15,6 +15,8 @@
t/009_dbic_merge.t
t/010_complex_merge_classless.t
t/011_infinite_loop.t
-t/pod.t
-t/pod_coverage.t
-META.yml
+xt/pod.t
+xt/pod_coverage.t
+META.yml Module YAML meta-data (added by MakeMaker)
+META.json Module JSON meta-data (added by MakeMaker)
+README README file (added by Distar)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/META.json new/Algorithm-C3-0.09/META.json
--- old/Algorithm-C3-0.08/META.json 1970-01-01 01:00:00.000000000 +0100
+++ new/Algorithm-C3-0.09/META.json 2014-03-02 00:03:08.000000000 +0100
@@ -0,0 +1,53 @@
+{
+ "abstract" : "A module for merging hierarchies using the C3 algorithm",
+ "author" : [
+ "Stevan Little ",
+ "Brandon L. Black "
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "ExtUtils::MakeMaker version 6.88, CPAN::Meta::Converter version 2.133380",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Algorithm-C3",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "Test::More" : "0.47"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : "0.01"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "mailto" : "bug-Algorithm-C3@rt.cpan.org",
+ "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Algorithm-C3"
+ },
+ "repository" : {
+ "type" : "git",
+ "url" : "git://git.shadowcat.co.uk/gitmo/Algorithm-C3.git",
+ "web" : "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo/Algorithm-C3.git"
+ }
+ },
+ "version" : "0.09"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/META.yml new/Algorithm-C3-0.09/META.yml
--- old/Algorithm-C3-0.08/META.yml 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/META.yml 2014-03-02 00:03:08.000000000 +0100
@@ -1,22 +1,26 @@
---
-name: Algorithm-C3
-version: 0.08
+abstract: 'A module for merging hierarchies using the C3 algorithm'
author:
- - 'Stevan Little, E<lt>stevan@iinteractive.comE<gt>'
- - 'Brandon L. Black, E<lt>blblack@gmail.comE<gt>'
-abstract: A module for merging hierarchies using the C3 algorithm
-license: perl
-resources:
- license: http://dev.perl.org/licenses/
-requires:
- Carp: 0.01
+ - 'Stevan Little '
+ - 'Brandon L. Black '
build_requires:
- Test::More: 0.47
-provides:
- Algorithm::C3:
- file: lib/Algorithm/C3.pm
- version: 0.08
-generated_by: Module::Build version 0.33
+ Test::More: '0.47'
+configure_requires:
+ ExtUtils::MakeMaker: '0'
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.88, CPAN::Meta::Converter version 2.133380'
+license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
+name: Algorithm-C3
+no_index:
+ directory:
+ - t
+ - inc
+requires:
+ Carp: '0.01'
+resources:
+ bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Algorithm-C3
+ repository: git://git.shadowcat.co.uk/gitmo/Algorithm-C3.git
+version: '0.09'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/Makefile.PL new/Algorithm-C3-0.09/Makefile.PL
--- old/Algorithm-C3-0.08/Makefile.PL 1970-01-01 01:00:00.000000000 +0100
+++ new/Algorithm-C3-0.09/Makefile.PL 2014-03-02 00:01:25.000000000 +0100
@@ -0,0 +1,40 @@
+use strict;
+use warnings FATAL => 'all';
+use 5.006;
+use ExtUtils::MakeMaker;
+(do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml';
+
+my %BUILD_DEPS = (
+ 'Test::More' => 0.47,
+);
+
+# have to do this since old EUMM dev releases miss the eval $VERSION line
+my $mymeta = eval($ExtUtils::MakeMaker::VERSION) >= 6.57_02;
+my $mymeta_works = eval($ExtUtils::MakeMaker::VERSION) >= 6.57_07;
+
+WriteMakefile(
+ NAME => 'Algorithm::C3',
+ VERSION_FROM => 'lib/Algorithm/C3.pm',
+ PREREQ_PM => {
+ 'Carp' => 0.01,
+ ($mymeta_works ? () : (%BUILD_DEPS)),
+ },
+ $mymeta_works ? (BUILD_REQUIRES => \%BUILD_DEPS) : (),
+ ($mymeta && !$mymeta_works ? (NO_MYMETA => 1) : ()),
+
+ -f 'META.yml' ? () : (META_MERGE => {
+ 'meta-spec' => { version => 2 },
+ resources => {
+ # r/w: gitmo@git.shadowcat.co.uk:Algorithm-C3.git
+ repository => {
+ url => 'git://git.shadowcat.co.uk/gitmo/Algorithm-C3.git',
+ web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo/Algorithm-C3.git',
+ type => 'git',
+ },
+ bugtracker => {
+ mailto => 'bug-Algorithm-C3@rt.cpan.org',
+ web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Algorithm-C3',
+ },
+ },
+ }),
+);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/README new/Algorithm-C3-0.09/README
--- old/Algorithm-C3-0.08/README 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/README 2014-03-02 00:03:08.000000000 +0100
@@ -1,29 +1,159 @@
-Algorithm::C3 version 0.08
-===========================
+NAME
+ Algorithm::C3 - A module for merging hierarchies using the C3 algorithm
-See the individual module documentation for more information
+SYNOPSIS
+ use Algorithm::C3;
-INSTALLATION
+ # merging a classic diamond
+ # inheritance graph like this:
+ #
+ # <A>
+ # / \
+ # <B> <C>
+ # \ /
+ # <D>
+
+ my @merged = Algorithm::C3::merge(
+ 'D',
+ sub {
+ # extract the ISA array
+ # from the package
+ no strict 'refs';
+ @{$_[0] . '::ISA'};
+ }
+ );
+
+ print join ", " => @merged; # prints D, B, C, A
+
+DESCRIPTION
+ This module implements the C3 algorithm. I have broken this out into
+ it's own module because I found myself copying and pasting it way too
+ often for various needs. Most of the uses I have for C3 revolve around
+ class building and metamodels, but it could also be used for things like
+ dependency resolution as well since it tends to do such a nice job of
+ preserving local precedence orderings.
+
+ Below is a brief explanation of C3 taken from the Class::C3 module. For
+ more detailed information, see the "SEE ALSO" section and the links
+ there.
+
+ What is C3?
+ C3 is the name of an algorithm which aims to provide a sane method
+ resolution order under multiple inheritance. It was first introduced in
+ the language Dylan (see links in the "SEE ALSO" section), and then later
+ adopted as the preferred MRO (Method Resolution Order) for the new-style
+ classes in Python 2.3. Most recently it has been adopted as the
+ 'canonical' MRO for Perl 6 classes, and the default MRO for Parrot
+ objects as well.
+
+ How does C3 work.
+ C3 works by always preserving local precedence ordering. This
+ essentially means that no class will appear before any of it's
+ subclasses. Take the classic diamond inheritance pattern for instance:
+
+ <A>
+ / \
+ <B> <C>
+ \ /
+ <D>
+
+ The standard Perl 5 MRO would be (D, B, A, C). The result being that A
+ appears before C, even though C is the subclass of A. The C3 MRO
+ algorithm however, produces the following MRO (D, B, C, A), which does
+ not have this same issue.
+
+ This example is fairly trivial, for more complex examples and a deeper
+ explanation, see the links in the "SEE ALSO" section.
+
+FUNCTION
+ merge ($root, $func_to_fetch_parent, $cache)
+ This takes a $root node, which can be anything really it is up to
+ you. Then it takes a $func_to_fetch_parent which can be either a
+ CODE reference (see SYNOPSIS above for an example), or a string
+ containing a method name to be called on all the items being
+ linearized. An example of how this might look is below:
+
+ {
+ package A;
+
+ sub supers {
+ no strict 'refs';
+ @{$_[0] . '::ISA'};
+ }
+
+ package C;
+ our @ISA = ('A');
+ package B;
+ our @ISA = ('A');
+ package D;
+ our @ISA = ('B', 'C');
+ }
+
+ print join ", " => Algorithm::C3::merge('D', 'supers');
+
+ The purpose of $func_to_fetch_parent is to provide a way for "merge"
+ to extract the parents of $root. This is needed for C3 to be able to
+ do it's work.
+
+ The $cache parameter is an entirely optional performance measure,
+ and should not change behavior.
+
+ If supplied, it should be a hashref that merge can use as a private
+ cache between runs to speed things up. Generally speaking, if you
+ will be calling merge many times on related things, and the parent
+ fetching function will return constant results given the same
+ arguments during all of these calls, you can and should reuse the
+ same shared cache hash for all of the calls. Example:
+
+ sub do_some_merging {
+ my %merge_cache;
+ my @foo_mro = Algorithm::C3::Merge('Foo', \&get_supers, \%merge_cache);
+ my @bar_mro = Algorithm::C3::Merge('Bar', \&get_supers, \%merge_cache);
+ my @baz_mro = Algorithm::C3::Merge('Baz', \&get_supers, \%merge_cache);
+ my @quux_mro = Algorithm::C3::Merge('Quux', \&get_supers, \%merge_cache);
+ # ...
+ }
+
+CODE COVERAGE
+ I use Devel::Cover to test the code coverage of my tests, below is the
+ Devel::Cover report on this module's test suite.
+
+ ------------------------ ------ ------ ------ ------ ------ ------ ------
+ File stmt bran cond sub pod time total
+ ------------------------ ------ ------ ------ ------ ------ ------ ------
+ Algorithm/C3.pm 100.0 100.0 100.0 100.0 100.0 100.0 100.0
+ ------------------------ ------ ------ ------ ------ ------ ------ ------
+ Total 100.0 100.0 100.0 100.0 100.0 100.0 100.0
+ ------------------------ ------ ------ ------ ------ ------ ------ ------
+
+SEE ALSO
+ The original Dylan paper
+
+
+ The prototype Perl 6 Object Model uses C3
+
+
+ Parrot now uses C3
+
+
+
+ Python 2.3 MRO related links
+
+
+
+ C3 for TinyCLOS
+
+
+AUTHORS
+ Stevan Little,
+
+ Brandon L. Black,
-To install this module type the following:
+COPYRIGHT AND LICENSE
+ Copyright 2006 by Infinity Interactive, Inc.
- perl Makefile.PL
- make
- make test
- make install
+
-DEPENDENCIES
-
-This module requires these other modules and libraries:
-
- Carp
-
-COPYRIGHT AND LICENCE
-
-Copyright (C) 2006 Infinity Interactive, Inc.
-
-http://www.iinteractive.com
-
-This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+ This library is free software; you can redistribute it and/or modify it
+ under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/lib/Algorithm/C3.pm new/Algorithm-C3-0.09/lib/Algorithm/C3.pm
--- old/Algorithm-C3-0.08/lib/Algorithm/C3.pm 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/lib/Algorithm/C3.pm 2014-03-02 00:01:25.000000000 +0100
@@ -6,7 +6,7 @@
use Carp 'confess';
-our $VERSION = '0.08';
+our $VERSION = '0.09';
sub merge {
my ($root, $parent_fetcher, $cache) = @_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/maint/Makefile.PL.include new/Algorithm-C3-0.09/maint/Makefile.PL.include
--- old/Algorithm-C3-0.08/maint/Makefile.PL.include 1970-01-01 01:00:00.000000000 +0100
+++ new/Algorithm-C3-0.09/maint/Makefile.PL.include 2014-03-02 00:01:25.000000000 +0100
@@ -0,0 +1,11 @@
+BEGIN { -e 'Distar' or system("git clone git://git.shadowcat.co.uk/p5sagit/Distar.git") }
+use lib 'Distar/lib';
+use Distar;
+use ExtUtils::MakeMaker 6.68 ();
+
+author [
+ 'Stevan Little ',
+ 'Brandon L. Black ',
+];
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/t/pod.t new/Algorithm-C3-0.09/t/pod.t
--- old/Algorithm-C3-0.08/t/pod.t 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/t/pod.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-eval "use Test::Pod 1.14";
-plan skip_all => "Test::Pod 1.14 required for testing POD" if $@;
-
-all_pod_files_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/t/pod_coverage.t new/Algorithm-C3-0.09/t/pod_coverage.t
--- old/Algorithm-C3-0.08/t/pod_coverage.t 2009-05-28 00:50:20.000000000 +0200
+++ new/Algorithm-C3-0.09/t/pod_coverage.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.04";
-plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
-
-all_pod_coverage_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/xt/pod.t new/Algorithm-C3-0.09/xt/pod.t
--- old/Algorithm-C3-0.08/xt/pod.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Algorithm-C3-0.09/xt/pod.t 2014-03-02 00:01:25.000000000 +0100
@@ -0,0 +1,11 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+eval "use Test::Pod 1.14";
+plan skip_all => "Test::Pod 1.14 required for testing POD" if $@;
+
+all_pod_files_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Algorithm-C3-0.08/xt/pod_coverage.t new/Algorithm-C3-0.09/xt/pod_coverage.t
--- old/Algorithm-C3-0.08/xt/pod_coverage.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Algorithm-C3-0.09/xt/pod_coverage.t 2014-03-02 00:01:25.000000000 +0100
@@ -0,0 +1,11 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+eval "use Test::Pod::Coverage 1.04";
+plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
+
+all_pod_coverage_ok();
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org