Bug 767305 - Review Request: litmus - WebDAV server compliance test suite
Summary: Review Request: litmus - WebDAV server compliance test suite
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Steve Traylen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-12-13 18:45 UTC by Ricardo Rocha
Modified: 2011-12-29 22:00 UTC (History)
3 users (show)

Fixed In Version: litmus-0.13-3.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-27 22:57:51 UTC
Type: ---
Embargoed:
steve.traylen: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Ricardo Rocha 2011-12-13 18:45:18 UTC
Spec URL: http://rocha.web.cern.ch/rocha/fedora/litmus.spec
SRPM URL: http://rocha.web.cern.ch/rocha/fedora/litmus-0.13-1.src.rpm
Description: litmus is a WebDAV server test suite, which aims to test whether a server is compliant with the WebDAV protocol as specified in RFC2518.

Comment 2 Steve Traylen 2011-12-13 19:45:42 UTC
(1)
You do a complicated CFLAGS=... CPPFLAGS=... /configure ...
will a

%configure

macros not just do the same job and more than you
anticipate? Future proof.

(2)
You use modern and old %{optflags} and $RPM_BUILD_ROOT see:

http://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS

..my tip , stop using $RPM_BUILD_ROOT and use %{buildroot}

but (2) can be solved by (1) of course but use %{buildroot} :-)

(3)
The patch:
Patch0:		litmus-i18n.patch

Is there an upstream bug or a reason why it is being added. It needs
an explanation basically, please add a comment.
An upstream bug is the best but it needs a reason why it is not and
upstream bug(feature request) otherwise.

Other than that:
 rpmlint ./litmus-*

is completely clean.

The doc files look fine... 

A simple package, just needs the above points answered and done.

Steve.

Comment 3 Ricardo Rocha 2011-12-13 22:49:13 UTC
Thanks Steve.

New spec and src rpm:
http://rocha.web.cern.ch/rocha/fedora/litmus.spec
http://rocha.web.cern.ch/rocha/fedora/litmus-0.13-2.src.rpm

Applied all the requested changes.

The patch is already applied upstream as mentioned in the comment - it's not obvious from the commit log, but litmus relies on neon as a svn external on checkout. It will come with the next litmus release.

Ricardo

Comment 4 Steve Traylen 2011-12-14 13:16:59 UTC
So you presumably meant 

--with-neon=%{_prefix}
and not
--with-neon=${_prefix}

so I am reviewing after making that change.


 +:ok, =:needs attention, -:needs fixing

MUST Items:
[+] MUST: rpmlint must be run on every package.
$ rpmlint ./*.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
GPLv2
[+] MUST: The License field in the package spec file must match the actual license.
Clear licensing.
[+] 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.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.
$ md5sum litmus-0.13.tar.gz ../SOURCES/litmus-0.13.tar.gz 
7c081e182214e771bc615232ef475b00  litmus-0.13.tar.gz
7c081e182214e771bc615232ef475b00  ../SOURCES/litmus-0.13.tar.gz

[+] MUST: The package must successfully compile and build into binary rpms on at least one supported architecture.
[+] MUST: All build dependencies must be listed in BuildRequires
[+] MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.
[+] MUST: A package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line.
[+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[+] MUST: Each package must consistently use macros, as described in the macros section of Packaging Guidelines.
[+] MUST: The package must contain code, or permissible content. This is described in detail in the code vs. content section of Packaging Guidelines.
[+] MUST: Large documentation files should go in a doc subpackage.
[+] MUST: If a package includes something as %doc, it must not affect the runtime of the application.
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[+] MUST: All filenames in rpm packages must be valid UTF-8.

SHOULD Items:
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
See koji builds.
[+] SHOULD: The reviewer should test that the package functions as described.
litmus 
litmus: Usage: /usr/bin/litmus [OPTIONS] URL [USERNAME PASSWORD]

Options:
 -k, --keep-going        continue test
.... that's good enough

Comments 

1:
Your configure line currently expands to :

/configure --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-neon=

%{_prefix} and not ${_prefix}



2:
https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries#Packages_with_Bundled_Libraries

The lib directory contains a load of bundled sources including some glibc , expat and neon.
It looks like you are not using them but proove this by adding a 
rm -rf lib
to your %prep.

Actually I tried this and it fails since the Makefile in lib/neon is still needed. 
You need to be bit more creative by either 
a) 
rm -rf lib/*.c lib/*.h lib/expat lib/neon/*.c lib/neon/*.h

b)
rm -rf lib
and then patch the Makefile generation.

In principal (b) is better but (a) is perfectly fine and is what I would do.

Comment 5 Ricardo Rocha 2011-12-14 16:16:22 UTC
Hi.
 
> 1:
> %{_prefix} and not ${_prefix}

Ups sorry... fixed!

> 2:
> https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries#Packages_with_Bundled_Libraries
>
> a) 
> rm -rf lib/*.c lib/*.h lib/expat lib/neon/*.c lib/neon/*.h

Took a variation of a) with:
find ./lib -name '*.c' -o -name '*.h' | xargs rm -rf


New spec and src rpm:
http://rocha.web.cern.ch/rocha/fedora/litmus.spec
http://rocha.web.cern.ch/rocha/fedora/litmus-0.13-3.src.rpm

Koji builds (success):
https://koji.fedoraproject.org/koji/taskinfo?taskID=3584807 (5E)
https://koji.fedoraproject.org/koji/taskinfo?taskID=3584803 (6E)
https://koji.fedoraproject.org/koji/taskinfo?taskID=3584811 (f16)

Thanks!

Ricardo

Comment 6 Steve Traylen 2011-12-14 16:37:37 UTC
APPROVED

Comment 7 Ricardo Rocha 2011-12-14 16:53:24 UTC
New Package SCM Request
=======================
Package Name: litmus
Short Description: WebDAV server compliance test suite
Owners: rocha
Branches: f16 el5 el6
InitialCC:

Comment 8 Gwyn Ciesla 2011-12-14 17:01:39 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2011-12-14 18:34:48 UTC
litmus-0.13-3.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/litmus-0.13-3.el6

Comment 10 Fedora Update System 2011-12-14 18:34:56 UTC
litmus-0.13-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/litmus-0.13-3.fc16

Comment 11 Fedora Update System 2011-12-14 18:35:04 UTC
litmus-0.13-3.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/litmus-0.13-3.el5

Comment 12 Fedora Update System 2011-12-14 20:28:29 UTC
litmus-0.13-3.el5 has been pushed to the Fedora EPEL 5 testing repository.

Comment 13 Fedora Update System 2011-12-27 22:57:51 UTC
litmus-0.13-3.fc16 has been pushed to the Fedora 16 stable repository.

Comment 14 Fedora Update System 2011-12-29 21:59:47 UTC
litmus-0.13-3.el5 has been pushed to the Fedora EPEL 5 stable repository.

Comment 15 Fedora Update System 2011-12-29 22:00:52 UTC
litmus-0.13-3.el6 has been pushed to the Fedora EPEL 6 stable repository.


Note You need to log in before you can comment on or make changes to this bug.