Bug 492924 - Review Request: python-unipath - Alternative to Python modules os, os.path and shutil
Review Request: python-unipath - Alternative to Python modules os, os.path an...
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Susi Lehtola
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2009-03-30 15:26 EDT by Terje Røsten
Modified: 2009-04-14 16:33 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-04-14 16:33:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
susi.lehtola: fedora‑review+
kevin: fedora‑cvs+

Attachments (Terms of Use)

  None (edit)
Description Terje Røsten 2009-03-30 15:26:48 EDT
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


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 18:56:50 EDT
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

- 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"



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

Comment 2 Terje Røsten 2009-04-14 10:48:08 EDT
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
Comment 3 Kevin Fenzi 2009-04-14 12:09:52 EDT
cvs done.
Comment 4 Terje Røsten 2009-04-14 16:33:50 EDT
Import, build and pushed.

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