SPECS: perl.spec - modules version provides is now automatic - ins...

glen glen at pld-linux.org
Sun Feb 24 17:43:09 CET 2008


Author: glen                         Date: Sun Feb 24 16:43:09 2008 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- modules version provides is now automatic
- install shortcuts

---- Files affected:
SPECS:
   perl.spec (1.385 -> 1.386) 

---- Diffs:

================================================================
Index: SPECS/perl.spec
diff -u SPECS/perl.spec:1.385 SPECS/perl.spec:1.386
--- SPECS/perl.spec:1.385	Sun Feb 24 17:35:44 2008
+++ SPECS/perl.spec	Sun Feb 24 17:43:04 2008
@@ -36,6 +36,9 @@
 %define		perl_vendorlib	%{_datadir}/perl5/vendor_perl
 %define		perl_vendorarch	%{_libdir}/perl5/vendor_perl/%{abi}/%{_target_platform}%{perlthread}
 
+# extract module version from source
+%define		perl_modversion()	%(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})
+
 %define		rel	2.2
 Summary:	Practical Extraction and Report Language (Perl)
 Summary(cs.UTF-8):	Programovací jazyk Perl
@@ -69,6 +72,7 @@
 Source1:	http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
 # Source1-md5:	de47d7893f49ad7f41ba69c78511c0db
 Source2:	%{name}.prov
+Source3:	%{name}-modules
 Patch0:		%{name}_581-noroot_install.patch
 Patch1:		%{name}_581-INC.patch
 Patch2:		%{name}_580-errno_h-parsing.patch
@@ -291,14 +295,14 @@
 Requires:	%{name}-libs = %{epoch}:%{version}-%{release}
 Requires:	perl-dirs(%{_target_cpu})
 Provides:	perl(largefiles)
-Provides:	perl-File-Compare = 1.1005
-Provides:	perl-File-Spec = 3.2501
-Provides:	perl-File-Temp = 0.18
-Provides:	perl-IO = 1.23_01
-Provides:	perl-PerlIO-via-QuotedPrint = 0.06
-Provides:	perl-Safe = 2.12
-Provides:	perl-Socket = 1.78
-Provides:	perl-Tie-File = 0.97
+Provides:	%perl_modversion File::Compare
+Provides:	%perl_modversion File::Spec
+Provides:	%perl_modversion File::Temp
+Provides:	%perl_modversion IO
+Provides:	%perl_modversion PerlIO::via::QuotedPrint
+Provides:	%perl_modversion Safe
+Provides:	%perl_modversion Socket
+Provides:	%perl_modversion Tie::File
 Conflicts:	perl < 1:5.8.0
 
 %description base
@@ -336,12 +340,12 @@
 Requires:	%{name}-base = %{epoch}:%{version}-%{release}
 Requires:	%{name}-modules = %{epoch}:%{version}-%{release}
 Requires:	%{name}-tools-pod = %{epoch}:%{version}-%{release}
-Provides:	perl-CPAN = 1.9205
-Provides:	perl-Devel-DProf = 20050603.00
-Provides:	perl-Devel-PPPort = 3.13
-Provides:	perl-Devel-Peek = 1.03
-Provides:	perl-ExtUtils-Embed = 1.27
-Provides:	perl-ExtUtils-MakeMaker = 6.42
+Provides:	%perl_modversion CPAN
+Provides:	%perl_modversion Devel::DProf
+Provides:	%perl_modversion Devel::PPPort
+Provides:	%perl_modversion Devel::Peek
+Provides:	%perl_modversion ExtUtils::Embed
+Provides:	%perl_modversion ExtUtils::MakeMaker
 Obsoletes:	perl-lib-devel
 
 %description devel
@@ -384,43 +388,43 @@
 Summary(pl.UTF-8):	Moduły z podstawowej dystrybucji Perla
 Group:		Libraries
 Requires:	%{name}-base = %{epoch}:%{version}-%{release}
-Provides:	perl-Attribute-Handlers = 0.79
-Provides:	perl-CGI = 3.29
-Provides:	perl-Class-ISA = 0.33
-Provides:	perl-Digest = 1.15
-Provides:	perl-Digest-MD5 = 2.36_01
-Provides:	perl-Filter-Simple = 0.82
-Provides:	perl-FindBin = 1.49
-#Provides:	perl-Hash-Utils = 0.05	Data::Util is missing
-Provides:	perl-I18N-LangTags = 0.35
-Provides:	perl-IPC-SysV = 1.05
-Provides:	perl-Locale-Codes = 2.07
-Provides:	perl-Locale-Maketext = 1.12
-Provides:	perl-MIME-Base64 = 3.07_01
-Provides:	perl-Math-BigInt = 1.88
-Provides:	perl-Math-BigRat = 0.21
-Provides:	perl-Math-Trig = 1.04
-Provides:	perl-Memoize = 1.01_02
-Provides:	perl-NEXT = 0.60_01
-Provides:	perl-Pod-LaTeX = 0.58
-Provides:	perl-Pod-Parser = 1.35
-Provides:	perl-Scalar-List-Utils = 1.19
-Provides:	perl-Storable = 2.18
-Provides:	perl-Term-ANSIColor = 1.12
-Provides:	perl-Term-Cap = 1.12
-Provides:	perl-Test = 1.25
-Provides:	perl-Test-Harness = 2.64
-Provides:	perl-Test-Simple = 0.72
-Provides:	perl-Text-Balanced = 1.95
-Provides:	perl-Text-ParseWords = 3.26
-Provides:	perl-Text-Soundex = 3.03
+Provides:	%perl_modversion Attribute::Handlers
+Provides:	%perl_modversion CGI
+Provides:	%perl_modversion Class::ISA
+Provides:	%perl_modversion Digest
+Provides:	%perl_modversion Digest::MD5
+Provides:	%perl_modversion Filter::Simple
+Provides:	%perl_modversion FindBin
+#Provides:	%%perl_modversion Hash::Utils Data::Util is missing
+Provides:	%perl_modversion I18N::LangTags
+Provides:	%perl_modversion IPC::SysV
+#Provides:	%%perl_modversion Locale::Codes
+Provides:	%perl_modversion Locale::Maketext
+Provides:	%perl_modversion MIME::Base64
+Provides:	%perl_modversion Math::BigInt
+Provides:	%perl_modversion Math::BigRat
+Provides:	%perl_modversion Math::Trig
+Provides:	%perl_modversion Memoize
+Provides:	%perl_modversion NEXT
+Provides:	%perl_modversion Pod::LaTeX
+Provides:	%perl_modversion Pod::Parser
+#Provides:	%%perl_modversion Scalar::List::Utils
+Provides:	%perl_modversion Storable
+Provides:	%perl_modversion Term::ANSIColor
+Provides:	%perl_modversion Term::Cap
+Provides:	%perl_modversion Test
+Provides:	%perl_modversion Test::Harness
+Provides:	%perl_modversion Test::Simple
+Provides:	%perl_modversion Text::Balanced
+Provides:	%perl_modversion Text::ParseWords
+Provides:	%perl_modversion Text::Soundex
 # XXX: I'm not sure what to do with this one...
-#Provides:	perl-Text-Tabs+Wrap = 2005.0824(01)
-Provides:	perl-Time-HiRes = 1.9711
-Provides:	perl-UNIVERSAL = 1.04
-Provides:	perl-Unicode-Collate = 0.52
-Provides:	perl-Unicode-Normalize = 1.02
-Provides:	perl-libnet = 1.22
+#Provides:	%%perl_modversion Text::Tabs+Wrap 2005.0824(01)
+Provides:	%perl_modversion Time::HiRes
+Provides:	%perl_modversion UNIVERSAL
+Provides:	%perl_modversion Unicode::Collate
+Provides:	%perl_modversion Unicode::Normalize
+Provides:	%perl_modversion libnet
 Obsoletes:	perl-Encode-compat
 Obsoletes:	perl-lib
 
@@ -641,6 +645,7 @@
 %patch8 -p1
 
 %build
+
 unset LD_SYMBOLIC_FUNCTIONS || :
 sh Configure \
 	-des \
@@ -721,12 +726,18 @@
 #%{?with_tests:%{__make} minitest}
 
 %install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
+if [ ! -f makeinstall.stamp -o ! -d $RPM_BUILD_ROOT ]; then
+	rm -rf makeinstall.stamp installed.stamp $RPM_BUILD_ROOT
+
+	%{__make} install \
+		DESTDIR=$RPM_BUILD_ROOT
+	touch makeinstall.stamp
+fi
+
+if [ ! -f installed.stamp ]; then
 
-%{__make} install \
-	DESTDIR=$RPM_BUILD_ROOT
 %{?with_microperl:install microperl $RPM_BUILD_ROOT%{_bindir}}
+install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
 
 ## use symlinks instead of hardlinks
 %{__ln_s} -f perl%{version}	$RPM_BUILD_ROOT%{_bindir}/perl
@@ -831,6 +842,37 @@
 
 rm -rf $RPM_BUILD_ROOT%{_mandir}/README.perl-non-english-man-pages
 
+	touch installed.stamp
+fi
+
+# update and check perl-modules file
+echo '# Module versions from Perl %{version} distribution.' > perl-modules
+for m in $(awk '!/^#/ && !/^$/{print $1}' %{SOURCE3}); do
+	case $m in
+	Devel::DProf)
+#		+ perl -ilib -MDevel::DProf -e print 'Devel-DProf = ',$Devel::DProf::VERSION
+#		DProf: run perl with -d to use DProf.
+#		Compilation failed in require.
+#		BEGIN failed--compilation aborted.
+		v=$(%{__perl} -e 'do "Devel/DProf.pm"; print $Devel::DProf::VERSION')
+		;;
+	libnet)
+		v=$(awk '/^libnet /{print $2; exit}' lib/Net/Changes)
+		;;
+	*)
+		v=$(%{__perl} -M$m -e "print \$$m::VERSION" )
+		;;
+	esac
+	echo "$m = $v" >> perl-modules
+done
+
+egrep -v '^([ 	]*$|[;#])' %{SOURCE3} > .mods1
+egrep -v '^([ 	]*$|[;#])' perl-modules > .mods2
+if ! cmp -s .mods1 .mods2; then
+	: %{SOURCE3} outdated with $(pwd)/perl-modules
+	exit 1
+fi
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -1450,6 +1492,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.386  2008-02-24 16:43:04  glen
+- modules version provides is now automatic
+- install shortcuts
+
 Revision 1.385  2008-02-24 16:35:44  glen
 - leave comment with --as-needed strip
 - pass arguments properly in runperl
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/perl.spec?r1=1.385&r2=1.386&f=u



More information about the pld-cvs-commit mailing list