Bug 513253

Summary: Review Request: perl-Sys-Virt-TCK - libvirt Technology Compatability Kit
Product: [Fedora] Fedora Reporter: Daniel Berrangé <berrange>
Component: Package ReviewAssignee: Scott Seago <sseago>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, markmc, notting, sseago
Target Milestone: ---Flags: sseago: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-23 17:04:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Daniel Berrangé 2009-07-22 17:42:53 UTC
Spec URL: http://berrange.fedorapeople.org/review/perl-Sys-Virt-TCK/perl-Sys-Virt-TCK.spec
SRPM URL: http://berrange.fedorapeople.org/review/perl-Sys-Virt-TCK/perl-Sys-Virt-TCK-0.1.0-1.src.rpm
Description: Sys::Virt::TCK provides an integration test suite for validating
correct operation of libvirt drivers with underlying virtualization
technology.


This package is to satisfy this feature https://fedoraproject.org/wiki/Features/VirtTCK

Comment 1 Scott Seago 2009-07-22 19:27:33 UTC
Only a couple minor issues: changelog and license in the spec -- see below

MUST: rpmlint must be run on every package.

$ rpmlint perl-Sys-Virt-TCK-0.1.0-1.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

$ rpmlint perl-Sys-Virt-TCK.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint perl-Sys-Virt-TCK-0.1.0-1.noarch.rpm 
perl-Sys-Virt-TCK.noarch: W: incoherent-version-in-changelog 0.0.1-1 ['0.1.0-1', '0.1.0-1']
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Looks like either the changelog entry is a typo (0.0.1 vs 0.1.0) or the 0.1.0 entry is missing.

FAIL

Fix the version number in the changelog entry or add a new one.

MUST: The package must be named according to the Package Naming Guidelines.

PASS

MUST: The spec file name must match the base package %{name}

PASS

MUST: The package must meet the Packaging Guidelines.

PASS

MUST: The package must be licensed with a Fedora approved license and meet the
Licensing Guidelines.

PASS

MUST: The License field in the package spec file must match the actual license.

FAIL.

This package is dual-licened GPLv2 and artistic license, so the spec should show both.

MUST: 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 must
      be included in %doc.

PASS

MUST: The spec file must be written in American English.

PASS

MUST: The spec file for the package MUST be legible.

PASS

MUST: The sources used to build the package must match the upstream source

PASS

MUST: The package must successfully compile and build into binary rpms on at
least one supported architecture.

PASS on x86_64 f12 rawhide

MUST: If the package does not successfully compile, build or work on an
architecture, 
      then those architectures should be listed in the spec in ExcludeArch.

PASS, noarch so can build anywhere

MUST: All build dependencies must be listed in BuildRequires

PASS

MUST: The spec file MUST handle locales properly

N/A

MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any
      of the dynamic linker's default paths, must call ldconfig in %post and
%postun.

N/A

MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review

N/A

MUST: A package must own all directories that it creates.

PASS

MUST: A package must not contain any duplicate files in the %files listing.

PASS

MUST: Permissions on files must be set properly.

PASS

MUST: Each package must have a %clean section

PASS

MUST: Each package must consistently use macros

PASS

MUST: The package must contain code, or permissable content

PASS

MUST: Large documentation files should go in a -doc subpackage

N/A

MUST: If a package includes something as %doc, it must not affect the runtime
of the application

PASS

MUST: Header files must be in a -devel package.

N/A

MUST: Static libraries must be in a -static package.

N/A

MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'

N/A

MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1),
then library files that end in .so (without suffix) must go in a -devel
package.

N/A

MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency

N/A

MUST: Packages must NOT contain any .la libtool archives

N/A

MUST: Packages containing GUI applications must include a %{name}.desktop file

N/A

MUST: Packages must not own files or directories already owned by other
packages

PASS

MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}

PASS

MUST: All filenames in rpm packages must be valid UTF-8.

PASS

SHOULD: If the source package does not include license text(s) as a separate
file from upstream, the packager SHOULD query upstream to include it.

PASS

SHOULD: The description and summary sections in the package spec file should
contain translations for supported Non-English languages, if available.

N/A

SHOULD: The reviewer should test that the package builds in mock.

PASS

SHOULD: The package should compile and build into binary rpms on all supported
architectures.

NOT checked

SHOULD: The reviewer should test that the package functions as described.

NOT checked

SHOULD: If scriptlets are used, those scriptlets must be sane.

PASS

SHOULD: Usually, subpackages other than devel should require the base package
using a fully versioned dependency.

PASS

SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and
this is usually for development purposes, so should be placed in a -devel pkg.

N/A

SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin consider requiring the package which provides the file
instead of the file itself.

N/A

Comment 2 Daniel Berrangé 2009-07-22 19:48:23 UTC
New src.rpm uploaded with fixed License & changelog fields

http://berrange.fedorapeople.org/review/perl-Sys-Virt-TCK/perl-Sys-Virt-TCK-0.1.0-2.src.rpm

SPEC is at the same location as before.

Comment 3 Mark McLoughlin 2009-07-23 12:56:44 UTC
Suggest adding %{?dist}

From bug #199688 I see %{extra_release} is for autobuilder - worth a comment, it's not obvious

%{perlvendorarch} is unused

Any particular reason for the %{perlversion} requirement? Doesn't seem normal for perl packaging, is it? What perl version is actually required?

Do you need this:

  https://fedoraproject.org/wiki/Packaging/Perl#Versioned_MODULE_COMPAT__Requires

Just tried to build, used yum-builddep to install the build deps and got:

  Checking prerequisites...
   - ERROR: Test::Pod::Coverage is not installed
   - ERROR: Test::Pod is not installed
   - ERROR: XML::XPath is not installed

although it built okay, anything to worry about?

Apart from that looks good to me:

$ rpmlint perl-Sys-Virt-TCK-0.1.0-2.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
$ rpmlint perl-Sys-Virt-TCK.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

and scott's FAIL items are sorted

Comment 4 Daniel Berrangé 2009-07-23 13:12:58 UTC
New src.rpm uploaded with fixed BRs, disttag/extrarelease, etc

http://berrange.fedorapeople.org/review/perl-Sys-Virt-TCK/perl-Sys-Virt-TCK-0.1.0-3.src.rpm

SPEC is at the same location as before.

Comment 5 Mark McLoughlin 2009-07-23 13:40:47 UTC
Thanks, looks good to me

Comment 6 Daniel Berrangé 2009-07-23 16:23:51 UTC
New Package CVS Request
=======================
Package Name: perl-Sys-Virt-TCK
Short Description: libvirt Technology Compatability Kit
Owners: berrange
Branches: F-11
InitialCC: fedora-virt-maint

Comment 7 Jason Tibbitts 2009-07-23 16:45:12 UTC
Unfortunately there is no fedora account named "fedora-virt-maint", so I cannot add them to the initialCC field.

Otherwise, CVS done.

Comment 8 Daniel Berrangé 2009-07-23 17:04:27 UTC
Built into rawhide. Will fix the CC in pkgdb later.

Comment 9 Mark McLoughlin 2009-07-24 09:18:56 UTC
The account is virtmaint - we'd add it ourselves in pkgdb, but because it's a system account, we can't

Package Change Request
======================
Package Name: perl-Sys-Virt-TCK
InitialCC: virtmaint

Comment 10 Jason Tibbitts 2009-07-24 19:20:42 UTC
No problem.  CVS done.