Spec URL: http://hguemar.fedorapeople.org/packages/xqilla.spec SRPM URL: http://hguemar.fedorapeople.org/packages/xqilla-2.2.4-1.fc16.src.rpm Description: XQilla is an XQuery and XPath 2.0 implementation written in C++ and based on Xerces-C. It implements the DOM 3 XPath API, as well as having it's own more powerful API. It conforms to the W3C proposed recommendation of XQuery and XPath 2.0. scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3253414 rpmlint output: $ rpmlint -iv xqilla-2.2.4-1.fc16.src.rpm xqilla.src: I: checking xqilla.src: W: spelling-error Summary(en_US) XQuery -> X Query, Query, Equerry The value of this tag appears to be misspelled. Please double-check. xqilla.src: W: spelling-error %description -l en_US recomendation -> recommendation, commendation, recombination The value of this tag appears to be misspelled. Please double-check. xqilla.src: I: checking-url http://xqilla.sourceforge.net/HomePage (timeout 10 seconds) xqilla.src: I: checking-url http://downloads.sourceforge.net/xqilla/XQilla-2.2.4.tar.gz (timeout 10 seconds) 1 packages and 0 specfiles checked; 0 errors, 2 warnings. $ rpmlint -iv xqilla-2.2.4-1.fc16.noarch.rpm xqilla.x86_64: I: checking xqilla.x86_64: W: spelling-error Summary(en_US) XQuery -> X Query, Query, Equerry The value of this tag appears to be misspelled. Please double-check. xqilla.x86_64: W: spelling-error %description -l en_US recomendation -> recommendation, commendation, recombination The value of this tag appears to be misspelled. Please double-check. xqilla.x86_64: I: checking-url http://xqilla.sourceforge.net/HomePage (timeout 10 seconds) xqilla.x86_64: W: shared-lib-calls-exit /usr/lib64/libxqilla.so.5.0.4 exit.5 This library package calls exit() or _exit(), probably in a non-fork() context. Doing so from a library is strongly discouraged - when a library function calls exit(), it prevents the calling program from handling the error, reporting it to the user, closing files properly, and cleaning up any state that the program has. It is preferred for the library to return an actual error code and let the calling program decide how to handle the situation. 1 packages and 0 specfiles checked; 0 errors, 3 warnings. $ rpmlint -iv xqilla-devel-2.2.4-1.fc16.noarch.rpm xqilla-devel.x86_64: I: checking xqilla-devel.x86_64: W: spelling-error %description -l en_US recomendation -> recommendation, commendation, recombination The value of this tag appears to be misspelled. Please double-check. xqilla-devel.x86_64: I: checking-url http://xqilla.sourceforge.net/HomePage (timeout 10 seconds) xqilla-devel.x86_64: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. 1 packages and 0 specfiles checked; 0 errors, 2 warnings. $ rpmlint -iv xqilla-doc-2.2.4-1.fc16.noarch.rpm xqilla-doc.noarch: I: checking xqilla-doc.noarch: W: spelling-error %description -l en_US api -> pi, ape, apt The value of this tag appears to be misspelled. Please double-check. xqilla-doc.noarch: I: checking-url http://xqilla.sourceforge.net/HomePage (timeout 10 seconds) 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
I'll review this one later today. Please adapt the sources to not use the bundled xqc.h but the corresponding Fedora package. I'm still planning to package Zorba which also relies on xqc. In order to avoid multiple ownership of %{_includedir}/xqc.h, xqilla and Zorba should use the separate xqc package.
@Martin: nice catch, i ensure that the embedded xqc.h won't be used/installed and i added xqc as BR and R to xqilla-devel. spec and src.rpm above updated scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3253957
Here's the review. The package looks almost fine. There are just a couple of minor things to be addressed: - add a short comment above Patch0 that the patch has already been applied to the upstream repository http://xqilla.hg.sourceforge.net/hgweb/xqilla/xqilla/rev/fcb3a70b99a8 - update the fully versioned dependency to Requires: %{name}%{?_isa} = %{version}-%{release} (the guidelines have been changed a few months ago) - add INSTALL='install -p" to "make install" in order to preserve the timestamps of the header files - replace %{_mandir}/man1/%{name}.1.gz with %{_mandir}/man1/%{name}.1* as the spec shouldn't rely on a specific compression format applied to manpages. - since the -doc package doesn't require the base package, add file LICENSE to it. http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Subpackage_Licensing - please tell upstream about the shared-lib-calls-exit issue and ask whether they could replace the call of exit() with something less radical, e.g. exceptions $ rpmlint /var/lib/mock/fedora-15-x86_64/result/*.rpm xqilla.src: W: spelling-error Summary(en_US) XQuery -> X Query, Query, Equerry xqilla.x86_64: W: spelling-error Summary(en_US) XQuery -> X Query, Query, Equerry xqilla.x86_64: W: shared-lib-calls-exit /usr/lib64/libxqilla.so.5.0.4 exit.5 xqilla-devel.x86_64: W: no-documentation xqilla-doc.noarch: W: spelling-error %description -l en_US api -> pi, ape, apt 5 packages and 0 specfiles checked; 0 errors, 5 warnings. --------------------------------- key: [+] OK [.] OK, not applicable [X] needs work --------------------------------- [+] 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 meet the Packaging Guidelines. [+] MUST: The package must be licensed with a Fedora approved license. [+] MUST: The License field in the package spec file must match the actual license. [+] MUST: The 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. $ md5sum XQilla-2.2.4.tar.gz* a00672133d06772f54f18d0fda304c02 XQilla-2.2.4.tar.gz a00672133d06772f54f18d0fda304c02 XQilla-2.2.4.tar.gz.1 [+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. [.] MUST: If the package does not successfully compile, build or work on an architecture, ... [+] MUST: All build dependencies must be listed in BuildRequires. [+] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied. [.] MUST: The spec file MUST handle locales properly. [+] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun. [+] MUST: Packages must NOT bundle copies of system libraries. [.] MUST: If the package is designed to be relocatable, ... [+] MUST: A package must own all directories that it creates. [+] MUST: A Fedora package must not list a file more than once in %files. [+] MUST: Permissions on files must be set properly. [+] MUST: Each package must consistently use macros. [+] MUST: The package must contain code, or permissable content. [+] MUST: Large documentation files must go in a -doc subpackage. [+] MUST: Files in %doc must not affect the runtime of the application. [+] MUST: Header files must be in a -devel package. [.] MUST: Static libraries must be in a -static package. [+] MUST: If a package contains library files with a suffix, then .so (without suffix) must go in a -devel package. [X] MUST: devel packages must require the base package using a fully versioned dependency. [+] MUST: Packages must NOT contain any .la libtool archives. [.] MUST: Packages containing GUI applications must include a %{name}.desktop file. [+] MUST: Packages must not own files or directories already owned by other packages. [+] MUST: All filenames in rpm packages must be valid UTF-8. EPEL <= 5 only: [+] MUST: The spec file must contain a valid BuildRoot field. [+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}. [+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}. [.] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' [.] 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. [X] SHOULD: Timestamps of files should be preserved. [.] SHOULD: Patch files should be prefixed with %{name}- [X] SHOULD: All patches should be commented in the spec file [+] SHOULD: The reviewer should test that the package builds in mock. [+] SHOULD: The reviewer should test that the package functions as described. [+] SHOULD: If scriptlets are used, those scriptlets must be sane. [.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. [.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg. [+] 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. [+] SHOULD: Your package should contain man pages for binaries/scripts.
spec and src.rpm above were updated changes summary: * commented up the gcc46 patch line * use %{?_isa} for arch-dependent requires * use -p to install (the shell variable should be set at configure time or it won't be used) * add LICENSE file to -doc subpackage * for the exit issue, it's flex C generated code, so using C++ exceptions instead of aborting requires either editing generated code (ugly and error-prone) or rewriting the command-line parser.
Haïkel, it seems, you've modified an older version of the spec, as the xqc stuff from the previous revision is missing. Please always bump the Release number every time you provide a new revision, and add a corresponding %changelog entry. This helps to avoid this kind of oversights. ;) Also, the package currently doesn't build. You can fix it by removing export INSTALL="install -p" from %build. Add it to "make install" instead, like so: make install DESTDIR=%{buildroot} INSTALL="install -p" This overrides the definition of INSTALL in the Makefile. Everything else looks fine now.
Sorry for the mistake (spec ans src.rpm above updated), i usually don't bump changelog for unreleased packages as it clutters the changelog. scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3258093
OK, the package is ready for check-in now. ---------------- Package APPROVED ----------------
Package Change Request ====================== Package Name: xqilla New Branches: f15 f16 devel Owners: hguemar InitialCC:
Git done (by process-git-requests). f16 created, devel, f15, f14 unretired, please take ownership in pkgdb.
xqilla-2.2.4-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/xqilla-2.2.4-2.fc16
Package xqilla-2.2.4-2.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing xqilla-2.2.4-2.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/xqilla-2.2.4-2.fc16 then log in and leave karma (feedback).
xqilla-2.2.4-2.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.