Bug 876401

Summary: Review Request: perl-ExtUtils-ParseXS - Converts Perl XS code into C code
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: Package ReviewAssignee: Jitka Plesnikova <jplesnik>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: jplesnik, mario.blaettermann, notting, package-review
Target Milestone: ---Flags: jplesnik: fedora‑review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-06 09:53:29 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 876399    

Description Miro Hrončok 2012-11-13 21:47:31 EST
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-ExtUtils-ParseXS.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-ExtUtils-ParseXS-3.15-10.fc17.src.rpm

Description:

ExtUtils::ParseXS will compile XS code into C code by embedding the
constructs necessary to let C functions manipulate Perl values and creates
the glue necessary to let Perl access those functions. The compiler uses
typemaps to determine how to map C function parameters and variables to
Perl values.

Fedora Account System Username: churchyard
Comment 1 Miro Hrončok 2012-11-19 16:18:14 EST
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-ExtUtils-ParseXS.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-ExtUtils-ParseXS-3.15-12.fc17.src.rpm

- Removed useless Requires and BR
- Removed perl autofilter
Comment 3 Jitka Plesnikova 2012-12-05 02:28:33 EST
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[!]: Package does not contain duplicates in %files.
     Note: warning: File listed twice:
     /usr/share/perl5/vendor_perl/ExtUtils/xsubpp
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
[x]: Package complies to the Packaging Guidelines
[-]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: License field in the package spec file matches the actual license.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[-]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[ ]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[ ]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 30720 bytes in 3 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[!]: Package contains the mandatory BuildRequires and Requires:.
[x]: CPAN urls should be non-versioned.

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[-]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (ExtUtils-ParseXS-3.18.tar.gz)
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====
Generic:
[x]: Spec file according to URL is the same as in SRPM.
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.

$ rpmlint ./perl-ExtUtils-ParseXS*
perl-ExtUtils-ParseXS.noarch: W: spelling-error %description -l en_US
typemaps -> type maps, type-maps, typecast
perl-ExtUtils-ParseXS.src: W: spelling-error %description -l en_US typemaps
-> type maps, type-maps, typecast
2 packages and 1 specfiles checked; 0 errors, 2 warnings.
rpmlint is ok.

$ rpm -qp --provides perl-ExtUtils-ParseXS-3.18-1.fc19.noarch.rpm | sort | uniq -c
      1 perl(ExtUtils::ParseXS) = 3.18
      1 perl(ExtUtils::ParseXS::Constants) = 3.18
      1 perl(ExtUtils::ParseXS::CountLines) = 3.18
      1 perl(ExtUtils::ParseXS::Utilities) = 3.18
      1 perl(ExtUtils::Typemaps) = 3.18
      1 perl(ExtUtils::Typemaps::Cmd) = 3.18
      1 perl(ExtUtils::Typemaps::InputMap) = 3.18
      1 perl(ExtUtils::Typemaps::OutputMap) = 3.18
      1 perl(ExtUtils::Typemaps::Type) = 3.18
      1 perl-ExtUtils-ParseXS = 3.18-1.fc19
      1 xsubpp = 3.18
Provides are ok.

$ rpm -qp --requires perl-ExtUtils-ParseXS-3.18-1.fc19.noarch.rpm | sort | uniq -c
      1 /usr/bin/perl
      1 perl >= 0:5.006
      1 perl >= 0:5.006001
      1 perl(:MODULE_COMPAT_5.16.2)
      1 perl(Config)
      1 perl(Cwd)
      1 perl(Exporter)
      1 perl(ExtUtils::ParseXS)
      1 perl(ExtUtils::ParseXS::Constants)
      1 perl(ExtUtils::ParseXS::CountLines)
      1 perl(ExtUtils::ParseXS::Utilities)
      1 perl(ExtUtils::Typemaps)
      1 perl(ExtUtils::Typemaps::InputMap)
      1 perl(ExtUtils::Typemaps::OutputMap)
      1 perl(ExtUtils::Typemaps::Type)
      1 perl(File::Basename)
      1 perl(File::Spec)
      1 perl(Getopt::Long)
      1 perl(Symbol)
      1 perl(lib)
      1 perl(re)
      1 perl(strict)
      1 perl(warnings)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
Requires are ok.

MD5-sum check
-------------
http://www.cpan.org/authors/id/S/SM/SMUELLER/ExtUtils-ParseXS-3.18.tar.gz :
  CHECKSUM(SHA256) this package     : 811cc2281cfc28dc2b3b1f744bb3ce830bf856189fa4240e13f331bb8de96b4f
  CHECKSUM(SHA256) upstream package : 811cc2281cfc28dc2b3b1f744bb3ce830bf856189fa4240e13f331bb8de96b4f


Generated by fedora-review 0.3.1 (93e63af) last change: 2012-11-30
Buildroot used: fedora-rawhide-x86_64


ISSUES:
=======
* FIX: Missing BR for tests
perl(Carp)
perl(Cwd)
perl(Exporter)
perl(File::Spec)
perl(File::Temp)
perl(lib)

TODO: Update %files to prevent duplicity, e.g. replace
%{perl_vendorlib}/ExtUtils/*
with
%{perl_vendorlib}/ExtUtils/ParseXS*
%{perl_vendorlib}/ExtUtils/Typemaps*

TODO: Replace variable PERL_INSTALL_ROOT obsoleted with DESTDIR name in %install.
TODO: Remove the deleting empty directories in %install section. This is default behavior.

Please correct all 'FIX' issues, consider fixing 'TODO' items and provide new spec file.
Comment 4 Miro Hrončok 2012-12-06 08:49:24 EST
Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-ExtUtils-ParseXS.spec
SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-ExtUtils-ParseXS-3.18-2.fc17.src.rpm

- Added missing BR for tests
- Removed deleting empty dirs
- Replaced obsoleted PERL_INSTALL_ROOT with DESTDIR
- Updated %%files to prevent duplicity
Comment 5 Jitka Plesnikova 2012-12-06 09:09:49 EST
Spec file changes.

 BuildRequires:  perl(ExtUtils::CBuilder)
+BuildRequires:  perl(Carp)
+BuildRequires:  perl(Cwd)
+BuildRequires:  perl(Exporter)
+BuildRequires:  perl(File::Spec)
+BuildRequires:  perl(File::Temp)
+BuildRequires:  perl(lib)
> * FIX: Missing BR for tests
Ok

 %files
 %doc Changes META.json README
 #%%{perl_vendorlib}/auto/*
-%{perl_vendorlib}/ExtUtils*
+%{perl_vendorlib}/ExtUtils/ParseXS*
+%{perl_vendorlib}/ExtUtils/Typemaps*
> TODO: Update %files to prevent duplicity
Ok

 %install
-make pure_install PERL_INSTALL_ROOT=%{buildroot}
+make pure_install DESTDIR=%{buildroot}
> TODO: Replace variable PERL_INSTALL_ROOT obsoleted with DESTDIR name in 
> %install.
Ok

 find %{buildroot} -type f -name '*.bs' -size 0 -exec rm -f {} \;
-find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \;
> TODO: Remove the deleting empty directories in %install section. This is 
> default behavior.
Ok

Package APPROVED.
Comment 6 Miro Hrončok 2012-12-06 09:11:29 EST
New Package SCM Request
=======================
Package Name: perl-ExtUtils-ParseXS
Short Description: Converts Perl XS code into C code
Owners: churchyard
Branches: f17 f18
Comment 7 Jon Ciesla 2012-12-06 09:47:12 EST
Already exists in Fedora.
Comment 8 Miro Hrončok 2012-12-06 09:51:41 EST
Sorry for that :(
Comment 9 Miro Hrončok 2012-12-06 09:53:29 EST

*** This bug has been marked as a duplicate of bug 584722 ***
Comment 10 Petr Pisar 2012-12-06 10:59:48 EST
*** Bug 884686 has been marked as a duplicate of this bug. ***