Bug 986630 - Review Request: python-tinycss - CSS parser for Python
Review Request: python-tinycss - CSS parser for Python
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Christopher Meng
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 986608
  Show dependency treegraph
 
Reported: 2013-07-21 02:15 EDT by Eric Smith
Modified: 2014-08-21 07:51 EDT (History)
4 users (show)

See Also:
Fixed In Version: python-tinycss-0.3-1.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-02 17:57:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
i: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Eric Smith 2013-07-21 02:15:37 EDT
Spec URL: http://fedorapeople.org/~brouhaha/python-tinycss/python-tinycss.spec
SRPM URL: http://fedorapeople.org/~brouhaha/python-tinycss/python-tinycss-0.3-1.fc19.src.rpm
Description:
tinycss is a complete yet simple CSS parser for Python. It supports
the full syntax and error handling for CSS 2.1 as well as some CSS 3
modules. It is designed to be easy to extend for new CSS modules and
syntax, and integrates well with cssselect for Selectors 3 support.
Fedora Account System Username: brouhaha
Comment 1 Christopher Meng 2013-07-21 21:02:29 EDT
Issues:

1. Please use https://github.com/SimonSapin/tinycss 

OR

https://pypi.python.org/pypi/tinycss

as URL;

2. And please use pypi download link as Source0:

https://pypi.python.org/packages/source/t/tinycss/tinycss-0.3.tar.gz

3. python-tinycss.i686: E: non-standard-executable-perm /usr/lib/python2.7/site-packages/tinycss/speedups.so 0775L
Comment 2 Eric Smith 2013-07-22 03:22:38 EDT
What is the rationale for issues 1 and 2?  Is there some Fedora policy regarding github vs. pypi that I've overlooked?

For issue 1, the URL I provide seems to be much closer to a "home page" for the project than the github page, provides a superset of the information on the github page, and provides a link to the github page.  It seems like a more useful URL for users of the package.  In fact, that's the page that pypi says is the home page.

For issue 2, the release tarballs on github seem to be upstream from pypi, so they seem like a better candidate to be considered authoritative.  Although pypi does appear to offer older versions, they aren't listed, while on github they are. This means that the using the github release URL for the Source makes it easier for someone maintaining the spec to look at the version history and find older or newer versions.  Also, the github release page gives a portion of the hash useful to identify the correct sources in git.
Comment 3 Eric Smith 2013-07-22 03:35:20 EDT
I think issue 3 is caused by some problem on the system you're building with.  I've run rpmlint on the binary RPMs built by Koji for F19 and rawhide, and they don't give that warning. The speedups.so in the Koji builds are 0755.

f19:  http://koji.fedoraproject.org/koji/taskinfo?taskID=5637905
rawhide:  http://koji.fedoraproject.org/koji/taskinfo?taskID=5637921

$ ls *.rpm
python-tinycss-0.3-1.fc19.i686.rpm    python-tinycss-0.3-1.fc20.i686.rpm
python-tinycss-0.3-1.fc19.x86_64.rpm  python-tinycss-0.3-1.fc20.x86_64.rpm
$ rpmlint *.rpm
python-tinycss.i686: W: spelling-error %description -l en_US cssselect -> selectness, select
python-tinycss.x86_64: W: spelling-error %description -l en_US cssselect -> selectness, select
python-tinycss.i686: W: spelling-error %description -l en_US cssselect -> selectness, select
python-tinycss.x86_64: W: spelling-error %description -l en_US cssselect -> selectness, select
4 packages and 0 specfiles checked; 0 errors, 4 warnings.
$ rpm -qlvp *.rpm | grep speedups.so
-rwxr-xr-x    1 root    root                    65060 Jul 22 01:28 /usr/lib/python2.7/site-packages/tinycss/speedups.so
-rwxr-xr-x    1 root    root                    76840 Jul 22 01:28 /usr/lib64/python2.7/site-packages/tinycss/speedups.so
-rwxr-xr-x    1 root    root                    65056 Jul 22 01:33 /usr/lib/python2.7/site-packages/tinycss/speedups.so
-rwxr-xr-x    1 root    root                    80936 Jul 22 01:33 /usr/lib64/python2.7/site-packages/tinycss/speedups.so
Comment 4 Matthias Runge 2013-07-22 03:37:27 EDT
(In reply to Eric Smith from comment #2)
> What is the rationale for issues 1 and 2?  Is there some Fedora policy
> regarding github vs. pypi that I've overlooked?
AFAIK, there is no such policy. Your URLs look fine. I'm tending to use urls looking more "official" or tending to be long stable, since your package might stay in fedora repos for a long time.
Comment 5 Eric Smith 2013-07-22 03:43:18 EDT
The other reason I prefer github for the Source is that if we ever wanted to use a git snapshot, the Source URL would have to change, but it's at least on the same site.

However, you are right that the pypi URLs are likely stable even if the developer changes from github to another site.

If you still want me to change the URL and Source to the ones you previously recommended, let me know, and I'll do it, but my preference is to keep them as they are.
Comment 6 Christopher Meng 2013-07-22 07:07:26 EDT
Pypi is a bit like CPAN, yes, it's an index of python packages.

IMO, pypi not only provides a stable home URL for search and download, but also provides a better link of source0. You needed to check out the rev, and download,  and waste 3 lines in your spec just because github doesn't provide a download way like sourceforge... 

I hate checking out a package from VCS, maybe the upstream forgets to tag releases? Maybe it is just a snapshot place? Or maybe bahbahbah... This module is lucky because the author can tag it as normal. I've seen many packages hosted on gitorious or bitbucket, they don't have a version number, even a downloadable link is unavailable, too. 

Anyway, it's up to you. I would keep all my things simple, but if you think it's ok, then I'll support, not only 2 hands, but also 2 feet. ;) 


My machine is rawhide, there shouldn't have difference between yours.. weird... 

APPROVED.
Comment 7 Matthias Runge 2013-07-22 07:13:42 EDT
(In reply to Eric Smith from comment #5)
> The other reason I prefer github for the Source is that if we ever wanted to
> use a git snapshot, the Source URL would have to change, but it's at least
> on the same site.
Source0 URL is just taken to create a file name for unpacking sources. 

I can't really recommend using git snapshots, because no human can remember the version.
Comment 8 Eric Smith 2013-07-22 16:00:54 EDT
It's not necessary to remember the hash used for the snapshot. It needs to be documented in the spec file, usually as a %global.  It's also possible with github to construct a URL for a snapshot tarball.  For example, from smartsim.spec:

%global git_hash 3b11cf8
[...]
Source0:        https://github.com/ashleynewson/SmartSim/tarball/%{git_hash}/sma
rtsim-%{git_hash}.tar.gz

That said, using release tarballs rather than snapshots is preferred unless there is a really good reason to use a snapshot.
Comment 9 Eric Smith 2013-07-22 16:02:24 EDT
New Package SCM Request
=======================
Package Name: python-tinycss
Short Description: CSS parser for Python
Owners: brouhaha
Branches: f18 f19 el6
InitialCC:
Comment 10 Gwyn Ciesla 2013-07-23 08:04:16 EDT
Git done (by process-git-requests).
Comment 11 Fedora Update System 2013-07-23 12:49:37 EDT
python-tinycss-0.3-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-tinycss-0.3-1.fc19
Comment 12 Fedora Update System 2013-07-23 13:00:47 EDT
python-tinycss-0.3-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-tinycss-0.3-1.fc18
Comment 13 Fedora Update System 2013-07-23 13:07:55 EDT
python-tinycss-0.3-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-tinycss-0.3-1.el6
Comment 14 Fedora Update System 2013-07-23 15:39:19 EDT
python-tinycss-0.3-1.el6 has been pushed to the Fedora EPEL 6 testing repository.
Comment 15 Fedora Update System 2013-07-23 17:29:08 EDT
python-tinycss-0.3-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-tinycss-0.3-2.fc19
Comment 16 Fedora Update System 2013-07-23 17:54:23 EDT
python-tinycss-0.3-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-tinycss-0.3-2.fc18
Comment 17 Fedora Update System 2013-08-02 17:57:45 EDT
python-tinycss-0.3-2.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 18 Fedora Update System 2013-08-02 18:10:38 EDT
python-tinycss-0.3-2.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 19 Fedora Update System 2013-08-07 14:13:30 EDT
python-tinycss-0.3-1.el6 has been pushed to the Fedora EPEL 6 stable repository.
Comment 20 Eric Smith 2014-08-20 23:58:25 EDT
Package Change Request
======================
Package Name: python-tinycss
New Branches: epel7
Owners: brouhaha
Comment 21 Gwyn Ciesla 2014-08-21 07:51:56 EDT
Git done (by process-git-requests).

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