Description of problem: Hello, with python-alembic, I was used to call `alembic` (that is /usr/bin/alembic) to e.g. upgrade db to head (`alembic upgrade head`). Now the python3-alembic package does not provide /usr/bin/alembic. Would it be possible to provide it the same way it is provided for python-alembic? Thank you! Version-Release number of selected component (if applicable): Name : python3-alembic Version : 0.9.1 Release : 2.fc27 How reproducible: always Steps to Reproduce: 1. # dnf install python3-alembic 2. # /usr/bin/alembic Actual results: 3. # bash: /usr/bin/alembic: No such file or directory Expected results: the alembic script is present
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.