Bug 1536058
| Summary: | There is no /usr/bin/alembic after installation of python3-alembic | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | clime |
| Component: | python-alembic | Assignee: | Randy Barlow <randy> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 27 | CC: | bkabrda, cstratak, dmalcolm, infra-sig, ishcherb, jkadlcik, lzachar, mcyprian, mhroncok, pviktori, randy, rbean, rkuska, tomspur, torsava |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | python-alembic-0.9.7-3.fc26 python-alembic-0.9.7-3.fc27 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-02-20 16:37:59 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
clime
2018-01-18 14:50:55 UTC
I have found out, there is python3-alembic executable. That's really not very very intuitive. Can't it be just called alembic3, please? Either the python3 version and python2 version do the same thing and in that case there should only by one executable called alembic and that should be in the python3-alembic package. Or the two executables do something a bit differently (by design) and in that case, the names should be alembic-2.7 and alembic-3.6 with some symblinking (alembic-2, alembic-3 and alembic). See https://fedoraproject.org/wiki/Packaging:Python#Executables_in_.2Fusr.2Fbin This is a packaging bug in python-alembic. My bad. Fixing! python-alembic-0.9.7-2.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-58784425dd python-alembic-0.9.7-2.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2018-0c2ba3f905 python-alembic-0.9.7-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-0c2ba3f905 python-alembic-0.9.7-2.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-58784425dd I left karma feedback on both of the stable updates - I recommend only making /usr/bin/alembic be Python 3 on Rawhide since this is a backwards incompatible chnage. For f26 and f27, I recommend providing these executables, in addition to the incorrectly named ones that used to exist: /usr/bin/alembic (Python 2 still) /usr/bin/alembic-2 /usr/bin/alembic-2.7 /usr/bin/alembic-3 /usr/bin/alembic-3.y (where y corresponds to the version in the given release) For Rawhide, I recommend the above but dropping the incorrectly named executables and switching /usr/bin/alembic to Python 3 as per the guidelines. I noticed that the Rawhide package does not provide the alembic-* symlinks, so I am going to fix that now. Also, upon re-reading the guidelines, the Python 2 package is still supposed to provide /usr/bin/alembic (I had thought we switched that mistakenly), so the Python 3 package should only provide /usr/bin/alembic-3 and /usr/bin/alembic-3.y. (In reply to Randy Barlow from comment #10) > Also, upon re-reading the guidelines, the Python 2 package is still supposed > to provide /usr/bin/alembic (I had thought we switched that mistakenly), so > the Python 3 package should only provide /usr/bin/alembic-3 and > /usr/bin/alembic-3.y. That's not true, unless the binary provides different functionality for python2 and python3. If not the default and only choice for packaging it should be within the python3 subpackage. (In reply to Charalampos Stratakis from comment #11) > That's not true, unless the binary provides different functionality for > python2 and python3. > > If not the default and only choice for packaging it should be within the > python3 subpackage. I don't believe the python3-alembic executable will be able to run python2 migrations, though I admit I am following a bit of an assumption there. Are you sure that the python3-alembic is capable of running python2 migrations? I've confirmed it with bodhi's migrations - python3-alembic cannot run python2 migrations (Bodhi is python2 only). I've filed https://src.fedoraproject.org/rpms/python-alembic/pull-request/1 with the changes I've proposed above. (In reply to Randy Barlow from comment #12) > (In reply to Charalampos Stratakis from comment #11) > > That's not true, unless the binary provides different functionality for > > python2 and python3. > > > > If not the default and only choice for packaging it should be within the > > python3 subpackage. > > I don't believe the python3-alembic executable will be able to run python2 > migrations, though I admit I am following a bit of an assumption there. Are > you sure that the python3-alembic is capable of running python2 migrations? I'm only commenting on the python packaging guidelines, I'm not familiar with the package in question. (In reply to Charalampos Stratakis from comment #15) > I'm only commenting on the python packaging guidelines, I'm not familiar > with the package in question. Ah. Yeah I was commenting specifically about this package WRT the guidelines[0], not generally for all Python packages. Since the first line[1] doesn't apply since we really do need to ship two executables, the later line[2] does apply here. [0] https://fedoraproject.org/wiki/Packaging:Python#Executables_in_.2Fusr.2Fbin [1] "If only one executable is to be shipped, then it owns its own slot and should use /usr/bin/python3 from Fedora 22 on." [2] "The unversioned executable must be the python2 version." python-alembic-0.9.7-3.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-0b6557321b python-alembic-0.9.7-3.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ac1ead69d3 python-alembic-0.9.7-3.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ac1ead69d3 python-alembic-0.9.7-3.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-0b6557321b python-alembic-0.9.7-3.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report. python-alembic-0.9.7-3.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report. |