Bug 1299127

Summary: Review Request: virtualplanet - An atlas for planets surface formations
Product: [Fedora] Fedora Reporter: Mattia Verga <mattia.verga>
Component: Package ReviewAssignee: Christian Dersch <lupinix.fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: lupinix.fedora, package-review, projects.rg
Target Milestone: ---Flags: lupinix.fedora: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-26 18:08:26 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: 1159999    

Description Mattia Verga 2016-01-16 09:58:51 UTC
Spec URL: http://www.coolbits.it/fedora/virtualplanet.spec
SRPM URL: http://www.coolbits.it/fedora/virtualplanet-1.0-5.20151220svn.fc23.src.rpm
Description: Virtual Planets Atlas displays surface information for planets
Mars, Venus and Mercury.
It is based on the interface of well known Virtual Moon Atlas
Fedora Account System Username: mattia

Comment 1 Upstream Release Monitoring 2016-01-16 14:58:09 UTC
mattia's scratch build of virtualplanet-1.0-5.20151220svn.fc23.src.rpm for rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=12575431

Comment 2 Upstream Release Monitoring 2016-01-22 18:09:16 UTC
mattia's scratch build of virtualplanet-1.0-6.20160119svn99.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12650594

Comment 3 Mattia Verga 2016-01-22 18:12:41 UTC
Spec URL: http://www.coolbits.it/fedora/virtualplanet.spec
SRPM URL: http://www.coolbits.it/fedora/virtualplanet-1.0-6.20160119svn99.fc23.src.rpm

* Fri Jan 22 2016 Mattia Verga <mattia.verga> - 1.0-6.20160119svn99
- Update svn revision to fix ARM build
- Moved tests into %%check
- Added architecture to libpasastro dependency

Comment 4 Christian Dersch 2016-03-06 17:51:54 UTC
Taken!

Comment 5 Christian Dersch 2016-03-06 19:38:36 UTC
Review done, there are some things to fix (see below). Btw: I'll add this package to Astronomy Spin once it is approved. Looks like a nice feature, thank you for taking this up :)


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

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


Issues:
=======
- Package installs properly.
  Note: Installation errors (see attachment)
  See: https://fedoraproject.org/wiki/Packaging:Guidelines

===> Looks like typical false positive appearing for months now

- 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.
  Note: License file LICENSE is marked as %doc instead of %license
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text

===> Next false positive... Maybe %doc includes the file too, but as it is present in %license => OK

- 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 virtualplanet
  See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-
  database

===> Please fix this!

- Investigate licenses (maybe ask upstream)

- Fix directory ownerships


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "LGPL (v2 or later)", "MPL (v1.1) LGPL (unversioned/unknown
     version)", "GPL (v3 or later)", "Unknown or generated", "MIT/X11 (BSD
     like)", "MPL (v1.1)", "zlib/libpng MPL (v1.1)", "*No copyright* MPL
     (v1.1) LGPL (unversioned/unknown version)", "BSD (3 clause)", "GPL (v2
     or later)", "MPL (v1.1) GPL (unversioned/unknown version)". 432 files
     have unknown license. Detailed output of licensecheck in
     /home/review/1299127-virtualplanet/licensecheck.txt

===> Please investigate in detail, looks like we have a case of https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#Mixed_Source_Licensing_Scenario

[x]: License file installed when any subpackage combination is installed.
[!]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/doc/virtualplanet,
     /usr/share/virtualplanet, /usr/share/virtualplanet/data

===> Fix required

[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/doc/virtualplanet,
     /usr/share/virtualplanet/data, /usr/share/virtualplanet

===> Fix required

[x]: %build honors applicable compiler flags or justifies otherwise.
[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]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in virtualplanet
[x]: Useful -debuginfo package or justification otherwise.
[-]: Package is not known to require an ExcludeArch tag.

===> We are limited to architectures supported by fpc

[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 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]: 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

===== 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).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     virtualplanet-doc , virtualplanet-data-base , virtualplanet-debuginfo
[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]: 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.

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

Generic:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
     See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint

===> False positive

[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Installation errors
-------------------
INFO: mock.py version 1.2.15 starting (python version = 3.4.3)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled dnf cache
Start: cleaning dnf metadata
Finish: cleaning dnf metadata
Mock Version: 1.2.15
INFO: Mock Version: 1.2.15
Finish: chroot init
INFO: installing package(s): /home/review/1299127-virtualplanet/results/virtualplanet-1.0-6.20160119svn99.fc25.x86_64.rpm /home/review/1299127-virtualplanet/results/virtualplanet-doc-1.0-6.20160119svn99.fc25.noarch.rpm /home/review/1299127-virtualplanet/results/virtualplanet-data-base-1.0-6.20160119svn99.fc25.noarch.rpm /home/review/1299127-virtualplanet/results/virtualplanet-debuginfo-1.0-6.20160119svn99.fc25.x86_64.rpm /home/review/1299127-virtualplanet/results/virtualplanet-debuginfo-1.0-6.20160119svn99.fc25.x86_64.rpm
ERROR: Command failed. See logs for output.
 # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 25 --disableplugin=local --setopt=deltarpm=false install /home/review/1299127-virtualplanet/results/virtualplanet-1.0-6.20160119svn99.fc25.x86_64.rpm /home/review/1299127-virtualplanet/results/virtualplanet-doc-1.0-6.20160119svn99.fc25.noarch.rpm /home/review/1299127-virtualplanet/results/virtualplanet-data-base-1.0-6.20160119svn99.fc25.noarch.rpm /home/review/1299127-virtualplanet/results/virtualplanet-debuginfo-1.0-6.20160119svn99.fc25.x86_64.rpm /home/review/1299127-virtualplanet/results/virtualplanet-debuginfo-1.0-6.20160119svn99.fc25.x86_64.rpm --setopt=tsflags=nocontexts
WARNING: unable to delete selinux filesystems (/tmp/mock-selinux-plugin.6e0tg2jr): [Errno 1] Operation not permitted: '/tmp/mock-selinux-plugin.6e0tg2jr'


Rpmlint
-------
Checking: virtualplanet-1.0-6.20160119svn99.fc25.x86_64.rpm
          virtualplanet-doc-1.0-6.20160119svn99.fc25.noarch.rpm
          virtualplanet-data-base-1.0-6.20160119svn99.fc25.noarch.rpm
          virtualplanet-debuginfo-1.0-6.20160119svn99.fc25.x86_64.rpm
          virtualplanet-1.0-6.20160119svn99.fc25.src.rpm
virtualplanet.x86_64: E: explicit-lib-dependency libpasastro(x86-64)
virtualplanet.x86_64: W: no-manual-page-for-binary virtualplanet
virtualplanet-data-base.noarch: W: no-documentation
virtualplanet.src: W: strange-permission generate-tarball.sh 755
virtualplanet.src:88: W: configure-without-libdir-spec
virtualplanet.src: W: invalid-url Source0: virtualplanet-1.0-src-99-nopatents.tar.xz
5 packages and 0 specfiles checked; 1 errors, 5 warnings.

===> error is false positive, libpasastro is some kind of plugin here


Requires
--------
virtualplanet-data-base (rpmlib, GLIBC filtered):
    virtualplanet

virtualplanet (rpmlib, GLIBC filtered):
    /bin/sh
    libGL.so.1()(64bit)
    libGLU.so.1()(64bit)
    libX11.so.6()(64bit)
    libXxf86vm.so.1()(64bit)
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libdl.so.2()(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgmodule-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgthread-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpasastro(x86-64)
    libpthread.so.0()(64bit)
    virtualplanet-data-base

virtualplanet-doc (rpmlib, GLIBC filtered):
    virtualplanet

virtualplanet-debuginfo (rpmlib, GLIBC filtered):



Provides
--------
virtualplanet-data-base:
    virtualplanet-data-base

virtualplanet:
    application()
    application(virtualplanet.desktop)
    virtualplanet
    virtualplanet(x86-64)

virtualplanet-doc:
    virtualplanet-doc

virtualplanet-debuginfo:
    virtualplanet-debuginfo
    virtualplanet-debuginfo(x86-64)



Source checksums
----------------
http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_JPLeph.tgz :
  CHECKSUM(SHA256) this package     : 0183ce4f01fce6f15640c40e1af7e169398eab885bd506e56a0552ee4c09c7b8
  CHECKSUM(SHA256) upstream package : 0183ce4f01fce6f15640c40e1af7e169398eab885bd506e56a0552ee4c09c7b8
http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mars.tgz :
  CHECKSUM(SHA256) this package     : d3f1d88211e597d6f581b462f1532f96a675aac6bfbe2108799d2b6bc6bdd9ab
  CHECKSUM(SHA256) upstream package : d3f1d88211e597d6f581b462f1532f96a675aac6bfbe2108799d2b6bc6bdd9ab
http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Overlay.tgz :
  CHECKSUM(SHA256) this package     : b6faf2cd1775f61372a421b1a971279e44a04a764c5d6067a63c3aa951d1b4ef
  CHECKSUM(SHA256) upstream package : b6faf2cd1775f61372a421b1a971279e44a04a764c5d6067a63c3aa951d1b4ef
http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mars_Historical.tgz :
  CHECKSUM(SHA256) this package     : 03e7c658b517b25678af63af71d08957f195b110550b576b4706403d1dca0d73
  CHECKSUM(SHA256) upstream package : 03e7c658b517b25678af63af71d08957f195b110550b576b4706403d1dca0d73
http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mercury.tgz :
  CHECKSUM(SHA256) this package     : afa5cfab2f922076cca92a75c47b7e68b6d1e1675985589ad11f86d6f7ce6e5e
  CHECKSUM(SHA256) upstream package : afa5cfab2f922076cca92a75c47b7e68b6d1e1675985589ad11f86d6f7ce6e5e
http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Venus.tgz :
  CHECKSUM(SHA256) this package     : f1743f7eb41eb0c4aeb98713969120db212239c3a4b30d3da110ed84583a5407
  CHECKSUM(SHA256) upstream package : f1743f7eb41eb0c4aeb98713969120db212239c3a4b30d3da110ed84583a5407
http://sourceforge.net/projects/virtualplanet/files/9-Source_Data/VPA_Base_Texture_Mercury_Historical.tgz :
  CHECKSUM(SHA256) this package     : 664b015ee7124373834f4be0b9a145e0ce270d63c4e4104801a9971d97606daa
  CHECKSUM(SHA256) upstream package : 664b015ee7124373834f4be0b9a145e0ce270d63c4e4104801a9971d97606daa


Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
Command line :/usr/bin/fedora-review -v -m fedora-rawhide-x86_64 -b 1299127
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 6 Raphael Groner 2016-03-07 07:57:11 UTC
IMHO the ExcludeArch entry violates guidelines and must be adjusted every times the pascal compiler gets ported to a new architecture and means a (small) mass rebuild.
https://fedoraproject.org/wiki/Packaging:Guidelines#Architecture_Build_Failures
https://fedoraproject.org/wiki/EPEL:Packaging#Limited_Arch_Packages

Please block with this review all trackers for excluded architectures, as explained in the guidelines.

Better would be to do it similiar how we handle such an issue already for mono packages to allow explicitly supported architectures, instead of to forbid the failing ones.
Maybe: ExclusiveArch: %{fpc_arches}

But that would need a FPC (Fedora Packaging Committee) ticket to introduce the new dynamic macro for supported architectures and means a start for Pascal package guidelines.

Comment 7 Mattia Verga 2016-03-12 08:34:45 UTC
(In reply to Raphael Groner from comment #6)
> IMHO the ExcludeArch entry violates guidelines and must be adjusted every
> times the pascal compiler gets ported to a new architecture and means a
> (small) mass rebuild.
> https://fedoraproject.org/wiki/Packaging:
> Guidelines#Architecture_Build_Failures
> https://fedoraproject.org/wiki/EPEL:Packaging#Limited_Arch_Packages
> 

Yes, I usually create a bug blocking all relevant archs  when the package gets approved, as stated in the guidelines:
"New packages will not have bugzilla entries during the review process, so they should put this description in the comment until the package is approved, then file the bugzilla entry, and replace the long explanation with the bug number."

The %{fpc_arches} macro would be nice, I will ask FPC to do that.

Comment 8 Mattia Verga 2016-03-12 10:54:52 UTC
Spec URL: http://www.coolbits.it/fedora/virtualplanet.spec
SRPM URL: http://www.coolbits.it/fedora/virtualplanet-1.0-7.20160119svn99.fc23.src.rpm

%changelog
* Sat Mar 12 2016 Mattia Verga <mattia.verga> - 1.0-7.20160119svn99
- Fix directories ownership
- Add update-desktop-database scripts
- Use ExclusiveArch instead of ExcludeArch
- Correct license to reflect some components only MPLv1.1

Comment 9 Christian Dersch 2016-03-12 12:11:04 UTC
Issues fixed, a new run of fedora-review showed no new issues => Approved!

@%{fpc_arches}: Nice idea!

Comment 10 Christian Dersch 2016-03-12 12:12:06 UTC
Btw: I will include the package into F24 Astronomy spin once it is in repository

Comment 11 Gwyn Ciesla 2016-03-14 13:22:40 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/virtualplanet

Comment 12 Fedora Update System 2016-03-14 17:52:07 UTC
virtualplanet-1.0-7.20160119svn99.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-ffcb72bbab

Comment 13 Fedora Update System 2016-03-15 21:31:21 UTC
virtualplanet-1.0-7.20160119svn99.fc24 has been pushed to the Fedora 24 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-ffcb72bbab

Comment 14 Fedora Update System 2016-03-26 18:08:23 UTC
virtualplanet-1.0-7.20160119svn99.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.