Bug 708826 - Review Request: python-gitdb - A pure-Python git object database
Summary: Review Request: python-gitdb - A pure-Python git object database
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-29 19:20 UTC by Jesse Keating
Modified: 2013-01-10 03:35 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-28 23:00:33 UTC
Type: ---
Embargoed:
gholms: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Jesse Keating 2011-05-29 19:20:10 UTC
Spec URL: http://jkeating.fedorapeople.org/review/python-gitdb.spec
SRPM URL: http://jkeating.fedorapeople.org/review/python-gitdb-0.5.2-1.git17d9d13.fc16.src.rpm
Description:
GitDB allows you to access bare git repositories for reading and writing. It    
aims at allowing full access to loose objects as well as packs with performance 
and scalability in mind. It operates exclusively on streams, allowing to        
operate on large objects with a small memory footprint.

A scratch build was done at http://koji.fedoraproject.org/koji/taskinfo?taskID=3099400

Comment 1 Garrett Holmstrom 2011-06-13 23:34:58 UTC
Review of python-gitdb-0.5.2-1.git17d9d13.fc16:

The git object and packs and such in gitdb/test/fixtures are considered content, but the license under which they are distributable is unclear.  I recommend asking upstream for clarification.

Packaging-wise, please fix the permissions of _perf.so and add a date to the snapshot portion of the Release field as specified in the packaging guidelines [1].  All the other issues are optional, though if the included test suite isn't difficult to run I encourage you to add a %check section.  See below for the complete review.

[1] http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Snapshot_packages

Mandatory review guidelines:
NO - rpmlint output
     python-gitdb.src: W: invalid-url Source0: gitpython-developers-gitdb-0.5.2-16-g17d9d13.tar.gz
     python-gitdb.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/gitdb/_perf.so 0775L
     --
     The first of these is acceptable.
NO - Package meets naming guidelines
     Snapshot release tags must contain dates.
     http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Snapshot_packages
ok - Spec file name matches base package name
ok - License is acceptable (BSD)
ok - License field in spec is correct
ok - License files included in package %docs or not included in upstream source
ok - License files installed when any subpackage combination is installed
ok - Spec written in American English
ok - Spec is legible
ok - Sources match upstream unless altered to fix permissibility issues
     Github does not supply tarballs with consistent checksums
ok - Build succeeds on at least one supported platform
ok - Build succeeds on all supported platforms or has ExcludeArch + bugs filed
ok - BuildRequires correct
-- - Package handles locales with %find_lang
-- - %post, %postun call ldconfig if package contains shared .so files
ok - No bundled system libs
-- - Relocatability is justified
ok - Package owns all directories it creates
ok - Package requires other packages for directories it uses but does not own
ok - No duplicate files in %files unless necessary for license files
NO - File permissions are sane
     -rwxrwxr-x root root /usr/lib64/python2.7/site-packages/gitdb/_perf.so
ok - Each %files section contains %defattr
ok - Consistent use of macros
NO - Sources contain only permissible code or content
     gitdb/test/fixtures/* have no associated content license.
-- - Large documentation files go in -doc package
ok - Missing %doc files do not affect runtime
-- - Headers go in -devel package
-- - Static libs go in -static package
-- - Unversioned .so files go in -devel package
-- - Devel packages require base with fully-versioned dependency
ok - Package contains no .la files
-- - GUI app installs .desktop file w/desktop-file-install or has justification
-- - Package's files and directories don't conflict with others' or justified
ok - File names are valid UTF-8

Optional review guidelines:
no - Query upstream about including license files
     No content license given for gitdb/test/fixtures/*
no - Translations of description, Summary
ok - Builds in mock
ok - Builds on all supported platforms
-- - Scriptlets are sane
-- - Non-devel subpackage Requires are sane
-- - .pc files go in -devel unless main package is a development tool
ok - No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin
-- - Man pages included for all executables
no - Package with test-suite executes it in %check section

Packaging guidelines:
ok - Has dist tag
ok - Useful without external bits
ok - Package obeys FHS, except libexecdir, /usr/target, /run
-- - Programs launched before FS mounting use /run instead of /var/run
-- - Binaries in /bin, /sbin do not depend on files in /usr
ok - Changelog in prescribed format
ok - Spec file lacks Packager, Vendor, PreReq tags
ok - Correct BuildRoot tag on < F10/EL6
ok - Correct %clean section on < F13/EL6
ok - Requires correct, justified where necessary
ok - Summary, description do not use trademarks incorrectly
ok - All relevant documentation is packaged, tagged appropriately
ok - Documentation files do not have executable permissions
ok - %build honors applicable compiler flags or justifies otherwise
-- - Package with .pc files Requires pkgconfig on < EL6
ok - Useful -debuginfo package or disabled and justified
ok - No static executables
ok - Rpath absent or only used for internal libs
-- - Config files marked with %config
-- - %config files marked noreplace or justified
ok - No %config files under /usr
-- - SysV-style init script
ok - Spec uses macros instead of hard-coded directory names where appropriate
ok - Spec uses macros for executables only when configurability is needed
ok - %makeinstall used only when ``make install DESTDIR=...'' doesn't work
ok - Macros in Summary, %description expandable at SRPM build time
-- - Spec uses %{SOURCE#} instead of $RPM_SOURCE_DIR or %{sourcedir}
ok - %global instead of %define where appropriate
-- - Package containing translations BuildRequires gettext
ok - File timestamps preserved by file ops
-- - Parallel make
ok - Spec does not use Requires(pre,post) notation
-- - User, group creation handled correctly (See Packaging:UsersAndGroups)
-- - Web app files go in /usr/share/%{name}, not /var/www
-- - Conflicts are justified
ok - No external kernel modules
ok - No files in /srv
ok - One project per package
-- - Patches link to upstream bugs/comments/lists or are otherwise justified
-- - Packages needing dirs in /var/run or /var/lock use tmpfiles.d on >= F15

Python guidelines:
ok - Runtime Requires correct
ok - Python macros declared on < F13/EL6
ok - All .py files packaged with .pyc, .pyo counterparts
ok - Includes .egg-info files/directories when generated
ok - Provides/Requires properly filtered
-- - Code that invokes gtk.gdk.get_pixels_array() Requires numpy

Comment 3 Garrett Holmstrom 2011-06-14 00:38:11 UTC
Review of python-gitdb-0.5.2-2.20110613git17d9d13.fc16:

Please add a BuildRequires entry for python-async so the included tests can run.  The failed %check section currently terminates the build process.

The git object and packs and such in gitdb/test/fixtures are considered
content, but the license under which they are distributable is unclear.  I
recommend asking upstream for clarification.

A complete review follows.

Mandatory review guidelines:
ok - rpmlint output
     python-gitdb.src: W: invalid-url Source0: gitdb-0.5.2-17d9d13.tar.gz
ok - Package meets naming guidelines
ok - Spec file name matches base package name
ok - License is acceptable (BSD)
ok - License field in spec is correct
ok - License files included in package %docs or not included in upstream source
ok - License files installed when any subpackage combination is installed
ok - Spec written in American English
ok - Spec is legible
ok - Sources match upstream unless altered to fix permissibility issues
     Github does not supply tarballs with consistent checksums
NO - Build succeeds on at least one supported platform
     %check section requires python-async to run
NO - Build succeeds on all supported platforms or has ExcludeArch + bugs filed
     %check section requires python-async to run
NO - BuildRequires correct
     %check section requires python-async to run
-- - Package handles locales with %find_lang
-- - %post, %postun call ldconfig if package contains shared .so files
ok - No bundled system libs
-- - Relocatability is justified
ok - Package owns all directories it creates
ok - Package requires other packages for directories it uses but does not own
ok - No duplicate files in %files unless necessary for license files
ok - File permissions are sane
ok - Each %files section contains %defattr
ok - Consistent use of macros
NO - Sources contain only permissible code or content
     gitdb/test/fixtures/* have no associated content license.
-- - Large documentation files go in -doc package
ok - Missing %doc files do not affect runtime
-- - Headers go in -devel package
-- - Static libs go in -static package
-- - Unversioned .so files go in -devel package
-- - Devel packages require base with fully-versioned dependency
ok - Package contains no .la files
-- - GUI app installs .desktop file w/desktop-file-install or has justification
-- - Package's files and directories don't conflict with others' or justified
ok - File names are valid UTF-8

Optional review guidelines:
no - Query upstream about including license files
     No content license given for gitdb/test/fixtures/*
no - Translations of description, Summary
no - Builds in mock
no - Builds on all supported platforms
-- - Scriptlets are sane
-- - Non-devel subpackage Requires are sane
-- - .pc files go in -devel unless main package is a development tool
ok - No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin
-- - Man pages included for all executables
ok - Package with test-suite executes it in %check section

Packaging guidelines:
ok - Has dist tag
ok - Useful without external bits
ok - Package obeys FHS, except libexecdir, /usr/target, /run
-- - Programs launched before FS mounting use /run instead of /var/run
-- - Binaries in /bin, /sbin do not depend on files in /usr
ok - Changelog in prescribed format
ok - Spec file lacks Packager, Vendor, PreReq tags
ok - Correct BuildRoot tag on < F10/EL6
ok - Correct %clean section on < F13/EL6
ok - Requires correct, justified where necessary
ok - Summary, description do not use trademarks incorrectly
ok - All relevant documentation is packaged, tagged appropriately
ok - Documentation files do not have executable permissions
ok - %build honors applicable compiler flags or justifies otherwise
-- - Package with .pc files Requires pkgconfig on < EL6
ok - Useful -debuginfo package or disabled and justified
ok - No static executables
ok - Rpath absent or only used for internal libs
-- - Config files marked with %config
-- - %config files marked noreplace or justified
ok - No %config files under /usr
-- - SysV-style init script
ok - Spec uses macros instead of hard-coded directory names where appropriate
ok - Spec uses macros for executables only when configurability is needed
ok - %makeinstall used only when ``make install DESTDIR=...'' doesn't work
ok - Macros in Summary, %description expandable at SRPM build time
-- - Spec uses %{SOURCE#} instead of $RPM_SOURCE_DIR or %{sourcedir}
ok - %global instead of %define where appropriate
-- - Package containing translations BuildRequires gettext
ok - File timestamps preserved by file ops
-- - Parallel make
ok - Spec does not use Requires(pre,post) notation
-- - User, group creation handled correctly (See Packaging:UsersAndGroups)
-- - Web app files go in /usr/share/%{name}, not /var/www
-- - Conflicts are justified
ok - No external kernel modules
ok - No files in /srv
ok - One project per package
-- - Patches link to upstream bugs/comments/lists or are otherwise justified
-- - Packages needing dirs in /var/run or /var/lock use tmpfiles.d on >= F15

Python guidelines:
ok - Runtime Requires correct
ok - Python macros declared on < F13/EL6
ok - All .py files packaged with .pyc, .pyo counterparts
ok - Includes .egg-info files/directories when generated
ok - Provides/Requires properly filtered
-- - Code that invokes gtk.gdk.get_pixels_array() Requires numpy

Comment 4 Jesse Keating 2011-06-14 17:19:01 UTC
BR added.  Upstream contacted asking for explicit mention of the data files.

http://jkeating.fedorapeople.org/review/python-gitdb.spec
http://jkeating.fedorapeople.org/review/python-gitdb-0.5.2-3.20110613git17d9d13.fc15.src.rpm

Comment 5 Garrett Holmstrom 2011-06-14 17:49:20 UTC
Review of python-gitdb-0.5.2-3.20110613git17d9d13.fc16.src.rpm

Everything looks good packaging-wise.  Please wait to hear back from upstream about the content licensing bit before you upload sources.

Mandatory review guidelines:
ok - rpmlint output
     python-gitdb.src: W: invalid-url Source0: gitdb-0.5.2-17d9d13.tar.gz
ok - Package meets naming guidelines
ok - Spec file name matches base package name
ok - License is acceptable (BSD)
ok - License field in spec is correct
ok - License files included in package %docs or not included in upstream source
ok - License files installed when any subpackage combination is installed
ok - Spec written in American English
ok - Spec is legible
ok - Sources match upstream unless altered to fix permissibility issues
     Github does not supply tarballs with consistent checksums
ok - Build succeeds on at least one supported platform
ok - Build succeeds on all supported platforms or has ExcludeArch + bugs filed
ok - BuildRequires correct
-- - Package handles locales with %find_lang
-- - %post, %postun call ldconfig if package contains shared .so files
ok - No bundled system libs
-- - Relocatability is justified
ok - Package owns all directories it creates
ok - Package requires other packages for directories it uses but does not own
ok - No duplicate files in %files unless necessary for license files
ok - File permissions are sane
ok - Each %files section contains %defattr
ok - Consistent use of macros
no - Sources contain only permissible code or content
     Upstream contacted about gitdb/test/fixtures/* 
-- - Large documentation files go in -doc package
ok - Missing %doc files do not affect runtime
-- - Headers go in -devel package
-- - Static libs go in -static package
-- - Unversioned .so files go in -devel package
-- - Devel packages require base with fully-versioned dependency
ok - Package contains no .la files
-- - GUI app installs .desktop file w/desktop-file-install or has justification
-- - Package's files and directories don't conflict with others' or justified
ok - File names are valid UTF-8

Optional review guidelines:
ok - Query upstream about including license files
no - Translations of description, Summary
no - Builds in mock
     python-async has not yet made it to mirrors
ok - Builds on all supported platforms
-- - Scriptlets are sane
-- - Non-devel subpackage Requires are sane
-- - .pc files go in -devel unless main package is a development tool
ok - No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin
-- - Man pages included for all executables
ok - Package with test-suite executes it in %check section

Packaging guidelines:
ok - Has dist tag
ok - Useful without external bits
ok - Package obeys FHS, except libexecdir, /usr/target, /run
-- - Programs launched before FS mounting use /run instead of /var/run
-- - Binaries in /bin, /sbin do not depend on files in /usr
ok - Changelog in prescribed format
ok - Spec file lacks Packager, Vendor, PreReq tags
ok - Correct BuildRoot tag on < F10/EL6
ok - Correct %clean section on < F13/EL6
ok - Requires correct, justified where necessary
ok - Summary, description do not use trademarks incorrectly
ok - All relevant documentation is packaged, tagged appropriately
ok - Documentation files do not have executable permissions
ok - %build honors applicable compiler flags or justifies otherwise
-- - Package with .pc files Requires pkgconfig on < EL6
ok - Useful -debuginfo package or disabled and justified
ok - No static executables
ok - Rpath absent or only used for internal libs
-- - Config files marked with %config
-- - %config files marked noreplace or justified
ok - No %config files under /usr
-- - SysV-style init script
ok - Spec uses macros instead of hard-coded directory names where appropriate
ok - Spec uses macros for executables only when configurability is needed
ok - %makeinstall used only when ``make install DESTDIR=...'' doesn't work
ok - Macros in Summary, %description expandable at SRPM build time
-- - Spec uses %{SOURCE#} instead of $RPM_SOURCE_DIR or %{sourcedir}
ok - %global instead of %define where appropriate
-- - Package containing translations BuildRequires gettext
ok - File timestamps preserved by file ops
-- - Parallel make
ok - Spec does not use Requires(pre,post) notation
-- - User, group creation handled correctly (See Packaging:UsersAndGroups)
-- - Web app files go in /usr/share/%{name}, not /var/www
-- - Conflicts are justified
ok - No external kernel modules
ok - No files in /srv
ok - One project per package
-- - Patches link to upstream bugs/comments/lists or are otherwise justified
-- - Packages needing dirs in /var/run or /var/lock use tmpfiles.d on >= F15

Python guidelines:
ok - Runtime Requires correct
ok - Python macros declared on < F13/EL6
ok - All .py files packaged with .pyc, .pyo counterparts
ok - Includes .egg-info files/directories when generated
ok - Provides/Requires properly filtered
-- - Code that invokes gtk.gdk.get_pixels_array() Requires numpy

Comment 6 Jesse Keating 2011-06-14 18:07:19 UTC
New Package SCM Request
=======================
Package Name: python-gitdb
Short Description: A pure-Python git object database
Owners: jkeating
Branches: f14 f15 el6
InitialCC:

Comment 7 Gwyn Ciesla 2011-06-14 19:07:53 UTC
Git done (by process-git-requests).

Comment 8 Jesse Keating 2011-06-28 23:00:33 UTC
Built for rawhide.


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