[perl-Class-C3] Spec clean-up

Paul Howarth pghmcfc at fedoraproject.org
Wed Jan 18 15:16:06 UTC 2012


commit 0c7f1679088fabfc3bb5a6801291904e2069ea13
Author: Paul Howarth <paul at city-fan.org>
Date:   Wed Jan 18 12:41:56 2012 +0000

    Spec clean-up
    
    - Reinstate compatibility with older distributions like EL-5
    - Drop -tests subpackage (general lack of interest in this), but include
      them as documentation for the main package
    - BR: perl(MRO::Compat) for testing if we're not bootstrapping
    - Don't use macros for commands
    - Make %files list more explicit
    - Filter unwanted requires and provides
    - Use tabs

 .gitignore         |    3 +-
 perl-Class-C3.spec |  200 ++++++++++++++++++++++++++++++----------------------
 2 files changed, 116 insertions(+), 87 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ba0a179..61f64cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
-Class-C3-0.22.tar.gz
-/Class-C3-0.23.tar.gz
+/Class-C3-[0-9.]*.tar.gz
diff --git a/perl-Class-C3.spec b/perl-Class-C3.spec
index b2e71a2..123ce6d 100644
--- a/perl-Class-C3.spec
+++ b/perl-Class-C3.spec
@@ -1,39 +1,48 @@
-%global older_perl %(%{__perl} -e '$] < 5.009_005 ? print 1 : print 0')
-
-Name:           perl-Class-C3
-Version:        0.23
-Release:        3%{?dist}
-Summary:        Pragma to use the C3 method resolution order algorithm
-License:        GPL+ or Artistic
-Group:          Development/Libraries
-URL:            http://search.cpan.org/dist/Class-C3/
-Source0:        http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Class-C3-%{version}.tar.gz
-BuildArch:      noarch
-Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
-
-# not automatically detected
-Provides:       perl(c3) = %{version}
-
-BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.42
-BuildRequires:  perl(Test::More) >= 0.47
-BuildRequires:  perl(Test::Exception) >= 0.15
-# testing...
-BuildRequires:  perl(Test::Pod)
-BuildRequires:  perl(Test::Pod::Coverage)
-BuildRequires:  perl(Sub::Name)
-
-# past 5.9.5 mro is in core
-%if %{older_perl}
-BuildRequires:  perl(Algorithm::C3) >= 0.06
-BuildRequires:  perl(Class::C3::XS) >= 0.07
-BuildRequires:  perl(Scalar::Util) >= 1.10
-Requires:       perl(Algorithm::C3) >= 0.06
-Requires:       perl(Class::C3::XS) >= 0.07
-Requires:       perl(Scalar::Util) >= 1.10
-%endif 
-
-%{?perl_default_filter}
-%{?perl_default_subpackage_tests}
+# MRO is part of the Perl core since 5.9.5
+%global mro_in_core %(perl -e 'print $] > 5.009005 ? 1 : 0;')
+
+Name:		perl-Class-C3
+Version:	0.23
+Release:	4%{?dist}
+Summary:	Pragma to use the C3 method resolution order algorithm
+License:	GPL+ or Artistic
+Group:		Development/Libraries
+URL:		http://search.cpan.org/dist/Class-C3/
+Source0:	http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/Class-C3-%{version}.tar.gz
+BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu)
+BuildArch:	noarch
+# Build
+BuildRequires:	perl(ExtUtils::MakeMaker)
+# Test suite
+BuildRequires:	perl(Sub::Name)
+BuildRequires:	perl(Test::Exception) >= 0.15
+BuildRequires:	perl(Test::More) >= 0.47
+BuildRequires:	perl(Test::Pod)
+BuildRequires:	perl(Test::Pod::Coverage)
+# MRO::Compat itself requires Class::C3
+# The test that uses the module is skipped unless MRO is part of the Perl core
+%if 0%{!?perl_bootstrap:1} && %{mro_in_core}
+BuildRequires:	perl(MRO::Compat)
+%endif
+# Runtime
+Requires:	perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
+
+# Requirements for older distributions with Perl < 5.9.5
+%if ! %{mro_in_core}
+BuildRequires:	perl(Algorithm::C3) >= 0.06
+BuildRequires:	perl(Class::C3::XS) >= 0.07
+BuildRequires:	perl(Scalar::Util) >= 1.10
+Requires:	perl(Algorithm::C3) >= 0.06
+Requires:	perl(Class::C3::XS) >= 0.07
+Requires:	perl(Scalar::Util) >= 1.10
+%endif
+
+# Let people "use c3;"
+Provides:	perl(c3) = %{version}
+
+# Filter out bogus dependencies and provides (rpm 4.9 onwards)
+%global __requires_exclude ^perl\\((c3|base)\\)
+%global __provides_exclude ^perl\\(t::lib::
 
 %description
 This is a pragma to change Perl 5's standard method resolution order from
@@ -43,105 +52,126 @@ method resolution order.
 %prep
 %setup -q -n Class-C3-%{version}
 
+# Filter out bogus dependencies and provides (prior to rpm 4.9)
+%global reqfilt /bin/sh -c "%{__perl_requires} | grep -Evx 'perl[(](c3|base)[)]'"
+%define __perl_requires %{reqfilt}
+%global provfilt /bin/sh -c "%{__perl_provides} | grep -v '^perl(t::lib::'"
+%define __perl_provides %{provfilt}
+
 %build
 %{?perl_ext_env_unset}
-%{__perl} Makefile.PL INSTALLDIRS=vendor
+perl Makefile.PL INSTALLDIRS=vendor
 make %{?_smp_mflags}
 
 %install
+rm -rf %{buildroot}
 make pure_install DESTDIR=%{buildroot}
 find %{buildroot} -type f -name .packlist -exec rm -f {} \;
-find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \;
-cp opt/c3.pm %{buildroot}%{perl_vendorlib}/
-
-%{_fixperms} %{buildroot}/*
+find %{buildroot} -depth -type d -exec rmdir {} \; 2>/dev/null
+cp -p opt/c3.pm %{buildroot}%{perl_vendorlib}/
+%{_fixperms} %{buildroot}
 
 %check
 make test
 
+%clean
+rm -rf %{buildroot}
+
 %files
 %defattr(-,root,root,-)
-%doc ChangeLog README util/
-%{perl_vendorlib}/*
-%{_mandir}/man3/*
+%doc ChangeLog README util/ t/
+%{perl_vendorlib}/c3.pm
+%{perl_vendorlib}/Class/
+%{_mandir}/man3/Class::C3.3pm*
+%{_mandir}/man3/Class::C3::next.3pm*
 
 %changelog
+* Wed Jan 18 2012 Paul Howarth <paul at city-fan.org> - 0.23-4
+- Reinstate compatibility with older distributions like EL-5
+- Drop -tests subpackage (general lack of interest in this), but include
+  them as documentation for the main package
+- BR: perl(MRO::Compat) for testing if we're not bootstrapping
+- Don't use macros for commands
+- Make %%files list more explicit
+- Filter unwanted requires and provides
+- Use tabs
+
 * Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.23-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
 * Tue Jun 21 2011 Marcela Mašláňová <mmaslano at redhat.com> - 0.23-2
 - Perl mass rebuild
 
-* Sun Mar 13 2011 Iain Arnell <iarnell at gmail.com> 0.23-1
-- update to latest upstream version
-- clean up spec for modern rpmbuild
-- no more need to disable __perl_provides
+* Sun Mar 13 2011 Iain Arnell <iarnell at gmail.com> - 0.23-1
+- Update to latest upstream version
+- Clean up spec for modern rpmbuild
+- No more need to disable __perl_provides
 
 * Tue Feb 08 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.22-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 
 * Wed Dec 15 2010 Marcela Maslanova <mmaslano at redhat.com> - 0.22-5
-- 661697 rebuild for fixing problems with vendorach/lib
+- Rebuild to fix problems with vendorarch/lib (#661697)
 
-* Sat May 15 2010 Chris Weyl <cweyl at alumni.drew.edu> 0.22-4
-- bump
+* Sat May 15 2010 Chris Weyl <cweyl at alumni.drew.edu> - 0.22-4
+- Bump
 
-* Sat May 15 2010 Chris Weyl <cweyl at alumni.drew.edu> 0.22-3
-- install c3.pm as well; drop opt/ from doc
-- conditionalise
+* Sat May 15 2010 Chris Weyl <cweyl at alumni.drew.edu> - 0.22-3
+- Install c3.pm as well; drop opt/ from doc
+- Conditionalise
 
 * Fri Apr 30 2010 Marcela Maslanova <mmaslano at redhat.com> - 0.22-2
 - Mass rebuild with perl-5.12.0
 
-* Sat Feb 06 2010 Chris Weyl <cweyl at alumni.drew.edu> 0.22-1
+* Sat Feb 06 2010 Chris Weyl <cweyl at alumni.drew.edu> - 0.22-1
 - PERL_INSTALL_ROOT => DESTDIR
-- add perl_default_subpackage_tests, and drop t/ from doc
-- add perl_default_filter (and update filtering)
-- auto-update to 0.22 (by cpan-spec-update 0.01)
-- altered br on perl(ExtUtils::MakeMaker) (0 => 6.42)
-- added a new br on perl(Scalar::Util) (version 1.10)
-- altered br on perl(Test::More) (0 => 0.47)
-- added a new req on perl(Scalar::Util) (version 1.10)
+- Add perl_default_subpackage_tests, and drop t/ from doc
+- Add perl_default_filter (and update filtering)
+- Auto-update to 0.22 (by cpan-spec-update 0.01)
+- Altered br on perl(ExtUtils::MakeMaker) (0 => 6.42)
+- Added a new br on perl(Scalar::Util) (version 1.10)
+- Altered br on perl(Test::More) (0 => 0.47)
+- Added a new req on perl(Scalar::Util) (version 1.10)
 
 * Mon Dec  7 2009 Stepan Kasal <skasal at redhat.com> - 0.21-3
-- rebuild against perl 5.10.1
+- Rebuild against perl 5.10.1
 
 * Sat Jul 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.21-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 
-* Thu Apr 02 2009 Chris Weyl <cweyl at alumni.drew.edu> 0.21-1
-- update to 0.21
+* Thu Apr 02 2009 Chris Weyl <cweyl at alumni.drew.edu> - 0.21-1
+- Update to 0.21
 
 * Thu Feb 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.20-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
 
-* Sun Jan 25 2009 Chris Weyl <cweyl at alumni.drew.edu> 0.20-1
-- update to 0.20
+* Sun Jan 25 2009 Chris Weyl <cweyl at alumni.drew.edu> - 0.20-1
+- Update to 0.20
 
-* Tue Mar  4 2008 Tom "spot" Callaway <tcallawa at redhat.com> 0.19-2
-- rebuild for new perl
+* Tue Mar  4 2008 Tom "spot" Callaway <tcallawa at redhat.com> - 0.19-2
+- Rebuild for new perl
 
-* Wed Oct 10 2007 Chris Weyl <cweyl at alumni.drew.edu> 0.19-1
-- update to 0.19
+* Wed Oct 10 2007 Chris Weyl <cweyl at alumni.drew.edu> - 0.19-1
+- Update to 0.19
 
-* Fri Jun 01 2007 Chris Weyl <cweyl at alumni.drew.edu> 0.18-1
-- update to 0.18
+* Fri Jun 01 2007 Chris Weyl <cweyl at alumni.drew.edu> - 0.18-1
+- Update to 0.18
 
-* Wed May 09 2007 Chris Weyl <cweyl at alumni.drew.edu> 0.17-1
-- update to 0.17
+* Wed May 09 2007 Chris Weyl <cweyl at alumni.drew.edu> - 0.17-1
+- Update to 0.17
 - BR Class::C3::XS
 
-* Mon Sep 25 2006 Chris Weyl <cweyl at alumni.drew.edu> 0.14-1
-- update to 0.14
+* Mon Sep 25 2006 Chris Weyl <cweyl at alumni.drew.edu> - 0.14-1
+- Update to 0.14
 
-* Tue Sep 19 2006 Chris Weyl <cweyl at alumni.drew.edu> 0.13-4
-- fix autoprovides, see rh#205801
+* Tue Sep 19 2006 Chris Weyl <cweyl at alumni.drew.edu> - 0.13-4
+- Fix autoprovides (#205801)
 
-* Thu Sep 07 2006 Chris Weyl <cweyl at alumni.drew.edu> 0.13-3
-- bump
+* Thu Sep 07 2006 Chris Weyl <cweyl at alumni.drew.edu> - 0.13-3
+- Bump
 
-* Thu Sep 07 2006 Chris Weyl <cweyl at alumni.drew.edu> 0.13-2
-- additional br's, minor spec tweaks
+* Thu Sep 07 2006 Chris Weyl <cweyl at alumni.drew.edu> - 0.13-2
+- Additional br's, minor spec tweaks
 
-* Tue Sep 05 2006 Chris Weyl <cweyl at alumni.drew.edu> 0.13-1
-- Specfile autogenerated by cpanspec 1.69.1.
+* Tue Sep 05 2006 Chris Weyl <cweyl at alumni.drew.edu> - 0.13-1
+- Specfile autogenerated by cpanspec 1.69.1


More information about the scm-commits mailing list