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.
Targetting EPEL5, EPEL6 and F16. Koji builds (success): https://koji.fedoraproject.org/koji/taskinfo?taskID=3582723 (5E) https://koji.fedoraproject.org/koji/taskinfo?taskID=3582727 (6E) https://koji.fedoraproject.org/koji/taskinfo?taskID=3582731 (f16)
(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.
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
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.
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
APPROVED
New Package SCM Request ======================= Package Name: litmus Short Description: WebDAV server compliance test suite Owners: rocha Branches: f16 el5 el6 InitialCC:
Git done (by process-git-requests).
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
litmus-0.13-3.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/litmus-0.13-3.fc16
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
litmus-0.13-3.el5 has been pushed to the Fedora EPEL 5 testing repository.
litmus-0.13-3.fc16 has been pushed to the Fedora 16 stable repository.
litmus-0.13-3.el5 has been pushed to the Fedora EPEL 5 stable repository.
litmus-0.13-3.el6 has been pushed to the Fedora EPEL 6 stable repository.