Spec URL: http://peter.fedorapeople.org/erlang-ebloom.spec SRPM URL: http://peter.fedorapeople.org/erlang-ebloom-1.0.2-1.fc12.src.rpm Description: A NIF wrapper around a basic bloom filter This is one of the requirements for Riak.
koji scratchbuild for Rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=2621314 rpmlint: sulaco ~/rpmbuild/SPECS: rpmlint ../RPMS/ppc/erlang-ebloom-* erlang-ebloom.ppc: E: explicit-lib-dependency erlang-stdlib erlang-ebloom.ppc: W: no-documentation 2 packages and 0 specfiles checked; 1 errors, 1 warnings. sulaco ~/rpmbuild/SPECS:
I take this one. If you like, I'd appreciate a review of the tiny xqc package (bug #655866) :) Some initial comments: - The binary package provides the erlang extension library ebloom_nifs.so. Is this library supposed to be accessible by other external applications too? If not, I suggest to filter it from the provides list as described in http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering - you can simplify the %files section by replacing all file/dir lines with the single line %{_libdir}/erlang/lib/%{realname}-%{version}/ But that's optional and a matter of personal preference
(In reply to comment #2) > I take this one. If you like, I'd appreciate a review of the tiny xqc package > (bug #655866) :) > > Some initial comments: > > - The binary package provides the erlang extension library ebloom_nifs.so. > Is this library supposed to be accessible by other external applications too? > If not, I suggest to filter it from the provides list as described in > http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering Yes, indeed - this should be filtered out. http://peter.fedorapeople.org/erlang-ebloom.spec http://peter.fedorapeople.org/erlang-ebloom-1.0.2-2.fc12.src.rpm I added only filtering of internal dynamic library - no other changes. > - you can simplify the %files section by replacing all file/dir lines with the > single line > %{_libdir}/erlang/lib/%{realname}-%{version}/ > But that's optional and a matter of personal preference Actually, I personally prefer to list them in this way :). I plan to write a checking tool which would analyze %files sections for my internal needs, so I would need full enumeration of packaged files and directories.
(In reply to comment #3) > Actually, I personally prefer to list them in this way :). That's OK. The package looks fine to me now. Just two minor notes (no blockers though): - You can drop Requires: erlang-stdlib as it's a dependency of erlang-erts. This would also remove the rpmlint error below. - it would be nice if upstream could add the texts of the involved licenses (CPL, ASL 2.0) $ rpmlint /var/lib/mock/fedora-14-i386/result/*.rpm erlang-ebloom.i686: E: explicit-lib-dependency erlang-stdlib erlang-ebloom.i686: W: no-documentation erlang-ebloom.src: W: invalid-url Source0: basho-ebloom-ebloom-1.0.2-0-g0d070d8.tar.gz 3 packages and 0 specfiles checked; 1 errors, 2 warnings. - the error "explicit-lib-dependency" is false positive but can be avoided by dropping Requires: erlang-stdlib - the missing doc warning is expected and no blocker --------------------------------- 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. - C sources of filter algorithm: CPL - NIF wrapper code: ASL 2.0 [+] 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. - no license files present [+] 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 basho-ebloom-ebloom-1.0.2-0-g0d070d8.tar.gz* cf6f766679ce10ad9d42e78090979f27 basho-ebloom-ebloom-1.0.2-0-g0d070d8.tar.gz cf6f766679ce10ad9d42e78090979f27 basho-ebloom-ebloom-1.0.2-0-g0d070d8.tar.gz.1 [+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. koji scratch build (f14): http://koji.fedoraproject.org/koji/taskinfo?taskID=2714702 [.] MUST: If the package does not successfully compile, build or work ... [+] MUST: All build dependencies must be listed in BuildRequires. [.] 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 ... [.] MUST: devel packages must require the base package [+] 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. [X] 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: 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. - seems to work properly [.] 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) 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 ----------------
Thanks! I'll contact upstream regarding adding explicit licensing information. As for erlang-stdlib - all these dependencies are automatically added, and I'll try to improve the scripts used for dependency resolution in the future. New Package SCM Request ======================= Package Name: erlang-ebloom Short Description: A NIF wrapper around a basic bloom filter Owners: peter Branches: f14 el6 InitialCC:
Git done (by process-git-requests).
erlang-ebloom-1.0.2-2.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/erlang-ebloom-1.0.2-2.fc14
erlang-ebloom-1.0.2-2.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.