Bug 664826

Summary: Review Request: lucene3 - High-performance, full-featured text search engine
Product: [Fedora] Fedora Reporter: Hicham HAOUARI <hicham.haouari>
Component: Package ReviewAssignee: Stanislav Ochotnicky <sochotni>
Status: CLOSED DEFERRED QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, sochotni
Target Milestone: ---Flags: sochotni: fedora-review?
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-14 10:53:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Hicham HAOUARI 2010-12-21 19:12:26 UTC
Spec URL: http://hicham.fedorapeople.org/lucene3/lucene3.spec
SRPM URL: http://hicham.fedorapeople.org/lucene3/lucene3-3.0.3-1.fc14.src.rpm

Jakarta Lucene is a high-performance, full-featured text search engine
written entirely in Java. It is a technology suitable for nearly any
application that requires full-text search, especially cross-platform.

Comment 1 Stanislav Ochotnicky 2011-01-31 13:55:42 UTC
I'll do the review.

Comment 2 Stanislav Ochotnicky 2011-01-31 15:54:27 UTC
Package Review

- = N/A
x = Check
! = Problem
? = Not evaluated

[!]  Rpmlint output:
lucene3.noarch: W: obsolete-not-provided lucene-devel
lucene3-javadoc.noarch: W: dangerous-command-in-%post rm
lucene3-javadoc.noarch: W: dangerous-command-in-%postun rm

We no longer provide javadocs/jars with versions. Please remove those scriptlets.

lucene3-demo.noarch: W: spelling-error Summary(en_US) Lucene -> Lucerne, Luce ne, Luce-ne
lucene3-demo.noarch: W: spelling-error %description -l en_US Lucene -> Lucerne, Luce ne, Luce-ne
lucene3-demo.noarch: W: no-documentation
lucene3-contrib.noarch: W: spelling-error Summary(en_US) Lucene -> Lucerne, Luce ne, Luce-ne
lucene3-contrib.noarch: W: spelling-error %description -l en_US Lucene -> Lucerne, Luce ne, Luce-ne
lucene3-contrib.noarch: W: no-documentation
lucene3-contrib.noarch: W: class-path-in-manifest /usr/share/java/lucene3-contrib/lucene3-lucli-3.0.3.jar
This can be fixed same way lucene-2.x manifest is fixed

4 packages and 0 specfiles checked; 0 errors, 10 warnings.

[x]  Package is named according to the Package Naming Guidelines[1].
[x]  Spec file name must match the base package name, in the format %{name}.spec.
[x]  Package meets the Packaging Guidelines[2].
[x]  Package successfully compiles and builds into binary rpms.
[!]  Buildroot definition is not present
Please get rid of it

[x]  Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines[3,4].
[x]  License field in the package spec file matches the actual license.
License type: ASL 2.0
[!]  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 is included in %doc.
Main package should also include NOTICE.txt

[!]  All independent sub-packages have license of their own
Javadoc subpackage doesn't include LICENSE.txt and NOTICE.txt
[x]  Spec file is legible and written in American English.
[x]  Sources used to build the package matches the upstream source, as provided in the spec URL.
MD5SUM this package    : c8655fe90d2303ff69e3b570662db8bb
[x]  All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines[5].
[x]  Package must own all directories that it creates.
[x]  Package requires other packages for directories it uses.
[x]  Package does not contain duplicates in %files.
[!]  Permissions on files are set properly.
Please use default (-,root,root,-) unless you have good reason not to

[!]  Package does NOT have a %clean section which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). (not needed anymore)
No clean section, no "rm -rf" at the beginning of %install

[x]  Package consistently uses macros (no %{buildroot} and $RPM_BUILD_ROOT mixing)
[x]  Package contains code, or permissable content.
[x]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[x]  Package does not own files or directories owned by other packages.
[x]  Javadoc documentation files are generated and included in -javadoc subpackage
[!]  Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlinks)
Current packaging guidelines require versionless jars/javadocs
[!]  Packages have proper BuildRequires/Requires on jpackage-utils
You are missing Requires
[!]  Javadoc subpackages have Require: jpackage-utils
Javadoc subpackage doesn't have jpackage-utils in Requires
[-]  Package uses %global not %define
[-]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[x]  If source tarball includes bundled jar/class files these need to be removed prior to building
[x]  All filenames in rpm packages must be valid UTF-8.
[!]  Jar files are installed to %{_javadir}/%{name}.jar (see [6] for details)
No versions in jar filenames
[-]  If package contains pom.xml files install it (including depmaps) even when building with ant
[-]  pom files has correct add_to_maven_depmap call which resolves to the pom file (use "JPP." and "JPP-" correctly)

=== Other suggestions ===
[x]  If possible use upstream build method (maven/ant/javac)
[x]  Avoid having BuildRequires on exact NVR unless necessary
[x]  Package has BuildArch: noarch (if possible)
[x]  Latest version is packaged.
[x]  Reviewer should test that the package builds in mock.
Tested on: rawhide-i386

=== Issues ===
1. Besides things already mentioned, your %prep includes few seds that should be commented.
2. Tests are not executed (copied comment from lucene 2.x?)
3. There are more contrib modules that you don't install. Any reason?
4. Requires is completely empty

[1] https://fedoraproject.org/wiki/Packaging:NamingGuidelines
[2] https://fedoraproject.org/wiki/Packaging:Guidelines
[3] https://fedoraproject.org/wiki/Packaging:LicensingGuidelines
[4] https://fedoraproject.org/wiki/Licensing:Main
[5] https://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
[6] https://fedoraproject.org/wiki/Packaging:Java#Filenames

Comment 3 Hicham HAOUARI 2011-01-31 18:45:56 UTC
Thanks Stanislav for doing the review. Indeed, the spec is a copy/paste of lucene2 spec, I will try to fix the issues you mentioned ASAP.

Comment 4 Stanislav Ochotnicky 2011-02-01 08:05:38 UTC
Oh, while you're at it...I forgot to mention that description should be fixed too (just copy-paste from lucene web would be OK, they don't mention Jakarta anymore)

Comment 5 Stanislav Ochotnicky 2011-02-23 17:57:18 UTC
Still working on this? Just making sure this is not becoming stale review :-)

Comment 6 Hicham HAOUARI 2011-02-23 23:08:29 UTC
Yes, I am still working on it, will try to get at it ASAP

Comment 7 Hicham HAOUARI 2011-05-14 10:53:00 UTC
Sorry, I am giving up since I don't have much time/bandwidth.