[perl] Override the Pod::Simple::parse_file to set output to STDOUT by default

Petr Pisar ppisar at fedoraproject.org
Fri Sep 14 12:11:46 UTC 2012


commit 0013ef3f52102c2f9cebf2aa35f0473c49d71a8f
Author: Petr Písař <ppisar at redhat.com>
Date:   Fri Sep 14 13:25:03 2012 +0200

    Override the Pod::Simple::parse_file to set output to STDOUT by default

 ...5.14.2-Override-the-Pod-Simple-parse_file.patch |   60 ++++++++++++++++++++
 perl.spec                                          |   12 ++++-
 2 files changed, 71 insertions(+), 1 deletions(-)
---
diff --git a/perl-5.14.2-Override-the-Pod-Simple-parse_file.patch b/perl-5.14.2-Override-the-Pod-Simple-parse_file.patch
new file mode 100644
index 0000000..8448220
--- /dev/null
+++ b/perl-5.14.2-Override-the-Pod-Simple-parse_file.patch
@@ -0,0 +1,60 @@
+From 915ceb2f33469eeffd28cfb81ca52a05e1301f15 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Fri, 14 Sep 2012 13:17:29 +0200
+Subject: [PATCH] Override the Pod::Simple::parse_file
+
+This sets output_fh to STDOUT if it's not already set.
+This resolves CPANRT#77530 and RHBZ#826872 and is fixed in podlators-2.4.1.
+Ported to perl-5.14.2.
+---
+ cpan/podlators/lib/Pod/Man.pm  | 11 +++++++++++
+ cpan/podlators/lib/Pod/Text.pm | 11 +++++++++++
+ 2 files changed, 22 insertions(+)
+
+diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
+index 96f3fcc..ad5e5ac 100644
+--- a/cpan/podlators/lib/Pod/Man.pm
++++ b/cpan/podlators/lib/Pod/Man.pm
+@@ -1302,6 +1302,17 @@ sub parse_from_filehandle {
+     $self->parse_from_file (@_);
+ }
+ 
++# Pod::Simple's parse_file doesn't set output_fh.  Wrap the call and do so
++# ourself unless it was already set by the caller, since our documentation has
++# always said that this should work.
++sub parse_file {
++    my ($self, $in) = @_;
++    unless (defined $$self{output_fh}) {
++        $self->output_fh (\*STDOUT);
++    }
++    return $self->SUPER::parse_file ($in);
++}
++
+ ##############################################################################
+ # Translation tables
+ ##############################################################################
+diff --git a/cpan/podlators/lib/Pod/Text.pm b/cpan/podlators/lib/Pod/Text.pm
+index cc02820..1a8b0bf 100644
+--- a/cpan/podlators/lib/Pod/Text.pm
++++ b/cpan/podlators/lib/Pod/Text.pm
+@@ -679,6 +679,17 @@ sub parse_from_filehandle {
+     $self->parse_from_file (@_);
+ }
+ 
++# Pod::Simple's parse_file doesn't set output_fh.  Wrap the call and do so
++# ourself unless it was already set by the caller, since our documentation has
++# always said that this should work.
++sub parse_file {
++    my ($self, $in) = @_;
++    unless (defined $$self{output_fh}) {
++        $self->output_fh (\*STDOUT);
++    }
++    return $self->SUPER::parse_file ($in);
++}
++
+ ##############################################################################
+ # Module return value and documentation
+ ##############################################################################
+-- 
+1.7.11.4
+
diff --git a/perl.spec b/perl.spec
index 492d79c..139e888 100644
--- a/perl.spec
+++ b/perl.spec
@@ -29,7 +29,7 @@
 Name:           perl
 Version:        %{perl_version}
 # release number must be even higher, because dual-lived modules will be broken otherwise
-Release:        234%{?dist}
+Release:        235%{?dist}
 Epoch:          %{perl_epoch}
 Summary:        Practical Extraction and Report Language
 Group:          Development/Languages
@@ -94,6 +94,10 @@ Patch13:        perl-5.16.1-RT-113730-should-be-cleared-on-do-IO-error.patch
 # Do not truncate syscall() return value to 32 bits, rhbz#838551, RT#113980
 Patch14:        perl-5.16.1-perl-113980-pp_syscall-I32-retval-truncates-the-retu.patch
 
+# Override the Pod::Simple::parse_file, rhbz#826872, CPANRT#77530, in
+# podlators-2.4.1
+Patch15:        perl-5.14.2-Override-the-Pod-Simple-parse_file.patch
+
 
 # Update some of the bundled modules
 # see http://fedoraproject.org/wiki/Perl/perl.spec for instructions
@@ -1350,6 +1354,7 @@ tarball from perl.org.
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
+%patch15 -p1
 
 #copy the example script
 cp -a %{SOURCE5} .
@@ -1556,6 +1561,7 @@ pushd %{build_archlib}/CORE/
     'Fedora Patch12: Match non-breakable space with /[\h]/ in ASCII mode (RT#114220)' \
     'Fedora Patch13: Clear $@ before "do" I/O error (RT#113730)' \
     'Fedora Patch14: Do not truncate syscall() return value to 32 bits (RT#113980)' \
+    'Fedora Patch15: Override the Pod::Simple::parse_file (CPANRT#77530)' \
     %{nil}
 
 rm patchlevel.bak
@@ -2698,6 +2704,10 @@ sed \
 
 # Old changelog entries are preserved in CVS.
 %changelog
+* Fri Sep 14 2012 Petr Pisar <ppisar at redhat.com> - 4:5.16.1-231
+- Override the Pod::Simple::parse_file to set output to STDOUT by default
+  (bug #826872)
+
 * Wed Sep 12 2012 Petr Pisar <ppisar at redhat.com> - 4:5.16.1-234
 - Sub-package perl-podlators (bug #856516)
 


More information about the scm-commits mailing list