forked from pool/perl-Test-HasVersion
OBS-URL: https://build.opensuse.org/request/show/82396 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Test-HasVersion?expand=0&rev=3
141 lines
4.4 KiB
RPMSpec
141 lines
4.4 KiB
RPMSpec
#
|
|
# spec file for package perl-Test-HasVersion
|
|
#
|
|
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
|
|
Name: perl-Test-HasVersion
|
|
Version: 0.012
|
|
Release: 1
|
|
License: GPL+ or Artistic
|
|
%define cpan_name Test-HasVersion
|
|
Summary: Check Perl modules have version numbers
|
|
Url: http://search.cpan.org/dist/Test-HasVersion/
|
|
Group: Development/Libraries/Perl
|
|
#Source: http://www.cpan.org/authors/id/F/FE/FERREIRA/Test-HasVersion-%{version}.tar.gz
|
|
Source: %{cpan_name}-%{version}.tar.bz2
|
|
BuildArch: noarch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: perl
|
|
BuildRequires: perl-macros
|
|
BuildRequires: perl(Test::More)
|
|
BuildRequires: perl(Test::Builder::Tester) >= 1.04
|
|
BuildRequires: perl(File::Spec)
|
|
#
|
|
BuildRequires: perl(File::Find)
|
|
Requires: perl(File::Find)
|
|
%{perl_requires}
|
|
|
|
%description
|
|
Do you wanna check that every one of your Perl modules in a distribution
|
|
has a version number? You wanna make sure you don't forget the brand new
|
|
modules you just added? Well, that's the module you have been looking for.
|
|
Use it!
|
|
|
|
Do you wanna check someone else's distribution to make sure the author have
|
|
not commited the sin of leaving Perl modules without a version that can be
|
|
used to tell if you have this or that feature? 'Test::HasVersion' is also
|
|
for you, nasty little fellow.
|
|
|
|
There's a script _test_version_ which is installed with this distribution.
|
|
You may invoke it from within the root directory of a distribution you just
|
|
unpacked, and it will check every _.pm_ file in the directory and under
|
|
_lib/_ (if any).
|
|
|
|
$ test_version
|
|
|
|
You may also provide directories and files as arguments.
|
|
|
|
$ test_version *.pm lib/ inc/
|
|
$ test_version .
|
|
|
|
(Be warned that many Perl modules in a _t/_ directory do not receive
|
|
versions because they are not used outside the distribution.)
|
|
|
|
Ok. That's not a very useful module by now. But it will be. Wait for the
|
|
upcoming releases.
|
|
|
|
FUNCTIONS
|
|
* PRIVATE *_pm_version*
|
|
|
|
$v = _pm_version($pm);
|
|
|
|
Parses a PM file and return what it thinks is $VERSION in this file.
|
|
(Actually implemented with 'use ExtUtils::MakeMaker;
|
|
MM->parse_version($file)'.) '$pm' is the filename (eg.,
|
|
_lib/Data/Dumper.pm_).
|
|
|
|
* *pm_version_ok*
|
|
|
|
pm_version_ok('Module.pm');
|
|
pm_version_ok('M.pm', 'Has valid version');
|
|
|
|
Checks to see if the given file has a valid version. Actually a valid
|
|
version number is defined and not equal to ''undef'' (the string)
|
|
which is return by '_pm_version' if a version cannot be determined.
|
|
|
|
* *all_pm_version_ok*
|
|
|
|
all_pm_version_ok();
|
|
all_pm_version_ok(@PM_FILES);
|
|
|
|
Checks every given file and _.pm_ files found under given directories
|
|
to see if they provide valid version numbers. If no argument is
|
|
given, it defaults to check every file _*.pm_ in the current
|
|
directory and recurses under the _lib/_ directory (if it exists).
|
|
|
|
If no test plan was setted, 'Test::HasVersion' will set one after
|
|
computing the number of files to be tested. Otherwise, the plan is
|
|
left untouched.
|
|
|
|
* PRIVATE *_list_pm_files*
|
|
|
|
@pm_files = _list_pm_files(@dirs);
|
|
|
|
Returns all PM files under the given directories.
|
|
|
|
* *all_pm_files*
|
|
|
|
@files = all_pm_files()
|
|
@files = all_pm_files(@files_and_dirs);
|
|
|
|
Implements finding the Perl modules according to the semantics of the
|
|
previous function 'all_pm_version_ok'.
|
|
|
|
%prep
|
|
%setup -q -n %{cpan_name}-%{version}
|
|
|
|
%build
|
|
%{__perl} Makefile.PL INSTALLDIRS=vendor
|
|
%{__make} %{?_smp_mflags}
|
|
|
|
%check
|
|
%{__make} test
|
|
|
|
%install
|
|
%perl_make_install
|
|
%perl_process_packlist
|
|
%perl_gen_filelist
|
|
|
|
%clean
|
|
%{__rm} -rf %{buildroot}
|
|
|
|
%files -f %{name}.files
|
|
%defattr(644,root,root,755)
|
|
%doc Changes README
|
|
|
|
%changelog
|