Bug 620826 - Review Request: python-icalendar - Parser/generator of iCalendar files following the RFC 2445
Review Request: python-icalendar - Parser/generator of iCalendar files follow...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Miroslav Suchý
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-08-03 11:19 EDT by Stanislav Ochotnicky
Modified: 2010-09-01 01:49 EDT (History)
5 users (show)

See Also:
Fixed In Version: python-icalendar-2.1-3.fc14
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-08-31 23:25:56 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
msuchy: fedora‑review+
tibbs: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Stanislav Ochotnicky 2010-08-03 11:19:42 EDT
Spec URL: http://sochotni.fedorapeople.org/packages/python-icalendar.spec
SRPM URL: http://sochotni.fedorapeople.org/packages/python-icalendar-2.1-1.fc13.src.rpm

Description: 
iCalendar specification (RFC 2445) defines calendaring format used
by many applications (Zimbra, Thunderbird and others). This
module is a parser/generator of iCalendar files for use with
Python. It follows the RFC 2445 (iCalendar) specification.
The aim is to make a package that is fully compliant with RFC 2445,
well designed, simple to use and well documented.

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

This is my first python package so there might be issues that I couldn't see...
Comment 1 Thomas Spura 2010-08-04 05:24:32 EDT
Just some comments (I'm no sponsor anyway):

- How do you get GPLv3+?
  Website says LGPL, There is a LGPLv2+ license and no headers on the first sign.

- You could add a %check section for running the testsuite.

No issues beyond that, your %files section looks nice, not much are so explicit like you (how it should be done).
Comment 2 Stanislav Ochotnicky 2010-08-04 08:18:52 EDT
Thanks for your comments.

(In reply to comment #1)
> Just some comments (I'm no sponsor anyway):

I don't need a sponsor, I have 20+ packages in Fedora already, but mostly java and this was my first python package from scratch. I guess I confused you when I said "first python package" :-) Removing FE_NEEDSPONSOR.

> - How do you get GPLv3+?
>   Website says LGPL, There is a LGPLv2+ license and no headers on the first
> sign.

Duh, I was sure I fixed that. I was actually confused because setup.py states GPLv2.1 as a license while LICENSE.txt says LGPLv2.1. I re-reviewed all files and it's a mix in the end. I'll get in touch with upstream to clarify this, but I guess it is supposed to be LGPLv2.1. 

> - You could add a %check section for running the testsuite.

checks fail in mock so I didn't put them in. I "fixed" this by adding commented out check run with explanation why it was disabled.

> No issues beyond that, your %files section looks nice, not much are so explicit
> like you (how it should be done).    

Thanks for all the comments. Really appreciated. 

New release:
Spec URL: http://sochotni.fedorapeople.org/packages/python-icalendar.spec
SRPM URL:
http://sochotni.fedorapeople.org/packages/python-icalendar-2.1-2.fc13.src.rpm
Comment 3 Thomas Spura 2010-08-04 13:34:50 EDT
(In reply to comment #2)
> Thanks for your comments.
> 
> (In reply to comment #1)
> > Just some comments (I'm no sponsor anyway):
> 
> I don't need a sponsor, I have 20+ packages in Fedora already, but mostly java
> and this was my first python package from scratch. I guess I confused you when
> I said "first python package" :-) Removing FE_NEEDSPONSOR.

Most new contributers forget blocking FE-NEEDSPONSOR, so as soon as I read "new package", I block it everywhere. The "python" in the middle didn't help her much ;)

> > - You could add a %check section for running the testsuite.
> 
> checks fail in mock so I didn't put them in. I "fixed" this by adding commented
> out check run with explanation why it was disabled.

Huh? How is it failing? Maybe just a missing BR?
It works here with rpmbuild:
+ /usr/bin/python test.py
test.py:80: DeprecationWarning: the sets module is deprecated
  from sets import Set
Imported 1 modules in 0.278s

----------------------------------------------------------------------
Ran 36 tests in 0.124s

OK

-> scratch build F15:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2379894

Failed example:
    g
Expected:
    (37.386012999999998, -122.082932)
Got:
    (37.386013, -122.082932)

There it's failing because python 2.7 seems to round a bit different, than python 2.6 did (and the tests were written for python 2.6).

Maybe the next version will fix the doctests, because the author will switch to python 2.7 too... (But here with python-2.6.4-27.fc13.x86_64 it's working for me.)
Comment 4 Stanislav Ochotnicky 2010-08-05 02:57:24 EDT
> Huh? How is it failing? Maybe just a missing BR?
> It works here with rpmbuild:
> + /usr/bin/python test.py
> test.py:80: DeprecationWarning: the sets module is deprecated
>   from sets import Set
> Imported 1 modules in 0.278s
> 
> ----------------------------------------------------------------------
> Ran 36 tests in 0.124s
> 
> OK
> 
> -> scratch build F15:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=2379894
> 
> Failed example:
>     g
> Expected:
>     (37.386012999999998, -122.082932)
> Got:
>     (37.386013, -122.082932)
> 
> There it's failing because python 2.7 seems to round a bit different, than
> python 2.6 did (and the tests were written for python 2.6).
> 
> Maybe the next version will fix the doctests, because the author will switch to
> python 2.7 too... (But here with python-2.6.4-27.fc13.x86_64 it's working for
> me.)    

You are correct, it is failing because of Python 2.7. Few hours after I sent package for review this message got to the icalendar-dev mailing list:

http://codespeak.net/pipermail/icalendar-dev/2010-August/000156.html

So it is a python 2.7 rounding issue and I will apply that patch, but first I am going to wait for official review and do it all in one take
Comment 5 Miroslav Suchý 2010-08-05 10:43:40 EDT
==============

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format
%{name}.spec.
 [x] Package meets the Packaging Guidelines   including the Python specific items
 [x] Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     tested in: f14/koji
     http://koji.fedoraproject.org/koji/taskinfo?taskID=2381843
 [x] Rpmlint output:
python-icalendar.noarch: W: spelling-error %description -l en_US Zimbra -> Zimbabwe, Zimmerman, Timbre
python-icalendar.src: W: spelling-error %description -l en_US Zimbra -> Zimbabwe, Zimmerman, Timbre
2 packages and 0 specfiles checked; 0 errors, 2 warnings.
 [x] Package is not relocatable.
 [x] Buildroot is correct
      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [!] License field in the package spec file matches the actual license.
     License type: LGPLv2 and GPLv2+ and Public Domain

parser.py is licensed as GPL, not as GPLv2+

 [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 %doc.
 [x] Spec file is legible and written in American English.
 [x] Sources used to build the package matches the upstream source, as provided
in the spec URL.
7e0080cd5fbbdbe084087a5863c5419bbb889fcd3f5988f436c5b94b4fba4641  icalendar-2.1.tar.gz
7e0080cd5fbbdbe084087a5863c5419bbb889fcd3f5988f436c5b94b4fba4641  ../SOURCES/icalendar-2.1.tar.gz
 [x] Package is not known to require ExcludeArch
 [x] All build dependencies are listed in BuildRequires, except for any that
are listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [-] ldconfig called in %post and %postun if required.
 [x] Package must own all directories that it creates.
 [x] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package has a %clean section, which contains rm -fR $RPM_BUILD_ROOT.
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [x] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -devel subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [-] Fully versioned dependency in subpackages, if present.
 [-] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
application.
 [x] Package does not own files or directories owned by other packages.

=== SUGGESTED ITEMS ===
 [x] Latest version is packaged.
 2.1
 [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] Reviewer should test that the package builds in mock.
     Tested on: koji scratch build
 [x] Package should compile and build into binary rpms on all supported
architectures.
     Tested on:koji scratch build
 [?] Package functions as described.
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [-] File based requires are sane.
 [!] %check is present and the tests pass


================
*** NEED WORK  ***
================

I would suggest to ad to %doc:
CHANGES.txt, HISTORY.txt, TODO.txt, INSTALL.txt and especially whole /doc/ directory

fix that comment about license of parser.py

fix those test as suggested in previous comments
Comment 6 Stanislav Ochotnicky 2010-08-05 11:21:11 EDT
(In reply to comment #5)
> I would suggest to ad to %doc:
> CHANGES.txt, HISTORY.txt, TODO.txt, INSTALL.txt and especially whole /doc/
> directory

Added

> fix that comment about license of parser.py

Fixed

> fix those test as suggested in previous comments    

Fixed and tests are now being run during %check

New SRPM/Spec:
Spec URL: http://sochotni.fedorapeople.org/packages/python-icalendar.spec
SRPM URL:
http://sochotni.fedorapeople.org/packages/python-icalendar-2.1-3.fc13.src.rpm
Comment 7 Miroslav Suchý 2010-08-06 08:27:09 EDT
Instead of 
 cp -R doc examples
I would rather choose
 mkdir examples
 install -pt examples doc/*
to preserve timestamp, but that is only minor.


================
*** APPROVED  ***
================
Comment 8 Stanislav Ochotnicky 2010-08-06 09:51:11 EDT
Thanks for the review. I'll fix those timestamps on next release with other changes.

New Package CVS Request
=======================
Package Name: python-icalendar
Short Description: Parser/generator of iCalendar files following the RFC 2445
Owners: sochotni
Branches: devel f14 f13 f12
InitialCC:
Comment 9 Jason Tibbitts 2010-08-06 13:26:07 EDT
Git done (by process-git-requests).
Comment 10 Fedora Update System 2010-08-23 06:55:35 EDT
python-icalendar-2.1-3.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/python-icalendar-2.1-3.fc13
Comment 11 Fedora Update System 2010-08-23 06:55:40 EDT
python-icalendar-2.1-3.fc14 has been submitted as an update for Fedora 14.
http://admin.fedoraproject.org/updates/python-icalendar-2.1-3.fc14
Comment 12 Fedora Update System 2010-08-23 06:55:46 EDT
python-icalendar-2.1-3.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/python-icalendar-2.1-3.fc12
Comment 13 Fedora Update System 2010-08-23 15:01:41 EDT
python-icalendar-2.1-3.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update python-icalendar'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/python-icalendar-2.1-3.fc14
Comment 14 Fedora Update System 2010-08-31 23:25:51 EDT
python-icalendar-2.1-3.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 15 Fedora Update System 2010-08-31 23:26:49 EDT
python-icalendar-2.1-3.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 16 Fedora Update System 2010-09-01 01:49:27 EDT
python-icalendar-2.1-3.fc14 has been pushed to the Fedora 14 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.