Bug 191442 - databases/py-sqlalchemy: Copy to py-sqlalchemy07, Update to 0.9.7, Remove -devel
Summary: databases/py-sqlalchemy: Copy to py-sqlalchemy07, Update to 0.9.7, Remove -devel
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Matthew Seaman
URL: https://reviews.freebsd.org/D908
Keywords: needs-qa
Depends on:
Blocks: 193468
  Show dependency treegraph
 
Reported: 2014-06-27 20:12 UTC by Bartek Rutkowski
Modified: 2016-05-22 10:54 UTC (History)
7 users (show)

See Also:


Attachments
py-sqlalchemy.diff (10.47 KB, patch)
2014-06-27 20:12 UTC, Bartek Rutkowski
no flags Details | Diff
patch (10.45 KB, patch)
2014-09-06 16:32 UTC, m.tsatsenko
no flags Details | Diff
updated patch (10.79 KB, patch)
2014-09-06 16:58 UTC, m.tsatsenko
no flags Details | Diff
fixed python3 issue (11.17 KB, patch)
2014-09-06 17:24 UTC, m.tsatsenko
no flags Details | Diff
latest patch (11.43 KB, patch)
2014-09-07 12:26 UTC, m.tsatsenko
no flags Details | Diff
the final py-sqlalchemy patch (11.61 KB, patch)
2014-09-07 20:25 UTC, m.tsatsenko
no flags Details | Diff
latest patch (28.86 KB, patch)
2014-09-09 19:44 UTC, m.tsatsenko
no flags Details | Diff
patch 0.7.2 -> 1.0.8 (11.08 KB, patch)
2015-10-03 10:48 UTC, Kurt Jaeger
no flags Details | Diff
patch 0.7.2 -> 1.0.13 (11.32 KB, patch)
2016-05-17 18:49 UTC, Kurt Jaeger
no flags Details | Diff
Latest updates from D908 (45.03 KB, patch)
2016-05-18 06:28 UTC, Matthew Seaman
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Bartek Rutkowski freebsd_committer freebsd_triage 2014-06-27 20:12:50 UTC
Created attachment 144202 [details]
py-sqlalchemy.diff

Updated databases/py-sqlalchemy to latest version 0.9.6. Please note, that databases/py-sqlalchemy-devel should probably be deprecated as it doesnt seem to be any other version than 0.9.6 currently.

http://pd.valinor.palantiri.org/data/latest-per-pkg/py27-sqlalchemy/0.9.6/
Comment 1 Bartek Rutkowski freebsd_committer freebsd_triage 2014-06-27 20:13:25 UTC
Over to maintainer.
Comment 2 m.tsatsenko 2014-09-06 16:32:40 UTC
Created attachment 146945 [details]
patch

Patch to update to 0.9.7
Comment 3 Kurt Jaeger freebsd_committer freebsd_triage 2014-09-06 16:51:04 UTC
(In reply to m.tsatsenko from comment #2)
> Created attachment 146945 [details]
> patch
> 
> Patch to update to 0.9.7

USE_PYTHON=yes is deprecated, please use USES=python
USE_PYDISTUTILS is deprecated, please use USE_PYTHON=distutils
PYDISTUTILS_AUTOPLIST is deprecated, please use USE_PYTHON=autoplist

Can you update the patch ?
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2014-09-06 16:53:39 UTC
I have python=3.3 and python3=3.3 in my /etc/make.conf and this brings:

RefactoringTool: Adding transformation: zip
RefactoringTool: Can't open /usr/local/home/pi/myp/databases/py-sqlalchemy/work/stage/usr/local/home/pi/myp/databases/py-sqlalchemy/work/SQLAlchemy-0.9.7/doc: [Errno 2] No such file or directory: '/usr/local/home/pi/myp/databases/py-sqlalchemy/work/stage/usr/local/home/pi/myp/databases/py-sqlalchemy/work/SQLAlchemy-0.9.7/doc'
RefactoringTool: No files need to be modified.
RefactoringTool: There was 1 error:
RefactoringTool: Can't open /usr/local/home/pi/myp/databases/py-sqlalchemy/work/stage/usr/local/home/pi/myp/databases/py-sqlalchemy/work/SQLAlchemy-0.9.7/doc: [Errno 2] No such file or directory: '/usr/local/home/pi/myp/databases/py-sqlalchemy/work/stage/usr/local/home/pi/myp/databases/py-sqlalchemy/work/SQLAlchemy-0.9.7/doc'
*** Error code 1

Any idea ? I'm by no means a python guy...
Comment 5 m.tsatsenko 2014-09-06 16:58:28 UTC
Created attachment 146950 [details]
updated patch

USES=  python
USE_PYTHON=    distutils autoplist
Comment 6 m.tsatsenko 2014-09-06 16:59:13 UTC
Still working on second issue (python3 related)
Comment 7 m.tsatsenko 2014-09-06 17:24:36 UTC
Created attachment 146952 [details]
fixed python3 issue

Fixed.
Now works with python3.
There was a STAGEDIR related issue
Comment 8 Kurt Jaeger freebsd_committer freebsd_triage 2014-09-06 18:20:58 UTC
(In reply to m.tsatsenko from comment #7)
> Created attachment 146952 [details]
> fixed python3 issue

I tested it in poudriere with jails, all py2.7, and it works fine:

http://people.freebsd.org/~pi/logs/databases__py-sqlalchemy-10a-1410027024.txt
http://people.freebsd.org/~pi/logs/databases__py-sqlalchemy-91a-1410027024.txt
http://people.freebsd.org/~pi/logs/databases__py-sqlalchemy-84i-1410027024.txt

I tried to build it on the host outside of poudriere and the plist
seems to be wrong. This is most probably a local issue, but if you have a hint
on why this happens, I would appreciate it.

http://people.freebsd.org/~pi/logs/databases__py-sqlalchemy-10a-py33-plist.txt
Comment 9 m.tsatsenko 2014-09-06 18:35:32 UTC
I am getting the same issue with another port I am currently working.
As you can see for some reason %%PYTHON_SITELIBDIR%% variable which is usually /usr/local/lib/python2.7/site-packages/ is not substituted.
And I think we hit some infrastructure bug.

Could you please run make -V PYTHON_SITELIBDIR under py-sqlalchemy port's directoru?
Comment 10 Kurt Jaeger freebsd_committer freebsd_triage 2014-09-06 18:51:26 UTC
(In reply to m.tsatsenko from comment #9)
> Could you please run make -V PYTHON_SITELIBDIR under py-sqlalchemy port's
> directoru?

# make -V PYTHON_SITELIBDIR
/usr/local/lib/python3.3/site-packages
#
Comment 11 m.tsatsenko 2014-09-06 19:13:21 UTC
Looks like you have slightly different issue
Please check if PYTHON_SITELIBDIR  is present is make -V PLIST_SUB output (as previous run it under py-sqlachemy dir)
Comment 12 Kurt Jaeger freebsd_committer freebsd_triage 2014-09-06 19:46:13 UTC
(In reply to m.tsatsenko from comment #11)
> Please check if PYTHON_SITELIBDIR  is present is make -V PLIST_SUB output
> (as previous run it under py-sqlachemy dir)

# make -V PLIST_SUB
 PYTHON_INCLUDEDIR=include/python3.3m  PYTHON_LIBDIR=lib/python3.3  PYTHON_PLATFORM=freebsd10  PYTHON_SITELIBDIR=lib/python3.3/site-packages  PYTHON_VERSION=python3.3 SPEEDUPS="@comment " OSREL=10.0 PREFIX=%D LOCALBASE=/usr/local  RESETPREFIX=/usr/local PORTDOCS="" PORTEXAMPLES="" LIB32DIR=lib DOCSDIR="share/doc/py33-sqlalchemy"  EXAMPLESDIR="share/examples/py33-sqlalchemy"  DATADIR="share/sqlalchemy"  WWWDIR="www/sqlalchemy"  ETCDIR="etc/sqlalchemy"
#
Comment 13 m.tsatsenko 2014-09-07 12:24:03 UTC
Everything seems ok in plist_sub you sent. I also tried to reproduce the problem in a fresh chroot and I dint get any plist errors.
Are sure that you are using not patched and fresh /usr/ports/Mk/*.mk macros?

By the way: I found what caused similar error in another port. There was a typo in OPTIONS handling.
Comment 14 m.tsatsenko 2014-09-07 12:26:11 UTC
Created attachment 147003 [details]
latest patch

Latest patch. Changes since previous version:
- Strip libraries
Comment 15 m.tsatsenko 2014-09-07 13:06:16 UTC
Since current maintainer still did not respond I'd like to claim maintainership of this port.
Comment 16 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-07 15:07:54 UTC
Submitter is committer, reassign (maintainer timeout).

Additionally, please consider this ports dependencies. There is a reason why there exists ports for:

 * py-sqlalchemy06
 * py-sqlalchemy-devel (0.8.x)

My recommendation would be for:

 * py-sqlalchemy to track the latest stable
 * py-sqlalchemy-devel to track development branches, or be deleted (if 
   inapplicable)
 * py-sqlalchemy to be copied to py-sqlalchemy07, unless
 * there is positive evidence that every dependent port works (at runtime) with 
   0.9.x

For a maintainer change to take place, and this issue to progress, we need:

 * "One" patch that addresses all the comments
 * All other patches made obsolete.
 * Positive (poudriere) evidence for functioning with Python 2.x and 3.x
 * Maintainer timeout on the approval of the said "one" patch.
Comment 17 m.tsatsenko 2014-09-07 20:25:16 UTC
Created attachment 147032 [details]
the final py-sqlalchemy patch

Thanks for your reply.

As I can see there is only one consumer of py-sqlalchemy-devel which is databases/py27-geoalchemy2 port. According to its Makefile it needs py-sqlalchemy>=0.8, so our new sqlalchemy meets that requirement.
I run reports build for patched to build against stable sqlalchemy and it builds fine. Logs: https://redports.org/buildarchive/20140907201120-99252/
Patch for py-geoalchemy2 is trivial:
-RUN_DEPENDS=   ${PYTHON_PKGNAMEPREFIX}sqlalchemy08>=0.8:${PORTSDIR}/databases/py-sqlalchemy-devel
+RUN_DEPENDS=   ${PYTHON_PKGNAMEPREFIX}sqlalchemy>=0.8:${PORTSDIR}/databases/py-sqlalchemy

With above patch applied we can safely remove py-sqlalchemy-devel I think.

Since we do not have any evidence that py-sqlalchemy consumers will work with stable port I agree with a point that py-sqlalchemy should be copied to py-sqlalchemy07

reports log for the latest py-sqlalchemy port (including EXP1, which has python3)
https://redports.org/buildarchive/20140907195943-21242/
Comment 18 Kurt Jaeger freebsd_committer freebsd_triage 2014-09-07 20:31:59 UTC
(In reply to m.tsatsenko from comment #13)
> Everything seems ok in plist_sub you sent. I also tried to reproduce the
> problem in a fresh chroot and I dint get any plist errors.
> Are sure that you are using not patched and fresh /usr/ports/Mk/*.mk macros?

Yes, my /usr/ports/Mk/* is straight out from the repository.

> By the way: I found what caused similar error in another port. There was a
> typo in OPTIONS handling.

Can you give me a hint on what kind of typo I have to look out for ?
Comment 19 m.tsatsenko 2014-09-07 21:01:10 UTC
(In reply to Kurt Jaeger from comment #18)
> (In reply to m.tsatsenko from comment #13)
> > Everything seems ok in plist_sub you sent. I also tried to reproduce the
> > problem in a fresh chroot and I dint get any plist errors.
> > Are sure that you are using not patched and fresh /usr/ports/Mk/*.mk macros?
> 
> Yes, my /usr/ports/Mk/* is straight out from the repository.
> 
> > By the way: I found what caused similar error in another port. There was a
> > typo in OPTIONS handling.
> 
> Can you give me a hint on what kind of typo I have to look out for ?

In a ports Makefile I had
PYTON_USE=     python=yes
instead of
PYTHON_USE=python=yes
so PYTHON option was noop and Mk/Uses/python.mk was not included. Thus PYTHON_SITELIBDIR is being undef and PLIST_SUB had no any PYTHON related things. This is apparently not yours case.
Comment 20 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-08 05:44:25 UTC
Looks like we still need:

 * Issue created for databases/py-geoalchemy2 (and blocking this issue)

Included in patch:

 * Deletion of py-sqlalchemy-devel (with category/makefile change)
 * SVN copy py-sqlalchemy -> py-slqalchemy07 (with category/makefile change))

Final: QA Results (attachments, of the above patch once complete)

 * poudriere please (this is a complex change)
 * If you can, output of SQLAlchemy unit tests

And:

 * Bartek (robak@) to obsolete attachment 144202 [details]
Comment 21 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-08 05:45:33 UTC
And:

 * Add entry to MOVED re py-sqlalchemy-devel deletion [1]

[1] https://www.freebsd.org/doc/en/books/porters-handbook/moved-and-updating-files.html
Comment 22 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-08 05:47:00 UTC
Alternatively, if the operations can be separated atomically in a sequential and phased manner, feel free to create separate issues, depending on, or blocking this issue as appropriate.
Comment 23 m.tsatsenko 2014-09-09 19:44:54 UTC
Created attachment 147138 [details]
latest patch

Updated patch. Includes in addition to previous version:
- removal of py-sqlalchemy-devel with databases/Makefile change and MOVED record
- repocopy of py-sqlalchemy -> py-slqalchemy07 with databases/Makefile change
Comment 24 Kubilay Kocak freebsd_committer freebsd_triage 2014-09-21 05:10:17 UTC
Existing ports that depend on databases/py-sqlalchemy also need to be switched to

databases/py-sqlalchemy07
Comment 25 Thierry Thomas freebsd_committer freebsd_triage 2015-06-12 16:54:56 UTC
Note: the latest release of SQLAlchemy is now 1.0.5
(see http://www.sqlalchemy.org/download.html ).

Is there any problem blocking this PR?
Comment 26 Kurt Jaeger freebsd_committer freebsd_triage 2015-10-03 10:48:54 UTC
Created attachment 161673 [details]
patch 0.7.2 -> 1.0.8

Another try for an update. But: Needs thorough check of dependencies.
Comment 27 Palle Girgensohn freebsd_committer freebsd_triage 2016-02-03 09:23:37 UTC
(In reply to Kurt Jaeger from comment #26)

There is a discussion about this in PR#191442 as well.

Since there are API changes (can someone verify this?) we problably need to make current ports depend on the old sqlalchemy07, and hint maintainers of individiual ports to verify that they work with a newer version?

I'd like to see this happen. How can I help?
Comment 28 Matthew Seaman freebsd_committer freebsd_triage 2016-05-16 15:55:09 UTC
Is there anything still blocking committing this PR?  I see that as I write this (16 May 2016) that the current version of SQLAlchemy is 1.0.12, whereas in ports we have 0.6.x, 0.7.x and 0.8.x

I'm asking because I've a new port in the works with a dependency on SQLAlchemy >=0.9.3
Comment 29 Palle Girgensohn freebsd_committer freebsd_triage 2016-05-16 15:59:47 UTC
I'd like to see it happen, but sadly have no time to help with Q/A.

If someone can verify that nothing breaks, using poudriere perhaps, I'll be happy to commit it.

Palle
Comment 30 Matthew Seaman freebsd_committer freebsd_triage 2016-05-16 16:14:17 UTC
Sounds like a candidate for an Exp-Run.  But first, we should update all the patches etc. to the latest available versions for all SQLAlchemy branches, and chase all the packages that depend on this.

Also, reference D908 from this PR as that already has most of the necessary changes to ports that depend on py-sqlalchemy.
Comment 31 Kurt Jaeger freebsd_committer freebsd_triage 2016-05-17 05:35:41 UTC
1.0.13 is released, but CHEESESHOP does not yet have it at the usual places.
Comment 32 Kurt Jaeger freebsd_committer freebsd_triage 2016-05-17 18:49:16 UTC
Created attachment 170412 [details]
patch 0.7.2 -> 1.0.13

testbuilds are fine.
Comment 33 Matthew Seaman freebsd_committer freebsd_triage 2016-05-17 19:34:44 UTC
Please see the latest at https://reviews.freebsd.org/D908
Comment 34 Matthew Seaman freebsd_committer freebsd_triage 2016-05-18 06:28:10 UTC
Created attachment 170423 [details]
Latest updates from D908
Comment 35 commit-hook freebsd_committer freebsd_triage 2016-05-22 10:53:02 UTC
A commit references this bug:

Author: matthew
Date: Sun May 22 10:52:48 UTC 2016
New revision: 415627
URL: https://svnweb.freebsd.org/changeset/ports/415627

Log:
  Reorganise and modernise the py-sqlalchemy ports.

   - Introduce new ports for the sqlalchemy 0.9 and 1.0 release branches.
   - Deprecate the ports for the 0.6 and 0.7 release branches, as these
     have been declared EoL and are no longer supported by upstream.
   - Update to the latest available version in each branch.

  In detail:

     Port                 Version Maintainer
     ----------------------------------------------
     py-sqlalchemy06      0.6.9   nivit@FreeBSD.org (Deprecate 2016-08-20) [1]
     py-sqlalchemy07      0.7.10  nivit@FreeBSD.org (renamed py-sqlalchemy, Deprecate 2016-08-20) [1]
     py-sqlalchemy08      0.8.7   nivit@FreeBSD.org (renamed py-sqlalchemy-devel) [1]
     py-sqlalchemy09      0.9.10  m.tsatsenko@gmail.com (new, repocopy from py-sqlalchemy-devel) [2]
     py-sqlalchemy10      1.0.13  m.tsatsenko@gmail.com (new, repocopy from py-sqlalchemy-devel) [2]

   - Use options-helpers and option dependent make targets.
   - Use autoplist for documents as well as python code
   - Add all the docments to the packages: previously an arbitrary
     subset was added in a way that excluded CSS, images and other HTML
     assets.
   - Use TEST_DEPENDS and add a TEST_TARGET instead of having a 'TEST'
     option.
   - Use py-pytest for 0.9.x and later, rather than py-nose.
   - Add CONFLICTS_INSTALL between all of the py-sqlalchemyXY ports.

  PR:		191442
  Submitted by:	robak
  Reviewed by:	robak
  Reviewed by:	pi
  Approved by:	nivit (maintainer timeout, ~300days) [1]
  Approved by:    m.tsatsenko@gmail.com (maintainer) [2]
  Sponsored by:	https://reviews.freebsd.org/D908

Changes:
  head/MOVED
  head/databases/Makefile
  head/databases/py-alembic/Makefile
  head/databases/py-flask-sqlalchemy/Makefile
  head/databases/py-geoalchemy/Makefile
  head/databases/py-geoalchemy2/Makefile
  head/databases/py-sqlalchemy/
  head/databases/py-sqlalchemy-devel/
  head/databases/py-sqlalchemy-migrate/Makefile
  head/databases/py-sqlalchemy06/Makefile
  head/databases/py-sqlalchemy07/
  head/databases/py-sqlalchemy07/Makefile
  head/databases/py-sqlalchemy07/distinfo
  head/databases/py-sqlalchemy07/pkg-plist
  head/databases/py-sqlalchemy08/
  head/databases/py-sqlalchemy08/Makefile
  head/databases/py-sqlalchemy08/distinfo
  head/databases/py-sqlalchemy09/
  head/databases/py-sqlalchemy09/Makefile
  head/databases/py-sqlalchemy09/distinfo
  head/databases/py-sqlalchemy09/pkg-plist
  head/databases/py-sqlalchemy10/
  head/databases/py-sqlalchemy10/Makefile
  head/databases/py-sqlalchemy10/distinfo
  head/databases/py-sqlalchemy10/pkg-plist
  head/deskutils/gourmet/Makefile
  head/devel/buildbot/Makefile
  head/games/anki/Makefile
  head/games/childsplay/Makefile
  head/games/pyfa/Makefile
  head/irc/py-limnoria/Makefile
  head/math/py-pandas/Makefile
  head/multimedia/py-openlp/Makefile
  head/net/py-kombu/Makefile
  head/science/py-obspy/Makefile
  head/textproc/py-wtforms/Makefile
  head/www/geeknote/Makefile
  head/www/py-bottle-cork/Makefile
  head/www/py-flexget/Makefile
  head/www/py-imdbpy/Makefile
  head/www/py-rhodecode/Makefile
  head/www/py-turbogears2/Makefile
Comment 36 Matthew Seaman freebsd_committer freebsd_triage 2016-05-22 10:54:34 UTC
Committed, thanks!