Bug 755065

Summary: Review Request: python-sqlalchemy0.7 - compat package
Product: [Fedora] Fedora Reporter: Pádraig Brady <p>
Component: Package ReviewAssignee: Steve Traylen <steve.traylen>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: apevec, apevec, gwync, notting, package-review, steve.traylen
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: p: fedora-review+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: python-sqlalchemy0.7-0.7.3-4.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-25 18:11:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 755139    
Bug Blocks:    

Description Pádraig Brady 2011-11-18 17:43:06 UTC
Spec URL: http://pbrady.fedorapeople.org/packages/python-sqlalchemy0.7.spec
SRPM URL: http://pbrady.fedorapeople.org/packages/python-sqlalchemy0.7-0.7.3-2.el6.src.rpm

This is a compat package that can be installed in parallel with the RHEL python-sqlalchemy-0.5.5 package. It's needed initially by openstack.
This will only be requested for the el6 branch.

Comment 1 Steve Traylen 2011-11-18 18:43:52 UTC
Hi,

Build fails with mock... 
A mock of CentOS6 (OS, Updates & CS) +EPEL. repositories 


+ /usr/bin/python ./sqla_nose.py
Traceback (most recent call last):
  File "./sqla_nose.py", line 19, in <module>
    nose.main(addplugins=[NoseSQLAlchemy()])
TypeError: __init__() got an unexpected keyword argument 'addplugins'
error: Bad exit status from /var/tmp/rpm-tmp.Ya2ziP (%check)
RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.Ya2ziP (%check)
Child returncode was: 1
EXCEPTION: Command failed. See logs for output.
 # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python-sqlalchemy0.7.spec']
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/mockbuild/trace_decorator.py", line 70, in trace
    result = func(*args, **kw)
  File "/usr/lib/python2.6/site-packages/mockbuild/util.py", line 328, in do
    raise mockbuild.exception.Error, ("Command failed. See logs for output.\n # %s" % (command,), child.returncode)
Error: Command failed. See logs for output.
 # ['bash', '--login', '-c', 'rpmbuild -bb --target x86_64 --nodeps builddir/build/SPECS/python-sqlalchemy0.7.spec']
LEAVE do --> EXCEPTION RAISED

Checking now in koji in case it's a RHEL vs CentOS:

http://koji.fedoraproject.org/koji/taskinfo?taskID=3524833

same result.

Also if it were me I would remove all the stuff that is never going 
to be used, i.e.

%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%endif

%if 0%{?fedora} > 12 || 0%{?rhel} > 6
%global with_python3 1
%endif

and all the cases below that that use these, they are redundant.

Also there is no README.Fedora file suggesting how this package should
be used as is dictated in the alternate egg guidelines.

Steve.

Comment 2 Pádraig Brady 2011-11-19 12:23:16 UTC
It will probably work with this:
http://toshio.fedorapeople.org/packages/python-nose1.1-1.1.2-2.el6.noarch.rpm

That package has been submitted for review:
https://bugzilla.redhat.com/show_bug.cgi?id=755139

I'll add a README.Fedora

Comment 3 Pádraig Brady 2011-11-21 10:06:32 UTC
Added README.Fedora and built with python-nose1.1

Spec URL: http://pbrady.fedorapeople.org/packages/python-sqlalchemy0.7.spec
SRPM URL: http://pbrady.fedorapeople.org/packages/python-sqlalchemy0.7-0.7.3-3.el6.src.rpm

Comment 4 Steve Traylen 2011-11-22 10:19:08 UTC
I'll review this as soon as bug #755139 at least becomes a bhodi submission.
Steve.

Comment 5 Pádraig Brady 2011-11-28 12:11:38 UTC
The https://admin.fedoraproject.org/updates/python-nose1.1-1.1.2-4.el6 dependency is now submitted

Comment 6 Steve Traylen 2011-11-28 21:26:55 UTC


Builds in mock okay.
mock -r epel-6-x86_64 --init
mock -r epel-6-x86_64 --install python-nose1.1-1.1.2-4.el6.noarch.rpm
mock -r epel-6-x86_64 --no-clean --rebuild python-sqlalchemy0.7-0.7.3-3.el6.src.rpm

 +:ok, =:needs attention, -:needs fixing

MUST Items:
[=] MUST: rpmlint must be run on every package.
$ rpmlint ~/rpmbuild/SPECS/python-sqlalchemy0.7.spec 
Clean other than
python-sqlalchemy0.7.x86_64: E: script-without-shebang
/usr/lib64/python2.6/site-packages/SQLAlchemy-0.7.3-py2.6-linux-x86_64.egg/sqlalchemy/dialects/mysql/zxjdbc.py

this is easy to remove fix with an chmod so should go.

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
MIT
[+] MUST: The License field in the package spec file must match the actual license.
Clearly MIT with good headers.
[+] 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 must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.
0280527f7a80775a770cb3e4bdadaf6f  SQLAlchemy-0.7.3.tar.gz
0280527f7a80775a770cb3e4bdadaf6f  ../SOURCES/SQLAlchemy-0.7.3.tar.gz
[+] MUST: The package must successfully compile and build into binary rpms on at least one supported architecture.
[+] MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
[+] MUST: All build dependencies must be listed in BuildRequires
[+] MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro.
[+] MUST: Every binary RPM package which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
[+] MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review
[+] MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.
[+] MUST: A package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line.
[+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
Not needed.
[+] MUST: Each package must consistently use macros, as described in the macros section of Packaging Guidelines.
[+] MUST: The package must contain code, or permissible content. This is described in detail in the code vs. content section of Packaging Guidelines.
[+] MUST: Large documentation files should go in a doc subpackage.
[+] MUST: If a package includes something as %doc, it must not affect the runtime of the application.
[+] MUST: Header files must be in a -devel package.
[+] MUST: Static libraries must be in a -static package.
[+] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for directory ownership and usability).
[+] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package.
[+] MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release} 
[+] MUST: Packages must NOT contain any .la libtool archives, these should be removed in the spec.
[+] MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section.
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
Not needed
[+] MUST: All filenames in rpm packages must be valid UTF-8.

Comments:
So just the shebangs on python libs.

The python3 package must be renamed to have a 1.1 on the end, i.e

Comment 7 Pádraig Brady 2011-11-28 22:22:27 UTC
Thanks Steve!

New Package SCM Request
=======================
Package Name: python-sqlalchemy0.7
Short Description: Modular and flexible ORM library for python
Owners: pbrady stevetraylen
Branches: el6
InitialCC:

Comment 8 Gwyn Ciesla 2011-11-28 23:17:27 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2011-11-30 10:23:15 UTC
python-sqlalchemy0.7-0.7.3-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-sqlalchemy0.7-0.7.3-4.el6

Comment 10 Fedora Update System 2011-11-30 22:35:22 UTC
Package python-sqlalchemy0.7-0.7.3-4.el6:
* should fix your issue,
* was pushed to the Fedora EPEL 6 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing python-sqlalchemy0.7-0.7.3-4.el6'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2011-5121/python-sqlalchemy0.7-0.7.3-4.el6
then log in and leave karma (feedback).

Comment 11 Fedora Update System 2011-12-02 00:01:55 UTC
python-sqlalchemy0.7-0.7.3-4.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Alan Pevec 2013-02-25 08:59:40 UTC
Package Change Request
======================
Package Name: python-sqlalchemy0.7
New Branches: devel
Owners: pbrady stevetraylen
InitialCC: apevec

We need to revive this compat package in F19 where python-sqlalchemy was updated to 0.8.0 beta http://koji.fedoraproject.org/koji/buildinfo?buildID=363832
which isn't compatible with OpenStack:
https://github.com/openstack/requirements/blob/master/tools/pip-requires
SQLAlchemy>=0.7.3,<0.8

Comment 13 Alan Pevec 2013-02-25 09:00:34 UTC
Package Change Request
======================
Package Name: python-sqlalchemy0.7
New Branches: devel
Owners: pbrady stevetraylen
InitialCC: apevec

We need to revive this compat package in F19 where python-sqlalchemy was updated to 0.8.0 beta http://koji.fedoraproject.org/koji/buildinfo?buildID=363832
which isn't compatible with OpenStack:
https://github.com/openstack/requirements/blob/master/tools/pip-requires
SQLAlchemy>=0.7.3,<0.8

Comment 14 Alan Pevec 2013-02-25 18:11:25 UTC
I didn't need to change Status for SCM request.

Comment 15 Gwyn Ciesla 2013-02-25 22:54:43 UTC
It's orphaned, not retired, you can pick it up in pkgdb.

Comment 16 Alan Pevec 2013-02-26 18:08:42 UTC
(In reply to comment #15)
> It's orphaned, not retired, you can pick it up in pkgdb.

Didn't see anything in pkgdb webui, tried from cli:
$ pkgdb-cli --user apevec unorphan python-sqlalchemy0.7 devel
apevec is not allowed to change ownership of this package

What's the procedure to unorphan it?

Comment 17 Gwyn Ciesla 2013-02-27 18:31:02 UTC
Log into the web ui, and click Take Ownership.