Hide Forgot
Spec URL: http://www.geofrogger.net/review/spatialindex.spec SRPM URL: http://www.geofrogger.net/review/spatialindex-1.6.1-1.fc15.src.rpm Description: Spatialindex provides a general framework for developing spatial indices. Currently it defines generic interfaces, provides simple main memory and disk based storage managers and a robust implementation of an R*-tree, an MVR-tree and a TPR-tree.
Initial informal review (my future sponsor may follow through) rpmlint *.rpm spatialindex.i686: W: spelling-error %description -l en_US indices -> induces, indies, indicts spatialindex.src: W: spelling-error %description -l en_US indices -> induces, indies, indicts spatialindex-devel.i686: W: no-documentation 4 packages and 0 specfiles checked; 0 errors, 3 warnings. Detailed informal review to follow shortly (hours). Damian
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. -TODO comments should be removed for the sake of clarity? -Is the handling of static libraries during %install ok? -The installed bin files are library files - ending with .so.*, would the addition of lib to the package name be recommended? [+] MUST: The package must be licensed with a Fedora approved license. - LGPLv2+ according to spec and source file headers [+] 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 * 63399913b42278cfcfd2c79d1b2ec4a3 spatialindex-src-1.6.1.tar.bz2 63399913b42278cfcfd2c79d1b2ec4a3 spatialindex-src-1.6.1.tar.bz2.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. [X] 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: Packages must not provide RPM dependency information when that information is not global in nature, or are otherwise handled. [.] MUST: When filtering automatically generated RPM dependency information, the filtering system implemented by Fedora must be used. [+] 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. Not sure which application will use the installed library files to test this. [+] 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 (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. [+] 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. (looks as if no plans to use EPEL - I'll detail anyway) EPEL <= 5 only: [+] MUST: The spec file must contain a valid BuildRoot field. [X] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}. [X] 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. [] SHOULD: Timestamps of files should be preserved. Use install -p ? [+] 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. [] SHOULD: The reviewer should test that the package functions as described. Not sure which application will use the installed library files to test this. [.] 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. Damian
I'm going to sponsor Damian, and will do the formal review of this package later. > [+] MUST: The package must meet the Packaging Guidelines. > -TODO comments should be removed for the sake of clarity? The comments can stay in the file as they help keeping track of things to be considered in future updates. > -Is the handling of static libraries during %install ok? Yes, Fedora usually ships shared libs only, and static libs should be removed explicitly. > -The installed bin files are library files - ending with .so.*, would the > addition of lib to the package name be recommended? Not necessarily. It's up to the packager to add the "lib" prefix. Usually, the package should match the upstream name of the project/tarball. > [+] MUST: The package must be licensed with a Fedora approved license. > - LGPLv2+ according to spec and source file headers OK. The copyright information given in the upstream sources are the crucial resources to identify the license here. The (downstream) spec file must match this license. > [X] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied. The %optflags are honored properly as you can see in file build.log created by mock. The CFLAGS/CXXFLAGS variables are set by the %configure macro (see output of rpm --eval %configure, for example). > [] MUST: Files in %doc must not affect the runtime of the application. > Not sure which application will use the installed library files to test > this. The %doc files are not used (i.e. read) by the library, so no problem here either. > [+] MUST: devel packages must require the base package using a fully versioned > dependency. The guidelines have been updated in February. The "fully versioned dependency" looks like this now: Requires: %{name}%{?_isa} = %{version}-%{release} http://fedoraproject.org/wiki/PackagingGuidelines#Requiring_Base_Package > (looks as if no plans to use EPEL - I'll detail anyway) > > EPEL <= 5 only: > [+] MUST: The spec file must contain a valid BuildRoot field. There's no BuildRoot field in the spec. ;) ================= Some additional notes on the spec: - I recommend to remove the rpath with the sed statements given in the guidelines instead of using chrpath: http://fedoraproject.org/wiki/Packaging:Guidelines#Removing_Rpath It works without mentioning the complete library filename and makes life easier with future updates. - I'd also avoid adding the soversion in %files. A single %{_libdir}/lib%{name}*.so.* should be sufficient. - The copyright information in the source files contain an old FSF address. If upstream is still alive, please ask them to update it according to the current LGPL license text: http://www.gnu.org/licenses/lgpl-2.1.html
Thank you for reviewing. The package will go to EPEL 6 and Fedora only. >[] SHOULD: Timestamps of files should be preserved. > Use install -p ? That -p refers to the install command, not a spec file section or a build target. Spec URL: http://www.geofrogger.net/review/spatialindex.spec SRPM URL: http://www.geofrogger.net/review/spatialindex-1.6.1-2.fc15.src.rpm http://koji.fedoraproject.org/koji/taskinfo?taskID=3251440
The package looks good now. I just recommend to add INSTALL='install -p' to "make install" in order to preserve the timestamps of the header files. That's not a blocker, though. $ rpmlint /var/lib/mock/fedora-15-i386/result/*.rpm spatialindex.i686: W: spelling-error %description -l en_US indices -> induces, indies, indicts spatialindex.src: W: spelling-error %description -l en_US indices -> induces, indies, indicts spatialindex-devel.i686: W: spelling-error %description -l en_US sed -> tied, ed, seed spatialindex-devel.i686: W: no-documentation 4 packages and 0 specfiles checked; 0 errors, 4 warnings. The spelling errors are false positive and can be ignored. --------------------------------- 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. - LGPLv2+ according to source file headers [+] 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. - file COPYING packaged [+] 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 spatialindex-src-1.6.1.tar.bz2* 63399913b42278cfcfd2c79d1b2ec4a3 spatialindex-src-1.6.1.tar.bz2 63399913b42278cfcfd2c79d1b2ec4a3 spatialindex-src-1.6.1.tar.bz2.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. [+] 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: [X] MUST: The spec file must contain a valid BuildRoot field. [X] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}. [X] 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. - think about adding INSTALL='install -p' to "make install" in order to preserve the timestamps of the header files [+] SHOULD: The reviewer should test that the package builds in mock. [+] SHOULD: The reviewer should test that the package functions as described. - bundled regression test binaries seem to work as expected [+] 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. ---------------- Package APPROVED ----------------
Ah, I wasn't aware it didn't use -p, thanks!
New Package SCM Request ======================= Package Name: spatialindex Short Description: Spatial index library Owners: volter Branches: f14 f15 f16 el6 InitialCC:
Git done (by process-git-requests).
spatialindex-1.6.1-3.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/spatialindex-1.6.1-3.fc14
spatialindex-1.6.1-3.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/spatialindex-1.6.1-3.fc15
spatialindex-1.6.1-3.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/spatialindex-1.6.1-3.fc16
spatialindex-1.6.1-3.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/spatialindex-1.6.1-3.el6
spatialindex-1.6.1-3.fc14 has been pushed to the Fedora 14 testing repository.
spatialindex-1.6.1-3.fc14 has been pushed to the Fedora 14 stable repository.
spatialindex-1.6.1-3.fc15 has been pushed to the Fedora 15 stable repository.
spatialindex-1.6.1-3.fc16 has been pushed to the Fedora 16 stable repository.
spatialindex-1.6.1-3.el6 has been pushed to the Fedora EPEL 6 stable repository.
New Package SCM Request ======================= Package Name: spatialindex Short Description: Spatial index library Owners: daveisfera Branches: epel7 InitialCC: volter