Bug 492613 - Review Request: canto - Atom/RSS feed reader based on ncurses
Review Request: canto - Atom/RSS feed reader based on ncurses
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
low Severity medium
: ---
: ---
Assigned To: Christoph Wickert
Fedora Extras Quality Assurance
Depends On: 492612
  Show dependency treegraph
Reported: 2009-03-27 14:09 EDT by Andreas Osowski
Modified: 2009-04-17 15:40 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-04-17 15:40:40 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
cwickert: fedora‑review+
kevin: fedora‑cvs+

Attachments (Terms of Use)

  None (edit)
Description Andreas Osowski 2009-03-27 14:09:12 EDT
Spec URL: 


Canto is an Atom/RSS feed reader for the console that is meant to be quick,
concise, and colorful. It's meant to allow you to crank through feeds like
you've never cranked before by providing a minimal, yet information packed
interface. No navigating menus. No dense blocks of unreadable white text.
An interface with almost infinite customization and extensibility using
the excellent Python programming language.
Comment 1 Christoph Wickert 2009-04-13 05:39:11 EDT
REVIEW FOR 79ed4e70aaf0701cab00fca77695c5f0  canto-0.6.8-1.fc10.src.rpm

FAIL - MUST: rpmlint must be run on every package. The output should be posted in the review:
$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/canto-*
canto.i386: E: non-standard-executable-perm /usr/lib/python2.6/site-packages/canto/widecurse.so 0775
canto.i386: E: non-executable-script /usr/lib/python2.6/site-packages/canto/canto_html.py 0644
canto.src: W: mixed-use-of-spaces-and-tabs (spaces: line 7, tab: line 3)
3 packages and 0 specfiles checked; 2 errors, 1 warnings.
-> widecurse.so should be 0644
-> can be ignored
-> Ether use tabs _or_ spaces (cosmetics)

OK - MUST: The package is named according to the Package Naming Guidelines.
OK - MUST: The spec file name matches the base package %{name}, in the format %{name}.spec.
OK - MUST: The package meets the Packaging Guidelines.
OK - MUST: The package is licensed with a Fedora approved license (GPLV2) and meets the Licensing Guidelines.
FAIL - MUST: The License field in the package spec file does not match the actual license. License tag is GPLv2+, but canto/canto.py reads:
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License version 2 as 
#   published by the Free Software Foundation.
So this is GPlv2 (only).
OK - MUST: The license file from the source package is included in %doc.
OK - MUST: The spec file is in American English.
OK - MUST: The spec file for the package is legible.
OK - MUST: The sources used to build the package matche the upstream source by MD5 1fbfbff9f7037900fba60322d0b85eab
OK - MUST: The package successfully compiles and builds into binary rpms on i386
N/A - MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
FAIL - MUST: Not all build dependencies are listed in BuildRequires: Missing BuildRequires: python-setuptools-devel for the egg info, see
N/A - MUST: The spec file handles locales properly with the %find_lang macro.
N/A - MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
N/A - MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package.
OK - MUST: The package owns all directories that it creates.
OK - MUST: The package does not contain any duplicate files in the %files listing.
FAIL - MUST: Permissions on files are set properly. Every %files section includes a %defattr(...) line: widecurse.so is 0775
OK - MUST: The package has a %clean section, which contains rm -rf %{buildroot}.
OK - MUST: The package consistently uses macros, as described in the macros section of Packaging Guidelines.
OK - MUST: The package contains code, or permissable content.
N/A - MUST: Large documentation files should go in a -doc subpackage.
OK - MUST: Files included as %doc do not affect the runtime of the application.
N/A - MUST: Header files must be in a -devel package.
N/A - MUST: Static libraries must be in a -static package.
N/A - MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'.
N/A - MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package.
N/A - MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
OK - MUST: The package does not contain any .la libtool archives.
N/A - MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section.
OK - MUST: The package does not own files or directories already owned by other packages.
OK - MUST: At the beginning of %install, the package runs rm -rf %{buildroot}.
OK - MUST: All filenames in rpm packages are valid UTF-8.

N/A - SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
N/A - SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available.
OK - SHOULD: The the package builds in mock.
OK - SHOULD: The package should compile and build into binary rpms on all supported architectures.
OK - SHOULD: The package functions as described.
N/A - SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity.
N/A - SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
N/A - SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg.
N/A - SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.

- Fix rpmlint
- Fix license tag
- Missing BuildRequires: python-setuptools-devel
- Missing Requires: python-chardet

During build on F11 I see:
+ /usr/lib/rpm/brp-python-bytecompile
Compiling /builddir/build/BUILDROOT/canto-0.6.8-1.fc11.i386/usr/lib/python2.6/site-packages/canto/const.py ...
Sorry: TypeError: ('compile() expected string without null bytes',)
Do you have an idea what is causing this? I don't think that it's related to the package itself since I don't see this error on F10.
Comment 2 Andreas Osowski 2009-04-15 08:42:30 EDT


Fixed the issues I hope.

The error there might be caused by an incompatibility between Python 2.6 and canto, I shall research this further and contact upstream.
Comment 3 Andreas Osowski 2009-04-15 09:06:26 EDT
I just talked to upstream and apparently a new version is to be released tomorrow containing fixes and fixing the above problem with F11.
Once it is released, I shall update this package.
Comment 4 Andreas Osowski 2009-04-16 02:40:10 EDT
Spec URL:


* Thu Apr 16 2009 Andreas Osowski <th0br0@mkdir.name> - 0.6.9-1
- Updated to 0.6.9
Comment 5 Christoph Wickert 2009-04-16 07:11:20 EDT
The new package 
fa2b37ac68d154112a7be7754af846bd  canto-0.6.9-1.fc10.src.rpm

Fixes all outstanding issues:
OK - rpmlint:
$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/canto-*
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

OK - License tag matches actual license (GPLv2)
OK - BuildRequires: python-setuptools-devel
OK - Requires: python-chardet


Removing NEEDSPONSOR, because I'm going to sponsor you.
Comment 6 Andreas Osowski 2009-04-16 07:13:37 EDT
Thanks alot!
I'm going to remove the flag from all my other tickets, too then.
Comment 7 Andreas Osowski 2009-04-16 08:29:34 EDT
New Package CVS Request
Package Name: canto
Short Description: Atom/RSS feed reader based on ncurses
Owners: th0br0
Branches: F-10 F-11
InitialCC: th0br0
Comment 8 Kevin Fenzi 2009-04-17 12:45:44 EDT
cvs done.

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