Bug 652585 - Review Request: erlang-luke - Dataflow / MapReduce coordination framework
Summary: Review Request: erlang-luke - Dataflow / MapReduce coordination framework
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Narasimhan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 639263
Blocks: 652629 652665 841766
TreeView+ depends on / blocked
 
Reported: 2010-11-12 09:35 UTC by Peter Lemenkov
Modified: 2012-07-20 08:37 UTC (History)
3 users (show)

Fixed In Version: erlang-luke-0.2.3-1.fc14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-01-18 08:29:29 UTC
Type: ---
Embargoed:
lakshminaras2002: fedora-review+
petersen: fedora-cvs+


Attachments (Terms of Use)

Description Peter Lemenkov 2010-11-12 09:35:39 UTC
Spec URL: http://peter.fedorapeople.org/erlang-luke.spec
SRPM URL: http://peter.fedorapeople.org/erlang-luke-0.2.2-1.fc12.src.rpm
Description: Dataflow / MapReduce coordination framework

No build so far because of missing rebar. This is one of the requirements for Riak.

Comment 1 Peter Lemenkov 2010-11-24 14:53:26 UTC
koji scratchbuild for Rawhide:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2621263

rpmlint:

sulaco ~/rpmbuild/SPECS: rpmlint ../RPMS/ppc/erlang-luke-0.2.2-1.fc12.ppc.rpm 
erlang-luke.ppc: E: explicit-lib-dependency erlang-stdlib
erlang-luke.ppc: W: spelling-error Summary(en_US) Dataflow -> Data flow, Data-flow, Dayflower
erlang-luke.ppc: W: spelling-error %description -l en_US Dataflow -> Data flow, Data-flow, Dayflower
erlang-luke.ppc: E: no-binary
erlang-luke.ppc: W: only-non-binary-in-usr-lib
erlang-luke.ppc: W: no-documentation
1 packages and 0 specfiles checked; 2 errors, 4 warnings.
sulaco ~/rpmbuild/SPECS:

Comment 2 Peter Lemenkov 2011-01-10 18:00:17 UTC
Ver. 0.2.3:

http://peter.fedorapeople.org/erlang-luke.spec
http://peter.fedorapeople.org/erlang-luke-0.2.3-1.fc12.src.rpm

Koji scratchbuild for F-15
http://koji.fedoraproject.org/koji/taskinfo?taskID=2712425

rpmlint:

sulaco ~: rpmlint Desktop/erlang-luke-0.2.3-1.fc15.*
erlang-luke.src: W: spelling-error Summary(en_US) Dataflow -> Data flow, Data-flow, Dayflower
erlang-luke.src: W: spelling-error %description -l en_US Dataflow -> Data flow, Data-flow, Dayflower
erlang-luke.src: W: invalid-url Source0: basho-luke-luke-0.2.3-0-gce91e00.tar.gz
erlang-luke.x86_64: E: explicit-lib-dependency erlang-stdlib
erlang-luke.x86_64: W: spelling-error Summary(en_US) Dataflow -> Data flow, Data-flow, Dayflower
erlang-luke.x86_64: W: spelling-error %description -l en_US Dataflow -> Data flow, Data-flow, Dayflower
erlang-luke.x86_64: E: no-binary
erlang-luke.x86_64: W: only-non-binary-in-usr-lib
erlang-luke.x86_64: W: no-documentation
2 packages and 0 specfiles checked; 2 errors, 7 warnings.
sulaco ~:

Comment 3 Narasimhan 2011-01-15 07:00:38 UTC
[+]MUST: rpmlint must be run on every package. The output should be posted in the review.
 rpmlint -i erlang-luke.spec erlang-luke-0.2.3-1.fc14.*.rpm
erlang-luke.spec: W: invalid-url Source0: basho-luke-luke-0.2.3-0-gce91e00.tar.gz
The value should be a valid, public HTTP, HTTPS, or FTP URL.

erlang-luke.src: W: spelling-error Summary(en_US) Dataflow -> Data flow, Data-flow, Dayflower
The value of this tag appears to be misspelled. Please double-check.

erlang-luke.src: W: spelling-error %description -l en_US Dataflow -> Data flow, Data-flow, Dayflower
The value of this tag appears to be misspelled. Please double-check.

erlang-luke.src: W: invalid-url Source0: basho-luke-luke-0.2.3-0-gce91e00.tar.gz
The value should be a valid, public HTTP, HTTPS, or FTP URL.

erlang-luke.x86_64: E: explicit-lib-dependency erlang-stdlib
You must let rpm find the library dependencies by itself. Do not put unneeded
explicit Requires: tags. 

erlang-luke.x86_64: W: spelling-error Summary(en_US) Dataflow -> Data flow, Data-flow, Dayflower
The value of this tag appears to be misspelled. Please double-check.

erlang-luke.x86_64: W: spelling-error %description -l en_US Dataflow -> Data flow, Data-flow, Dayflower
The value of this tag appears to be misspelled. Please double-check.

erlang-luke.x86_64: E: no-binary - 
The package should be of the noarch architecture because it doesn't contain
any binaries.

erlang-luke.x86_64: W: only-non-binary-in-usr-lib 
There are only non binary files in /usr/lib so they should be in /usr/share.

erlang-luke.x86_64: W: no-documentation
The package contains no documentation (README, doc, etc). You have to include
documentation files.

2 packages and 1 specfiles checked; 2 errors, 8 warnings.

[+]MUST: The package must be named according to the Package Naming Guidelines.
[+]MUST: The spec file name must match the base package %{name}, in the format %{name}.spec
[+]MUST: The package must meet the Packaging Guidelines.
        Naming-Yes
        Version-release - Matches
        License - OK, Apache license 2.0
        No prebuilt external bits - OK, prebuilt binary is present in the source package to be used for building. However its not shipped with the rpm
        Spec legibity - OK.
        Package template - OK
        Arch support - OK, No specific exclusive arch or exclude arch
        Libexecdir - OK, not used
        rpmlint - yes
        changelogs - OK
        Source url tag  - Not present(commented out). https://nodeload.github.com/basho/luke/tarball/luke-0.2.3 looks to be usable with wget
        Buildroot is ignored - present anyway. http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo
        %clean is ignored - present anyway. OK
        Build Requires list - OK
        Summary and description - OK
        API documentation - No documentation.

[+]MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
Licensed with Apache License 2.0. Both source and test files have Apache license text.
[+]MUST: The License field in the package spec file must match the actual license.
[NA]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.
 No separate LICENSE file 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,as provided in the spec URL. Reviewers should use md5sum for this task.

md5sum basho-luke-luke-0.2.3-0-gce91e00.tar.gz 
6b0eeeb360109ee5ad58959b82327a94  basho-luke-luke-0.2.3-0-gce91e00.tar.gz

md5sum  erlang-luke-0.2.3-1.fc12.src/basho-luke-luke-0.2.3-0-gce91e00.tar.gz 
6b0eeeb360109ee5ad58959b82327a94  erlang-luke-0.2.3-1.fc12.src/basho-luke-luke-0.2.3-0-gce91e00.tar.gz

[+]MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
Built on x86_64
[+]MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in
ExcludeArch.
No exclusive/exclude arch provided.
[+]MUST: All build dependencies must be listed in BuildRequires.
Verified by koji build http://koji.fedoraproject.org/koji/taskinfo?taskID=2722532
[NA]MUST: The spec file MUST handle locales properly using the %find_lang macro
[NA]MUST: Packages stores shared library files must call ldconfig in %post and %postun.
[+]MUST: Packages must NOT bundle copies of system libraries.
Checked with rpqmquery --list
[NA]MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review.
[+]MUST: A package must own all directories that it creates.
Checked with rpmquery --whatprovides
[+]MUST: A Fedora package must not list a file more than once in the spec file's %files listings.
[+]MUST: Permissions on files must be set properly.
Checked with ls -lR
[+]MUST: Each package must consistently use macros.
[+]MUST: The package must contain code, or permissable content.
[NA]MUST: Large documentation files must go in a -doc subpackage.
[NA]MUST: If a package includes something as %doc, it must not affect the runtime of the application.
No doc
[+]MUST: Header files must be in a -devel package.
No header files
[NA]MUST: Static libraries must be in a -static package.
[NA]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.
[NA]MUST: devel packages must require the base package using a fully versioned dependency: Requires: {name} = %{version}-%{release}
No devel package
[NA]MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[NA]MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section
[+]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: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[+]MUST: All filenames in rpm packages must be valid UTF-8.

Should items
[-]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 functions as described.
Installed the package. Installs fine.
[+]SHOULD: If scriptlets are used, those scriptlets must be sane.

Comments
I did find this URL to be usable https://nodeload.github.com/basho/luke/tarball/luke-0.2.3 (worked with wget). I am not aware of any limitation in using this. Please let me know if there would be issues using this URL in the spec file.

The stdlib warning is based on textual match. False positive, in my opinion.

If the files inside ebin are object files(something like .o?), then  placing them lib directory would be appropriate 

No exclusive or exclude arch provided. So I am assuming that erlang is available on all architectures supported by Fedora.

Comment 4 Peter Lemenkov 2011-01-15 07:43:08 UTC
(In reply to comment #3)

> Comments
> I did find this URL to be usable
> https://nodeload.github.com/basho/luke/tarball/luke-0.2.3 (worked with wget). I
> am not aware of any limitation in using this. Please let me know if there would
> be issues using this URL in the spec file.

I'm afraid that this link may be changed in the future since GitHUb architecture is still the subject to change. So I would prefer to use link from the "Downloads" page instead of this one.

> The stdlib warning is based on textual match. False positive, in my opinion.

Yes, it is.

> If the files inside ebin are object files(something like .o?), then  placing
> them lib directory would be appropriate 

These files are actually arch-independent. However I can't mark package as noarch (and displace *.beam files to arch-independent location, say /usr/share/erlang) due to shortcoming of Erlang architecture - by default Erlang virtual machine searches for libraries at %{_libdir}/erlang/lib (which is arch-dependent), so every erlang-related package effectively becomes arch-dependent.

I will try to fix this issue in the future and properly install arch-independent erlang packages into arch-independent location, but I don't expect quick solution (perhaps in Fedora 17 or even in Fedora 18).

> No exclusive or exclude arch provided. So I am assuming that erlang is
> available on all architectures supported by Fedora.

Yes. It is available on powerpc/ppc64 as well as on x86 and x86_64/amd64, so all major arches are covered. Not sure about arm, mips, sparc or s390x though. I'll add ExcludeArch as soon as someone will report about build failures on these arches.

Comment 5 Narasimhan 2011-01-15 11:34:22 UTC
APPROVED.

Comment 6 Peter Lemenkov 2011-01-15 12:29:53 UTC
Thanks!

New Package SCM Request
=======================
Package Name: erlang-luke
Short Description: Dataflow / MapReduce coordination framework
Owners: peter
Branches: f14 el6
InitialCC:

Comment 7 Jens Petersen 2011-01-18 07:02:35 UTC
Git done (by process-git-requests).

Comment 8 Fedora Update System 2011-01-18 08:28:03 UTC
erlang-luke-0.2.3-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/erlang-luke-0.2.3-1.fc14

Comment 9 Fedora Update System 2011-01-26 20:57:48 UTC
erlang-luke-0.2.3-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.


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