Bug 1403030 - Review Request: hdfview - Java HDF5 Object viewer
Summary: Review Request: hdfview - Java HDF5 Object viewer
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jos de Kloe
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1403082
Blocks: 1048951
TreeView+ depends on / blocked
 
Reported: 2016-12-08 22:57 UTC by Zbigniew Jędrzejewski-Szmek
Modified: 2017-03-07 03:07 UTC (History)
2 users (show)

Fixed In Version: hdfview-2.13.0-1.fc26
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-07 03:07:52 UTC
Type: ---
josdekloe: fedora-review+


Attachments (Terms of Use)

Description Zbigniew Jędrzejewski-Szmek 2016-12-08 22:57:45 UTC
Spec URL: http://in.waw.pl/~zbyszek/hdfview.spec
SRPM URL: http://in.waw.pl/~zbyszek/hdfview-2.13.0-1.fc26.src.rpm
Description:
HDF is a versatile data model that can represent very complex data objects
and a wide variety of meta-data. It is a completely portable file format
with no limit on the number or size of data objects in the collection.

This package provides a HDF4/HDF5 viewer.

Fedora Account System Username: zbyszek

Notes:
This package was a subpackage of the jhdf5 package, and was split out upstream.
Splitting this out allows us to update jhdf5 to the latest version.

To build this, it's most likely that the updated jhdf5 is necessary; it hasn't been built yet in rawhide; I'm waiting for this review ;)

Also, tam-nom-fits package is necessary. Gil Cattaneo has created a spec file, but it hasn't been submitted for review yet. I'll query whether he prefers to submit it himself, otherwise I'll do it myself.

When this was built from jhdf5, three separate jars were provided: jhdfobj, jdf4obj, jhdf5obj. The first two contained the other two and some other stuff. I don't think this is useful, so I'm only providing jhdfobj.

Finally, I know that the appinfo metadata is missing. I'm working on it, but it's not required, and I'd like to get this package ready as quickly as possible.

Comment 1 Zbigniew Jędrzejewski-Szmek 2016-12-09 02:27:12 UTC
Spec URL: http://in.waw.pl/~zbyszek/hdfview/hdfview.spec
SRPM URL: http://in.waw.pl/~zbyszek/hdfview/hdfview-2.13.0-1.fc26.src.rpm

Now with appdata.

Comment 2 Jos de Kloe 2016-12-10 10:08:50 UTC
I get a Forbidden error when I try to download your srpm:

Forbidden

You don't have permission to access /~zbyszek/hdfview/hdfview-2.13.0-1.fc26.src.rpm on this server.

please fix this.

Comment 4 Jos de Kloe 2016-12-10 19:09:36 UTC
Hi, first thanks for your effort on this package.

However, unfortunately it does not build on my side.
Both the fedora-review and a manual mock command for rawhide fails.
It seems a missing build requirement, since at the end of the build.log I get:

Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.tUdUcd
+ umask 022
+ cd /builddir/build/BUILD
+ cd hdfview-2.13.0-Source
+ ant jar
/var/tmp/rpm-tmp.tUdUcd: line 31: ant: command not found
error: Bad exit status from /var/tmp/rpm-tmp.tUdUcd (%build)
RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.tUdUcd (%build)
Child return code was: 1
EXCEPTION: [Error()]

Comment 5 Zbigniew Jędrzejewski-Szmek 2016-12-10 20:23:40 UTC
Thanks for looking into this.

BR:ant was missing. Hm, I think I know how I missed that: I was building in a prepopulated mock because I needed to install nom-tam-fits and unbuilt jhdf5 by hand. nom-tam-fits has gone through review and is now available for koji builds, but jhdf5 3.2.1 still need to be installed by hand. I do the following:

  mock -i https://kojipkgs.fedoraproject.org//work/tasks/1360/16821360/jhdf5-3.2.1-1.fc26.x86_64.rpm
  mock -n hdfview-2.13.0-1.fc26.src.rpm

fedora-review can also be instucted to use a pre-populated mock:

  fedora-review -o ' -n' -b 1403030

scratch koji build for updated jhdf5: http://koji.fedoraproject.org/koji/taskinfo?taskID=16821359

Spec URL: http://in.waw.pl/~zbyszek/fedora/hdfview/hdfview.spec
SRPM URL: http://in.waw.pl/~zbyszek/fedora/hdfview/hdfview-2.13.0-1.fc26.src.rpm

Comment 6 Jos de Kloe 2016-12-11 21:56:24 UTC
Thanks for your hint.

It seems I am too inexperienced juggling with mock, since I run straight into another problem.
This time the build fails because the spec file requires jhdf5 and thus tries to install jhdf-2.11.0 from rawhide, even though I already installed jhdf5-3.2.1 manually in mock as you suggested. This gives me the following error during execution of the fedora-review command:

Error: Transaction check error:
  file /usr/share/licenses/jhdf5/COPYING from install of jhdf-2.11.0-9.fc26.x86_64 conflicts with file from package jhdf5-3.2.1-1.fc26.x86_64

A manual mock rebuild of the srpm gives me the same error.

Comment 7 Zbigniew Jędrzejewski-Szmek 2016-12-12 01:32:08 UTC
Yeah, you actually need to install both jhdf5 and jhdf. So the command should be 

   mock -i https://kojipkgs.fedoraproject.org//work/tasks/1360/16821360/jhdf5-3.2.1-1.fc26.x86_64.rpm  mock -i https://kojipkgs.fedoraproject.org//work/tasks/1360/16821360/jhdf-3.2.1-1.fc26.x86_64.rpm

Comment 8 Jos de Kloe 2016-12-13 16:13:32 UTC
thanks a lot, the build runs fine now using the fedora-review command.
Give me some time to fill the review template.

Comment 9 Jos de Kloe 2016-12-13 19:08:01 UTC
Here is a first attempt to review your package.
Main issue is that I get an error when I try to load a file in hdfview.
Also, the complaints about directory ownership should be adressed I think.
Finally, it would be nice if you could remove some of the rpmlint errors, which seem mostly caused by empty txt files. Do they really need to be empty?

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

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


Issues:
=======
Manually added issue:
- hdfview gives an " Unsupported fileformat" error when I try to
  open an example file from the samples directory

Issues generated by fedora-review
- 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
- Bundled jar/class files should be removed before build
  Note: Jar files in source (see attachment)
  See: http://fedoraproject.org/wiki/Packaging:Java#Pre-
  built_JAR_files_.2F_Other_bundled_software'


===== 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.
     present in BUILD/hdfview-2.13.0-Source/COPYING
[x]: License file installed when any subpackage combination is installed.
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/mime,
     /usr/share/icons/hicolor, /usr/share/mime/packages
==>actually I don't really know how this should be solved,
   the packaging guidelines are clear enough: the directories you
   create must be owned by this package, or by one of its dependencies
   in the "natural dependency chain" or by the filesystem, man, or
   other explicitly created -filesystem packages.
   Is this the case for these directories?
   If so, please add some comment to detail this.
[!]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by:
     /usr/share/icons/hicolor/16x16/mimetypes(hicolor-icon-theme,
     keepassx), /usr/share/icons/hicolor/22x22(hicolor-icon-theme, fedora-
     logos, keepassx), /usr/share/icons/hicolor/22x22/apps(hicolor-icon-
     theme, fedora-logos), /usr/share/icons/hicolor/32x32/apps(qmmp,
     hicolor-icon-theme, fedora-logos, keepassx),
     /usr/share/icons/hicolor/16x16/apps(qmmp, hicolor-icon-theme, fedora-
     logos, keepassx), /usr/share/icons/hicolor/48x48/mimetypes(hicolor-
     icon-theme), /usr/share/icons/hicolor/16x16(qmmp, hicolor-icon-theme,
     fedora-logos, keepassx), /usr/share/icons/hicolor/48x48(qmmp, hicolor-
     icon-theme, fedora-logos, keepassx, nedit),
     /usr/share/icons/hicolor/48x48/apps(qmmp, hicolor-icon-theme, fedora-
     logos, keepassx, nedit), /usr/share/icons/hicolor/22x22/mimetypes
     (hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/32x32(qmmp,
     hicolor-icon-theme, fedora-logos, keepassx),
     /usr/share/icons/hicolor/32x32/mimetypes(hicolor-icon-theme, keepassx)
==>same comment as above
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: 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.
[-]: 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]: update-desktop-database is invoked in %post and %postun if package
     contains desktop file(s) with a MimeType: entry.
     Note: desktop file(s) with MimeType entry in hdfview
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in hdfview
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 2 files.
[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 requires other packages for directories it uses.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[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]: Packages must not store files under /srv, /opt or /usr/local

Java:
[x]: Packages have proper BuildRequires/Requires on jpackage-utils
     Note: Maven packages do not need to (Build)Require jpackage-utils. It
     is pulled in by maven-local

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

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

Generic:
[x]: update-mime-database is invoked in %post and %postun if package stores
     mime configuration in /usr/share/mime/packages.
     Note: mimeinfo files in: hdfview
     See:
     http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo
[-]: 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 jhdfobj
     , hdfview-doc
[!]: Package functions as described.
==>when I try to run the hdfview tool it does not seem to work properly.
   from a mock shell I can run hdfview
   and the gui launches perfectly (with all its buttons!) and seems responsive.
   However, when I try to open a file I get the error:
   java.io.IOException: Unsupported fileformat - hdf5_test.h5
   Maybe I overlooked something?

[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
==>if I read the patch correctly, it is intended to work around the
   removal of the bundled stuff in lib. A small comment to explain
   this (and that no upstream change is requested since this is Fedora
   specific) would be nice.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[-]: 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]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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: hdfview-2.13.0-1.fc26.noarch.rpm
          jhdfobj-2.13.0-1.fc26.noarch.rpm
          hdfview-doc-2.13.0-1.fc26.noarch.rpm
          hdfview-2.13.0-1.fc26.src.rpm
hdfview.noarch: W: no-documentation
hdfview.noarch: W: no-manual-page-for-binary hdfview
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateGroupAbsoluteRelative.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateFile.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateGroupDataset.txt
hdfview-doc.noarch: W: file-not-utf8 /usr/share/doc/hdfview-doc/samples/tst0001.fits
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.groups.H5ObjectEx_G_Create.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateAttribute.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateGroup.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_ReadWrite.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateDataset.txt
hdfview.src: W: strange-permission getsources.sh 775
hdfview.src: W: strange-permission hdfview 775
hdfview.src:8: W: macro-in-comment %{version}
hdfview.src: W: invalid-url Source0: hdfview-2.13.0-nolibs.tar.xz
4 packages and 0 specfiles checked; 8 errors, 7 warnings.




Rpmlint (installed packages)
----------------------------
hdfview.noarch: W: no-documentation
hdfview.noarch: W: no-manual-page-for-binary hdfview
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.groups.H5ObjectEx_G_Create.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateDataset.txt
hdfview-doc.noarch: W: file-not-utf8 /usr/share/doc/hdfview-doc/samples/tst0001.fits
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateAttribute.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateGroupAbsoluteRelative.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateGroup.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateGroupDataset.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_CreateFile.txt
hdfview-doc.noarch: E: zero-length /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.H5Object_ReadWrite.txt
3 packages and 0 specfiles checked; 8 errors, 3 warnings.



Requires
--------
hdfview (rpmlib, GLIBC filtered):
    /bin/sh
    desktop-file-utils
    java
    java-headless
    javapackages-tools
    jhdfobj
    mvn(edu.ucar:cdm)
    mvn(gov.nasa.gsfc.heasarc:nom-tam-fits)
    mvn(org.hdfgroup:jhdf)
    mvn(org.hdfgroup:jhdf5)
    mvn(org.slf4j:slf4j-api)
    mvn(org.slf4j:slf4j-simple)

hdfview-doc (rpmlib, GLIBC filtered):

jhdfobj (rpmlib, GLIBC filtered):
    java-headless
    javapackages-tools
    mvn(org.hdfgroup:jhdf)
    mvn(org.hdfgroup:jhdf5)
    mvn(org.slf4j:slf4j-api)



Provides
--------
hdfview:
    appdata()
    appdata(hdfview.appdata.xml)
    application()
    application(hdfview.desktop)
    hdfview
    mimehandler(application/x-hdf)
    mimehandler(application/x-hdf5)
    mvn(org.hdfgroup:jhdfview)

hdfview-doc:
    hdfview-doc

jhdfobj:
    jhdfobj
    mvn(org.hdfgroup:jhdfobj)



Jar and class files in source
-----------------------------
./hdfview-2.13.0-Source/lib/jhdf5.jar
./hdfview-2.13.0-Source/lib/slf4j-slf4j-nop.jar
./hdfview-2.13.0-Source/lib/jhdf.jar
./hdfview-2.13.0-Source/lib/slf4j-api.jar
./hdfview-2.13.0-Source/lib/slf4j-jcl-over-slf4j.jar
./hdfview-2.13.0-Source/lib/slf4j-simple.jar
./hdfview-2.13.0-Source/lib/junit.jar
./hdfview-2.13.0-Source/lib/thredds_cdm.jar
./hdfview-2.13.0-Source/lib/slf4j-slf4j-simple.jar
./hdfview-2.13.0-Source/lib/slf4j-nop.jar
./hdfview-2.13.0-Source/lib/nom-tam-fits.jar
./hdfview-2.13.0-Source/lib/slf4j-slf4j-api.jar

JdK: manually checked that these jar libs are removed from the srpm,
     so this is no issue.

Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -o  -n -n hdfview
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, Java
Disabled plugins: C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 10 Zbigniew Jędrzejewski-Szmek 2016-12-13 21:47:34 UTC
(In reply to Jos de Kloe from comment #9)
> Here is a first attempt to review your package.
> Main issue is that I get an error when I try to load a file in hdfview.
> Also, the complaints about directory ownership should be adressed I think.
> Finally, it would be nice if you could remove some of the rpmlint errors,
> which seem mostly caused by empty txt files. Do they really need to be empty?

Thank you for the review!

> =======
> Manually added issue:
> - hdfview gives an " Unsupported fileformat" error when I try to
>   open an example file from the samples directory
Hm, any specific file, or all of them? They all work for me, so maybe it's a
question of dependencies? I now see that the binary packages have no version
dependency on jhdf5. I'll add that.

> Issues generated by fedora-review
> - 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
Right. There's no javadoc. It's optional and I didn't think it'd be
particularly useful, but I'll generate it and check again.

Update: javadocs look useful. I added a javadoc subpackage.

> - Bundled jar/class files should be removed before build
>   Note: Jar files in source (see attachment)
>   See: http://fedoraproject.org/wiki/Packaging:Java#Pre-
>   built_JAR_files_.2F_Other_bundled_software'
This is already fixed in the new srpm.
 
> ===== 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.
>      present in BUILD/hdfview-2.13.0-Source/COPYING
> [x]: License file installed when any subpackage combination is installed.
> [!]: Package must own all directories that it creates.
>      Note: Directories without known owners: /usr/share/mime,
>      /usr/share/icons/hicolor, /usr/share/mime/packages
> ==>actually I don't really know how this should be solved,
>    the packaging guidelines are clear enough: the directories you
>    create must be owned by this package, or by one of its dependencies
>    in the "natural dependency chain" or by the filesystem, man, or
>    other explicitly created -filesystem packages.
>    Is this the case for these directories?
>    If so, please add some comment to detail this.
> [!]: Package does not own files or directories owned by other packages.
>      Note: Dirs in package are owned also by:
>      /usr/share/icons/hicolor/16x16/mimetypes(hicolor-icon-theme,
>      keepassx), /usr/share/icons/hicolor/22x22(hicolor-icon-theme, fedora-
>      logos, keepassx), /usr/share/icons/hicolor/22x22/apps(hicolor-icon-
>      theme, fedora-logos), /usr/share/icons/hicolor/32x32/apps(qmmp,
>      hicolor-icon-theme, fedora-logos, keepassx),
>      /usr/share/icons/hicolor/16x16/apps(qmmp, hicolor-icon-theme, fedora-
>      logos, keepassx), /usr/share/icons/hicolor/48x48/mimetypes(hicolor-
>      icon-theme), /usr/share/icons/hicolor/16x16(qmmp, hicolor-icon-theme,
>      fedora-logos, keepassx), /usr/share/icons/hicolor/48x48(qmmp, hicolor-
>      icon-theme, fedora-logos, keepassx, nedit),
>      /usr/share/icons/hicolor/48x48/apps(qmmp, hicolor-icon-theme, fedora-
>      logos, keepassx, nedit), /usr/share/icons/hicolor/22x22/mimetypes
>      (hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/32x32(qmmp,
>      hicolor-icon-theme, fedora-logos, keepassx),
>      /usr/share/icons/hicolor/32x32/mimetypes(hicolor-icon-theme, keepassx)

Fixed. I added R:hicolor-icon-theme.

> ==>same comment as above
> [x]: Package contains no bundled libraries without FPC exception.
> [x]: Changelog in prescribed format.
> [x]: Sources contain only permissible code or content.
> [-]: 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.
> [-]: 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]: update-desktop-database is invoked in %post and %postun if package
>      contains desktop file(s) with a MimeType: entry.
>      Note: desktop file(s) with MimeType entry in hdfview
> [x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
>      contains icons.
>      Note: icons in hdfview
> [x]: Package is not known to require an ExcludeArch tag.
> [x]: Large documentation must go in a -doc subpackage. Large could be size
>      (~1MB) or number of files.
>      Note: Documentation size is 20480 bytes in 2 files.
> [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 requires other packages for directories it uses.
> [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]: Package contains desktop file if it is a GUI application.
> [x]: Package installs a %{name}.desktop using desktop-file-install or
>      desktop-file-validate if there is such a file.
> [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]: Packages must not store files under /srv, /opt or /usr/local
> 
> Java:
> [x]: Packages have proper BuildRequires/Requires on jpackage-utils
>      Note: Maven packages do not need to (Build)Require jpackage-utils. It
>      is pulled in by maven-local
> 
> Maven:
> [-]: If package contains pom.xml files install it (including metadata) even
>      when building with ant
> [x]: Maven packages should use new style packaging
> [x]: Old add_to_maven_depmap macro is not being used
> 
> ===== SHOULD items =====
> 
> Generic:
> [x]: update-mime-database is invoked in %post and %postun if package stores
>      mime configuration in /usr/share/mime/packages.
>      Note: mimeinfo files in: hdfview
>      See:
>      http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo
> [-]: 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 jhdfobj
>      , hdfview-doc
> [!]: Package functions as described.
> ==>when I try to run the hdfview tool it does not seem to work properly.
>    from a mock shell I can run hdfview
>    and the gui launches perfectly (with all its buttons!) and seems
> responsive.
>    However, when I try to open a file I get the error:
>    java.io.IOException: Unsupported fileformat - hdf5_test.h5
>    Maybe I overlooked something?

I think this must be because you had old jhdf5. I added a dependency now,
let's see if this helps.

> [x]: Latest version is packaged.
> [x]: Package does not include license text files separate from upstream.
> [!]: Patches link to upstream bugs/comments/lists or are otherwise
>      justified.
There's single patch, and a comment which explains why this patch is suitable
for Fedora, but not for upstream.

> ==>if I read the patch correctly, it is intended to work around the
>    removal of the bundled stuff in lib. A small comment to explain
>    this (and that no upstream change is requested since this is Fedora
>    specific) would be nice.
> [x]: SourceX tarball generation or download is documented.
>      Note: Package contains tarball without URL, check comments
> [-]: Description and summary sections in the package spec file contains
>      translations for supported Non-English languages, if available.
> [-]: 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]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
> [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: hdfview-2.13.0-1.fc26.noarch.rpm
>           jhdfobj-2.13.0-1.fc26.noarch.rpm
>           hdfview-doc-2.13.0-1.fc26.noarch.rpm
>           hdfview-2.13.0-1.fc26.src.rpm
> hdfview.noarch: W: no-documentation
> hdfview.noarch: W: no-manual-page-for-binary hdfview
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.
> H5Object_CreateGroupAbsoluteRelative.txt
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.
> H5Object_CreateFile.txt
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.
> H5Object_CreateGroupDataset.txt
> hdfview-doc.noarch: W: file-not-utf8
> /usr/share/doc/hdfview-doc/samples/tst0001.fits
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.groups.
> H5ObjectEx_G_Create.txt
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.
> H5Object_CreateAttribute.txt
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.
> H5Object_CreateGroup.txt
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.
> H5Object_ReadWrite.txt
> hdfview-doc.noarch: E: zero-length
> /usr/share/doc/hdfview-doc/examples/testfiles/examples.intro.
> H5Object_CreateDataset.txt
I removed the whole testfiles/ directory from the binary package.
It doesn't seem useful.

> hdfview.src: W: strange-permission getsources.sh 775
> hdfview.src: W: strange-permission hdfview 775
That's a known rpmlint bug: I have umask 002 here, and that's a perfectly fine value.
rpmlint shouldn't warn about that.

> hdfview.src:8: W: macro-in-comment %{version}
It's a bit of a hack, but I need to because it is used to generate
the download url: 'rpmspec -p ... | grep ^#Source0' in getsources.sh.

Spec URL: http://in.waw.pl/~zbyszek/fedora/hdfview/hdfview.spec
SRPM URL: http://in.waw.pl/~zbyszek/fedora/hdfview/hdfview-2.13.0-1.fc25.src.rpm
(note changed url)

Comment 11 Jos de Kloe 2016-12-15 13:12:57 UTC
Thanks! Seems almost done now. The versioned dependency clearly did the trick. hdfview is functioning correctly now on my side.

One final thing is the directory ownership of /usr/share/mime, and /usr/share/mime/packages

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

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


Issues:
=======
- Package installs properly.
  Note: Installation errors (see attachment)
  ==>not applicable. see my note at the bottom in the generic section.

===== 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.
     present in BUILD/hdfview-2.13.0-Source/COPYING
[x]: License file installed when any subpackage combination is installed.
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/mime,
     /usr/share/mime/packages
these 2 dirs are provided by the shared-mime-info
so that should be another Requirement I think.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: 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.
[-]: 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]: update-desktop-database is invoked in %post and %postun if package
     contains desktop file(s) with a MimeType: entry.
     Note: desktop file(s) with MimeType entry in hdfview
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in hdfview
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[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 requires other packages for directories it uses.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[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]: 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
     Note: Maven packages do not need to (Build)Require jpackage-utils. It
     is pulled in by maven-local
[x]: Javadoc documentation files are generated and included in -javadoc
     subpackage
[x]: Javadoc subpackages should not have Requires: jpackage-utils
[x]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)

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

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

Generic:
[x]: update-mime-database is invoked in %post and %postun if package stores
     mime configuration in /usr/share/mime/packages.
     Note: mimeinfo files in: hdfview
     See:
     http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo
[-]: 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 jhdfobj
     , hdfview-doc , hdfview-javadoc
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[-]: 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]: 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]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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: Mock build failed
JK==>not true. Manual install of pre-build new versions of
     jhdf5 and jhdf is needed in mock though, before the build can be done.
     See the links in comment #7 of this 'bug'
     fedora-review launches a new mock to test installing the rpm's
     and does not take the pre-populated mock into account.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: hdfview-2.13.0-1.fc26.noarch.rpm
          jhdfobj-2.13.0-1.fc26.noarch.rpm
          hdfview-doc-2.13.0-1.fc26.noarch.rpm
          hdfview-javadoc-2.13.0-1.fc26.noarch.rpm
          hdfview-2.13.0-1.fc26.src.rpm
hdfview.noarch: W: no-documentation
hdfview.noarch: W: no-manual-page-for-binary hdfview
hdfview-doc.noarch: W: file-not-utf8 /usr/share/doc/hdfview/samples/tst0001.fits
hdfview.src: W: strange-permission hdfview 775
hdfview.src: W: strange-permission getsources.sh 775
hdfview.src:8: W: macro-in-comment %{version}
hdfview.src: W: invalid-url Source0: hdfview-2.13.0-nolibs.tar.xz
5 packages and 0 specfiles checked; 0 errors, 7 warnings.




Requires
--------
hdfview (rpmlib, GLIBC filtered):
    /bin/sh
    desktop-file-utils
    hicolor-icon-theme
    java
    java-headless
    javapackages-tools
    jhdfobj
    mvn(edu.ucar:cdm)
    mvn(gov.nasa.gsfc.heasarc:nom-tam-fits)
    mvn(org.hdfgroup:jhdf)
    mvn(org.hdfgroup:jhdf5)
    mvn(org.slf4j:slf4j-api)
    mvn(org.slf4j:slf4j-simple)

hdfview-doc (rpmlib, GLIBC filtered):
    hdfview-javadoc

jhdfobj (rpmlib, GLIBC filtered):
    java-headless
    javapackages-tools
    mvn(org.hdfgroup:jhdf)
    mvn(org.hdfgroup:jhdf5)
    mvn(org.slf4j:slf4j-api)

hdfview-javadoc (rpmlib, GLIBC filtered):
    javapackages-tools



Provides
--------
hdfview:
    appdata()
    appdata(hdfview.appdata.xml)
    application()
    application(hdfview.desktop)
    hdfview
    mimehandler(application/x-hdf)
    mimehandler(application/x-hdf5)
    mvn(org.hdfgroup:jhdfview)

hdfview-doc:
    hdfview-doc

jhdfobj:
    jhdfobj
    mvn(org.hdfgroup:jhdfobj)

hdfview-javadoc:
    hdfview-javadoc



Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -o  -n -n hdfview
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, Java
Disabled plugins: C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 12 Zbigniew Jędrzejewski-Szmek 2016-12-15 15:08:32 UTC
Ownership fixed.

Spec URL: http://in.waw.pl/~zbyszek/fedora/hdfview/hdfview.spec
SRPM URL: http://in.waw.pl/~zbyszek/fedora/hdfview/hdfview-2.13.0-1.fc25.src.rpm

The only change is the addition of  /usr/share/mime, /usr/share/mime/packages to %files. (The alternative would be to require share-mimo-info, but shared-mimo-info is 2+ MB and pulls in glib2.)

Comment 13 Jos de Kloe 2016-12-15 18:37:03 UTC
Thanks. I am happy with this version, so this package is: Approved.

Comment 14 Zbigniew Jędrzejewski-Szmek 2016-12-15 19:15:38 UTC
Thank you for the review!

Comment 15 Gwyn Ciesla 2016-12-15 19:19:53 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/hdfview

Comment 16 Zbigniew Jędrzejewski-Szmek 2017-03-07 03:07:52 UTC
This is only for F26+, and has been built there.


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