Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1507104 - Review Request: vacuum-im - Cross platform Jabber client written on Qt
Summary: Review Request: vacuum-im - Cross platform Jabber client written on Qt
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Fedora Extras Quality Assurance
URL: http://www.vacuum-im.org/
Whiteboard:
Depends On: 1504591
Blocks: qt-reviews
TreeView+ depends on / blocked
 
Reported: 2017-10-27 17:38 UTC by MartinKG
Modified: 2017-11-03 19:52 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-10-31 09:16:25 UTC
Type: ---
Embargoed:
zebob.m: fedora-review+


Attachments (Terms of Use)

Description MartinKG 2017-10-27 17:38:45 UTC
Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/vacuum-im.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/vacuum-im-1.3.0-0.1.20170415git3f1cd42.fc26.src.rpm

Description:
The core program is just a plugin loader - all functionality is made
available via plugins. This enforces modularity and ensures well defined
component interaction via interfaces.

Fedora Account System Username: martinkg

%changelog
* Thu Oct 26 2017 Martin Gansser <martinkg> - 1.3.0-0.1.20170415git3f1cd42
- Add LFLAGS flag to fix unused-direct-shlib-dependency warnings
- Add %%{name}-unbundle-qxtglobalshortcut.patch
- Initial build

$ rpmlint -i -v vacuum-im.spec /home/martin/rpmbuild/SRPMS/vacuum-im-1.3.0-0.1.20170415git3f1cd42.fc26.src.rpm /home/martin/rpmbuild/RPMS/x86_64/vacuum-im-1.3.0-0.1.20170415git3f1cd42.fc26.x86_64.rpm /home/martin/rpmbuild/RPMS/noarch/vacuum-im-data-1.3.0-0.1.20170415git3f1cd42.fc26.noarch.rpm /home/martin/rpmbuild/RPMS/x86_64/vacuum-im-devel-1.3.0-0.1.20170415git3f1cd42.fc26.x86_64.rpm /home/martin/rpmbuild/RPMS/x86_64/vacuum-im-debuginfo-1.3.0-0.1.20170415git3f1cd42.fc26.x86_64.rpm
vacuum-im.spec: I: checking
vacuum-im.spec: I: checking-url https://github.com/Vacuum-IM/vacuum-im/archive/3f1cd420382a9470802b4694fa062089417f59a9/vacuum-im-3f1cd42.tar.gz (timeout 10 seconds)
vacuum-im.src: I: checking
vacuum-im.src: W: spelling-error %description -l en_US modularity -> molecularity
The value of this tag appears to be misspelled. Please double-check.

vacuum-im.src: I: checking-url http://www.vacuum-im.org/ (timeout 10 seconds)
vacuum-im.src: I: checking-url https://github.com/Vacuum-IM/vacuum-im/archive/3f1cd420382a9470802b4694fa062089417f59a9/vacuum-im-3f1cd42.tar.gz (timeout 10 seconds)
vacuum-im.x86_64: I: checking
vacuum-im.x86_64: W: spelling-error %description -l en_US modularity -> molecularity
The value of this tag appears to be misspelled. Please double-check.

vacuum-im.x86_64: I: checking-url http://www.vacuum-im.org/ (timeout 10 seconds)
vacuum-im.x86_64: W: no-manual-page-for-binary vacuum-im
Each executable in standard binary directories should have a man page.

vacuum-im-data.noarch: I: checking
vacuum-im-data.noarch: W: spelling-error Summary(en_US) translatons -> translations, translators, translator
The value of this tag appears to be misspelled. Please double-check.

vacuum-im-data.noarch: I: checking-url http://www.vacuum-im.org/ (timeout 10 seconds)
vacuum-im-data.noarch: W: no-documentation
The package contains no documentation (README, doc, etc). You have to include
documentation files.

vacuum-im-devel.x86_64: I: checking
vacuum-im-devel.x86_64: I: checking-url http://www.vacuum-im.org/ (timeout 10 seconds)
vacuum-im-devel.x86_64: W: only-non-binary-in-usr-lib
There are only non binary files in /usr/lib so they should be in /usr/share.

vacuum-im-devel.x86_64: W: no-documentation
The package contains no documentation (README, doc, etc). You have to include
documentation files.

vacuum-im-debuginfo.x86_64: I: checking
vacuum-im-debuginfo.x86_64: I: checking-url http://www.vacuum-im.org/ (timeout 10 seconds)
vacuum-im-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/vacuum-im-3f1cd420382a9470802b4694fa062089417f59a9/src/plugins/spellchecker/spellbackend.cpp
The file is installed with executable permissions, but was identified as one
that probably should not be executable.  Verify if the executable bits are
desired, and remove if not.

vacuum-im-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/vacuum-im-3f1cd420382a9470802b4694fa062089417f59a9/src/plugins/spellchecker/spellbackend.cpp
The Free Software Foundation address in this file seems to be outdated or
misspelled.  Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

vacuum-im-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/vacuum-im-3f1cd420382a9470802b4694fa062089417f59a9/src/plugins/spellchecker/spellbackend.h
The Free Software Foundation address in this file seems to be outdated or
misspelled.  Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

vacuum-im-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/vacuum-im-3f1cd420382a9470802b4694fa062089417f59a9/src/thirdparty/idle/idle.h
The Free Software Foundation address in this file seems to be outdated or
misspelled.  Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

5 packages and 1 specfiles checked; 3 errors, 8 warnings.

rpmlint reports E: incorrect-fsf-address was already reported upstream.
https://github.com/Vacuum-IM/vacuum-im/issues/942

Comment 1 Robert-André Mauchin 🐧 2017-10-29 15:31:17 UTC
Hello,

 - update-desktop-database is not needed for Fedora >= 24. Please remove them.

 - Remove %dir %{_libdir}/%{name}/plugins, it's marked as listed twice.


This is trivial, so the package is bccepted, but please don't forget to fix these before import.


Issues:
=======
- Package does not contain duplicates in %files.
  Note: warning: File listed twice: /usr/lib64/vacuum-im/plugins
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles


===== 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.
[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.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "GPL (v3 or later)", "Unknown or generated", "*No copyright*
     GPL", "MPL (v1.1) GPL (v2 or later) or LGPL (v2.1 or later)", "AFL
     (v2.1) BSD (3 clause)", "zlib/libpng", "BSD (3 clause)", "LGPL
     (v2.1)", "GPL (v2 or later) (with incorrect FSF address)", "BSD (2
     clause)", "GPL (v2.1) LGPL (v2.1)", "LGPL (v2.1 or later)". 2466 files
     have unknown license. Detailed output of licensecheck in
     /home/bob/packaging/review/vacuum-im/review-vacuum-im/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package does not own files or directories owned by other packages.
[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.
[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]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in vacuum-im
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 4 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]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[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]: 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:
[-]: 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 vacuum-
     im-data , vacuum-im-devel , vacuum-im-debuginfo , vacuum-im-
     debugsource
[?]: 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.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: 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]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[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.


Rpmlint
-------
Checking: vacuum-im-1.3.0-0.1.20170415git3f1cd42.fc28.x86_64.rpm
          vacuum-im-data-1.3.0-0.1.20170415git3f1cd42.fc28.noarch.rpm
          vacuum-im-devel-1.3.0-0.1.20170415git3f1cd42.fc28.x86_64.rpm
          vacuum-im-debuginfo-1.3.0-0.1.20170415git3f1cd42.fc28.x86_64.rpm
          vacuum-im-debugsource-1.3.0-0.1.20170415git3f1cd42.fc28.x86_64.rpm
          vacuum-im-1.3.0-0.1.20170415git3f1cd42.fc28.src.rpm
vacuum-im.x86_64: W: spelling-error %description -l en_US modularity -> molecularity
vacuum-im.x86_64: W: no-manual-page-for-binary vacuum-im
vacuum-im-data.noarch: W: spelling-error Summary(en_US) translatons -> translations, translators, translator
vacuum-im-data.noarch: W: no-documentation
vacuum-im-devel.x86_64: W: only-non-binary-in-usr-lib
vacuum-im-devel.x86_64: W: no-documentation
vacuum-im-debugsource.x86_64: W: no-documentation
vacuum-im.src: W: spelling-error %description -l en_US modularity -> molecularity
6 packages and 0 specfiles checked; 0 errors, 9 warnings.

Comment 2 MartinKG 2017-10-29 17:44:15 UTC
Thanks for reviewing this ticket.
Can you please reviewing the depending package qxtglobalshortcut.
https://bugzilla.redhat.com/show_bug.cgi?id=1504591

Comment 3 MartinKG 2017-10-29 19:31:34 UTC
Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/vacuum-im.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/vacuum-im-1.3.0-0.2.20171028git6b614da.fc26.src.rpm

%changelog
* Sun Oct 29 2017 Martin Gansser <martinkg> - 1.3.0-0.2.20171028git6b614da
- Update to 1.3.0-0.2.20171028git6b614da
- Do not run update-desktop-database on Fedora 25+ as per packaging guidelines
- Remove %%dir %%{_libdir}/%%{name}/plugins, it's marked as listed twice

Comment 4 Gwyn Ciesla 2017-10-30 23:38:31 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/vacuum-im

Comment 5 MartinKG 2017-10-31 09:16:25 UTC
package has been built successfully on f25, f26, f27 and rawhide.

Comment 6 Raphael Groner 2017-11-03 19:11:14 UTC
You should add the summary text also into descriptions to let users know what this package includes.

Comment 7 Rex Dieter 2017-11-03 19:25:34 UTC
A standard constructive criticism of mine too: I don't think it helps anything to mention "written in Qt" in package summaries (*maybe* additions to %description field)

Comment 8 MartinKG 2017-11-03 19:38:04 UTC
is this ok ?

vacuum-im.spec

Summary:        XMPP/Jabber client

...

%description
Full-featured cross platform Jabber/XMPP client.
The core program is just a plugin loader - all functionality is made
available via plugins. This enforces modularity and ensures well defined
component interaction via interfaces.


or should i add the main features to description also ?

Main Features
-------------
  * Nested roster groups
  * Multiple accounts in profile
  * Support for Adium message styles
  * Full support for Jabber conferences
  * Easy access to recent contacts and conferences
  * Ability to combine contact to meta-contact from several accounts
  * Storage of history both locally and on the server (XEP-136)
  * Create a bookmark at the conference with the possibility autologin
  * Support for CAPTCHA forms, with the possibility of transmission without the use of browser
  * Automated change of transport with preservation of names, groups, subscriptions and archive messages
  * Lists of privacy, with the possibility of ignoring or setting in invisible mode for individual contacts and groups
  * Multi-stage automatic change of status depending on the time of inactivity
  * Ability to set different status icons for individual contacts, and groups of contacts are connected through transport
  * Support for avatars with the ability to specify a contact an arbitrary image as an avatar
  * Ability to add annotation to contact

Comment 9 Rex Dieter 2017-11-03 19:52:05 UTC
I think the summary adjustment alone is sufficient to satisfy me... Listing all features in %description seems too much (and would change over time, you want this to stay fairly consistent)


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