Bug 837726 - Review Request: eclipse-jbosstools - A set of Eclipse plugins that supports JBoss and related technology
Review Request: eclipse-jbosstools - A set of Eclipse plugins that supports J...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Marek Goldmann
Fedora Extras Quality Assurance
:
Depends On: 833641 835338 836400 836403 836404 836849 836850
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-04 22:24 EDT by Gerard Ryan
Modified: 2012-08-13 21:00 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-08-13 21:00:57 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mgoldman: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Gerard Ryan 2012-07-04 22:24:30 EDT
Spec URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.0/eclipse-jbosstools.spec
SRPM URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.0/eclipse-jbosstools-3.3.0-0.1.Final.fc17.src.rpm
Description: A set of Eclipse plugins that supports JBoss and related technology
Fedora Account System Username: galileo


There are a number of things that I'm not fully sure about, comments/advice welcome:

1. The package name. I'm not sure if the 'eclipse-' prefix is for all eclipse plugin packages (such as this), or just plugin packages from eclipse.org.

2. Packaging with maven. There are so many pom.xml files, what's the procedure for deciding which ones get installed? I've a feeling that I've done it in a haphazard sort of way here.

3. The package layout. I don't know if the layout/structure of the rpms is optimal. The reasoning behind the current structure is that if someone does 'yum install eclipse-jbosstools', then they want all of them. There isn't an eclipse-jbosstools rpm though, it just requires all the other subpackages. I'm not sure if that makes sense.

4. The source archive. I've removed the components that aren't being built from the source .tar.xz file. It's big enough without them, but when they're included it's absolutely huge. It would take a long time to extract each time it's being built (it would also take me quite a while to upload). If this is wrong I'll change it of course.
Comment 1 Gerard Ryan 2012-07-28 15:33:00 EDT
Spec URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.1-0.1/eclipse-jbosstools.spec
SRPM URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.1-0.1/eclipse-jbosstools-3.3.1-0.1.fc17.src.rpm

The current tarball included in this is cut down to include only the modules that are being built. I've removed the rest to bring the size down from over 400MB to ~77MB, as the connection I'm on these few days is quite poor (it still takes me around an hour to upload the current SRPM!

I've done a scratch build here: http://koji.fedoraproject.org/koji/taskinfo?taskID=4338781
Comment 2 Gerard Ryan 2012-07-29 23:18:59 EDT
Spec URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.1-1/eclipse-jbosstools.spec
SRPM URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.1-1/eclipse-jbosstools-3.3.1-1.fc17.src.rpm

There was one bundle that wasn't being installed. Also fixed release tag.
Comment 3 Marek Goldmann 2012-08-01 04:37:16 EDT
I'm taking this for review.
Comment 4 Marek Goldmann 2012-08-01 06:45:09 EDT
Package Review
==============

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

=== REQUIRED ITEMS ===
[x]  Rpmlint output:

rpmlint SPECS/eclipse-jbosstools.spec 
SPECS/eclipse-jbosstools.spec:463: W: mixed-use-of-spaces-and-tabs (spaces: line 463, tab: line 1)
SPECS/eclipse-jbosstools.spec: W: %ifarch-applied-patch Patch2: %{name}-x86_64.patch
SPECS/eclipse-jbosstools.spec: W: %ifarch-applied-patch Patch3: %{name}-x86.patch
SPECS/eclipse-jbosstools.spec: W: invalid-url Source0: eclipse-jbosstools-3.3.1.Final.tar.xz
0 packages and 1 specfiles checked; 0 errors, 4 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.
[x]  Buildroot definition is not present
[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].
[!]  License field in the package spec file matches the actual license.
License type: EPL and LGPLv2+ and ASL 2.0

See issue #1.

[!]  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.

See issue #2.

[-]  All independent sub-packages have license of their own
[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    :
MD5SUM upstream package:
[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 or must require other packages for directories it uses.
[x]  Package does not contain duplicates in %files.
[x]  File sections do not contain %defattr(-,root,root,-) unless changed with good reason
[x]  Permissions on files are set properly.
[x]  Package does NOT have a %clean section which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). (not needed anymore)
[!]  Package consistently uses macros (no %{buildroot} and $RPM_BUILD_ROOT mixing)

See issue #3.

[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.
[!]  Javadoc documentation files are generated and included in -javadoc subpackage

See issue #4.

[-]  Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlinks)
[x]  Packages have proper BuildRequires/Requires on jpackage-utils
[-]  Javadoc subpackages have Require: jpackage-utils
[x]  Package uses %global not %define
[x]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)

See note #4.

[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)
[x]  If package contains pom.xml files install it (including depmaps) even when building with ant
[x]  pom files has correct add_maven_depmap

=== Maven ===
[x]  Use %{_mavenpomdir} macro for placing pom files instead of %{_datadir}/maven2/poms
[!]  If package uses "-Dmaven.test.skip=true" explain why it was needed in a comment

See issue #5.

[-]  If package uses custom depmap "-Dmaven.local.depmap.file=*" explain why it's needed in a comment
[x]  Package DOES NOT use %update_maven_depmap in %post/%postun
[x]  Packages DOES NOT have Requires(post) and Requires(postun) on jpackage-utils for %update_maven_depmap macro

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

http://koji.fedoraproject.org/koji/taskinfo?taskID=4347628

== Issues ==
1. I've scanned the code and couldn't find any files under Mozilla's license. I suspect the License tag should look as follows: "EPL and LGPLv2+ and ASL 2.0". Please note the change of version of ASL.
2. Please include license files in the resulting RPM for following licenses: EPL, ASL 2.0 as per new guidelines: http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text
3. Decide if you want to use %{buildroot} or $RPM_BUILD_ROOT in your spec file and change
4. No javadocs?
5. Explain why are you skipping the tests when executing mvn-rpmbuild

== Notes ==

1. Update the information how to obtains the source code and create tarball.
2. jboss-as package is a required dependency?
3. Please use spaces in spec file, see rpmlint output.
4. Remove all *.jar files at the time of creating the tarball. This will decrease the size and we'll not ship binaries. For info how to do this, take a look at this: http://pkgs.fedoraproject.org/gitweb/?p=hornetq.git;a=blob;f=hornetq.spec;h=a43ca10aaac7606e3cb32da3819f1feee8e47120;hb=HEAD#l9
Comment 5 Gerard Ryan 2012-08-01 12:19:47 EDT
Thanks for the review

== Issues ==
1. I've scanned the code and couldn't find any files under Mozilla's license. I suspect the License tag should look as follows: "EPL and LGPLv2+ and ASL 2.0". Please note the change of version of ASL.
DONE.

2. Please include license files in the resulting RPM for following licenses: EPL, ASL 2.0 as per new guidelines: http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text
DONE

3. Decide if you want to use %{buildroot} or $RPM_BUILD_ROOT in your spec file and change
DONE

4. No javadocs?
No. Javadocs don't generally seem to be generated for eclipse packages.

5. Explain why are you skipping the tests when executing mvn-rpmbuild
DONE (it's because of missing dependency swtbot)

== Notes ==

1. Update the information how to obtains the source code and create tarball.
DONE.

2. jboss-as package is a required dependency?
Apparently so, see http://www.fpaste.org/ojfk/
One of the jars seems to require several classes that are only provided by jboss-as.
Also necessary for linking to jars that are bundled upstream: jboss-as-controller-client.jar and jboss-as-protocol.jar

3. Please use spaces in spec file, see rpmlint output.
DONE.

4. Remove all *.jar files at the time of creating the tarball. This will decrease the size and we'll not ship binaries.
DONE.

Spec URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.1-2/eclipse-jbosstools.spec
SRPM URL: http://galileo.fedorapeople.org/eclipse-jbosstools/3.3.1-2/eclipse-jbosstools-3.3.1-2.fc17.src.rpm
Comment 6 Marek Goldmann 2012-08-02 06:27:56 EDT
There is only one thing you forgot, please add the Apache license to the packages too. You can do this at the import time.

Otherwise looks good now, APPROVED.

Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4350049
Comment 7 Gerard Ryan 2012-08-02 07:59:38 EDT
New Package SCM Request
=======================
Package Name: eclipse-jbosstools
Short Description: A set of Eclipse plugins that supports JBoss and related technology
Owners: galileo
Branches: f17
InitialCC:
Comment 8 Gerard Ryan 2012-08-02 08:50:24 EDT
(In reply to comment #6)
> There is only one thing you forgot, please add the Apache license to the
> packages too. You can do this at the import time.
> 
> Otherwise looks good now, APPROVED.
> 
> Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4350049

Thanks!

Regarding the Apache license, It's added to eclipse-jbosstools-usage, and I believe all other subpackages that have Apache licensed stuff require this, so I don't think it's necessary to put it into all.
Comment 9 Gwyn Ciesla 2012-08-02 09:03:42 EDT
Git done (by process-git-requests).
Comment 10 Fedora Update System 2012-08-03 10:59:48 EDT
eclipse-jbosstools-3.3.1-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/eclipse-jbosstools-3.3.1-2.fc17
Comment 11 Fedora Update System 2012-08-05 17:20:05 EDT
eclipse-jbosstools-3.3.1-2.fc17 has been pushed to the Fedora 17 testing repository.
Comment 12 Fedora Update System 2012-08-13 21:00:57 EDT
eclipse-jbosstools-3.3.1-2.fc17 has been pushed to the Fedora 17 stable repository.

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