Bug 669910 - Review Request: todo.txt_cli - A simple and extensible shell script for managing your todo.txt file
Summary: Review Request: todo.txt_cli - A simple and extensible shell script for manag...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Pierre-YvesChibon
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-15 18:29 UTC by Magnus Tuominen
Modified: 2011-08-10 16:12 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-08-10 16:12:23 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Magnus Tuominen 2011-01-15 18:29:37 UTC
Spec URL: http://magnu5.fedorapeople.org/review/todo.txt/SPECS/todo.txt_cli.spec
SRPM URL: http://magnu5.fedorapeople.org/review/todo.txt/SRPMS/todo.txt_cli-2.7-1.fc14.src.rpm
Description: A simple and extensible shell script for managing your todo.txt file

Comment 1 Magnus Tuominen 2011-01-15 18:30:59 UTC
rpmlint -iv todo.txt_cli-2.7-1.fc14.src.rpm 
todo.txt_cli.src: I: checking
todo.txt_cli.src: W: spelling-error Summary(en_US) todo -> tod, too, dodo
The value of this tag appears to be misspelled. Please double-check.

todo.txt_cli.src: W: spelling-error Summary(en_US) txt -> text, ext, tit
The value of this tag appears to be misspelled. Please double-check.

todo.txt_cli.src: W: spelling-error %description -l en_US todo -> tod, too, dodo
The value of this tag appears to be misspelled. Please double-check.

todo.txt_cli.src: W: spelling-error %description -l en_US txt -> text, ext, tit
The value of this tag appears to be misspelled. Please double-check.

todo.txt_cli.src: I: checking-url http://ginatrapani.github.com/todo.txt-cli (timeout 10 seconds)
todo.txt_cli.src: I: checking-url https://github.com/downloads/ginatrapani/todo.txt-cli/todo.txt_cli-2.7.tar.gz (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 4 warnings.

rpmlint -iv todo.txt_cli.spec
todo.txt_cli.spec: I: checking-url https://github.com/downloads/ginatrapani/todo.txt-cli/todo.txt_cli-2.7.tar.gz (timeout 10 seconds)
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

Comment 2 Zachary Doherty 2011-01-18 09:46:48 UTC
I'm new to this so I don't want to be the official reviewer, however I will do my best to do an "unofficial" review.

- Upstream simply licenses todo.txt_cli as GPL, according to Fedora's licensing guidelines this means it is licensed under *any* version of the GPL. Your package licenses it under GPLv1 incorrectly (it should be GPL+ instead).

That is the only thing I see wrong with MUST requirements. In regards to non-mandatory SHOULD guidelines:

- Upstream should be queried to include license text with their releases.
- Work with upstream to get man pages included.

Those are the only problems I saw while looking through your package. Like I said, I'm new to doing package reviews so it's pretty likely that I missed something.

--Zach

Comment 3 Magnus Tuominen 2011-01-18 13:49:50 UTC
Thanks for the unofficial review.
The issues mentioned have been fixed and upstream has been asked to include the files.
New spec and src.rpm:
http://magnu5.fedorapeople.org/review/todo.txt/SPECS/todo.txt_cli.spec
http://magnu5.fedorapeople.org/review/todo.txt/SRPMS/todo.txt_cli-2.7-2.fc14.src.rpm

Comment 4 Pierre-YvesChibon 2011-08-10 15:39:48 UTC
If you are still interesting in getting this into the repo, there are my comments

[X] rpmlint must be run on every package.
    todo.txt_cli.src: W: spelling-error Summary(en_US) todo -> too, dodo, to do
    todo.txt_cli.src: W: spelling-error Summary(en_US) txt -> text, ext, tit
    todo.txt_cli.src: W: spelling-error %description -l en_US todo -> too, dodo, to do
    todo.txt_cli.src: W: spelling-error %description -l en_US txt -> text, ext, tit
    todo.txt_cli.noarch: W: spelling-error Summary(en_US) todo -> too, dodo, to do
    todo.txt_cli.noarch: W: spelling-error Summary(en_US) txt -> text, ext, tit
    todo.txt_cli.noarch: W: spelling-error %description -l en_US todo -> too, dodo, to do
    todo.txt_cli.noarch: W: spelling-error %description -l en_US txt -> text, ext, tit
    todo.txt_cli.noarch: W: no-manual-page-for-binary todo.sh
    2 packages and 0 specfiles checked; 0 errors, 9 warnings.
    
    These warnings can be safely ignored

[X] The package must be named according to the Package Naming Guidelines.

[X] The spec file name must match the base package %{name}, in the format
      %{name}.spec unless your package has an exemption.

[X] The package must meet the Packaging Guidelines.

[X] The package must be licensed with a Fedora approved license and meet the
      Licensing Guidelines.

[X] The License field in the package spec file must match the actual license.
   License is GPL

[NA] 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 must be included in %doc.

[X] The spec file must be written in American English.

[X] The spec file for the package MUST be legible.

[X] The sources used to build the package must match the upstream source, as
      provided in the spec URL.
   source from the src.rpm : f0e45040633a1fb15eae9a47733f8aed03b8f7f9  rpmbuild/SOURCES/todo.txt_cli-2.7.tar.gz
   source downloaded       : f0e45040633a1fb15eae9a47733f8aed03b8f7f9  Downloads/todo.txt_cli-2.7.tar.gz

[X] The package MUST successfully compile and build into binary rpms on at
     least one primary architecture.
    Built successfully on Fedora 15 x86_64

[NA] If the package does not successfully compile, build or work on an
      architecture, then those architectures should be listed in the spec in
      ExcludeArch.

[NA] All build dependencies must be listed in BuildRequires, except for any
     that are listed in the exceptions section of the Packaging Guidelines ;
     inclusion of those as BuildRequires is optional.

[NA] The spec file MUST handle locales properly. This is done by using the
      %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.

[NA] 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.

[X] Packages must NOT bundle copies of system libraries.

[NA] 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. Without this, use of Prefix: /usr is
      considered a blocker.

[NA] A package must own all directories that it creates. If it does not create
     a directory that it uses, then it should require a package which does
     create that directory.

[X] A Fedora package must not list a file more than once in the spec file's
      %files listings. 

[X] Permissions on files must be set properly. Executables should be set with
     executable permissions, for example. Every %files section must include a
     %defattr(...) line.

[X] Each package must consistently use macros.

[X] The package must contain code, or permissable content.

[NA] Large documentation files must go in a -doc subpackage.

[X] If a package includes something as %doc, it must not affect the runtime
     of the application. To summarize: If it is in %doc, the program must run
     properly if it is not present.

[NA] Header files must be in a -devel package.

[NA] Static libraries must be in a -static package.

[NA] 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.

[NA] In the vast majority of cases, devel packages must require the base
      package using a fully versioned dependency: Requires: %{name} =
      %{version}-%{release}.

[NA] Packages must NOT contain any .la libtool archives, these must be removed
      in the spec if they are built.

[NA] 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.

[X] Packages must not own files or directories already owned by other
      packages.

[X] All filenames in rpm packages must be valid UTF-8.


Notes:
- I would encourage that you ask upstream to provide a copy of the license he uses.
- Maybe you could clean the comment (I am thinking of R and BR which are empty)
- I would encourage upstream to include a little bit more information with the sources (similar to the README you created)
- I would encourage upstream to provide a man page
- I would rename todo.sh in just todo or todo.txt since it is the name of the project

Regarding the patch:
-export TODO_DIR="C:/Documents and Settings/gina/My Documents"
+export TODO_DIR="$HOME/Documents/todo"
Knowing that Documents/todo does not exist by default, why not just
+export TODO_DIR="$HOME/Documents/" ?

Also, migth be interesting to patch the line
[ -r "$TODOTXT_CFG_FILE" ] || die "Fatal Error: Cannot read configuration file $TODOTXT_CFG_FILE"
to include the information presented in the README (as in where do find the todo.cfg).

Comment 5 Magnus Tuominen 2011-08-10 15:58:31 UTC
Thank you for your review. You make some good points, but sadly I have lost interest in this package and haven't used it since January nor kept up with their development. If anybody wants to pick up the slack from where I am leaving it, please feel free to do so.

Comment 6 Pierre-YvesChibon 2011-08-10 16:12:23 UTC
Then we should close it so that other person may submit a new review-request if they wish :)

Thanks for saying it.


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