Bug 806669

Summary: Review Request: janino - An embedded Java compiler
Product: [Fedora] Fedora Reporter: gil cattaneo <puntogil>
Component: Package ReviewAssignee: Mary Ellen Foster <mefoster>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: mefoster, notting, package-review, volker27
Target Milestone: ---Flags: mefoster: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: janino-2.6.1-12.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-07 04:18:59 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: 805487    
Attachments:
Description Flags
Proposed patch none

Description gil cattaneo 2012-03-25 21:50:12 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.5.16-1.fc16.src.rpm
Description: Janino is a compiler that reads a JavaTM expression, block,
class body, source file or a set of source files, and
generates JavaTM bytecode that is loaded and executed directly.
Janino is not intended to be a development tool,
but an embedded compiler for run-time compilation purposes,
e.g. expression evaluators or "server pages" engines like JSP.

Comment 1 gil cattaneo 2012-03-27 12:53:13 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-2.fc16.src.rpm
merged with mefoster's janino spec files
provides janino, parent, commons-compiler and commons-compiler-jdk

Comment 2 Mary Ellen Foster 2012-03-30 15:26:57 UTC
*** Bug 805047 has been marked as a duplicate of this bug. ***

Comment 3 Mary Ellen Foster 2012-03-30 15:29:28 UTC
I'll review this; just waiting for commons-compiler review to finish

(NB: janino-parent is already accepted, and I've already got a separate package for commons-compiler under review, so you can probably just package the "janino" parts separately in this RPM)

Comment 4 Mary Ellen Foster 2012-04-10 14:39:24 UTC
commons-compiler and janino-parent are both now packaged for F17+, so you should probably modify this spec to only build the actual "janino" part.

Comment 5 gil cattaneo 2012-04-10 17:10:22 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-3.fc16.src.rpm
removed janino-parent commons-compiler modules.

Comment 6 Mary Ellen Foster 2012-04-13 09:02:14 UTC
I think there's a missing BuildRequirement on maven-surefire-provider-junit4

Comment 7 gil cattaneo 2012-04-13 11:19:12 UTC
at this time would not be superfluous?
in available sources, there are no tests to be performed
here https://svn.codehaus.org/janino/tags/V_2_6_1/ also there aren't tests to be performed
tks

Comment 8 gil cattaneo 2012-04-13 11:46:57 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-4.fc16.src.rpm
added missing BR maven-surefire-provider-junit4 for prevent mock build failure

Comment 9 Mary Ellen Foster 2012-04-13 11:48:05 UTC
I will review this package

Comment 10 gil cattaneo 2012-04-13 12:23:03 UTC
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3987665

Comment 11 gil cattaneo 2012-04-13 13:16:07 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-5.fc16.src.rpm
commons-compiler spec file merged

Comment 12 Mary Ellen Foster 2012-04-13 13:32:16 UTC
Summary:
- remove "unzip" as a BuildRequirement
- use %{name} and %{version} in source and patch file names

Otherwise, looks good

Issues:
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     Note: These BR are not needed: unzip
See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2

===> Remove "unzip" as BuildRequirement


[!]: 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 is included in %doc.
See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text

===> Not sure why this is warning about this; the use of the license seems fine


[!]: MUST Rpmlint output is silent.

rpmlint janino-2.6.1-4.fc18.noarch.rpm

janino.noarch: W: spelling-error %description -l en_US bytecode -> byte code, byte-code, decorate
janino.noarch: W: spelling-error %description -l en_US evaluators -> evaluates, evaporators, elevators
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint janino-javadoc-2.6.1-4.fc18.noarch.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.


rpmlint janino-2.6.1-4.fc18.src.rpm

janino.src: W: spelling-error %description -l en_US bytecode -> byte code, byte-code, decorate
janino.src: W: spelling-error %description -l en_US evaluators -> evaluates, evaporators, elevators
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint commons-compiler-jdk-2.6.1-4.fc18.noarch.rpm

commons-compiler-jdk.noarch: W: spelling-error %description -l en_US codehaus -> Wodehouse
commons-compiler-jdk.noarch: W: spelling-error %description -l en_US ExpressionEvaluator -> Expressionless
commons-compiler-jdk.noarch: W: spelling-error %description -l en_US janino -> Janine
1 packages and 0 specfiles checked; 0 errors, 3 warnings.


See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint


===> Not a problem

[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/mef3/806669/commons-compiler-2.6.1.pom :
  MD5SUM this package     : None
  MD5SUM upstream package : d41d8cd98f00b204e9800998ecf8427e
/home/mef3/806669/commons-compiler-jdk-2.6.1.pom :
  MD5SUM this package     : cf7244a092e8f6cf9e66f620b90fc5dd
  MD5SUM upstream package : d41d8cd98f00b204e9800998ecf8427e
/home/mef3/806669/janino-2.6.1.zip :
  MD5SUM this package     : bd1f9d38b8329017e469503baf53cf5b
  MD5SUM upstream package : bd1f9d38b8329017e469503baf53cf5b
/home/mef3/806669/janino-2.6.1.pom :
  MD5SUM this package     : 968962e5591e36bbec8696f70443b5f3
  MD5SUM upstream package : d41d8cd98f00b204e9800998ecf8427e

See: http://fedoraproject.org/wiki/Packaging/SourceURL

===> This is because you can't wget files from repo1.maven.org with the default user agent. I
tried downloading them myself manually and got this, which matches the files in the SRPM:
f99e0f69541e17c8f160799b056720b4  commons-compiler-2.6.1.pom
cf7244a092e8f6cf9e66f620b90fc5dd  commons-compiler-jdk-2.6.1.pom
968962e5591e36bbec8696f70443b5f3  janino-2.6.1.pom



Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     Note: These BR are not needed: unzip
[x]: MUST Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL is required
[x]: MUST Sources contain only permissible code or content.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: Note: defattr macros not found. They would be needed for EPEL5
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[!]: 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 is included in %doc.
[x]: MUST License field in the package spec file matches the actual license.
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.

rpmlint janino-2.6.1-4.fc18.noarch.rpm

janino.noarch: W: spelling-error %description -l en_US bytecode -> byte code, byte-code, decorate
janino.noarch: W: spelling-error %description -l en_US evaluators -> evaluates, evaporators, elevators
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint janino-javadoc-2.6.1-4.fc18.noarch.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.


rpmlint janino-2.6.1-4.fc18.src.rpm

janino.src: W: spelling-error %description -l en_US bytecode -> byte code, byte-code, decorate
janino.src: W: spelling-error %description -l en_US evaluators -> evaluates, evaporators, elevators
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint commons-compiler-jdk-2.6.1-4.fc18.noarch.rpm

commons-compiler-jdk.noarch: W: spelling-error %description -l en_US codehaus -> Wodehouse
commons-compiler-jdk.noarch: W: spelling-error %description -l en_US ExpressionEvaluator -> Expressionless
commons-compiler-jdk.noarch: W: spelling-error %description -l en_US janino -> Janine
1 packages and 0 specfiles checked; 0 errors, 3 warnings.


[!]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/mef3/806669/commons-compiler-2.6.1.pom :
  MD5SUM this package     : None
  MD5SUM upstream package : d41d8cd98f00b204e9800998ecf8427e
/home/mef3/806669/commons-compiler-jdk-2.6.1.pom :
  MD5SUM this package     : cf7244a092e8f6cf9e66f620b90fc5dd
  MD5SUM upstream package : d41d8cd98f00b204e9800998ecf8427e
/home/mef3/806669/janino-2.6.1.zip :
  MD5SUM this package     : bd1f9d38b8329017e469503baf53cf5b
  MD5SUM upstream package : bd1f9d38b8329017e469503baf53cf5b
/home/mef3/806669/janino-2.6.1.pom :
  MD5SUM this package     : 968962e5591e36bbec8696f70443b5f3
  MD5SUM upstream package : d41d8cd98f00b204e9800998ecf8427e

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[!]: SHOULD SourceX / PatchY prefixed with %{name}.
     Note: Source0: http://dist.codehaus.org/janino/janino-2.6.1.zip
     (janino-2.6.1.zip) Source1: janino-2.6.1-aggregator-01.pom
     (janino-2.6.1-aggregator-01.pom) Source2:
     http://repo1.maven.org/maven2/org/codehaus/janino/commons-compiler/2.6.1
     /commons-compiler-2.6.1.pom (commons-compiler-2.6.1.pom) Source3:
     http://repo1.maven.org/maven2/org/codehaus/janino/commons-compiler-
     jdk/2.6.1/commons-compiler-jdk-2.6.1.pom (commons-compiler-jdk-2.6.1.pom)
     Source4:
     http://repo1.maven.org/maven2/org/codehaus/janino/janino/2.6.1/janino-2.6.1.pom
     (janino-2.6.1.pom) Patch0: janino-2.6.1-pom.patch
     (janino-2.6.1-pom.patch)
[x]: SHOULD SourceX is a working URL.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.


==== Java ====
[x]: MUST If source tarball includes bundled jar/class files these need to be
     removed prior to building
[x]: MUST Packages have proper BuildRequires/Requires on jpackage-utils
[x]: MUST Fully versioned dependency in subpackages, if present.
[x]: MUST Javadoc documentation files are generated and included in -javadoc
     subpackage
[x]: MUST Javadoc subpackages have Requires: jpackage-utils
[x]: MUST Javadocs are placed in %{_javadocdir}/%{name} (no -%{version}
     symlink)
[x]: SHOULD Package has BuildArch: noarch (if possible)
[x]: SHOULD Package uses upstream build method (ant/maven/etc.)


==== Maven ====
[x]: MUST Pom files have correct add_maven_depmap call
     Note: Some add_maven_depmap calls found. Please check if they are correct
[x]: MUST Old add_to_maven_depmap macro is not being used
[x]: MUST Packages DOES NOT have Requires(post) and Requires(postun) on
     jpackage-utils for %update_maven_depmap macro
[x]: MUST Package DOES NOT use %update_maven_depmap in %post/%postun
[x]: MUST Packages use %{_mavenpomdir} instead of %{_datadir}/maven2/poms


Generated by fedora-review 0.1.3
External plugins:

Comment 13 gil cattaneo 2012-04-13 16:12:52 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-6.fc16.src.rpm
removed BR unzip
used %{name} and %{version} in source and patch file names

Comment 14 Mary Ellen Foster 2012-04-16 09:16:17 UTC
I just took a closer look at the (Build)Requirements, and there are a few issues:

For the main janino package:
- Remove commons-compiler as a BuildRequirement
- Add janino-parent as a Requirement

For commons-compiler(-jdk):
- Add janino-parent as a Requirement

Other than that, I think it's ready to go ...

Comment 15 gil cattaneo 2012-04-16 12:53:49 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-7.fc16.src.rpm- Remove commons-compiler as a BuildRequirement
- Add janino-parent as a Requirement for janino commons-compiler(,-jdk) pkgs

Comment 16 Mary Ellen Foster 2012-04-16 13:17:54 UTC
Looks good!

APPROVED

Comment 17 gil cattaneo 2012-04-16 13:42:32 UTC
Package Change Request
======================
Package Name: janino
New Branches: f17
Owners: gil
InitialCC: java-sig

update to 2.6.1

Comment 18 Gwyn Ciesla 2012-04-16 13:49:01 UTC
Git done (by process-git-requests).

Unretired devel and f15, please take ownership, added f16 and f17.

Comment 19 gil cattaneo 2012-04-18 14:38:58 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-8.fc16.src.rpm
merged janino-parent

Comment 20 gil cattaneo 2012-04-18 15:09:44 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-9.fc16.src.rpm
merged commons-compiler, commons-compiler-jdk and janino-parent in main package

Comment 21 Mary Ellen Foster 2012-04-18 15:28:18 UTC
Created attachment 578390 [details]
Proposed patch

It looks good -- and simpler, so mgoldmann should be pleased. :)

The only thing I'd suggest is to put all of the jar files into a %{name} subdirectory, because I think the Java packaging guidelines require it (https://fedoraproject.org/wiki/Packaging:Java#Split_JAR_files)

The attached patch should do that

Comment 22 gil cattaneo 2012-04-18 16:04:44 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-10.fc16.src.rpm
- moved all of the jar files into janino subdirectory

Comment 23 Mary Ellen Foster 2012-04-19 14:05:34 UTC
Argh, one more small thing: it shouldn't BuildRequire janino-parent any more

Comment 24 gil cattaneo 2012-04-19 15:55:44 UTC
Spec URL: http://gil.fedorapeople.org/janino.spec
SRPM URL: http://gil.fedorapeople.org/janino-2.6.1-11.fc16.src.rpm
- Remove janino-parent as a BuildRequirement

afraid  ... i apologize for the inconvenience

Comment 25 Mary Ellen Foster 2012-04-27 15:33:11 UTC
That looks fine to me -- now that the block is removed, you should go ahead and build it for rawhide and F17.

Sorry for the delay

Comment 26 Fedora Update System 2012-04-28 10:02:30 UTC
janino-2.6.1-11.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/janino-2.6.1-11.fc17

Comment 27 Fedora Update System 2012-04-28 17:11:42 UTC
Package janino-2.6.1-11.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing janino-2.6.1-11.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-6892/janino-2.6.1-11.fc17
then log in and leave karma (feedback).

Comment 28 Fedora Update System 2012-05-07 04:18:59 UTC
janino-2.6.1-11.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 29 Fedora Update System 2012-05-08 08:01:29 UTC
janino-2.6.1-12.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/janino-2.6.1-12.fc16

Comment 30 Fedora Update System 2012-05-19 07:00:14 UTC
janino-2.6.1-12.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.