From 5fc3d9a3c0a753cbd43f2c734ae10c68632744e4 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Wed, 11 Mar 2009 22:18:27 +0000 Subject: [PATCH] drop 26_fix_pod2man_upgrade, we do not need it --- 26_fix_pod2man_upgrade | 314 ----------------------------------------- perl.spec | 30 ++-- 2 files changed, 14 insertions(+), 330 deletions(-) delete mode 100644 26_fix_pod2man_upgrade diff --git a/26_fix_pod2man_upgrade b/26_fix_pod2man_upgrade deleted file mode 100644 index d3b1098..0000000 --- a/26_fix_pod2man_upgrade +++ /dev/null @@ -1,314 +0,0 @@ -Upgrade to Pod::Man 2.18 to get the 'pod2man --utf8' functionality in lenny. (Closes: #480997) - -diff --git a/lib/Pod/Man.pm b/lib/Pod/Man.pm -index 451ecc8..11959a6 100644 ---- a/lib/Pod/Man.pm -+++ b/lib/Pod/Man.pm -@@ -1,7 +1,6 @@ - # Pod::Man -- Convert POD data to formatted *roff input. --# $Id: Man.pm,v 2.16 2007-11-29 01:35:53 eagle Exp $ - # --# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -+# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 - # Russ Allbery - # Substantial contributions by Sean Burke - # -@@ -37,10 +36,7 @@ use POSIX qw(strftime); - - @ISA = qw(Pod::Simple); - --# Don't use the CVS revision as the version, since this module is also in Perl --# core and too many things could munge CVS magic revision strings. This --# number should ideally be the same as the CVS revision in podlators, however. --$VERSION = '2.16'; -+$VERSION = '2.18'; - - # Set the debugging level. If someone has inserted a debug function into this - # class already, use that. Otherwise, use any Pod::Simple debug function -@@ -73,7 +69,9 @@ sub new { - my $class = shift; - my $self = $class->SUPER::new; - -- # Tell Pod::Simple to handle S<> by automatically inserting  . -+ # Tell Pod::Simple not to handle S<> by automatically inserting  . -+ # Note that this messes up Unicode output by embedding explicit ISO 8859-1 -+ # non-breaking spaces that we have to clean up later. - $self->nbsp_for_S (1); - - # Tell Pod::Simple to keep whitespace whenever possible. -@@ -348,23 +346,22 @@ sub format_text { - my $convert = $$options{convert}; - my $literal = $$options{literal}; - -- # Normally we do character translation, but we won't even do that in -- # blocks. -- if ($convert) { -- if (ASCII) { -- $text =~ s/(\\|[^\x00-\x7F])/$ESCAPES{ord ($1)} || "X"/eg; -- } else { -- $text =~ s/(\\)/$ESCAPES{ord ($1)} || "X"/eg; -- } -- } -- - # Cleanup just tidies up a few things, telling *roff that the hyphens are -- # hard and putting a bit of space between consecutive underscores. -+ # hard, putting a bit of space between consecutive underscores, and -+ # escaping backslashes. Be careful not to mangle our character -+ # translations by doing this before processing character translation. - if ($cleanup) { -+ $text =~ s/\\/\\e/g; - $text =~ s/-/\\-/g; - $text =~ s/_(?=_)/_\\|/g; - } - -+ # Normally we do character translation, but we won't even do that in -+ # blocks or if UTF-8 output is desired. -+ if ($convert && !$$self{utf8} && ASCII) { -+ $text =~ s/([^\x00-\x7F])/$ESCAPES{ord ($1)} || "X"/eg; -+ } -+ - # Ensure that *roff doesn't convert literal quotes to UTF-8 single quotes, - # but don't mess up our accept escapes. - if ($literal) { -@@ -641,10 +645,10 @@ sub switchquotes { - # to Roman rather than the actual previous font when used in headings. - # troff output may still be broken, but at least we can fix nroff by - # just switching the font changes to the non-fixed versions. -- $nroff =~ s/\Q$$self{FONTS}{100}\E(.*)\\f[PR]/$1/g; -- $nroff =~ s/\Q$$self{FONTS}{101}\E(.*)\\f([PR])/\\fI$1\\f$2/g; -- $nroff =~ s/\Q$$self{FONTS}{110}\E(.*)\\f([PR])/\\fB$1\\f$2/g; -- $nroff =~ s/\Q$$self{FONTS}{111}\E(.*)\\f([PR])/\\f\(BI$1\\f$2/g; -+ $nroff =~ s/\Q$$self{FONTS}{100}\E(.*?)\\f[PR]/$1/g; -+ $nroff =~ s/\Q$$self{FONTS}{101}\E(.*?)\\f([PR])/\\fI$1\\f$2/g; -+ $nroff =~ s/\Q$$self{FONTS}{110}\E(.*?)\\f([PR])/\\fB$1\\f$2/g; -+ $nroff =~ s/\Q$$self{FONTS}{111}\E(.*?)\\f([PR])/\\f\(BI$1\\f$2/g; - - # Now finally output the command. Bother with .ie only if the nroff - # and troff output aren't the same. -@@ -851,7 +855,7 @@ sub devise_date { - # module, but this order is correct for both Solaris and Linux. - sub preamble { - my ($self, $name, $section, $date) = @_; -- my $preamble = $self->preamble_template; -+ my $preamble = $self->preamble_template (!$$self{utf8}); - - # Build the index line and make sure that it will be syntactically valid. - my $index = "$name $section"; -@@ -1025,7 +1029,7 @@ sub cmd_head1 { - sub cmd_head2 { - my ($self, $attrs, $text) = @_; - $text = $self->heading_common ($text, $$attrs{start_line}); -- $self->output ($self->switchquotes ('.Sh', $self->mapfonts ($text))); -+ $self->output ($self->switchquotes ('.SS', $self->mapfonts ($text))); - $self->outindex ('Subsection', $text); - $$self{NEEDSPACE} = 0; - return ''; -@@ -1273,7 +1277,7 @@ sub parse_from_filehandle { - # results are pretty poor. - # - # This only works in an ASCII world. What to do in a non-ASCII world is very --# unclear. -+# unclear -- hopefully we can assume UTF-8 and just leave well enough alone. - @ESCAPES{0xA0 .. 0xFF} = ( - "\\ ", undef, undef, undef, undef, undef, undef, undef, - undef, undef, undef, undef, undef, "\\%", undef, undef, -@@ -1294,27 +1298,18 @@ sub parse_from_filehandle { - "o\\*/" , "u\\*`", "u\\*'", "u\\*^", "u\\*:", "y\\*'", "\\*(th", "y\\*:", - ) if ASCII; - --# Make sure that at least this works even outside of ASCII. --$ESCAPES{ord("\\")} = "\\e"; -- - ############################################################################## - # Premable - ############################################################################## - - # The following is the static preamble which starts all *roff output we --# generate. It's completely static except for the font to use as a --# fixed-width font, which is designed by @CFONT@, and the left and right --# quotes to use for C<> text, designated by @LQOUTE@ and @RQUOTE@. -+# generate. Most is static except for the font to use as a fixed-width font, -+# which is designed by @CFONT@, and the left and right quotes to use for C<> -+# text, designated by @LQOUTE@ and @RQUOTE@. However, the second part, which -+# defines the accent marks, is only used if $escapes is set to true. - sub preamble_template { -- return <<'----END OF PREAMBLE----'; --.de Sh \" Subsection heading --.br --.if t .Sp --.ne 5 --.PP --\fB\\$1\fR --.PP --.. -+ my ($self, $accents) = @_; -+ my $preamble = <<'----END OF PREAMBLE----'; - .de Sp \" Vertical space (when we can't use .PP) - .if t .sp .5v - .if n .sp -@@ -1358,7 +1353,7 @@ sub preamble_template { - .el .ds Aq ' - .\" - .\" If the F register is turned on, we'll generate index entries on stderr for --.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index -+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index - .\" entries marked with X<> in POD. Of course, you'll have to process the - .\" output yourself in some meaningful fashion. - .ie \nF \{\ -@@ -1372,6 +1367,10 @@ sub preamble_template { - . de IX - .. - .\} -+----END OF PREAMBLE---- -+ -+ if ($accents) { -+ $preamble .= <<'----END OF PREAMBLE----' - .\" - .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). - .\" Fear. Run. Save yourself. No user-serviceable parts. -@@ -1436,6 +1435,8 @@ sub preamble_template { - .rm #[ #] #H #V #F C - ----END OF PREAMBLE---- - #`# for cperl-mode -+ } -+ return $preamble; - } - - ############################################################################## -@@ -1582,6 +1583,22 @@ that are reliably consistent are 1, 2, and 3. - By default, section 1 will be used unless the file ends in .pm in which case - section 3 will be selected. - -+=item utf8 -+ -+By default, Pod::Man produces the most conservative possible *roff output -+to try to ensure that it will work with as many different *roff -+implementations as possible. Many *roff implementations cannot handle -+non-ASCII characters, so this means all non-ASCII characters are converted -+either to a *roff escape sequence that tries to create a properly accented -+character (at least for troff output) or to C. -+ -+If this option is set, Pod::Man will instead output UTF-8. If your *roff -+implementation can handle it, this is the best output format to use and -+avoids corruption of documents containing non-ASCII characters. However, -+be warned that *roff source with literal UTF-8 characters is not supported -+by many implementations and may even result in segfaults and other bad -+behavior. -+ - =back - - The standard Pod::Simple method parse_file() takes one argument naming the -@@ -1617,15 +1634,6 @@ invalid. A quote specification must be one, two, or four characters long. - - =head1 BUGS - --Eight-bit input data isn't handled at all well at present. The correct --approach would be to map EEE escapes to the appropriate UTF-8 --characters and then do a translation pass on the output according to the --user-specified output character set. Unfortunately, we can't send eight-bit --data directly to the output unless the user says this is okay, since some --vendor *roff implementations can't handle eight-bit data. If the *roff --implementation can, however, that's far superior to the current hacked --characters that only work under troff. -- - There is currently no way to turn off the guesswork that tries to format - unmarked text appropriately, and sometimes it isn't wanted (particularly - when using POD to document something other than Perl). Most of the work -diff --git a/pod/pod2man.PL b/pod/pod2man.PL -index 9a8414a..10ddbbd 100644 ---- a/pod/pod2man.PL -+++ b/pod/pod2man.PL -@@ -36,9 +36,9 @@ $Config{startperl} - print OUT <<'!NO!SUBS!'; - - # pod2man -- Convert POD data to formatted *roff input. --# $Id: pod2man.PL,v 1.16 2006-01-21 01:53:55 eagle Exp $ - # --# Copyright 1999, 2000, 2001, 2004, 2006 by Russ Allbery -+# Copyright 1999, 2000, 2001, 2004, 2006, 2008 -+# Russ Allbery - # - # This program is free software; you may redistribute it and/or modify it - # under the same terms as Perl itself. -@@ -66,7 +66,7 @@ Getopt::Long::config ('bundling_override'); - GetOptions (\%options, 'section|s=s', 'release|r:s', 'center|c=s', - 'date|d=s', 'fixed=s', 'fixedbold=s', 'fixeditalic=s', - 'fixedbolditalic=s', 'name|n=s', 'official|o', 'quotes|q=s', -- 'lax|l', 'help|h', 'verbose|v') or exit 1; -+ 'lax|l', 'help|h', 'verbose|v', 'utf8|u') or exit 1; - pod2usage (0) if $options{help}; - - # Official sets --center, but don't override things explicitly set. -@@ -104,7 +104,7 @@ pod2man [B<--section>=I] [B<--release>[=I]] - [B<--center>=I] [B<--date>=I] [B<--fixed>=I] - [B<--fixedbold>=I] [B<--fixeditalic>=I] - [B<--fixedbolditalic>=I] [B<--name>=I] [B<--official>] --[B<--lax>] [B<--quotes>=I] [B<--verbose>] -+[B<--lax>] [B<--quotes>=I] [B<--utf8>] [B<--verbose>] - [I [I] ...] - - pod2man B<--help> -@@ -243,6 +243,22 @@ that are reliably consistent are 1, 2, and 3. - By default, section 1 will be used unless the file ends in .pm in which case - section 3 will be selected. - -+=item B<-u>, B<--utf8> -+ -+By default, B produces the most conservative possible *roff -+output to try to ensure that it will work with as many different *roff -+implementations as possible. Many *roff implementations cannot handle -+non-ASCII characters, so this means all non-ASCII characters are converted -+either to a *roff escape sequence that tries to create a properly accented -+character (at least for troff output) or to C. -+ -+This option says to instead output literal UTF-8 characters. If your -+*roff implementation can handle it, this is the best output format to use -+and avoids corruption of documents containing non-ASCII characters. -+However, be warned that *roff source with literal UTF-8 characters is not -+supported by many implementations and may even result in segfaults and -+other bad behavior. -+ - =item B<-v>, B<--verbose> - - Print out the name of each output file as it is being generated. -@@ -537,7 +553,8 @@ page, are taken from the B documentation by Tom. - - =head1 COPYRIGHT AND LICENSE - --Copyright 1999, 2000, 2001, 2004, 2006 by Russ Allbery . -+Copyright 1999, 2000, 2001, 2004, 2006, 2008 Russ Allbery -+. - - This program is free software; you may redistribute it and/or modify it - under the same terms as Perl itself. ---- a/lib/Pod/t/man.t -+++ b/lib/Pod/t/man.t -@@ -344,7 +344,7 @@ Oboy, is this C++ "fun" yet! (guesswork) - ### - .SH "NAME" - "Stuff" (no guesswork) --.Sh "\s-1THINGS\s0" -+.SS "\s-1THINGS\s0" - .IX Subsection "THINGS" - Oboy, is this \*(C+ \*(L"fun\*(R" yet! (guesswork) - ### ---- a/lib/Pod/t/basic.man -+++ b/lib/Pod/t/basic.man -@@ -7,7 +7,7 @@ other interesting bits. - .ie n .SH "This ""is"" a ""level 1"" heading" - .el .SH "This \f(CWis\fP a ``level 1'' heading" - .IX Header "This is a level 1 heading" --.Sh "``Level'' ""2 \fIheading\fP" -+.SS "``Level'' ""2 \fIheading\fP" - .IX Subsection "``Level'' ""2 heading" - \fILevel 3 \f(BIheading \f(BIwith \f(CB\*(C`weird \f(CBstuff "" (double quote)\f(CB\*(C'\f(BI\f(BI\fI\fR - .IX Subsection "Level 3 heading with weird stuff """" (double quote)" -@@ -20,7 +20,7 @@ Now try again with \fBintermixed\fR \fItext\fR. - .el .SH "This \f(CWis\fP a ``level 1'' heading" - .IX Header "This is a level 1 heading" - Text. --.Sh "``Level'' 2 \fIheading\fP" -+.SS "``Level'' 2 \fIheading\fP" - .IX Subsection "``Level'' 2 heading" - Text. - .PP diff --git a/perl.spec b/perl.spec index 94d50ba..9063c55 100644 --- a/perl.spec +++ b/perl.spec @@ -7,7 +7,7 @@ Name: perl Version: %{perl_version} -Release: 61%{?dist} +Release: 62%{?dist} Epoch: %{perl_epoch} Summary: Practical Extraction and Report Language Group: Development/Languages @@ -143,39 +143,36 @@ Patch48: 17_fix_getopt_long_callback # Upstream change 33821 Patch49: 18_fix_bigint_floats -# Upgrade to Pod::Man 2.18 for utf8 functionality in pod2man -Patch50: 26_fix_pod2man_upgrade - # Fix memory corruption with in-place sorting. # Upstream change 33937 -Patch51: 28_fix_inplace_sort +Patch50: 28_fix_inplace_sort # Revert an incorrect substitution optimization introduced in 5.10.0. # Bug introduced by upstream change 26334, reverted with change 33685 in blead and 33732 in maint-5.10. -Patch52: 30_fix_freetmps +Patch51: 30_fix_freetmps # Fix 'Unknown error' messages with attribute.pm. # Upstream change 33265 -Patch53: 31_fix_attributes_unknown_error +Patch52: 31_fix_attributes_unknown_error # Stop t/op/fork.t relying on rand(). # Upstream change 33749 -Patch54: 32_fix_fork_rand +Patch53: 32_fix_fork_rand # Fix memory leak with qr//. # Adapted from upstream changhe 34506. -Patch55: 34_fix_qr-memory-leak-2 +Patch54: 34_fix_qr-memory-leak-2 # CVE-2005-0448 revisited: File::Path::rmtree no longer allows creating of setuid files. # We have 2.07, but it is still missing one fix (the debian patch has two fixes, but one is in 2.07) -Patch56: perl-5.10.0-fix_file_path_rmtree_setuid.patch +Patch55: perl-5.10.0-fix_file_path_rmtree_setuid.patch # Fix $? when dumping core. -Patch57: 37_fix_coredump_indicator +Patch56: 37_fix_coredump_indicator # Fix a memory leak with Scalar::Util::weaken(). # Upstream change 34209 -Patch58: 38_fix_weaken_memleak +Patch57: 38_fix_weaken_memleak ### End of Debian Patches ### @@ -970,7 +967,6 @@ upstream tarball from perl.org. %patch55 -p1 %patch56 -p1 %patch57 -p1 -%patch58 -p1 %patch100 -p1 %patch101 -p1 @@ -1223,14 +1219,13 @@ perl -x patchlevel.h \ '33370 Fix the PerlIO_teardown prototype to suppress a compiler warning.' \ 'Fedora Patch48: Remove numeric overloading of Getopt::Long callback functions.' \ '33821 Fix Math::BigFloat::sqrt() breaking with too many digits.' \ - 'Fedora Patch50: Upgrade to Pod::Man 2.18 for utf8 functionality in pod2man' \ '33937 Fix memory corruption with in-place sorting' \ '33732 Revert an incorrect substitution optimization introduced in 5.10.0' \ '33265 Fix Unknown error messages with attribute.pm.' \ '33749 Stop t/op/fork.t relying on rand()' \ '34506 Fix memory leak with qr//' \ - 'Fedora Patch56: File::Path::rmtree no longer allows creating of setuid files.' \ - 'Fedora Patch57: Fix $? when dumping core' \ + 'Fedora Patch55: File::Path::rmtree no longer allows creating of setuid files.' \ + 'Fedora Patch56: Fix $? when dumping core' \ '34209 Fix a memory leak with Scalar::Util::weaken()' \ 'Fedora Patch100: Update constant to %{constant_version}' \ 'Fedora Patch101: Update Archive::Extract to %{Archive_Extract_version}' \ @@ -1871,6 +1866,9 @@ TMPDIR="$PWD/tmp" make test # Old changelog entries are preserved in CVS. %changelog +* Wed Mar 11 2009 Tom "spot" Callaway - 4:5.10.0-62 +- drop 26_fix_pod2man_upgrade (don't need it) + * Wed Mar 11 2009 Tom "spot" Callaway - 4:5.10.0-61 - apply Change 34507: Fix memory leak in single-char character class optimization - Reorder @INC, based on b9ba2fadb18b54e35e5de54f945111a56cbcb249