Bug 1482977
Summary: | vertica-python: Provide a Python 3 subpackage | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Iryna Shcherbina <ishcherb> | ||||||||
Component: | vertica-python | Assignee: | jakub.jedelsky | ||||||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | unspecified | Docs Contact: | |||||||||
Priority: | unspecified | ||||||||||
Version: | 28 | CC: | jakub.jedelsky, jberan, mhroncok, pviktori | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | python-vertica-0.7.4-1.fc30 | Doc Type: | If docs needed, set a value | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2018-12-02 00:11:16 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: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 1285816, 1312032 | ||||||||||
Attachments: |
|
Description
Iryna Shcherbina
2017-08-18 13:48:03 UTC
Created attachment 1330448 [details]
New version including Python 3 subpackage
Created attachment 1330449 [details]
Patch for older dateutil
Hello Jakub, may I ask you to review the updated spec file, and if it is fine to rebuild? Thank you. Hi Honzo, first, sorry for late answer. Actually I'm not sure with naming. Your changes introduce name python{,2,3}-vertica. I would like to preserve current naming 'vertica-python' to be backwards compatible, though. According to Naming guidelines [1] for python: "The package name should reflect the upstream name of the Python module", that's why I named it vertica-python (actually in time I prepared the first version of the package, guidelines said something like: 'package should be named with python- prefix, but if it includes python in its name, keep it there', if I remember correctly :)). Is it ok to keep the name vertica-python{,2,3} for you? If so, I'll update spec file and push updates asap (I have a first attempt prepared locally). Best regards, - jj [1] http://fedoraproject.org/wiki/Packaging:Naming#Python_modules Hi Jakub, I keep the whole package name without any change. So the backwards compatibility impact would be limited to the subpackages where I use python2-/python3- prefix because: 1. The naming guidelines [1] says also that "Python2 binary packages MUST be named using a python2- prefix" and "Python3 binary packages MUST be named with a prefix of python3-". Yes, it changed recently [2] and is addressed to new packages, but the policy is preferred for all binary packages [3]. 2. There were already modified most of packages in Fedora with -python postfix that contain Python3 subpackage, in the same way. Just a few are pending. You can find them at [4] and look in their specfiles. 3. Some other Linux distributions prefer also the prefix format [5], [6]. Anyway, as I am not a package maintainer but you are, I think that you can decide which naming fashion is more convenient. Best regards Honza [1] http://fedoraproject.org/wiki/Packaging:Naming#Python_modules [2] https://fedoraproject.org/w/index.php?title=Packaging%3ANaming&diff=494430&oldid=479660 [3] https://pagure.io/packaging-committee/issue/685 [4] http://fedora.portingdb.xyz/#released [5] https://packages.debian.org/sid/python3-vertica [6] https://packages.ubuntu.com/search?keywords=python3-vertica When a (sub)package is renamed from vertica-python, there MUST be provides and obsoletes added: Provides: vertica-python == %{version}-%{release} Obsoletes: vertica-python < HARDCODE THE VERSION RELEASE HERE This will also hopefully satisfy Jakub's concerns about backwards compatibility. As for the naming guidelines: "The package name should reflect the upstream name of the Python module" That would be vertica_python. So this package breaks the rule anyway ;) So in fact, the proper name of the binary packages would be: python2-vertica_python And that is usually abbreviated to python2-vertica, however, I cannot find a rule about that. Created attachment 1338229 [details]
Updated spec file
Honzo, Miro, thanks for a lot of info there :) I prepared an update to the spec file, which should work as expected. Can you check, if it's ok, please? Thanks a million! There are some (more or less useful) outputs: $ rpmlint vertica-python.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. $ rpmlint results_vertica-python/0.7.3/1.fc27/vertica-python-0.7.3-1.fc28.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. $ rpmlint results_vertica-python/0.7.3/1.fc27/python*-vertica-0.7.3-1.fc28.noarch.rpm 2 packages and 0 specfiles checked; 0 errors, 0 warnings. $ rpm -qRp results_vertica-python/0.7.3/1.fc27/python2-vertica-0.7.3-1.fc28.noarch.rpm python(abi) = 2.7 python-dateutil >= 1.5 python-psycopg2 python2-future pytz rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1 $ rpm -qp --provides results_vertica-python/0.7.3/1.fc27/python2-vertica-0.7.3-1.fc28.noarch.rpm python-vertica = 0.7.3-1.fc28 python2-vertica = 0.7.3-1.fc28 python2.7dist(vertica-python) = 0.7.3 python2dist(vertica-python) = 0.7.3 vertica-python = 0.7.3-1.fc28 $ rpm -qp --obsoletes results_vertica-python/0.7.3/1.fc27/python2-vertica-0.7.3-1.fc28.noarch.rpm python-vertica < 0.7.3-1.fc28 vertica-python < 0.7.3-1.fc28 The obsoleted version should be hardcoded, see https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages Other than that, it seems good now. Also, while reworking the spec, would you be so kind and use python2-foo (build)requires on Fedora? If you need to maintain EL compatibility, there is a Q&A section at https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3#Q.26A that describes how to do it. Thank you. Hi Jakub, Patch0 should be replaced by the the newer version that I attached (https://bugzilla.redhat.com/attachment.cgi?id=1330449) because the original source code had been modified. Patch1 is not required any more because the source code has already been fixed (https://github.com/uber/vertica-python/commit/4ba7fad4001dd494f8e0d63d0ac6d8dda3349dbb). Hi Jakub, I have prepared Pagure PR that provides update to version 0.7.3 including Python 3 subpackage: https://src.fedoraproject.org/rpms/vertica-python/pull-request/1 Note, I am not a packager and have limited access to Pagure, so I am not allowed to add vertica-python-0.7.3-dateutil15.patch in files from https://bugzilla.redhat.com/attachment.cgi?id=1330449. Please, could you review the changes, and if they are fine, add vertica-python-0.7.3-dateutil15.patch in Pagure files [https://src.fedoraproject.org/rpms/vertica-python/tree/master], and rebuild the package? I have created a new update at https://src.fedoraproject.org/rpms/vertica-python/pull-request/2 which includes Python build and install macros. This bug appears to have been reported against 'rawhide' during the Fedora 28 development cycle. Changing version to '28'. Hi Jakub, I have prepared an updated Pagure PR that provides version 0.7.3 including Python 3 subpackage and Python build and install macros: https://src.fedoraproject.org/rpms/vertica-python/pull-request/4 Please, could you review the patch and rebuild the package? |