Bug 783414 - Review Request: python-rdfextras - Python library for working with RDF
Summary: Review Request: python-rdfextras - Python library for working with RDF
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Haïkel Guémar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-20 10:56 UTC by Pierre-YvesChibon
Modified: 2012-03-10 21:54 UTC (History)
3 users (show)

Fixed In Version: python-rdfextras-0.1-2.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-03-10 21:54:28 UTC
Type: ---
Embargoed:
karlthered: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Pierre-YvesChibon 2012-01-20 10:56:28 UTC
Spec URL: http://pingou.fedorapeople.org/RPMs//python-rdfextras.spec
SRPM URL: http://pingou.fedorapeople.org/RPMs//python-rdfextras-0.1-1.fc16.src.rpm

Description:
RDFExtras is a collection of packages providing extras based on RDFLib.
The common denominator is "non-core-rdflib".

This project is for collecting several packages with distinct uses, such
as commandline tools, experimental (or unmaintained) stores and similar.
It will be close to RDFLib, but the intent is to keep things here a bit
more loose.

These packages are thus to be considered unstable in general. Useful,
sometimes near core, but not currently guaranteed to never be
renamed/reshuffled/redesigned.

(For instance, there are currently non-commandline utils in "
rdfextras.tools" that may be subsequently moved to e.g.
"rdfextras.util", "rdfextras.web" or similar.)

Comment 1 Pierre-YvesChibon 2012-01-20 10:57:12 UTC
scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3717266

Comment 2 Haïkel Guémar 2012-01-20 21:03:47 UTC
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL is required
[x]: MUST Sources contain only permissible code or content.
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[x]: MUST 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]: MUST License field in the package spec file matches the actual license.
[!]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
     Note: Using both %{buildroot} and $RPM_BUILD_ROOT
[x]: MUST Package meets the Packaging Guidelines.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generates any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.

rpmlint python-rdfextras-0.1-1.fc17.noarch.rpm

python-rdfextras.noarch: W: spelling-error %description -l en_US rdflib -> rifling
python-rdfextras.noarch: W: spelling-error %description -l en_US commandline -> command line, command-line, commandment
python-rdfextras.noarch: W: spelling-error %description -l en_US unmaintained -> maintained, mountaineered, untainted
python-rdfextras.noarch: W: spelling-error %description -l en_US utils -> tills
python-rdfextras.noarch: W: spelling-error %description -l en_US util -> til, until, u til
python-rdfextras.noarch: W: no-documentation
python-rdfextras.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/rdfextras/tools/sparqler.py 0644L /usr/bin/env
python-rdfextras.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/rdfextras/tools/rdfpipe.py 0644L /usr/bin/env
python-rdfextras.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/rdfextras/sparql/parser.py 0644L /usr/bin/env
python-rdfextras.noarch: W: no-manual-page-for-binary rdfpipe
1 packages and 0 specfiles checked; 3 errors, 7 warnings.


rpmlint python-rdfextras-0.1-1.fc17.src.rpm

python-rdfextras.src: W: spelling-error %description -l en_US rdflib -> rifling
python-rdfextras.src: W: spelling-error %description -l en_US commandline -> command line, command-line, commandment
python-rdfextras.src: W: spelling-error %description -l en_US unmaintained -> maintained, mountaineered, untainted
python-rdfextras.src: W: spelling-error %description -l en_US utils -> tills
python-rdfextras.src: W: spelling-error %description -l en_US util -> til, until, u til
1 packages and 0 specfiles checked; 0 errors, 5 warnings.


[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/builder/783414/rdfextras-0.1.tar.gz :
  MD5SUM this package     : 8bce3ae5cf7a1dbc42ebddadebd477a9
  MD5SUM upstream package : 8bce3ae5cf7a1dbc42ebddadebd477a9

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: SHOULD Reviewer should test that the package builds in mock.
[!]: SHOULD If the source package does not include license text(s) as a
     separate file from upstream, the packager SHOULD query upstream to
     include it.
[x]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD SourceX is a working URL.
[x]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[!]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
     Note: Using both %{buildroot} and $RPM_BUILD_ROOT
[!]: MUST Rpmlint output is silent.

rpmlint python-rdfextras-0.1-1.fc17.noarch.rpm

python-rdfextras.noarch: W: spelling-error %description -l en_US rdflib -> rifling
python-rdfextras.noarch: W: spelling-error %description -l en_US commandline -> command line, command-line, commandment
python-rdfextras.noarch: W: spelling-error %description -l en_US unmaintained -> maintained, mountaineered, untainted
python-rdfextras.noarch: W: spelling-error %description -l en_US utils -> tills
python-rdfextras.noarch: W: spelling-error %description -l en_US util -> til, until, u til
python-rdfextras.noarch: W: no-documentation
python-rdfextras.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/rdfextras/tools/sparqler.py 0644L /usr/bin/env
python-rdfextras.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/rdfextras/tools/rdfpipe.py 0644L /usr/bin/env
python-rdfextras.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/rdfextras/sparql/parser.py 0644L /usr/bin/env
python-rdfextras.noarch: W: no-manual-page-for-binary rdfpipe
1 packages and 0 specfiles checked; 3 errors, 7 warnings.


rpmlint python-rdfextras-0.1-1.fc17.src.rpm

python-rdfextras.src: W: spelling-error %description -l en_US rdflib -> rifling
python-rdfextras.src: W: spelling-error %description -l en_US commandline -> command line, command-line, commandment
python-rdfextras.src: W: spelling-error %description -l en_US unmaintained -> maintained, mountaineered, untainted
python-rdfextras.src: W: spelling-error %description -l en_US utils -> tills
python-rdfextras.src: W: spelling-error %description -l en_US util -> til, until, u til
1 packages and 0 specfiles checked; 0 errors, 5 warnings.




Generated by fedora-review 0.1.2


Comments:
* licensing: Ok (BSD 2 clauses according upstream website), lacks a LICENSE file, you should request upstream to include it. Not a blocker (NAB).

* rpmlint is not silent: you should request that upstream includes a man page for rdfpipe (NAB).
in %install you didn't remove the shebang in all files, i suggest you this one-liner:
find %{buildroot}%{python_sitelib}/rdfextras -name '*.py' -exec sed -i '/#!.*python/d' {} \;
=> Blocker

* since you plan to maintain this package on Fedora and EPEL6, you must remove any reference to BuildRoot or buildroot cleaning.
=> Blocker

* i strongly suggest that you remove the %defattr macros too.

* you should use consistently macros (both $RPM_BUILD_ROOT and %{buildroot}), anyone is fine.
=> Blocker

Everything else is OK with Fedora general and python specific guidelines.

As soon as you fix the shebang issue in python site-packages, the buildroot stuff, and the consistent use of macros, i'll approve of this package.

Comment 3 Pierre-YvesChibon 2012-01-21 11:12:45 UTC
(In reply to comment #2)
> Comments:
> * licensing: Ok (BSD 2 clauses according upstream website), lacks a LICENSE
> file, you should request upstream to include it. Not a blocker (NAB).

The file is already included in the sources so the next release will have it.

> * rpmlint is not silent: you should request that upstream includes a man page
> for rdfpipe (NAB).

Will do.

> in %install you didn't remove the shebang in all files, i suggest you this
> one-liner:
> find %{buildroot}%{python_sitelib}/rdfextras -name '*.py' -exec sed -i
> '/#!.*python/d' {} \;
> => Blocker

Done

> * since you plan to maintain this package on Fedora and EPEL6, you must remove
> any reference to BuildRoot or buildroot cleaning.
> => Blocker
> 
> * i strongly suggest that you remove the %defattr macros too.
> 
> * you should use consistently macros (both $RPM_BUILD_ROOT and %{buildroot}),
> anyone is fine.
> => Blocker

Done

Updated version:
Spec URL: http://pingou.fedorapeople.org/RPMs//python-rdfextras.spec
SRPM URL:
http://pingou.fedorapeople.org/RPMs//python-rdfextras-0.1-2.el6.src.rpm

Comment 4 Haïkel Guémar 2012-01-21 11:48:14 UTC
Since all valid points are still Ok, that blockers have been fixed and you accepted my suggestions, there's no reasons to hold this package anymore as it is fully compliant with Fedora guidelines.

I hereby approve python-rdfextras into Fedora Packages Collection.

Comment 5 Pierre-YvesChibon 2012-01-21 12:01:32 UTC
Thanks a bunch for the review.

New Package SCM Request
=======================
Package Name: python-rdfextras
Short Description: Python library for working with RDF
Owners: pingou
Branches: f16 f15 el6
InitialCC:

Comment 6 Gwyn Ciesla 2012-02-08 14:08:52 UTC
Git done (by process-git-requests).

Added f17.

Comment 7 Pierre-YvesChibon 2012-02-08 14:13:07 UTC
Thanks Haïkel for setting the flag (I had forgotten it)

Thanks Jon for the Git, amazing timing, only 5min between the flag and the repo, I could get used to this :)

Comment 8 Fedora Update System 2012-02-08 14:25:35 UTC
python-rdfextras-0.1-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/python-rdfextras-0.1-2.fc16

Comment 9 Fedora Update System 2012-02-08 22:55:10 UTC
Package python-rdfextras-0.1-2.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing python-rdfextras-0.1-2.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-1459/python-rdfextras-0.1-2.fc16
then log in and leave karma (feedback).

Comment 10 Fedora Update System 2012-03-10 21:54:28 UTC
python-rdfextras-0.1-2.fc16 has been pushed to the Fedora 16 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.