Bug 998738 (python-yapsy) - Review Request: python-yapsy - A simple plugin system for Python applications
Summary: Review Request: python-yapsy - A simple plugin system for Python applications
Keywords:
Status: CLOSED ERRATA
Alias: python-yapsy
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christopher Meng
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 888385 (view as bug list)
Depends On:
Blocks: DebugInfo 882482
TreeView+ depends on / blocked
 
Reported: 2013-08-20 00:20 UTC by Pete Travis
Modified: 2013-09-23 00:39 UTC (History)
5 users (show)

Fixed In Version: python-yapsy-1.10.2-2.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-09-23 00:39:54 UTC
Type: ---
Embargoed:
i: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Pete Travis 2013-08-20 00:20:01 UTC
Spec URL: http://immanetize.fedorapeople.org/python-yapsy.spec
SRPM URL: http://immanetize.fedorapeople.org/python-yapsy-1.10.2-1.src.rpm
Description: Yapsy’s main purpose is to offer a way to easily design a plugin system in Python. Yapsy only depends on Python's standard library.
Python. Yapsy only depends on Python’s standard library.
Fedora Account System Username: immanetize

Comment 1 Christopher Meng 2013-08-20 04:56:25 UTC
Invalid:

1. Release:	1 ---> Missing dist macro

2. License:	BSD, CC-BY-SA ---> Please follow the licensing guideline and fix, but DO NOT use any comma.

3. BuildRequires: 	python --->BuildRequires: 	python2-devel

Also remove the trailing space.

4. Where?


%package -n python3-yapsy-doc
Summary:	Documentation for python2-yapsy, a plugin system for Python3 applications.
Group:		Development/Libraries
%description -n python3-yapsy-doc
Documentation for yapsy, a simple plugin system for python3 applications.
%endif

I strongly recommend you generate one NOARCH doc subpackage for py2.7 and py3.x

5. What??!!

%files
%dir %{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/
%{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/PKG-INFO
%{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/SOURCES.txt
%{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/dependency_links.txt
%{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/top_level.txt
%dir %{python_sitelib}/%{productname}/
%{python_sitelib}/%{productname}/AutoInstallPluginManager.py
%{python_sitelib}/%{productname}/AutoInstallPluginManager.pyc
%{python_sitelib}/%{productname}/AutoInstallPluginManager.pyo
%{python_sitelib}/%{productname}/ConfigurablePluginManager.py
%{python_sitelib}/%{productname}/ConfigurablePluginManager.pyc
%{python_sitelib}/%{productname}/ConfigurablePluginManager.pyo
%{python_sitelib}/%{productname}/FilteredPluginManager.py
%{python_sitelib}/%{productname}/FilteredPluginManager.pyc
%{python_sitelib}/%{productname}/FilteredPluginManager.pyo
%{python_sitelib}/%{productname}/IPlugin.py
%{python_sitelib}/%{productname}/IPlugin.pyc
%{python_sitelib}/%{productname}/IPlugin.pyo
%{python_sitelib}/%{productname}/IPluginLocator.py
%{python_sitelib}/%{productname}/IPluginLocator.pyc
%{python_sitelib}/%{productname}/IPluginLocator.pyo
%{python_sitelib}/%{productname}/PluginFileLocator.py
%{python_sitelib}/%{productname}/PluginFileLocator.pyc
%{python_sitelib}/%{productname}/PluginFileLocator.pyo
%{python_sitelib}/%{productname}/PluginInfo.py
%{python_sitelib}/%{productname}/PluginInfo.pyc
%{python_sitelib}/%{productname}/PluginInfo.pyo
%{python_sitelib}/%{productname}/PluginManager.py
%{python_sitelib}/%{productname}/PluginManager.pyc
%{python_sitelib}/%{productname}/PluginManager.pyo
%{python_sitelib}/%{productname}/PluginManagerDecorator.py
%{python_sitelib}/%{productname}/PluginManagerDecorator.pyc
%{python_sitelib}/%{productname}/PluginManagerDecorator.pyo
%{python_sitelib}/%{productname}/VersionedPluginManager.py
%{python_sitelib}/%{productname}/VersionedPluginManager.pyc
%{python_sitelib}/%{productname}/VersionedPluginManager.pyo
%{python_sitelib}/%{productname}/__init__.py
%{python_sitelib}/%{productname}/__init__.pyc
%{python_sitelib}/%{productname}/__init__.pyo

is ugly, change to:

%{python_sitelib}/%{projectname}-%{version}_pythons2n3-py%{python_version}.egg-info
%{python_sitelib}/%{productname}

Comment 2 Pete Travis 2013-08-20 06:32:15 UTC
Hey Christopher, thanks for picking this up!

(In reply to Christopher Meng from comment #1)
> Invalid:
> 
> 1. Release:	1 ---> Missing dist macro
> 
Added the macro.

> 2. License:	BSD, CC-BY-SA ---> Please follow the licensing guideline and
> fix, but DO NOT use any comma.
>
s/,/ AND/

> 3. BuildRequires: 	python --->BuildRequires: 	python2-devel
> 
Done. Can you help me understand why this is needed? It built without python2-devel.

> Also remove the trailing space.
> 
s/ $//

> 4. Where?
> 
> 
> %package -n python3-yapsy-doc
> Summary:	Documentation for python2-yapsy, a plugin system for Python3
> applications.
> Group:		Development/Libraries
> %description -n python3-yapsy-doc
> Documentation for yapsy, a simple plugin system for python3 applications.
> %endif
> 
> I strongly recommend you generate one NOARCH doc subpackage for py2.7 and
> py3.x

Changed to use noarch doc subpackages. Upstream ships different doc trees for py2.7 and py3.x, so I want the spec to allow for them to be different.

> 5. What??!!
> 
> %files
> %dir %{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/
> %{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/PKG-
> INFO
> %{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/
> SOURCES.txt
> %{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/
> dependency_links.txt
> %{python_sitelib}/%{projectname}-%{version}_pythons2n3-py2.7.egg-info/
> top_level.txt
> %dir %{python_sitelib}/%{productname}/
> %{python_sitelib}/%{productname}/AutoInstallPluginManager.py
> %{python_sitelib}/%{productname}/AutoInstallPluginManager.pyc
> %{python_sitelib}/%{productname}/AutoInstallPluginManager.pyo
> %{python_sitelib}/%{productname}/ConfigurablePluginManager.py
> %{python_sitelib}/%{productname}/ConfigurablePluginManager.pyc
> %{python_sitelib}/%{productname}/ConfigurablePluginManager.pyo
> %{python_sitelib}/%{productname}/FilteredPluginManager.py
> %{python_sitelib}/%{productname}/FilteredPluginManager.pyc
> %{python_sitelib}/%{productname}/FilteredPluginManager.pyo
> %{python_sitelib}/%{productname}/IPlugin.py
> %{python_sitelib}/%{productname}/IPlugin.pyc
> %{python_sitelib}/%{productname}/IPlugin.pyo
> %{python_sitelib}/%{productname}/IPluginLocator.py
> %{python_sitelib}/%{productname}/IPluginLocator.pyc
> %{python_sitelib}/%{productname}/IPluginLocator.pyo
> %{python_sitelib}/%{productname}/PluginFileLocator.py
> %{python_sitelib}/%{productname}/PluginFileLocator.pyc
> %{python_sitelib}/%{productname}/PluginFileLocator.pyo
> %{python_sitelib}/%{productname}/PluginInfo.py
> %{python_sitelib}/%{productname}/PluginInfo.pyc
> %{python_sitelib}/%{productname}/PluginInfo.pyo
> %{python_sitelib}/%{productname}/PluginManager.py
> %{python_sitelib}/%{productname}/PluginManager.pyc
> %{python_sitelib}/%{productname}/PluginManager.pyo
> %{python_sitelib}/%{productname}/PluginManagerDecorator.py
> %{python_sitelib}/%{productname}/PluginManagerDecorator.pyc
> %{python_sitelib}/%{productname}/PluginManagerDecorator.pyo
> %{python_sitelib}/%{productname}/VersionedPluginManager.py
> %{python_sitelib}/%{productname}/VersionedPluginManager.pyc
> %{python_sitelib}/%{productname}/VersionedPluginManager.pyo
> %{python_sitelib}/%{productname}/__init__.py
> %{python_sitelib}/%{productname}/__init__.pyc
> %{python_sitelib}/%{productname}/__init__.pyo
> 
> is ugly, change to:
> 
> %{python_sitelib}/%{projectname}-%{version}_pythons2n3-py%{python_version}.
> egg-info
> %{python_sitelib}/%{productname}

*facepalm* Done, thanks.

Comment 3 Pete Travis 2013-08-20 06:33:31 UTC
Spec URL: http://immanetize.fedorapeople.org/python-yapsy.spec
SRPM URL: http://immanetize.fedorapeople.org/python-yapsy-1.10.2-2.fc20.src.rpm
Description: Yapsy’s main purpose is to offer a way to easily design a plugin system in Python. Yapsy only depends on Python's standard library.

Comment 4 Christopher Meng 2013-08-21 12:30:03 UTC
Rpmlint (installed packages)
----------------------------
# rpmlint python-yapsy-doc python-yapsy
python-yapsy-doc.noarch: W: invalid-url URL: http://yapsy.sourceforge.net <urlopen error timed out>
python-yapsy.i686: W: invalid-url URL: http://yapsy.sourceforge.net <urlopen error timed out>
python-yapsy.i686: E: no-binary
python-yapsy.i686: W: no-documentation
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/AutoInstallPluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/IPluginLocator.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginInfo.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/ConfigurablePluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/IPlugin.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginManagerDecorator.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/FilteredPluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/VersionedPluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/__init__.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginFileLocator.py 0644L /usr/bin/python

Please remove shebangs.

Comment 5 Pete Travis 2013-08-22 23:34:00 UTC
Spec URL: http://immanetize.fedorapeople.org/python-yapsy.spec
SRPM URL: http://immanetize.fedorapeople.org/python-yapsy-1.10.2-3.fc21.src.rpm
Description: Yapsy’s main purpose is to offer a way to easily design a plugin system in Python. Yapsy only depends on Python's standard library.

Comment 6 Pete Travis 2013-08-24 04:15:34 UTC
Christopher, I have another package whose review is waiting for this dependency. Can you take a look at the updated files soon?

Comment 7 Christopher Meng 2013-08-25 14:05:29 UTC
1. No need to Requires:	python, RPM will add it.

2. python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/AutoInstallPluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/IPluginLocator.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginInfo.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/ConfigurablePluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/IPlugin.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginManagerDecorator.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/FilteredPluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/VersionedPluginManager.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/__init__.py 0644L /usr/bin/python
python-yapsy.i686: E: non-executable-script /usr/lib/python2.7/site-packages/yapsy/PluginFileLocator.py 0644L /usr/bin/python

Seems sed sentence is invalid?

Comment 8 Pete Travis 2013-09-06 23:48:57 UTC
I've updated the spec file and rebuild the src.rpm linked above to remove the harmless but unneeded declaration of Requires: python

I can't reproduce complaints about non-executable scripts after stripping shebangs.

Comment 9 Christopher Meng 2013-09-07 13:37:59 UTC
Replace %{__python} with %{__python2} (I just knew this).

APPROVED.

Comment 10 Pete Travis 2013-09-07 15:18:28 UTC
New Package SCM Request
=======================
Package Name: python-yapsy
Short Description: A simple plugin system for Python applications
Owners: immanetize
Branches: f18 f19 f20
InitialCC:

Comment 11 Kevin Fenzi 2013-09-07 17:36:59 UTC
Git done (by process-git-requests).

Comment 12 Fedora Update System 2013-09-08 04:45:08 UTC
python-yapsy-1.10.2-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/python-yapsy-1.10.2-2.fc20

Comment 13 Fedora Update System 2013-09-08 16:25:55 UTC
python-yapsy-1.10.2-2.fc20 has been pushed to the Fedora 20 testing repository.

Comment 14 Ville Skyttä 2013-09-09 14:53:53 UTC
It seems to me that the whole package should be noarch, not just the doc subpackages. Is there a reason it isn't? If there is, the -debuginfo package should be explicitly disabled.

Comment 15 Christopher Meng 2013-09-09 14:57:51 UTC
*** Bug 888385 has been marked as a duplicate of this bug. ***

Comment 16 Fedora Update System 2013-09-23 00:39:54 UTC
python-yapsy-1.10.2-2.fc20 has been pushed to the Fedora 20 stable repository.


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