Bug 1269844 - Review Request: jcuber - CUBE reader for Java
Review Request: jcuber - CUBE reader for Java
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Orion Poplawski
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-10-08 06:48 EDT by Dave Love
Modified: 2016-02-03 21:28 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-01-28 19:23:05 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
orion: fedora‑review+


Attachments (Terms of Use)

  None (edit)
Description Dave Love 2015-10-08 06:48:07 EDT
Spec URL: https://loveshack.fedorapeople.org/review/jcuber.spec
SRPM URL: https://loveshack.fedorapeople.org/review/jcuber-4.3.2-1.el6.src.rpm
Description: A CUBE reader written in Java.
Fedora Account System Username: loveshack

This is a component that was removed from the cube packaging recently.
It's used at least by the TAU profiling system (not currently packaged).

Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=11371784
Comment 1 Orion Poplawski 2015-12-04 18:15:25 EST
CubeReader is a GUI application so you need to require java, not java headless. 

Also, you need to install a wrapper script to run the application, see https://fedorahosted.org/released/javapackages/doc/#_generating_application_shell_scripts
Comment 2 Dave Love 2015-12-08 07:22:52 EST
(In reply to Orion Poplawski from comment #1)
> CubeReader is a GUI application so you need to require java, not java
> headless. 

Ah, OK.  I hadn't actually realized, as I was interested in it as a library.

> Also, you need to install a wrapper script to run the application, see
> https://fedorahosted.org/released/javapackages/doc/
> #_generating_application_shell_scripts

What was it in the original cube package for compatibility?  I can't see
anything relevant in the git history.

I also realize there should be a test run.
Comment 3 Orion Poplawski 2015-12-08 10:07:39 EST
(In reply to Dave Love from comment #2)
> (In reply to Orion Poplawski from comment #1)
> > Also, you need to install a wrapper script to run the application, see
> > https://fedorahosted.org/released/javapackages/doc/
> > #_generating_application_shell_scripts
> 
> What was it in the original cube package for compatibility?  I can't see
> anything relevant in the git history.

No, I forgot to do that in the old package.  Always helpful to re-review :)
 
> I also realize there should be a test run.

Perhaps, if there is a supported way to do so.
Comment 4 Orion Poplawski 2015-12-08 10:09:31 EST
(In reply to Dave Love from comment #2)
> (In reply to Orion Poplawski from comment #1)
> > CubeReader is a GUI application so you need to require java, not java
> > headless. 
> 
> Ah, OK.  I hadn't actually realized, as I was interested in it as a library.

You could conceivably split out the library or the application into a sub-package if you wanted to allow people to install just the library with java-headless - but I suspect that anything that make use of the java library would be a gui java application itself.
Comment 5 Dave Love 2015-12-08 11:35:38 EST
(In reply to Orion Poplawski from comment #3)

Afraid I can't see any indication of which class to invoke in the wrapper.
Any ideas?

There is a test case which I've added.
Comment 6 Dave Love 2015-12-08 11:38:43 EST
(In reply to Orion Poplawski from comment #4)
> You could conceivably split out the library or the application into a
> sub-package if you wanted to allow people to install just the library with
> java-headless - but I suspect that anything that make use of the java
> library would be a gui java application itself.

Yes, I doubt that's worth it.  I'll fix it as an application if I can
find out how to invoke it.
Comment 7 Orion Poplawski 2015-12-08 11:43:34 EST
Hmm, maybe I'm wrong about it being an application after all.  These are the only main functions I find:

./jcuber-4.3.2/test/test10.0/cube_test10.java:  public static void main(String[] args)
./jcuber-4.3.2/examples/jcuber/jcuber_example.java:    public static void main(String[] args)
Comment 8 Dave Love 2015-12-09 12:08:53 EST
Assuming the application stuff isn't relevant, I've updated it somewhat with the test, installing the examples, and fixing the package name for jcuber-config.

Spec URL: https://loveshack.fedorapeople.org/review/jcuber.spec
SRPM URL: https://loveshack.fedorapeople.org/review/jcuber-4.3.2-2.el6.src.rpm
Comment 10 Orion Poplawski 2016-01-12 18:18:15 EST
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)
  Note: No javadoc subpackage present
  See: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
- Javadoc documentation files are generated and included in -javadoc
  subpackage
  Note: No javadoc subpackage present. Note: Javadocs are optional for
  Fedora versions >= 21
  See: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation

The above are optional, so not a problem.

- doc subpackage must include the license
- Note license breakdown in spec

[!]: Uses parallel make %{?_smp_mflags} macro.

- Apparently doesn't cause a problem, but Provides should use "=" not "==".

===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Apache (v2.0)", "Unknown or generated". 91 files have unknown
     license. Detailed output of licensecheck in
     /export/home/orion/redhat/1269844-jcuber/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[!]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/licenses
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/licenses
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: 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 %license.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Java:
[x]: Bundled jar/class files should be removed before build
[x]: Packages have proper BuildRequires/Requires on jpackage-utils

Maven:
[-]: If package contains pom.xml files install it (including metadata) even
     when building with ant
[x]: Old add_to_maven_depmap macro is not being used

===== SHOULD items =====

Generic:
[!]: Uses parallel make %{?_smp_mflags} macro.
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in jcuber-
     doc
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

Java:
[x]: Package uses upstream build method (ant/maven/etc.)
[x]: Packages are noarch unless they use JNI

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: jcuber-4.3.3-1.el7.noarch.rpm
          jcuber-doc-4.3.3-1.el7.noarch.rpm
          jcuber-4.3.3-1.el7.src.rpm
jcuber.noarch: W: no-documentation
jcuber.noarch: W: devel-file-in-non-devel-package /usr/bin/jcuber-config
jcuber.noarch: W: no-manual-page-for-binary jcuber-config
jcuber.noarch: W: no-manual-page-for-binary jcuber-config-frontend
3 packages and 0 specfiles checked; 0 errors, 7 warnings.




Rpmlint (installed packages)
----------------------------
jcuber.noarch: W: no-documentation
jcuber.noarch: W: devel-file-in-non-devel-package /usr/bin/jcuber-config
jcuber.noarch: W: no-manual-page-for-binary jcuber-config
jcuber.noarch: W: no-manual-page-for-binary jcuber-config-frontend
2 packages and 0 specfiles checked; 0 errors, 6 warnings.



Requires
--------
jcuber-doc (rpmlib, GLIBC filtered):

jcuber (rpmlib, GLIBC filtered):
    /bin/bash
    java
    jpackage-utils



Provides
--------
jcuber-doc:
    jcuber-doc

jcuber:
    cube-java
    jcuber



Source checksums
----------------
http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/jcuber-4.3.3.tar.gz :
  CHECKSUM(SHA256) this package     : 1498da2b95d5379e48895ad7028d940578a6e5aefb435504beddce18511816b7
  CHECKSUM(SHA256) upstream package : 1498da2b95d5379e48895ad7028d940578a6e5aefb435504beddce18511816b7


Generated by fedora-review 0.5.3 (bcf15e3) last change: 2015-05-04
Command line :/usr/bin/fedora-review -b 1269844
Buildroot used: epel-7-x86_64
Active plugins: Generic, Shell-api, Java
Disabled plugins: C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
Comment 11 Dave Love 2016-01-13 09:14:21 EST
(In reply to Orion Poplawski from comment #10)
> - doc subpackage must include the license

Fixed.  I thought it caused problems with the same file in different packages, but it seems not.

> - Note license breakdown in spec

Comment added.

> [!]: Uses parallel make %{?_smp_mflags} macro.

I commented that it's useless.

> - Apparently doesn't cause a problem, but Provides should use "=" not "==".

Fixed, ta.  I wish there was proper documentation for rpm specs.

Spec URL: https://loveshack.fedorapeople.org/review/jcuber.spec
SRPM URL: https://loveshack.fedorapeople.org/review/jcuber-4.3.3-2.el6.src.rpm
Comment 12 Orion Poplawski 2016-01-13 10:47:57 EST
Looks good,  approved.
Comment 13 Gwyn Ciesla 2016-01-15 09:25:08 EST
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/jcuber
Comment 14 Fedora Update System 2016-01-18 12:22:19 EST
jcuber-4.3.3-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-0eede362ef
Comment 15 Fedora Update System 2016-01-18 12:22:24 EST
jcuber-4.3.3-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-ab59601aab
Comment 16 Fedora Update System 2016-01-18 12:22:26 EST
jcuber-4.3.3-2.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-767f71fba2
Comment 17 Fedora Update System 2016-01-19 22:18:55 EST
jcuber-4.3.3-2.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-767f71fba2
Comment 18 Fedora Update System 2016-01-19 22:20:25 EST
jcuber-4.3.3-2.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-ab59601aab
Comment 19 Fedora Update System 2016-01-19 22:52:56 EST
jcuber-4.3.3-2.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-c48f771e46
Comment 20 Fedora Update System 2016-01-19 22:54:49 EST
jcuber-4.3.3-2.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-0eede362ef
Comment 21 Fedora Update System 2016-01-28 19:23:03 EST
jcuber-4.3.3-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
Comment 22 Fedora Update System 2016-02-01 01:33:19 EST
jcuber-4.3.3-2.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
Comment 23 Fedora Update System 2016-02-03 20:57:10 EST
jcuber-4.3.3-2.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.
Comment 24 Fedora Update System 2016-02-03 21:28:25 EST
jcuber-4.3.3-2.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.

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