Bug 1259532 - Review Request: feedreader - RSS desktop client
Summary: Review Request: feedreader - RSS desktop client
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Miroslav Suchý
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-02 23:57 UTC by Pete Walter
Modified: 2015-09-21 16:42 UTC (History)
3 users (show)

Fixed In Version: 1.2.1-3.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-09-18 18:30:00 UTC
Type: ---
Embargoed:
msuchy: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Pete Walter 2015-09-02 23:57:06 UTC
Spec URL: https://pwalter.fedorapeople.org/feedreader.spec
SRPM URL: https://pwalter.fedorapeople.org/feedreader-1.2-1.fc21.src.rpm
Description:
FeedReader is a modern desktop application designed to complement existing
web-based RSS accounts. It combines all the advantages of web based services
like synchronisation across all your devices with everything you expect from a
modern desktop application.

Fedora Account System Username: pwalter

Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=10931992

Note that I am not a packager and still looking for a sponsor. I have also filed another review request, https://bugzilla.redhat.com/show_bug.cgi?id=1157162

Comment 1 Ilia Gradina 2015-09-03 16:59:43 UTC
I'm not a sponsor, but I will give you some notes.

-> out command "rpmlint feedreader-1.2-1.fc21.src.rpm":
feedreader.src: W: spelling-error %description -l en_US synchronisation -> synchronization, synchronicity
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
(The spec file must be written in American English.)

-> Requires: hicolor-icon-theme
   you should specify version at least.
   Example: " Requires: hicolor-icon-theme = %{version} "

-> $RPM_BUILD_ROOT
   replace with %{buildroot}

-> make %{?_smp_mflags}
   you could use %make_build

-> %setup -q 
   you could use %autosetup

-> no licence file

Comment 2 Pete Walter 2015-09-03 17:39:49 UTC
(In reply to Ilya Gradina from comment #1)
> I'm not a sponsor, but I will give you some notes.

Thanks!


> -> out command "rpmlint feedreader-1.2-1.fc21.src.rpm":
> feedreader.src: W: spelling-error %description -l en_US synchronisation ->
> synchronization, synchronicity
> 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
> (The spec file must be written in American English.)

Thanks. I've corrected the spelling in my local spec file.


> -> Requires: hicolor-icon-theme
>    you should specify version at least.
>    Example: " Requires: hicolor-icon-theme = %{version} "

I respectfully disagree. Any version of hicolor-icon-theme works and there's no reason to specify a version.


> -> $RPM_BUILD_ROOT
>    replace with %{buildroot}

Again, I respectfully disagree. These two are equivalent. There's no reason to prefer one over other.


> -> make %{?_smp_mflags}
>    you could use %make_build

I am going with the style that rpmdev-newspec currently has. It uses "make %{?_smp_mflags}". Once the default template is updated, I am happy to change my packages over as well.


> -> %setup -q 
>    you could use %autosetup

Likewise as previous.


> -> no licence file

Well spotted, thanks. I've now asked upstream to add that, https://lists.fedoraproject.org/pipermail/devel/2015-September/214103.html

Meanwhile, our guidelines say that we should only add a license file to the rpm if and only if it's included in the upstream tarball so it shouldn't be a blocker for now.

Comment 3 Pete Walter 2015-09-04 18:09:41 UTC
Spec URL: https://pwalter.fedorapeople.org/feedreader.spec
SRPM URL: https://pwalter.fedorapeople.org/feedreader-1.2.1-1.fc21.src.rpm

Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=10958502

* Fri Sep 04 2015 Pete Walter <pwalter> - 1.2.1-1
- Update to 1.2.1
- Ship COPYING file
- Use American spelling of 'synchronization'
- Use autosetup macro
- Install appdata file

Comment 4 Pete Walter 2015-09-04 19:24:43 UTC
Spec URL: https://pwalter.fedorapeople.org/feedreader.spec
SRPM URL: https://pwalter.fedorapeople.org/feedreader-1.2.1-2.fc21.src.rpm

Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=10959143

* Fri Sep 04 2015 Pete Walter <pwalter> - 1.2.1-2
- Update to respinned 1.2.1 tarball
- Include app icon

Comment 5 Miroslav Suchý 2015-09-07 13:32:12 UTC
- 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 feedreader
  See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-
  database

> FeedReader-1.2.1/src/Widgets/ModeButton.vala
This file seems to have LGPLv3 license (instead of GPLv3). Either clarify it with upstream or put in SPEC
   License:        GPLv3+ and LGPLv3+
and in comment state what file use that LGPLv3+.

Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/locale/rue,
     /usr/share/locale/rue/LC_MESSAGES, /usr/share/locale/ckb/LC_MESSAGES,
     /usr/share/locale/ckb

Package must own all directories that it creates.
     Note: Directories without known owners:
     /usr/share/locale/rue/LC_MESSAGES, /usr/share/dbus-1,
     /usr/share/locale/ckb/LC_MESSAGES, /usr/share/locale/ckb,
     /usr/share/locale/rue, /usr/share/dbus-1/services

> BuildRequires:  pkgconfig(sqlite3)
While this is technically speaking correct, it is very unusual at the same time.
It can confuse other packagers. I would use real name of the package who provide it. I.e.
BuildRequires: sqlite-devel
And the same for all pkgconfig(*) BR.

Comment 6 Pete Walter 2015-09-09 22:39:13 UTC
(In reply to Miroslav Suchý from comment #5)
> - 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 feedreader
>   See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-
>   database

Fixed, good catch.


> > FeedReader-1.2.1/src/Widgets/ModeButton.vala
> This file seems to have LGPLv3 license (instead of GPLv3). Either clarify it
> with upstream or put in SPEC
>    License:        GPLv3+ and LGPLv3+
> and in comment state what file use that LGPLv3+.

Added a comment in the spec file. It doesn't matter if one file is licensed with a more relaxed license. The combined work is still GPLv3+. https://fedoraproject.org/wiki/Licensing:FAQ?rd=Licensing/FAQ#What_is_.22effective_license.22_and_do_I_need_to_know_that_for_the_License:_tag.3F


> Package requires other packages for directories it uses.
>      Note: No known owner of /usr/share/locale/rue,
>      /usr/share/locale/rue/LC_MESSAGES, /usr/share/locale/ckb/LC_MESSAGES,
>      /usr/share/locale/ckb

I think the filesystem package should own these. Not sure why it doesn't.


> Package must own all directories that it creates.
>      Note: Directories without known owners:
>      /usr/share/locale/rue/LC_MESSAGES, /usr/share/dbus-1,
>      /usr/share/locale/ckb/LC_MESSAGES, /usr/share/locale/ckb,
>      /usr/share/locale/rue, /usr/share/dbus-1/services

Added 'Requires: dbus' for /usr/share/dbus-1/services.


> > BuildRequires:  pkgconfig(sqlite3)
> While this is technically speaking correct, it is very unusual at the same
> time.
> It can confuse other packagers. I would use real name of the package who
> provide it. I.e.
> BuildRequires: sqlite-devel
> And the same for all pkgconfig(*) BR.

Most other packages I have checked use pkgconfig() style though. https://fedoraproject.org/wiki/Packaging:PkgConfigBuildRequires says that we should prefer the pkgconfig() style as well.

I can definitely change those things if they are needed for approval, just let me know. Thanks.

Comment 7 Pete Walter 2015-09-09 22:52:47 UTC
Spec URL: https://pwalter.fedorapeople.org/feedreader.spec
SRPM URL: https://pwalter.fedorapeople.org/feedreader-1.2.1-3.fc21.src.rpm

* Wed Sep 09 2015 Pete Walter <pwalter> - 1.2.1-3
- Add update-desktop-database rpm scripts
- Add a comment explaining the licensing
- Depend on dbus for /usr/share/dbus-1/services directory

Comment 8 Miroslav Suchý 2015-09-10 11:39:39 UTC
> I think the filesystem package should own these. Not sure why it doesn't.
Can you file a report to "filesystem" package, please?


> https://fedoraproject.org/wiki/Packaging:PkgConfigBuildRequires says that we should prefer the pkgconfig() style as well.
Good. I was not aware of this.

Comment 9 Miroslav Suchý 2015-09-10 11:48:48 UTC
> feedreader.x86_64: W: no-manual-page-for-binary feedreader
> feedreader.x86_64: W: no-manual-page-for-binary feedreader-daemon
Can you please cooperate with upstream and create man pages for these binaries.
This is not block for this review though.

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

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



===== 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.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "*No copyright* GPL (v3 or later)", "LGPL (v3 or later)".
[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/locale/rue,
     /usr/share/locale/rue/LC_MESSAGES, /usr/share/locale/ckb/LC_MESSAGES,
     /usr/share/locale/ckb
[x]: Package must own all directories that it creates.
[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]: glib-compile-schemas is run in %postun and %posttrans if package has
     *.gschema.xml files.
[x]: The spec file handles locales properly.
[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.
[x]: 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 feedreader
[x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package
     contains icons.
     Note: icons in feedreader
[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 10240 bytes in 1 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 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:
[x]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files
[-]: 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).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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]: 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:
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 2928640 bytes in /usr/share
     This is probably on the edge - you may consider moving GrabberConfig to separate package (or subpackage).
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[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.

APPROVED

Comment 10 Miroslav Suchý 2015-09-10 11:50:33 UTC
I just sponsored you into Packager group.

Comment 11 Pete Walter 2015-09-10 20:47:11 UTC
(In reply to Miroslav Suchý from comment #10)
> I just sponsored you into Packager group.

That is great! Thank you so much.

I'll email you if I run into trouble importing the package and can't figure things out :)

Comment 12 Pete Walter 2015-09-10 20:56:13 UTC
New Package SCM Request
=======================
Package Name: feedreader
Short Description: RSS desktop client
Upstream URL: http://jangernert.github.io/feedreader/
Owners: pwalter
Branches: f21 f22 f23
InitialCC:

Comment 13 Gwyn Ciesla 2015-09-11 11:14:17 UTC
Git done (by process-git-requests).

Comment 14 Fedora Update System 2015-09-11 22:10:40 UTC
feedreader-1.2.1-3.fc21 has been submitted as an update to Fedora 21. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15665

Comment 15 Fedora Update System 2015-09-11 22:10:40 UTC
feedreader-1.2.1-3.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15664

Comment 16 Fedora Update System 2015-09-11 22:10:44 UTC
feedreader-1.2.1-3.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15666

Comment 17 Fedora Update System 2015-09-12 21:25:02 UTC
feedreader-1.2.1-3.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update feedreader'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15664

Comment 18 Fedora Update System 2015-09-13 03:49:08 UTC
feedreader-1.2.1-3.fc21 has been pushed to the Fedora 21 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update feedreader'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15665

Comment 19 Fedora Update System 2015-09-13 04:20:06 UTC
feedreader-1.2.1-3.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update feedreader'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15666

Comment 20 Fedora Update System 2015-09-18 18:29:58 UTC
feedreader-1.2.1-3.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2015-09-21 13:17:46 UTC
feedreader-1.2.1-3.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2015-09-21 16:42:01 UTC
feedreader-1.2.1-3.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.


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