Bug 914941 - (plasmate) Review Request: plasmate - IDE tailored for development of Plasma components
Review Request: plasmate - IDE tailored for development of Plasma components
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Kevin Kofler
Fedora Extras Quality Assurance
:
Depends On:
Blocks: kde-reviews kde-4.10
  Show dependency treegraph
 
Reported: 2013-02-23 11:25 EST by Rex Dieter
Modified: 2013-03-25 19:06 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-03-25 19:06:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
kevin: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Rex Dieter 2013-02-23 11:25:30 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/plasmate/plasmate.spec
SRPM URL: http://rdieter.fedorapeople.org/rpms/plasmate/plasmate-1.0-0.2.beta1.fc18.src.rpm
Description: A small IDE taylored for development of Plasma components, such as Widgets, Runners, Dataengines.

Fedora Account System Username: rdieter
Comment 1 Rex Dieter 2013-02-23 11:42:28 EST
scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=5047088

rpmlint *rpm x86_64/*.rpm
plasmate.x86_64: W: incoherent-version-in-changelog 0.1-0.2.beta1 ['1.0-0.2.beta1.fc18', '1.0-0.2.beta1']
plasmate.x86_64: E: zero-length /usr/share/kde4/apps/plasmate/konqueror.png
plasmate.x86_64: E: zero-length /usr/share/kde4/apps/plasmate/kmail.png
plasmate.x86_64: E: zero-length /usr/share/kde4/apps/plasmate/dolphin.png
plasmate.x86_64: E: zero-length /usr/share/kde4/apps/plasmate/systemsettings.png
plasmate.x86_64: W: no-manual-page-for-binary plasmaremoteinstaller
plasmate.x86_64: W: no-manual-page-for-binary plasmate
plasmate.x86_64: W: no-manual-page-for-binary plasmakconfigxteditor
plasmate.x86_64: W: no-manual-page-for-binary kwin-windowswitcherpreviewer
plasmate.x86_64: W: no-manual-page-for-binary plasmawallpaperviewer
plasmate.x86_64: W: no-manual-page-for-binary plasma-remote-widgets-browser
3 packages and 0 specfiles checked; 4 errors, 7 warnings.

interesting, will have to look into the zero-length .png's with upstream.
Comment 2 Rex Dieter 2013-03-05 15:31:44 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/plasmate/plasmate.spec
SRPM URL: http://rdieter.fedorapeople.org/rpms/plasmate/plasmate-1.0-1.fc18.src.rpm

%changelog
* Tue Mar 05 2013 Rex Dieter <rdieter@fedoraproject.org>  1.0-1
- 1.0
Comment 3 Kevin Kofler 2013-03-14 13:51:52 EDT
First glance: This should probably have a versioned Conflicts on kde-workspace because of %{_kde4_bindir}/plasmoidviewer, otherwise it looks OK. Running fedora-review now.
Comment 4 Kevin Kofler 2013-03-14 13:57:40 EDT
Also, this is a KDE package, so please use %cmake_kde4 instead of %{cmake}.
Comment 5 Rex Dieter 2013-03-14 14:25:57 EDT
Spec URL: http://rdieter.fedorapeople.org/rpms/plasmate/plasmate.spec
SRPM URL: http://rdieter.fedorapeople.org/rpms/plasmate/plasmate-1.0-3.fc18.src.rpm

%changelog
* Thu Mar 14 2013 Rex Dieter <rdieter@fedoraproject.org> 1.0-3
- use %%cmake_kde4
- Conflicts: kde-workspace < 4.10

* Fri Mar 08 2013 Rex Dieter <rdieter@fedoraproject.org> 1.0-2
- pull in upstream patch to correct KAboutData
Comment 6 Kevin Kofler 2013-03-14 17:26:47 EDT
Package Review
==============

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


Issues:
=======
- update-desktop-database is invoked when required
  Note: desktop file(s) in plasmate
  See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache
  - Uhm, fedora-review complains about the above, but I don't think this is valid, the application doesn't claim any MIME types, so update-desktop-database should not be needed.
See the end of the review for a summary of the issues.


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
     → verified, it's a plugin in the KDE plugin directory, not in the ld search path
[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.
  x no known patent problems
  x no emulator, no firmware, no binary-only or prebuilt components
[x]: %build honors applicable compiler flags or justifies otherwise.
  x %cmake_kde4 macro used
[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
  - no development files installed
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package complies to the Packaging Guidelines
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL", "LGPL (v2)", "*No copyright* LGPL (v2 or later)", "LGPL (v2 or
     later)", "GPL (v2 or later)", "Unknown or generated", "*No copyright*
     LGPL", "BSD (2 clause)". 8 files have unknown license. Detailed output of
     licensecheck:
     > GPL
     > ---
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/remote-widgets-browser/plasmafiltermodel.h
     GPLv2 or GPLv3 (or later as approved by KDE e.V.)
     > LGPL (v2)
     > ---------
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/engineexplorer/ktreeviewsearchline.h
     LGPLv2, compatible with any GPLv2+ by the upgrade clause in the LGPLv2
     > *No copyright* LGPL (v2 or later)
     > ---------------------------------
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/plasmate/templates/mainPlasmoid.py
     LGPLv2+ with missing author information. (It's a template, the author is expected to be filled in by whoever expands that template to working code.)
     > LGPL (v2 or later)
     > ------------------
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/plasmate/previewer/plasmoid/plasmoidview.h
     LPGLv2+
     > GPL (v2 or later)
     > -----------------
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/wallpaperviewer/wallpaperwidget.h
     GPLv2+
     > Unknown or generated
     > --------------------
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/wallpaperviewer/Messages.sh
     trivial one-line script, not copyrightable at all
     > *No copyright* LGPL
     > -------------------
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/plasmate/templates/mainDataEngine.rb
     LGPLv2+ with missing author information. (It's a template, the author is expected to be filled in by whoever expands that template to working code.)
     > BSD (2 clause)
     > --------------
     > /var/lib/mock/fedora-rawhide-i386/root/builddir/build/BUILD/plasmate-1.0/plasmoidviewer/main.cpp
     BSD (no advertising clause, GPL-compatible)
  ! While everything can be distributed under (GPLv2 or GPLv3), I think a breakdown per executable is useful. Plasmate itself and most other stuff appears to be GPLv2+, remote-widgets-browser is GPLv2 or GPLv3 (or later as approved by KDE e.V.), plasmoidviewer is BSD.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[!]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
  ! breakdown not clearly documented (see above)
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
  x plasmoidviewer moved here from kde-workspace, versioned Conflicts present, current kde-workspace does not 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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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 when required
     Note: icons in plasmate
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 30720 bytes in 1 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[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 if there is
     such a file.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[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 %doc.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[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
[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).
  ! invalid (zero-length) images in plasmate/previewer/windowswitcher/thumbnails
    from https://git.reviewboard.kde.org/r/105139/ , I added a comment there complaining about this issue, I don't think we can do much more until upstream fixes it


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

Generic:
[!]: Spec use %global instead of %define.
     Note: %define _python_bytecompile_errors_terminate_build 0
[!]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
  ! No LGPL nor BSD license copies included.
[x]: Final provides and requires are sane (see attachments).
[?]: 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.
[-]: 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]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[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: plasmate-1.0-3.fc20.i686.rpm
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/konqueror.png
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/kmail.png
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/dolphin.png
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/systemsettings.png
plasmate.i686: W: no-manual-page-for-binary plasmaremoteinstaller
plasmate.i686: W: no-manual-page-for-binary plasmate
plasmate.i686: W: no-manual-page-for-binary plasmakconfigxteditor
plasmate.i686: W: no-manual-page-for-binary kwin-windowswitcherpreviewer
plasmate.i686: W: no-manual-page-for-binary plasmawallpaperviewer
plasmate.i686: W: no-manual-page-for-binary plasma-remote-widgets-browser
1 packages and 0 specfiles checked; 4 errors, 6 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint plasmate
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/konqueror.png
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/kmail.png
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/dolphin.png
plasmate.i686: E: zero-length /usr/share/kde4/apps/plasmate/systemsettings.png
plasmate.i686: W: no-manual-page-for-binary plasmaremoteinstaller
plasmate.i686: W: no-manual-page-for-binary plasmate
plasmate.i686: W: no-manual-page-for-binary plasmakconfigxteditor
plasmate.i686: W: no-manual-page-for-binary kwin-windowswitcherpreviewer
plasmate.i686: W: no-manual-page-for-binary plasmawallpaperviewer
plasmate.i686: W: no-manual-page-for-binary plasma-remote-widgets-browser
1 packages and 0 specfiles checked; 4 errors, 6 warnings.
# echo 'rpmlint-done:'



Requires
--------
plasmate (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/env
    kde-runtime
    libQtCore.so.4
    libQtDBus.so.4
    libQtDeclarative.so.4
    libQtGui.so.4
    libQtNetwork.so.4
    libQtSvg.so.4
    libQtWebKit.so.4
    libQtXml.so.4
    libc.so.6
    libgcc_s.so.1
    libgpg-error.so.0
    libgpgme++-pthread.so.2
    libgpgme-pthread.so.11
    libkdeclarative.so.5
    libkdecore.so.5
    libkdeui.so.5
    libkio.so.5
    libknewstuff3.so.4
    libkparts.so.4
    libkpimutils.so.4
    libktexteditor.so.4
    libm.so.6
    libnepomuk.so.4
    libnepomukutils.so.4
    libplasma.so.3
    libpthread.so.0
    libqgpgme.so.1
    libsoprano.so.4
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    rtld(GNU_HASH)



Provides
--------
plasmate:
    plasma4(applet-studiopreviewer)
    plasma4(containment-studiopreviewer)
    plasma_containment_studiopreviewer.so
    plasmate
    plasmate(x86-32)



Unversioned so-files
--------------------
plasmate: /usr/lib/kde4/plasma_containment_studiopreviewer.so

MD5-sum check
-------------
http://download.kde.org/stable/plasmate/1.0/src/plasmate-1.0.tar.gz :
  CHECKSUM(SHA256) this package     : 5e9486a76faf7fbf11ac0a9c8275eea7b037662508217928f052434d65611e28
  CHECKSUM(SHA256) upstream package : 5e9486a76faf7fbf11ac0a9c8275eea7b037662508217928f052434d65611e28


Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29
Buildroot used: fedora-rawhide-i386
Command line :/bin/fedora-review -b 914941 -m fedora-rawhide-i386

=================================================================================

MUST:
* use a more detailed License tag, or at least document the breakdown in a comment (but this can be fixed before or after import)

SHOULD:
* Does %global work for _python_bytecompile_errors_terminate_build or does this have to be a %define?
* get missing licenses added upstream
* run plasma-dataengine-depextractor? Or can we expect the studiopreviewer to never need a data engine?

APPROVED (conditional on documenting the license breakdown more precisely)
Comment 7 Rex Dieter 2013-03-14 22:57:19 EDT
New Package SCM Request
=======================
Package Name: plasmate
Short Description: IDE tailored for development of Plasma components
Owners: than rdieter jreznik kkofler ltinkl rnovacek
Branches: f17 f18 f19
InitialCC:
Comment 8 Jon Ciesla 2013-03-15 08:45:51 EDT
Git done (by process-git-requests).
Comment 9 Kevin Kofler 2013-03-15 13:49:33 EDT
> APPROVED (conditional on documenting the license breakdown more precisely)

For the record, I can confirm that the version that was imported addresses this, so:
APPROVED
Comment 10 Rex Dieter 2013-03-16 14:36:05 EDT
imported/built for rawhide.
Comment 11 Fedora Update System 2013-03-16 14:37:38 EDT
plasmate-1.0-4.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/plasmate-1.0-4.fc17
Comment 12 Fedora Update System 2013-03-16 14:37:38 EDT
plasmate-1.0-4.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/plasmate-1.0-4.fc18
Comment 13 Fedora Update System 2013-03-17 22:28:02 EDT
plasmate-1.0-4.fc17 has been pushed to the Fedora 17 testing repository.
Comment 14 Fedora Update System 2013-03-25 19:06:18 EDT
plasmate-1.0-4.fc18 has been pushed to the Fedora 18 stable repository.
Comment 15 Fedora Update System 2013-03-25 19:06:36 EDT
plasmate-1.0-4.fc17 has been pushed to the Fedora 17 stable repository.

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