From 7fc765d70db6f120ff5bcd7012933df8aff74f70 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 16 Jun 2013 07:51:39 +0200 Subject: [PATCH] - sort perl-modules asciibetically - added perl-modules2 to handle non-straight named modules (like Scalar-List-Utils) - rel 10 --- perl-modules | 18 +++++++++--------- perl-modules2 | 2 ++ perl.spec | 32 ++++++++++++++++++++++++-------- 3 files changed, 35 insertions(+), 17 deletions(-) create mode 100644 perl-modules2 diff --git a/perl-modules b/perl-modules index adb8814..85cb97e 100644 --- a/perl-modules +++ b/perl-modules @@ -1,16 +1,14 @@ # Module versions from Perl 5.18.0 distribution. Archive::Tar = 1.90 Attribute::Handlers = 0.94 -autodie = 2.13 -bignum = 0.33 CGI = 3.63 -Compress::Raw::Bzip2 = 2.060 -Compress::Raw::Zlib = 2.060 CPAN = 2.00 CPAN::Meta = 2.120921 CPAN::Meta::YAML = 0.008 -Devel::Peek = 1.11 +Compress::Raw::Bzip2 = 2.060 +Compress::Raw::Zlib = 2.060 Devel::PPPort = 3.20 +Devel::Peek = 1.11 Digest = 1.17 Digest::MD5 = 2.52 Digest::SHA = 5.84 @@ -33,15 +31,14 @@ I18N::LangTags = 0.39 IO = 1.28 IPC::SysV = 2.03 JSON::PP = 2.27202 -libnet = 1.22 Locale::Codes = 3.25 Locale::Maketext = 1.23 Locale::Maketext::Simple = 0.21 +MIME::Base64 = 3.13 Math::BigInt = 1.9991 Math::BigRat = 0.2604 Math::Trig = 1.23 Memoize = 1.03 -MIME::Base64 = 3.13 Module::Build = 0.4003 Module::CoreList = 2.90 Module::Load = 0.24 @@ -50,8 +47,8 @@ Module::Metadata = 1.000011 Module::Pluggable = 4.7 NEXT = 0.65 Parse::CPAN::Meta = 1.4404 -PerlIO::via::QuotedPrint = 0.07 Perl::OSType = 1.003 +PerlIO::via::QuotedPrint = 0.07 Pod::Escapes = 1.04 Pod::LaTeX = 0.61 Pod::Parser = 1.60 @@ -72,7 +69,10 @@ Text::Tabs = 2012.0818 Tie::File = 0.99 Time::HiRes = 1.9725 Time::Piece = 1.20_01 +UNIVERSAL = 1.11 Unicode::Collate = 0.97 Unicode::Normalize = 1.16 -UNIVERSAL = 1.11 +autodie = 2.13 +bignum = 0.33 +libnet = 1.22 version = 0.9902 diff --git a/perl-modules2 b/perl-modules2 new file mode 100644 index 0000000..b05c719 --- /dev/null +++ b/perl-modules2 @@ -0,0 +1,2 @@ +# Non-straight named module versions from Perl 5.18.0 distribution. +Scalar-List-Utils List::Util = 1.27 diff --git a/perl.spec b/perl.spec index 4ff8695..caee0bf 100644 --- a/perl.spec +++ b/perl.spec @@ -42,9 +42,11 @@ # extract module version from source %define perl_modver() %([ -f %{SOURCE3} ] && awk -vp=%1 '$1 == p{print $3}' %{SOURCE3} || echo ERROR) %define perl_modversion() %([ -f %{SOURCE3} ] && awk -vp=%1 '$1 == p{m=$1; gsub(/::/, "-", m); printf("perl-%s = %s\\n", m, $3)}END{if (!m) printf("# Error looking up [%s]\\n", p)}' %{SOURCE3} || echo ERROR) +%define perl_mod2ver() %([ -f %{SOURCE4} ] && awk -vp=%1 '$1 == p{print $4}' %{SOURCE4} || echo ERROR) +%define perl_mod2version() %([ -f %{SOURCE4} ] && awk -vp=%1 '$1 == p{m=$2; printf("perl-%s = %s\\n", p, $4)}END{if (!m) printf("# Error looking up [%s]\\n", p)}' %{SOURCE4} || echo ERROR) %define ver 5.18.0 -%define rel 9 +%define rel 10 Summary: Practical Extraction and Report Language (Perl) Summary(cs.UTF-8): Programovací jazyk Perl Summary(da.UTF-8): Programmeringssproget Perl @@ -78,6 +80,7 @@ Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-ma # Source1-md5: de47d7893f49ad7f41ba69c78511c0db Source2: %{name}.prov Source3: %{name}-modules +Source4: %{name}-modules2 Patch2: %{name}_580-errno_h-parsing.patch Patch3: %{name}_581-soname.patch Patch4: %{name}-test-noproc.patch @@ -405,6 +408,8 @@ Summary: Modules from the core Perl distribution Summary(pl.UTF-8): Moduły z podstawowej dystrybucji Perla Group: Libraries Requires: %{name}-base = %{epoch}:%{ver}-%{release} +Suggests: perl-Encode >= 1:2.44 +Suggests: perl-Version-Requirements Provides: %perl_modversion Archive::Tar Provides: %perl_modversion Attribute::Handlers Provides: %perl_modversion CGI @@ -457,6 +462,7 @@ Provides: %perl_modversion UNIVERSAL Provides: %perl_modversion bignum Provides: %perl_modversion libnet Provides: %perl_modversion version +Provides: %perl_mod2version Scalar-List-Utils Obsoletes: perl-Archive-Tar < %perl_modver Archive::Tar Obsoletes: perl-Attribute-Handlers < %perl_modver Attribute::Handlers Obsoletes: perl-CGI < %perl_modver CGI @@ -509,8 +515,7 @@ Obsoletes: perl-UNIVERSAL < %perl_modver UNIVERSAL Obsoletes: perl-bignum < %perl_modver bignum Obsoletes: perl-libnet < %perl_modver libnet Obsoletes: perl-version < %perl_modver version -Suggests: perl-Encode >= 1:2.44 -Suggests: perl-Version-Requirements +Obsoletes: perl-Scalar-List-Utils < %perl_mod2ver Scalar-List-Utils Obsoletes: perl-lib %description modules @@ -879,7 +884,7 @@ sed -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_ar %{__rm} $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages -# update and check perl-modules file +# update and check perl-modules files echo '# Module versions from Perl %{ver} distribution.' > perl-modules for m in $(awk '!/^#/ && !/^$/{print $1}' %{SOURCE3}); do case $m in @@ -890,17 +895,28 @@ for m in $(awk '!/^#/ && !/^$/{print $1}' %{SOURCE3}); do v=$(%{__perl} -M$m -e "print $m->VERSION" ) ;; esac - echo "$m = $v" >> perl-modules -done + echo "$m = $v" +done | LC_ALL=C sort >> perl-modules +echo '# Non-straight named module versions from Perl %{ver} distribution.' > perl-modules2 +for m in $(awk '!/^#/ && !/^$/{print $1"!"$2}' %{SOURCE4}); do + mn="${m##*!}" + mp="${m%%!*}" + v=$(%{__perl} -M$mn -e "print $mn->VERSION" ) + echo "$mp $mn = $v" +done | LC_ALL=C sort >> perl-modules2 # ExtUtils::CBuilder Compress::Raw::Bzip2 Compress::Raw::Zlib ignored due to VERSION from the loop above # is missing ending '0' -egrep -v '^([ ]*$|[;#])' %{SOURCE3} | egrep -v 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods1 -egrep -v '^([ ]*$|[;#])' perl-modules | egrep -v 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods2 +grep -Ev '^([ ]*$|[;#])' %{SOURCE3} | grep -Ev 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods1 +grep -Ev '^([ ]*$|[;#])' perl-modules | grep -Ev 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods2 if ! cmp -s .mods1 .mods2; then : %{SOURCE3} outdated with $(pwd)/perl-modules exit 1 fi +if ! cmp -s %{SOURCE4} perl-modules2; then + : %{SOURCE4} outdated with $(pwd)/perl-modules2 + exit 1 +fi # remove empty .bs files find $RPM_BUILD_ROOT -name \*.bs -size 0 -print0 | xargs -0 %{__rm} -- 2.44.0