Bug 444511

Summary: Review Request: emma - Java code coverage tool
Product: [Fedora] Fedora Reporter: Andrew Overholt <overholt>
Component: Package ReviewAssignee: Lillian Angel <langel>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dbhole, fedora-package-review, notting, rafaels
Target Milestone: ---Flags: fitzsim: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-03 16:17:56 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: 444512    
Attachments:
Description Flags
mock fedora-9-i386 build log with ant -d none

Description Andrew Overholt 2008-04-28 19:48:32 UTC
Spec URL: http://fedorapeople.org/~overholt/emma.spec
SRPM URL: http://fedorapeople.org/~overholt/emma-2.0-0.5312.2jpp.1.fc8.src.rpm
Description: EMMA is an open-source toolkit for measuring and reporting Java
code coverage. EMMA distinguishes itself from other tools by going
after a unique feature combination: support for large-scale
enterprise software development while keeping individual developer's
work fast and iterative.

Comment 1 Thomas Fitzsimmons 2008-05-28 01:00:16 UTC
*** Bug 227052 has been marked as a duplicate of this bug. ***

Comment 2 Thomas Fitzsimmons 2008-05-28 03:15:27 UTC
- MUST: rpmlint must be run on every package. The output should be posted...

$ rpmlint SRPMS/emma-2.0-0.5312.2jpp.1.fc9.src.rpm 

OK

$ rpmlint RPMS/noarch/emma-2.0-0.5312.2jpp.1.fc9.noarch.rpm 
emma.noarch: W: non-conffile-in-etc /etc/maven/fragments/emma

Explain

$ rpmlint RPMS/noarch/emma-javadoc-2.0-0.5312.2jpp.1.fc9.noarch.rpm 

OK

- MUST: The package must be named according to the Package Naming Guideli...

OK

- MUST: The spec file name must match the base package %{name}, in the fo...

OK

- MUST: The package must meet the Packaging Guidelines .

OK.  Do you want to leave the Epoch tag?

- MUST: The package must be licensed with a Fedora approved license and m...

OK

- MUST: The License field in the package spec file must match the actual ...

OK

- MUST: If (and only if) the source package includes the text of the lice...

OK

- MUST: The spec file must be written in American English.

OK

- MUST: The spec file for the package MUST be legible. If the reviewer is...

OK

- MUST: The sources used to build the package must match the upstream sou...

OK

- MUST: The package must successfully compile and build into binary rpms ...

OK

- MUST: If the package does not successfully compile, build or work on an...

OK

- MUST: All build dependencies must be listed in BuildRequires, except fo...

OK

- MUST: The spec file MUST handle locales properly. This is done by using...

OK

- MUST: Every binary RPM package which stores shared library files (not j...

OK

- MUST: If the package is designed to be relocatable, the packager must s...

OK

- MUST: A package must own all directories that it creates. If it does no...

What package should own %{_datadir}/maven2 and
%{_datadir}/maven2/poms?  They're unowned on my Fedora 9 system.

- MUST: A package must not contain any duplicate files in the %files list...

OK

- MUST: Permissions on files must be set properly. Executables should be ...

The base defattr line should use '-' for permissions.

- MUST: Each package must have a %clean section, which contains rm -rf %{...

OK

- MUST: Each package must consistently use macros, as described in the [w...

OK

- MUST: The package must contain code, or permissable content. This is de...

OK

- MUST: Large documentation files should go in a -doc subpackage. (The de...

OK

- MUST: If a package includes something as %doc, it must not affect the r...

OK

- MUST: Header files must be in a -devel package.

OK

- MUST: Static libraries must be in a -static package.

OK

- MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfi...

OK

- MUST: If a package contains library files with a suffix (e.g. libfoo.so...

OK

- MUST: In the vast majority of cases, devel packages must require the ba...

OK

- MUST: Packages must NOT contain any .la libtool archives, these should ...

OK

- MUST: Packages containing GUI applications must include a %{name}.deskt...

OK

- MUST: Packages must not own files or directories already owned by other...

%{_mavendepmapfragdir} is owned by other packages.

- MUST: At the beginning of %install, each package MUST run rm -rf %{buil...

OK

- MUST: All filenames in rpm packages must be valid UTF-8.

OK

- SHOULD: If the source package does not include license text(s) as a sep...

OK

- SHOULD: The description and summary sections in the package spec file s...

OK

- SHOULD: The reviewer should test that the package builds in mock. See [...

fedora-9-i386 mock build fails.

- SHOULD: The package should compile and build into binary rpms on all su...

OK on i386

- SHOULD: The reviewer should test that the package functions as describe...

emma -help works

- SHOULD: If scriptlets are used, those scriptlets must be sane. This is ...

OK

- SHOULD: Usually, subpackages other than devel should require the base p...

javadoc doesn't require base package but that's expected.

- SHOULD: The placement of pkgconfig(.pc) files depends on their usecase,...

OK

- SHOULD: If the package has file dependencies outside of /etc, /bin, /sb...

OK

Comment 3 Thomas Fitzsimmons 2008-05-28 03:16:52 UTC
Created attachment 306881 [details]
mock fedora-9-i386 build log with ant -d

Comment 4 Andrew Overholt 2008-05-28 13:10:54 UTC
Huh, how did this build for me?  Weird.  I'll investigate.  In the meantime,
I've fixed the file permissions and added maven2 as a dependency (which owns the
maven directories):

http://fedorapeople.org/~overholt/emma.spec

Deepak:  can you please comment on the maven pom file being in /etc somewhere
(the rpmlint warning listed in comment #2)?

Reassigning to Tom as he's taking this.

Comment 5 Andrew Overholt 2008-05-28 14:53:36 UTC
Okay, I figured out why it was failing to build:  ecj doesn't accept -source 1.2
whereas OpenJDK's javac does.  The following will fail with ecj and not with
OpenJDK:

cd /tmp
echo "public class Test444511 { public static void main(String[] args) { \
 System.out.println(\"Hello, world\"); } } > Test444511.java
javac -source 1.2 -target 1.2 Test444511.java

If I change build.target to 1.3 in build.xml, I get further but end at an import of:

sun.misc.Signal

Seeing as the chances of a change in this area going upstream are slim (there's
been no traffic on the bug I filed about their closed source jar they use for
building the jar timestamp -- see the URL in the .spec), I'm just going to BR
javac >= 1.6.

New spec and SRPM (also fixing maven ownership issues):

http://fedorapeople.org/~overholt/emma.spec
http://fedorapeople.org/~overholt/emma-2.0-0.5312.2jpp.2.fc9.src.rpm

Also, I spoke with Deepak on IRC and he said to waive the rpmlint warning 'cause
that's the place that maven poms go.  I've filed bug #448736 to track the maven
rpmlint warning issue.

Comment 6 Andrew Overholt 2008-05-28 17:58:24 UTC
New Package CVS Request
=======================
Package Name: emma
Short Description: Java code coverage tool
Owners: overholt
Branches: F-9
InitialCC:
Cvsextras Commits:

Comment 7 Thomas Fitzsimmons 2008-05-28 18:04:54 UTC
I confirmed the new SRPM builds in fedora-9-i386 mock.

Comment 8 Kevin Fenzi 2008-05-30 19:35:40 UTC
cvs done.