Bug 1294211 (marble-widget) - Review Request: marble-widget - Marble Widget Library for Qt4
Summary: Review Request: marble-widget - Marble Widget Library for Qt4
Keywords:
Status: CLOSED RAWHIDE
Alias: marble-widget
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Raphael Groner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: kde-reviews
TreeView+ depends on / blocked
 
Reported: 2015-12-25 12:59 UTC by Rex Dieter
Modified: 2016-01-13 10:05 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-01-13 10:05:23 UTC
Type: ---
Embargoed:
projects.rg: fedora-review+


Attachments (Terms of Use)

Description Rex Dieter 2015-12-25 12:59:31 UTC
Spec URL: https://rdieter.fedorapeople.org/rpms/marble-widget/marble-widget.spec
SRPM URL: https://rdieter.fedorapeople.org/rpms/marble-widget/marble-widget-15.08.3-50.fc23.src.rpm
Description: Marble Widget Library for Qt4
Fedora Account System Username: rdieter

Compatibility package, since newer versions of marble (15.12+) dropped Qt4 support.

Comment 1 Rex Dieter 2015-12-25 13:18:24 UTC
Scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=12308855

Comment 2 Upstream Release Monitoring 2015-12-25 13:29:09 UTC
rdieter's scratch build of marble-widget-15.08.3-50.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12308855

Comment 3 Raphael Groner 2015-12-25 16:19:03 UTC
Are you interested in a review swap? Maybe lxqt-sudo (bug #1293156) or  lximage-qt (rhbz#1293075) is for you.

Comment 4 Raphael Groner 2015-12-25 16:19:59 UTC
sorry, typo: lximage-qt (bug #1293075)

Comment 5 Rex Dieter 2015-12-28 20:16:55 UTC
ok, I'll do at least one (or both as time permits)

Comment 6 Raphael Groner 2016-01-09 14:37:11 UTC
Why do we need marble-widget still with Qt4 support? I fear a compat package would complicate things a lot. Please tell what packages depend on it.

Comment 7 Rex Dieter 2016-01-09 15:08:01 UTC
So far, only calligra and libkgeomap still need it

Comment 8 Kevin Kofler 2016-01-09 17:32:30 UTC
I don't see how such a simple compat package "complicates things" in any way. You don't have to do the review if you don't like this package.

Comment 9 Raphael Groner 2016-01-10 10:24:27 UTC
- as stated on the old one. Please update URL.
"The Marble website has moved to marble.kde.org"

- Do you mean stable instead of unstable?
"The requested URL /unstable/applications/15.08.3/src/marble-15.08.3.tar.xz was not found on this server."

- Do we expect upstream to accept still those patches for the qt4 branch?

- Maybe add a comment about the discontinued qt4 branch, so we don't confuse with a further update that happens for Qt5 only in the separated marble main package.

- Subpackage widget-data exists in both marble-widget.spec and marble.spec files. How to difference between both with different versions (15.08.3 vs. 15.12.0)? Do you really want to name it marble-widget-widget-data (mind twice widget) in case of marble-widget.spec? That can not work with Requires:  %{name}-data . There's no %files widget-data in marble-widget.spec, so I guess it's just a copy-paste error somehow?

- Why exclude astro as it has been activated in the old subpackage from marble.spec? Is that a plugin and now obsolete?
>  -DBUILD_MARBLE_PLUGINS:BOOL=OFF

- The mobile switch gets turned ON in marble-widget.spec but it was OFF in marble.spec?
>  -DMOBILE:BOOL=OFF

Comment 10 Raphael Groner 2016-01-10 11:55:49 UTC
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
=> ignore

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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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.
[!]: 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.
=> Dependency to marble-common that includes license file from marble.spec?
   Please include the license file in marble-widget package to prevent any
   confusion about weird implicitly assumed dependency. We should not rely
   on a license of another separate package, also if it's just for
   compatibility cause license could change in future and we want not for 
   the compat package.
[x]: 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)", "GPL (v2 or later)", "GPL (v3 or later)",
     "Unknown or generated", "*No copyright* BSD (3 clause)", "*No
     copyright* BSD (2 clause)", "QPL", "zlib/libpng", "MIT/X11 (BSD
     like)", "LGPL (v3 or later)", "BSD (3 clause)", "LGPL (v2.1 or
     later)", "*No copyright* LGPL (v2.1 or later)". 3789 files have
     unknown license. Detailed output of licensecheck in /home/builder
     /fedora-review/1294211-marble-widget/licensecheck.txt
=> Compat package, license is the same as in marble.
[?]: License file installed when any subpackage combination is installed.
=> see above
[!]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/include/marble(marble-
     widget-qt5-devel, marble-widget-devel)
=> see my comment about marble-widget-data / marble-widget-widget-data
[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.
[-]: Package contains desktop file if it is a GUI application.
[x]: 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]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[!]: Package complies to the Packaging Guidelines
=> Please fix license issue.
[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 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]: 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

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

Generic:
[-]: 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 marble-
     widget-devel , marble-widget-debuginfo
[x]: Package functions as described.
[-]: 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]: Scriptlets must be sane, if used.
[-]: 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.
[-]: %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]: Uses parallel make %{?_smp_mflags} macro.
[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
[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.14 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
INFO: enabled ccache
Mock Version: 1.2.14
INFO: Mock Version: 1.2.14
Finish: chroot init
INFO: installing package(s): /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-15.08.3-50.fc24.x86_64.rpm /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-devel-15.08.3-50.fc24.x86_64.rpm /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-debuginfo-15.08.3-50.fc24.x86_64.rpm /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-debuginfo-15.08.3-50.fc24.x86_64.rpm
ERROR: Command failed. See logs for output.
 # /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 24 --setopt=deltarpm=false install /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-15.08.3-50.fc24.x86_64.rpm /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-devel-15.08.3-50.fc24.x86_64.rpm /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-debuginfo-15.08.3-50.fc24.x86_64.rpm /home/builder/fedora-review/1294211-marble-widget/results/marble-widget-debuginfo-15.08.3-50.fc24.x86_64.rpm --setopt=tsflags=nocontexts


Rpmlint
-------
Checking: marble-widget-15.08.3-50.fc24.x86_64.rpm
          marble-widget-devel-15.08.3-50.fc24.x86_64.rpm
          marble-widget-debuginfo-15.08.3-50.fc24.x86_64.rpm
          marble-widget-15.08.3-50.fc24.src.rpm
marble-widget.x86_64: W: no-documentation
marble-widget-devel.x86_64: W: only-non-binary-in-usr-lib
marble-widget-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 3 warnings.




Requires
--------
marble-widget (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libQtCore.so.4()(64bit)
    libQtDBus.so.4()(64bit)
    libQtDeclarative.so.4()(64bit)
    libQtGui.so.4()(64bit)
    libQtNetwork.so.4()(64bit)
    libQtScript.so.4()(64bit)
    libQtSvg.so.4()(64bit)
    libQtWebKit.so.4()(64bit)
    libQtXml.so.4()(64bit)
    libastro.so.1()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libphonon.so.4()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.8)(64bit)
    marble-widget-data
    rtld(GNU_HASH)

marble-widget-devel (rpmlib, GLIBC filtered):
    libmarblewidget.so.22()(64bit)
    marble-widget(x86-64)

marble-widget-debuginfo (rpmlib, GLIBC filtered):



Provides
--------
marble-widget:
    kdeedu-marble-libs
    libmarblewidget.so.22()(64bit)
    marble-libs
    marble-libs(x86-64)
    marble-part
    marble-part(x86-64)
    marble-widget
    marble-widget(x86-64)

marble-widget-devel:
    marble-devel
    marble-widget-devel
    marble-widget-devel(x86-64)

marble-widget-debuginfo:
    marble-widget-debuginfo
    marble-widget-debuginfo(x86-64)



Source checksums
----------------
http://download.kde.org/stable/applications/15.08.3/src/marble-15.08.3.tar.xz :
  CHECKSUM(SHA256) this package     : 743131cd37e6c42b178497fa3cda012b926587b4ebc094bb7276e02fb4e62844
  CHECKSUM(SHA256) upstream package : 743131cd37e6c42b178497fa3cda012b926587b4ebc094bb7276e02fb4e62844


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 -x CheckOwnDirs -b 1294211
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 11 Rex Dieter 2016-01-10 13:48:20 UTC
https://rdieter.fedorapeople.org/rpms/marble-widget/marble-widget.spec
https://rdieter.fedorapeople.org/rpms/marble-widget/marble-widget-15.08.3-51.fc23.src.rpm

%changelog
* Sun Jan 10 2016 Rex Dieter <rdieter> 1:15.08.3-51
- %%license LICENSE.txt
- remove reference to unused marble-data subpkg
- -devel: Conflicts: marble-widget-qt5-devel
- update URL, simplify Source0 URL

For remaining questions:

- Do we expect upstream to accept still those patches for the qt4 branch?

I have upstream commit access and strictly the older branches are not closed, but since there's going to be no new releases based on this branch, upstreaming anything isn't very helpful.

- Maybe add a comment about the discontinued qt4 branch

a .spec comment?  Maybe for posterity, but our current maintainers are well aware of the situation.


- Subpackage widget-data exists in both marble-widget.spec and marble.spec files. How to difference between both with different versions (15.08.3 vs. 15.12.0)? Do you really want to name it marble-widget-widget-data (mind twice widget) in case of marble-widget.spec? That can not work with Requires:  %{name}-data . There's no %files widget-data in marble-widget.spec, so I guess it's just a copy-paste error somehow?

This package does not produce any widget-data subpkg, but there was an extraneous 
%package widget-data
reference which is now removed.

- Why exclude astro as it has been activated in the old subpackage from marble.spec? Is that a plugin and now obsolete?

Using system astro (from main marble package), see
BuildRequires: marble-astro-devel

- The mobile switch gets turned ON in marble-widget.spec but it was OFF in marble.spec?

All apps are already disabled from building, no need to explicitly exlude it (again).  We're only building libmarble

Comment 12 Upstream Release Monitoring 2016-01-10 14:12:40 UTC
rdieter's scratch build of marble-widget-15.08.3-51.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12490588

Comment 13 Raphael Groner 2016-01-10 21:53:25 UTC
Thanks for all the explanation. I do not see any blockers. APPROVED

Still one advice:

[ ]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/kde4/apps/cmake,
     /usr/share/kde4/apps, /usr/share/kde4,
     /usr/share/kde4/apps/cmake/modules

That should be fixed, you have only BuildRequires: kde-filesystem
Please add also:
Requires: kde-filesystem

Please continue with our review swap, see bug #1293075.

Comment 14 Rex Dieter 2016-01-10 21:57:44 UTC
kdelibs is pulled in via library deps, which already Requires: kde-filesystem itself

Comment 15 Rex Dieter 2016-01-11 00:06:06 UTC
Hrm... I take that back, marble-widget appears to be Qt-only, I'll add the dep after import.

Comment 16 Gwyn Ciesla 2016-01-11 19:29:15 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/marble-widget

Comment 17 Raphael Groner 2016-01-13 10:05:23 UTC
Fixed in Rawhide: http://koji.fedoraproject.org/koji/buildinfo?buildID=710528

Thanks!


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