Bug 514699

Summary: Review Request: jemmy - Java UI testing library
Product: [Fedora] Fedora Reporter: Victor G. Vasilyev <victor.vasilyev>
Component: Package ReviewAssignee: Guido Grazioli <guido.grazioli>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, guido.grazioli, notting
Target Milestone: ---Flags: guido.grazioli: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://fedoraproject.org/wiki/Features/NetBeans_6.7
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-08-08 12:34:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 510128    

Description Victor G. Vasilyev 2009-07-30 10:04:20 UTC
Spec URL: http://victorv.fedorapeople.org/files/jemmy.spec
SRPM URL: http://victorv.fedorapeople.org/files/jemmy-2.3.0.0-1.fc12.src.rpm
Description: 
Jemmy is a Java UI testing library. Jemmy represents the most natural way to
test Java UI - perform the testing right from the Java code. Jemmy is a Java
library which provides clear and straightforward API to access Java UI. Tests
are then just java programs, which use the API. Having the tests in Java allows
to use all the flexibility of high level language to capture test logic and
also do any other operations needed to be done from test.

Comment 1 Victor G. Vasilyev 2009-07-30 10:34:14 UTC
* This tool is used by the NetBeans 6.7 platform (netbeans-platform).
* The rpmlint tool shows 0 errors, 0 warnings against both SRPM and RPM.
* The source package does not include license text as a separate file from upstream. A request about including license text has been sent to the owner of the upstream project - shurailine.net

Comment 2 Guido Grazioli 2009-07-30 12:26:23 UTC
Hello Victor, looking at Packaging: Java

-  BuildRequires and Requires

At a minimum, Java packages MUST:

BuildRequires: java-devel [>= specific_version] 
BuildRequires: jpackage-utils

Requires:  java >= specific_version
Requires:  jpackage-utils

-> include jpackage-utils

--

%define target_jar build/%{name}.jar

-> better use %global

--

does jemmy build javadocs? in that case you should provide it in a jemmy-javadoc package

hope that helps

Comment 3 Victor G. Vasilyev 2009-07-30 17:51:53 UTC
Hello Guido! 
Thanks for review. And separate thanks for a hint about the global macro.

I'm confused about redundant dependencies upon jpackage-utils, because my package doesn't use any facilities provided by the jpackage-utils. Nevertheless, I agree that you are right, and my package MUST have this dependency according the current Fedora guidelines.

A next revision of the package is prepared for review:
Spec URL: http://victorv.fedorapeople.org/files/jemmy.spec
SRPM URL: http://victorv.fedorapeople.org/files/jemmy-2.3.0.0-2.fc12.src.rpm

Changes:
- (B)R jpackage-utils are added
- The 'define' macro is changed to 'global' macro

Comment 4 Victor G. Vasilyev 2009-07-30 19:50:21 UTC
A next revision of the package is prepared for review:
Spec URL: http://victorv.fedorapeople.org/files/jemmy.spec
SRPM URL: http://victorv.fedorapeople.org/files/jemmy-2.3.0.0-3.fc12.src.rpm

Changes:
- javadoc subpackage is added

The rpmlint tool shows 0 errors, 0 warnings against both SRPM and all RPMs (i.e. jemmy RPM and jemmy-javadoc RPM).

Comment 5 Guido Grazioli 2009-08-01 13:58:01 UTC
Hello Victor,

* your specfile still has a %define; it would also be nice to move all other %global to file start.

--

* In the procedure to build the source tarball, use export instead of checkout;

that way md5sum of the tarball matches against the file included in the srpms

--

* question: is there a particular reason you need ant >= 1.6.5, or can the version be omitted?

cheers,
Guido

Comment 6 Victor G. Vasilyev 2009-08-03 00:24:59 UTC
Hi Guido,

(In reply to comment #5)
> * question: is there a particular reason you need ant >= 1.6.5, or can the
> version be omitted?
The ant 1.6.5 is a significant update with a lot of features that are widely used in the NetBeans software. Previous ant versions are not applicable for it. Jemmy is a satellite project for the NetBeans, and it has never been built with previous ant versions.
I think, to reduce risks of the build errors (including for the future Jemmy versions) we need have a specification of the lowest version of ant that is applicable with guaranties.

Spec URL: http://victorv.fedorapeople.org/files/jemmy.spec
SRPM URL: http://victorv.fedorapeople.org/files/jemmy-2.3.0.0-4.fc12.src.rpm

Changes:
- %global is used instead of the %define in all cases
- all macro defs are placed at the top of the spec file
- the sources was pulled via the svn export 

The rpmlint tool shows 0 errors, 0 warnings against both SRPM and all RPMs
(i.e. jemmy RPM and jemmy-javadoc RPM).

Comment 7 Guido Grazioli 2009-08-03 10:51:04 UTC
ok then, i'm working on the package review right now.

Comment 8 Guido Grazioli 2009-08-03 18:13:45 UTC
OK - rpmlint output
4 packages and 1 specfiles checked; 0 errors, 0 warnings.
OK - The package must be named according to the Package Naming Guidelines.
OK - The spec file name must match the base package %{name}
OK - The package must meet the Packaging Guidelines
OK - 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
OK - The package must be licensed with a Fedora approved license and
meet the Licensing Guidelines (license is good: CDDL)
NA - Every binary RPM package which stores shared library files must
call ldconfig in %post and %postun 
OK - The package MUST successfully compile and build
http://koji.fedoraproject.org/koji/taskinfo?taskID=1576387
OK - The spec file must be written in American English.
OK - The spec file for the package MUST be legible.
NA - The sources used to build the package must match the upstream source, as
provided in the spec URL (Sources exported from svn as described in spec file)
NA - The spec file MUST handle locales properly (no translations)
NA - package not relocatable
OK - A package must own all directories that it creates
OK - A Fedora package must not list a file more than once in the spec file's
%files listings
OK - Permissions on files must be set properly
OK - Each package must have a %clean section
OK - Each package must consistently use macros
OK - The package must contain code, or permissible content (no content)
NA - Large documentation files must go in a -doc sub-package (no large doc)
OK - If a package includes something as %doc, it must not affect the runtime of
the application
NA - Header files must be in a -devel package (no devel package)
NA - Static libraries must be in a -static package (no static package)
NA - Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
OK - Packages must NOT contain any .la libtool archives
NA - Packages containing GUI applications MUST include a .desktop file (no gui)
OK - No file conflicts with other packages and no general names.
OK - At the beginning of %install, each package MUST run rm -rf %{buildroot}
OK - All filenames in rpm packages must be valid UTF-8
OK - The package does not yet exist in Fedora. The Review Request is not a
duplicate.
OK - %{?dist} tag is used in release
OK - Java BuildRequires and Requires 
OK - No pre-built JAR files / other bundled software 
OK - No javadoc scriptlets 

This package is hereby APPROVED.

Comment 9 Victor G. Vasilyev 2009-08-03 19:08:14 UTC
New Package CVS Request
=======================
Package Name: jemmy
Short Description: Java UI testing library
Owners: victorv
Branches: F-10 F-11
InitialCC:

Comment 10 Jason Tibbitts 2009-08-03 21:33:04 UTC
CVS done.

Comment 11 Victor G. Vasilyev 2009-08-08 12:34:53 UTC
Successful Koji build against the devel branch:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1591396