summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Písař <ppisar@redhat.com>2014-01-06 09:05:31 +0100
committerPetr Písař <ppisar@redhat.com>2014-01-06 09:05:31 +0100
commit7b53e50e45b9c4e7a298ce844e3e8c8ff969b603 (patch)
tree92a87a33d768ea66aa047179173ee20392c33f3e
parent5e2617f7f19e8cc1420e00043b2460ff57364d27 (diff)
downloadperl-Module-Pluggable-f20.tar.gz
perl-Module-Pluggable-f20.tar.xz
perl-Module-Pluggable-f20.zip
Do not ignore single-letter-named packagesf20
-rw-r--r--Module-Pluggable-4.8-Allow-single-letter-package-names.patch94
-rw-r--r--perl-Module-Pluggable.spec9
2 files changed, 102 insertions, 1 deletions
diff --git a/Module-Pluggable-4.8-Allow-single-letter-package-names.patch b/Module-Pluggable-4.8-Allow-single-letter-package-names.patch
new file mode 100644
index 0000000..5cb7615
--- /dev/null
+++ b/Module-Pluggable-4.8-Allow-single-letter-package-names.patch
@@ -0,0 +1,94 @@
+From 7872bc27ac7f828a6b53d00717abdf83f2d1866d Mon Sep 17 00:00:00 2001
+From: Simon Wistow <simon@fastly.com>
+Date: Tue, 22 Oct 2013 09:32:27 -0700
+Subject: [PATCH] Allow single letter package names
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr Písař <ppisar@redhat.com>
+---
+ lib/Module/Pluggable/Object.pm | 2 +-
+ t/25single_letter_package.t | 42 ++++++++++++++++++++++++++++++++++++++++++
+ t/lib/M/X.pm | 7 +++++++
+ 3 files changed, 50 insertions(+), 1 deletion(-)
+ create mode 100755 t/25single_letter_package.t
+ create mode 100644 t/lib/M/X.pm
+
+diff --git a/lib/Module/Pluggable/Object.pm b/lib/Module/Pluggable/Object.pm
+index 6f7a051..46240a8 100755
+--- a/lib/Module/Pluggable/Object.pm
++++ b/lib/Module/Pluggable/Object.pm
+@@ -234,7 +234,7 @@ sub search_paths {
+ }
+ my $plugin = join '::', $searchpath, @dirs, $name;
+
+- next unless $plugin =~ m!(?:[a-z\d]+)[a-z\d]!i;
++ next unless $plugin =~ m!(?:[a-z\d]+)[a-z\d]*!i;
+
+ $self->handle_finding_plugin($plugin, \@plugins)
+ }
+diff --git a/t/25single_letter_package.t b/t/25single_letter_package.t
+new file mode 100755
+index 0000000..dd55fff
+--- /dev/null
++++ b/t/25single_letter_package.t
+@@ -0,0 +1,42 @@
++#!perl -w
++
++use strict;
++use FindBin;
++use lib (($FindBin::Bin."/lib")=~/^(.*)$/);
++use Test::More tests => 5;
++
++my $foo;
++ok($foo = M->new());
++
++my @plugins;
++my @expected = qw(M::X);
++ok(@plugins = sort $foo->plugins);
++
++
++
++is_deeply(\@plugins, \@expected, "is deeply");
++
++@plugins = ();
++
++ok(@plugins = sort M->plugins);
++
++
++
++
++is_deeply(\@plugins, \@expected, "is deeply class");
++
++
++
++package M;
++
++use strict;
++use Module::Pluggable search_path => "M";
++
++
++sub new {
++ my $class = shift;
++ return bless {}, $class;
++
++}
++1;
++
+diff --git a/t/lib/M/X.pm b/t/lib/M/X.pm
+new file mode 100644
+index 0000000..77f8f58
+--- /dev/null
++++ b/t/lib/M/X.pm
+@@ -0,0 +1,7 @@
++package M::X;
++
++use strict;
++
++sub new { return bless {}, $_[0]; }
++sub frobnitz {}
++1;
+--
+1.8.3.1
+
diff --git a/perl-Module-Pluggable.spec b/perl-Module-Pluggable.spec
index c623b95..9cc3b64 100644
--- a/perl-Module-Pluggable.spec
+++ b/perl-Module-Pluggable.spec
@@ -4,12 +4,15 @@ Name: perl-Module-Pluggable
Epoch: 1
# Keep two digit decimal part
Version: %{cpan_version}0
-Release: 291%{?dist}
+Release: 292%{?dist}
Summary: Automatically give your module the ability to have plugins
License: GPL+ or Artistic
Group: Development/Libraries
URL: http://search.cpan.org/dist/Module-Pluggable/
Source0: http://www.cpan.org/authors/id/S/SI/SIMONW/Module-Pluggable-%{cpan_version}.tar.gz
+# Do not ignore single-letter-named packages, bug #1048703, CPAN RT#89680,
+# fixed in 5.0.
+Patch0: Module-Pluggable-4.8-Allow-single-letter-package-names.patch
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl(FindBin)
@@ -49,6 +52,7 @@ into class names. Optionally it instantiates those classes for you.
%prep
%setup -q -n Module-Pluggable-%{cpan_version}
+%patch0 -p1
find -type f -exec chmod -x {} +
%build
@@ -68,6 +72,9 @@ perl Build.PL installdirs=vendor
%{_mandir}/man3/*
%changelog
+* Mon Jan 06 2014 Petr Pisar <ppisar@redhat.com> - 1:4.80-292
+- Do not ignore single-letter-named packages (bug #1048703)
+
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:4.80-291
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild