Bug 492924 - Review Request: python-unipath - Alternative to Python modules os, os.path and shutil
Summary: Review Request: python-unipath - Alternative to Python modules os, os.path an...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Susi Lehtola
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-03-30 19:26 UTC by Terje Røsten
Modified: 2009-04-14 20:33 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-04-14 20:33:50 UTC
Type: ---
Embargoed:
susi.lehtola: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Terje Røsten 2009-03-30 19:26:48 UTC
spec: http://terjeros.fedorapeople.org/python-unipath/python-unipath.spec
srpm: http://terjeros.fedorapeople.org/python-unipath/python-unipath-0.2.1-1.fc10.src.rpm
koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=1266298

description:


Unipath is a package for doing pathname calculations and filesystem
access in an object-oriented manner, an alternative to functions in
os.path, shutilm glob, and even some functions in os.* It's based on
Jason Orendorff's path.py but does not adhere as strictly to the
underlying functions' syntax, in order to provide more user
convenience and higher-level functionality. For example:

 o p.mkdir() succeeds silently if the directory already exists, and
 o p.mkdir(True) creates intermediate directories a la os.makedirs.
 o p.rmtree(parents=True) combines shutil.rmtree, os.path.isdir,
   os.remove, and os.removedirs, to recursively remove whatever it is
   if it exists.
 o p.read_file("rb") returns the file's contents in binary mode.
 o p.needs_update([other_path1, ...]) returns True if p doesn't exist
   or has an older timestamp than any of the others.
 o extra convenience functions in the unipath.tools module. dict2dir
   creates a directory hierarchy described by a dict. dump_path displays
   an ASCII tree of a directory hierarchy.

Comment 1 Susi Lehtola 2009-04-09 22:56:50 UTC
A few stylistic notes:

- Do the file conversion more safely and shortly with this:

for f in README.txt doc/reference/path_355.py ; do
    iconv -f ISO-8859-1 -t UTF-8 -o $f.utf8 $f && \
    touch -r $f $f.utf8 && \
    mv $f.utf8 $f
done

- Why do you remove the first line of unipath/test.py? Add a comment about this, and maybe a few empty lines to clear up the setup phase.

- Don't use macros for sed, cp, rm.

- Defining pyver just to get the complete egg file name seems a bit overkill. I'd remove pyver and replace it with a * in the files section.

- Change "%define oname" to "%global oname"

***

Review:

rpmlint output is clean.


MUST: The package does not yet exist in Fedora. The Review Request is not a duplicate. OK

MUST: The spec file for the package is legible and macros are used consistently. ~OK
- Please, go through the suggestions above.

MUST: The package must be named according to the Package Naming Guidelines. OK
MUST: The spec file name must match the base package %{name}. OK
MUST: The package must be licensed with a Fedora approved license and meet the  Licensing Guidelines. OK
MUST: The License field in the package spec file must match the actual license. OK
MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK
MUST: The package MUST successfully compile and build into binary rpms. OK
MUST: The spec file MUST handle locales properly. OK
MUST: Optflags are used and time stamps preserved. OK
MUST: Packages containing shared library files must call ldconfig. OK
MUST: A package must own all directories that it creates or require the package that owns the directory. OK
MUST: Files only listed once in %files listings. OK
MUST: Permissions on files must be set properly. OK
MUST: Clean section exists. OK
MUST: Large documentation files must go in a -doc subpackage.

MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. ~OK
- Add PKG-INFO to %doc.

MUST: Header files must be in a -devel package. OK
MUST: Static libraries must be in a -static package. OK
MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. OK
MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. OK
MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK
MUST: Packages does not contain any .la libtool archives. OK
MUST: Desktop files are installed properly. OK
MUST: No file conflicts with other packages and no general names. OK
MUST: Buildroot cleaned before install. OK
SHOULD: %{?dist} tag is used in release. OK
SHOULD: The package builds in mock. OK

SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. NEEDSFIX
- No license file included.

***


The problems are minor, you can do the fixes upon import to CVS. The package is

APPROVED

Comment 2 Terje Røsten 2009-04-14 14:48:08 UTC
Thanks for the review!


New Package CVS Request
=======================
Package Name: python-unipath
Short Description: Alternative to Python modules os, os.path and shutil
Owners: terjeros
Branches: F-9 F-10 F-11
InitialCC:

Comment 3 Kevin Fenzi 2009-04-14 16:09:52 UTC
cvs done.

Comment 4 Terje Røsten 2009-04-14 20:33:50 UTC
Import, build and pushed.


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