diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..39beb38 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/Encode-2.51.tar.gz diff --git a/.perl-Encode.metadata b/.perl-Encode.metadata new file mode 100644 index 0000000..d4de945 --- /dev/null +++ b/.perl-Encode.metadata @@ -0,0 +1 @@ +314e6b3841ba11902bbcd3632b5390a37990f5ce SOURCES/Encode-2.51.tar.gz diff --git a/SOURCES/Encode-2.51-Stringify-all-decode_utf8-arguments.patch b/SOURCES/Encode-2.51-Stringify-all-decode_utf8-arguments.patch new file mode 100644 index 0000000..c0e7116 --- /dev/null +++ b/SOURCES/Encode-2.51-Stringify-all-decode_utf8-arguments.patch @@ -0,0 +1,64 @@ +From eae18e8bf5fc57ca4e6a07f086fd7205e9c87ed4 Mon Sep 17 00:00:00 2001 +From: Dan Kogai +Date: Sun, 22 Dec 2013 13:07:05 +0900 +Subject: [PATCH] Stringify all decode_utf8() arguments +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream commit: + +commit 14307cf7e433056128727f5d738ee317ef05b016 +Author: Dan Kogai +Date: Sun Dec 22 13:07:05 2013 +0900 + + VERSION 2.56 + +ported to 2.51. + +Signed-off-by: Petr Písař +--- + Encode.pm | 2 +- + t/Encode.t | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Encode.pm b/Encode.pm +index 5c30031..b0272ad 100644 +--- a/Encode.pm ++++ b/Encode.pm +@@ -211,7 +211,7 @@ sub decode_utf8($;$) { + my ( $octets, $check ) = @_; + return $octets if is_utf8($octets); + return undef unless defined $octets; +- $octets .= '' if ref $octets; ++ $octets .= ''; + $check ||= 0; + $utf8enc ||= find_encoding('utf8'); + my $string = $utf8enc->decode( $octets, $check ); +diff --git a/t/Encode.t b/t/Encode.t +index 918975e..d490255 100644 +--- a/t/Encode.t ++++ b/t/Encode.t +@@ -25,7 +25,7 @@ my @character_set = ('0'..'9', 'A'..'Z', 'a'..'z'); + my @source = qw(ascii iso8859-1 cp1250); + my @destiny = qw(cp1047 cp37 posix-bc); + my @ebcdic_sets = qw(cp1047 cp37 posix-bc); +-plan test => 38+$n*@encodings + 2*@source*@destiny*@character_set + 2*@ebcdic_sets*256 + 6 + 4; ++plan test => 38+$n*@encodings + 2*@source*@destiny*@character_set + 2*@ebcdic_sets*256 + 6 + 5; + my $str = join('',map(chr($_),0x20..0x7E)); + my $cpy = $str; + ok(length($str),from_to($cpy,'iso8859-1','Unicode'),"Length Wrong"); +@@ -150,6 +150,10 @@ package main; + ok(decode(latin1 => Encode::Dummy->new("foobar")), "foobar"); + ok(encode(utf8 => Encode::Dummy->new("foobar")), "foobar"); + ++# RT#91569 ++# decode_utf8 with non-string arguments ++ok(decode_utf8(*1), "*main::1"); ++ + # hash keys + my $key = (keys %{{ "whatever\x{100}" => '' }})[0]; + my $kopy = $key; +-- +1.8.3.1 + diff --git a/SPECS/perl-Encode.spec b/SPECS/perl-Encode.spec new file mode 100644 index 0000000..26fa06a --- /dev/null +++ b/SPECS/perl-Encode.spec @@ -0,0 +1,144 @@ +Name: perl-Encode +Version: 2.51 +Release: 7%{?dist} +Summary: Character encodings in Perl +License: GPL+ or Artistic +Group: Development/Libraries +URL: http://search.cpan.org/dist/Encode/ +Source0: http://www.cpan.org/authors/id/D/DA/DANKOGAI/Encode-%{version}.tar.gz +# Stringify all decode_utf8() arguments, bug #1048147, CPAN RT#91569, in 2.56 +Patch0: Encode-2.51-Stringify-all-decode_utf8-arguments.patch +BuildRequires: perl +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(File::Spec) +BuildRequires: perl(File::Spec::Functions) +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +# Run-time: +BuildRequires: perl(base) +BuildRequires: perl(bytes) +BuildRequires: perl(Carp) +BuildRequires: perl(constant) +BuildRequires: perl(Exporter) +# Filter::Util::Call is optional +BuildRequires: perl(Getopt::Long) +# I18N::Langinfo is optional +BuildRequires: perl(MIME::Base64) +BuildRequires: perl(overload) +# PerlIO::encoding is optional +BuildRequires: perl(re) +# Storable is optional +BuildRequires: perl(utf8) +BuildRequires: perl(vars) +BuildRequires: perl(XSLoader) +# Tests: +BuildRequires: perl(charnames) +BuildRequires: perl(Config) +BuildRequires: perl(File::Basename) +BuildRequires: perl(File::Compare) +BuildRequires: perl(File::Copy) +BuildRequires: perl(FileHandle) +BuildRequires: perl(FindBin) +BuildRequires: perl(IO::Select) +BuildRequires: perl(IPC::Open3) +BuildRequires: perl(lib) +BuildRequires: perl(Scalar::Util) +BuildRequires: perl(Test) +BuildRequires: perl(Test::More) +BuildRequires: perl(Tie::Scalar) +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) + +%{?perl_default_filter} +%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^perl\\(Encode::ConfigLocal|MY\\) + +%description +The Encode module provides the interface between Perl strings and the rest +of the system. Perl strings are sequences of characters. + +# To mirror files from perl-devel (bug #456534) +# Keep architecture specific because files go into vendorarch +%package devel +Summary: Perl Encode Module Generator +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: perl-devel +Requires: perl(Encode) + +%description devel +enc2xs builds a Perl extension for use by Encode from either Unicode Character +Mapping files (.ucm) or Tcl Encoding Files (.enc). You can use enc2xs to add +your own encoding to perl. No knowledge of XS is necessary. + + +%prep +%setup -q -n Encode-%{version} +%patch0 -p1 + +%build +# Additional scripts can be installed by appending MORE_SCRIPTS, UCM files by +# INSTALL_UCM. +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS" +make %{?_smp_mflags} + +%install +make pure_install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; +find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \; +%{_fixperms} $RPM_BUILD_ROOT/* + +%check +make test + +%files +%doc AUTHORS Changes README +%{_bindir}/piconv +%{perl_vendorarch}/auto/* +%{perl_vendorarch}/Encode* +%exclude %{perl_vendorarch}/Encode/*.e2x +%exclude %{perl_vendorarch}/Encode/encode.h +%{perl_vendorarch}/encoding.pm +%{_mandir}/man1/piconv.* +%{_mandir}/man3/* + +%files devel +%{_bindir}/enc2xs +%{_mandir}/man1/enc2xs.* +%{perl_vendorarch}/Encode/*.e2x +%{perl_vendorarch}/Encode/encode.h + +%changelog +* Fri Jan 24 2014 Daniel Mach - 2.51-7 +- Mass rebuild 2014-01-24 + +* Tue Jan 07 2014 Petr Pisar - 2.51-6 +- Rebuild against "file" package fixed by Jan Kaluza to correct run-time + dependencies (bug #1048910) + +* Fri Jan 03 2014 Petr Pisar - 2.51-5 +- Stringify all decode_utf8() arguments (bug #1048147) + +* Fri Dec 27 2013 Daniel Mach - 2.51-4 +- Mass rebuild 2013-12-27 + +* Fri Jul 26 2013 Petr Pisar - 2.51-3 +- Specify more dependencies + +* Fri May 17 2013 Petr Pisar - 2.51-2 +- Specify all dependencies + +* Thu May 02 2013 Petr Pisar - 2.51-1 +- 2.51 bump + +* Mon Apr 29 2013 Petr Pisar - 2.50-1 +- 2.50 bump (recoding does not launders taintedness) + +* Tue Mar 05 2013 Petr Pisar - 2.49-1 +- 2.49 bump + +* Mon Feb 18 2013 Petr Pisar - 2.48-1 +- 2.48 bump + +* Thu Sep 20 2012 Petr Pisar 2.47-1 +- Specfile autogenerated by cpanspec 1.78. +- Make devel sub-package architecture specific due to file location