Bug 1670070 - Review Request: cheat - Help for various commands and their usecases
Summary: Review Request: cheat - Help for various commands and their usecases
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Gergely Gombos
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2019-01-28 14:26 UTC by Tomas Korbar
Modified: 2019-02-27 03:28 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-02-27 03:28:43 UTC
Type: ---
gombosg: fedora-review+

Attachments (Terms of Use)

Description Tomas Korbar 2019-01-28 14:26:16 UTC
Spec URL: https://tkorbar.fedorapeople.org/cheat.spec
SRPM URL: https://tkorbar.fedorapeople.org/cheat-2.4.0-1.fc30.src.rpm
Description: Cheat allows you to create and view interactive cheatsheets
on the command-line. It was designed to help remind *nix system
administrators of options for commands that they use frequently,
but not frequently enough to remember.
Fedora Account System Username: tkorbar
Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=32312852

Comment 1 Gergely Gombos 2019-02-13 04:25:32 UTC
Hi, here's an unofficial review. It's a first time review for me so I used the complete review list to follow through all the points.
I like cheat, it's a great companion to tldr, I'd love to see this in Fedora. :)

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

[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     -> Dual license is marked, see rpmlint errors
[x]: License field in the package spec file matches the actual license.
     -> No 'other license' files found.
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[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.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[!]: Package consistently uses macros (instead of hard-coded directory
     -> You can make https://github.com/chrisallenlane/cheat into %url and use that in URL and Source0 fields.
[x]: Package is named according to the Package Naming Guidelines.
     -> It's an app, no ptyhon prefix needed.
[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.
     -> In accordance with setup.py
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[-]: 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 2 files.
[!]: Package complies to the Packaging Guidelines
     -> See rpmlint part
[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).
[!]: 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.
     -> You can include all 3 license files at %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[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]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
     -> This is mostly relevant for the man file.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
[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
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

[x]: Python eggs must not download any dependencies during the build
     -> All dependencies are covered in BuildRequires.
[-]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
     -> Providing python3-cheat is not needed here, since it's not a library
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

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

[-]: 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.
[x]: Package functions as described.
     -> Installs and runs just fine. Man page works.
[!]: Latest version is packaged.
     -> Bump to 2.5.0
[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
     -> Noarch
[-]: %check is present and all tests pass.
     -> Tests in the repo don't seem to be working.
[x]: Packages should try to preserve timestamps of original installed
[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
[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
[!]: SourceX is a working URL.
     -> See below
[x]: Spec use %global instead of %define unless justified.

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

[!]: Spec file according to URL is the same as in SRPM.
     -> Summary is different, please correct
[x]: Rpmlint is run on all installed packages.

cheat.noarch: W: invalid-url URL: https://github.com/chrisallenlane/cheat <urlopen error [Errno -2] Name or service not known>
-> URL forwards, use https://github.com/cheat/cheat
cheat.noarch: W: non-conffile-in-etc /etc/cheat
-> use %config, https://docs.fedoraproject.org/en-US/packaging-guidelines/#_configuration_files
cheat.noarch: W: invalid-license GPL3
-> Use 'MIT or GPLv3'
cheat.noarch: W: manual-page-warning /usr/share/man/man1/cheat.1.gz 11: warning: macro `LO' not defined
-> I think this is OK, man page works

Comment 2 Dominik 'Rathann' Mierzejewski 2019-02-13 10:29:15 UTC
Good review, Gergely. I have only one additional comment:

To remain future-looking, the manpage should be installed uncompressed in %install. It gets compressed by rpm build scripts anyway, with the currently chosen compression tool.

Comment 3 Dominik 'Rathann' Mierzejewski 2019-02-14 10:13:41 UTC
Gergely, as I have just sponsored you into the packager group, you can take this review officially (assign to yourself) and continue.

Comment 4 Gergely Gombos 2019-02-15 15:41:48 UTC
I'm taking this review, Tomas, I'm waiting for package updates.

Comment 5 Tomas Korbar 2019-02-18 13:58:19 UTC
Hi Gergely,
Updated specfile: https://tkorbar.fedorapeople.org/cheat.spec
Updated SRPM: https://tkorbar.fedorapeople.org/cheat-2.5.1-1.fc30.src.rpm
I hope i solved all problems.

Comment 6 Gergely Gombos 2019-02-18 18:53:11 UTC
Awesome! :) Looks good, please add a changelog entry after modifying the spec file. See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_multiple_changelog_entries_per_release.

Then I'll run a final review and approve.

Comment 7 Tomas Korbar 2019-02-20 14:15:07 UTC
Changelog updated.
While we were working on this, rawhide changed to f31, so i'm providing srpms for both f30 and f31.
Updated specfile: https://tkorbar.fedorapeople.org/cheat.spec
Updated SRPM for f30: https://tkorbar.fedorapeople.org/cheat-2.5.1-1.fc30.src.rpm
Updated SRPM for f31: https://tkorbar.fedorapeople.org/cheat-2.5.1-1.fc31.src.rpm

Comment 8 Gergely Gombos 2019-02-20 16:23:19 UTC
Super! In the above review, all of the issues have been corrected:
- License field updated
- Manpage is installed uncompressed
- Changelog updated
- URL updated
- Version updated
- Specfile and SRPM match.

So I approve of the package.

Good luck for building and let me know if you have questions.

Comment 9 Tomas Korbar 2019-02-21 14:04:06 UTC
Thanks for review.

Comment 10 Gwyn Ciesla 2019-02-21 14:11:48 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/cheat

Comment 11 Fedora Update System 2019-02-21 15:29:15 UTC
cheat-2.5.1-1.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-294b6d60fb

Comment 12 Fedora Update System 2019-02-22 03:06:24 UTC
cheat-2.5.1-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-294b6d60fb

Comment 13 Fedora Update System 2019-02-25 13:05:45 UTC
cheat-2.5.1-1.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2019-90e2fc2614

Comment 14 Fedora Update System 2019-02-26 02:11:57 UTC
cheat-2.5.1-1.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-90e2fc2614

Comment 15 Fedora Update System 2019-02-27 01:15:51 UTC
cheat-2.5.1-1.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2019-02-27 03:28:43 UTC
cheat-2.5.1-1.fc29 has been pushed to the Fedora 29 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.