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
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
(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.
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
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
- 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.
(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.
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
> 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.
> 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
I just sponsored you into Packager group.
(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 :)
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:
Git done (by process-git-requests).
feedreader-1.2.1-3.fc21 has been submitted as an update to Fedora 21. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15665
feedreader-1.2.1-3.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15664
feedreader-1.2.1-3.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15666
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
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
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
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.
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.
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.