Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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.