Re: [EPEL-devel] python34 packages for EPEL
On 07/17/2015 11:47 AM, Kevin Fenzi wrote: On Wed, 15 Jul 2015 16:41:13 -0600 Orion Poplawski or...@cora.nwra.com wrote: Sorry for the cross posting - let's follow up on the EPEL list We now have python34 in EPEL (yay - thanks Matej and others!). Starting to look at packaging some modules. We have https://fedoraproject.org/wiki/User:Bkabrda/EPEL7_Python3 as a starting point which looks pretty good. One wrinkle though is that we have a bunch of python2 packages provided by RHEL that we'll want to provide python3X versions for in EPEL, but not ship python2 versions. So a question becomes, where do they get maintained? Either: - epel7 branch of the python-blah package in Fedora? - a new python3X-blah package? And if in an epel7 branch of an existing package, is it conceivable to maintain a common spec across EPEL and Fedora? I think we should do: - If the package is in rhel already as a python2 only package: new review for python3-whatever in epel. This way we don't have to be carefull to sync versions to the rhel version and wont interfere with it. The package in epel should only build the python3 version of course. - If the package is not in rhel, just python-foo branched from fedora and we can try and share specs to build things. kevin If you look closely at my diff, you'll see that it doesn't ship a python2 version in epel. But yeah, it may be cleaner to a separate package. It will be a lot of reviews, but hopefully pretty straightforward. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane or...@nwra.com Boulder, CO 80301 http://www.nwra.com ___ epel-devel mailing list epel-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/epel-devel
Re: [EPEL-devel] python34 packages for EPEL
On Fri, 17 Jul 2015 13:53:30 -0600 Orion Poplawski or...@cora.nwra.com wrote: If you look closely at my diff, you'll see that it doesn't ship a python2 version in epel. But yeah, it may be cleaner to a separate package. It will be a lot of reviews, but hopefully pretty straightforward. yes, but that won't work. Koji operates on source packages. If python-foo is in epel, it doesnt/cannot use other parts of python-foo from rhel. It's all or nothing. This is why we can't just ship foo for ppc64 and keep using the rhel x86_64 one. ;( Anyhow, I don't think the reviews would be that big a deal for interested folks. kevin pgpf9rR0R1OTF.pgp Description: OpenPGP digital signature ___ epel-devel mailing list epel-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/epel-devel
Re: [EPEL-devel] python34 packages for EPEL
On 07/17/2015 02:05 PM, Kevin Fenzi wrote: On Fri, 17 Jul 2015 13:53:30 -0600 Orion Poplawski or...@cora.nwra.com wrote: If you look closely at my diff, you'll see that it doesn't ship a python2 version in epel. But yeah, it may be cleaner to a separate package. It will be a lot of reviews, but hopefully pretty straightforward. yes, but that won't work. Koji operates on source packages. If python-foo is in epel, it doesnt/cannot use other parts of python-foo from rhel. It's all or nothing. This is why we can't just ship foo for ppc64 and keep using the rhel x86_64 one. ;( Ah, thanks for the reminder. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane or...@nwra.com Boulder, CO 80301 http://www.nwra.com ___ epel-devel mailing list epel-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/epel-devel
Re: [EPEL-devel] python34 packages for EPEL
- Original Message - From: Orion Poplawski or...@cora.nwra.com To: EPEL Development List epel-devel@lists.fedoraproject.org, Discussion of RPM packaging standards and practices for Fedora packag...@lists.fedoraproject.org, Fedora Python SIG python-de...@lists.fedoraproject.org, mstuc...@redhat.com Sent: Thursday, July 16, 2015 12:41:13 AM Subject: python34 packages for EPEL Sorry for the cross posting - let's follow up on the EPEL list We now have python34 in EPEL (yay - thanks Matej and others!). Starting to look at packaging some modules. We have https://fedoraproject.org/wiki/User:Bkabrda/EPEL7_Python3 as a starting point which looks pretty good. One wrinkle though is that we have a bunch of python2 packages provided by RHEL that we'll want to provide python3X versions for in EPEL, but not ship python2 versions. So a question becomes, where do they get maintained? Either: - epel7 branch of the python-blah package in Fedora? - a new python3X-blah package? And if in an epel7 branch of an existing package, is it conceivable to maintain a common spec across EPEL and Fedora? I think this is somewhat representative of the changes needed in a more complicated package (setuptools) which isn't actually too terrrible: diff --git a/python-setuptools.spec b/python-setuptools.spec index 7f37e90..cb96b9f 100644 --- a/python-setuptools.spec +++ b/python-setuptools.spec @@ -1,9 +1,9 @@ -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} = 7 %global with_python3 1 # This controls whether setuptools is build as a wheel or not, # simplifying Python 3.4 bootstraping process -%global build_wheel 1 +%global build_wheel 0 %else %{!?python_sitelib: %global python_sitelib %(%{__python} -c from distutils.sysconfig import get_python_lib; print (get_python_lib()))} %endif @@ -44,10 +44,10 @@ BuildRequires: python-pip BuildRequires: python-wheel %endif %if 0%{?with_python3} -BuildRequires: python3-devel +BuildRequires: python%{python3_pkgversion}-devel %if 0%{?build_wheel} -BuildRequires: python3-pip -BuildRequires: python3-wheel +BuildRequires: python%{python3_pkgversion}-pip +BuildRequires: python%{python3_pkgversion}-wheel %endif %endif # if with_python3 # For unittests @@ -68,7 +68,7 @@ This package also contains the runtime components of setuptools, necessary to execute the software that requires pkg_resources.py. %if 0%{?with_python3} -%package -n python3-setuptools +%package -n python%{python3_pkgversion}-setuptools Summary:Easily build and distribute Python 3 packages Group: Applications/System @@ -76,7 +76,7 @@ Group: Applications/System # has been present since python3-3.2. We do not ship python3-3.0 or # python3-3.1 anywhere -%description -n python3-setuptools +%description -n python%{python3_pkgversion}-setuptools Setuptools is a collection of enhancements to the Python 3 distutils that allow you to more easily build and distribute Python 3 packages, especially ones that have dependencies on other packages. @@ -156,6 +156,9 @@ chmod +x %{buildroot}%{python3_sitelib}/setuptools/command/easy_install.py popd %endif # with_python3 +%if 0%{?epel} +rm %{buildroot}/%{_bindir}/easy_install +%else %if 0%{?build_wheel} pip2 install -I dist/%{python2_wheelname} --root %{buildroot} --strip-file-prefix %{buildroot} %else @@ -167,9 +170,11 @@ rm -rf %{buildroot}%{python_sitelib}/setuptools/tests sed -i '/^setuptools\/tests\//d' %{buildroot}%{python2_record} %endif -install -p -m 0644 %{SOURCE1} %{SOURCE2} . find %{buildroot}%{python_sitelib} -name '*.exe' | xargs rm -f chmod +x %{buildroot}%{python_sitelib}/setuptools/command/easy_install.py +%endif # 0%{?epel} + +install -p -m 0644 %{SOURCE1} %{SOURCE2} . %check %{__python} setup.py test @@ -184,15 +189,17 @@ popd rm -rf %{buildroot} +%if !0%{?epel} %files %defattr(-,root,root,-) %doc *.txt docs %{python_sitelib}/* %{_bindir}/easy_install %{_bindir}/easy_install-2.* +%endif %if 0%{?with_python3} -%files -n python3-setuptools +%files -n python%{python3_pkgversion}-setuptools %defattr(-,root,root,-) %doc psfl.txt zpl.txt docs %{python3_sitelib}/* One note - according to https://fedoraproject.org/wiki/User:Bkabrda/EPEL7_Python3#Specfiles.2C_Macros.2C_Packaging_Process %{python3_pkgversion} is supposed to be defined in Fedora, but I don't see it (at least not in F22). In the review (https://bugzilla.redhat.com/show_bug.cgi?id=1219411#c8) there seems to be some uncertainty as to where it will land? We firstly need to pass packaging guidelines trough FPC, Matt should take care of that but he is currently on PTO and next week we will be at EuroPython ping us on IRC {rkuska, mstuchli} in case you'll (or anyone interested in Python3) be there too we can discuss this in person. After the approval from FPC we can ask to include macros in the buildroot.
[EPEL-devel] python34 packages for EPEL
Sorry for the cross posting - let's follow up on the EPEL list We now have python34 in EPEL (yay - thanks Matej and others!). Starting to look at packaging some modules. We have https://fedoraproject.org/wiki/User:Bkabrda/EPEL7_Python3 as a starting point which looks pretty good. One wrinkle though is that we have a bunch of python2 packages provided by RHEL that we'll want to provide python3X versions for in EPEL, but not ship python2 versions. So a question becomes, where do they get maintained? Either: - epel7 branch of the python-blah package in Fedora? - a new python3X-blah package? And if in an epel7 branch of an existing package, is it conceivable to maintain a common spec across EPEL and Fedora? I think this is somewhat representative of the changes needed in a more complicated package (setuptools) which isn't actually too terrrible: diff --git a/python-setuptools.spec b/python-setuptools.spec index 7f37e90..cb96b9f 100644 --- a/python-setuptools.spec +++ b/python-setuptools.spec @@ -1,9 +1,9 @@ -%if 0%{?fedora} +%if 0%{?fedora} || 0%{?rhel} = 7 %global with_python3 1 # This controls whether setuptools is build as a wheel or not, # simplifying Python 3.4 bootstraping process -%global build_wheel 1 +%global build_wheel 0 %else %{!?python_sitelib: %global python_sitelib %(%{__python} -c from distutils.sysconfig import get_python_lib; print (get_python_lib()))} %endif @@ -44,10 +44,10 @@ BuildRequires: python-pip BuildRequires: python-wheel %endif %if 0%{?with_python3} -BuildRequires: python3-devel +BuildRequires: python%{python3_pkgversion}-devel %if 0%{?build_wheel} -BuildRequires: python3-pip -BuildRequires: python3-wheel +BuildRequires: python%{python3_pkgversion}-pip +BuildRequires: python%{python3_pkgversion}-wheel %endif %endif # if with_python3 # For unittests @@ -68,7 +68,7 @@ This package also contains the runtime components of setuptools, necessary to execute the software that requires pkg_resources.py. %if 0%{?with_python3} -%package -n python3-setuptools +%package -n python%{python3_pkgversion}-setuptools Summary:Easily build and distribute Python 3 packages Group: Applications/System @@ -76,7 +76,7 @@ Group: Applications/System # has been present since python3-3.2. We do not ship python3-3.0 or # python3-3.1 anywhere -%description -n python3-setuptools +%description -n python%{python3_pkgversion}-setuptools Setuptools is a collection of enhancements to the Python 3 distutils that allow you to more easily build and distribute Python 3 packages, especially ones that have dependencies on other packages. @@ -156,6 +156,9 @@ chmod +x %{buildroot}%{python3_sitelib}/setuptools/command/easy_install.py popd %endif # with_python3 +%if 0%{?epel} +rm %{buildroot}/%{_bindir}/easy_install +%else %if 0%{?build_wheel} pip2 install -I dist/%{python2_wheelname} --root %{buildroot} --strip-file-prefix %{buildroot} %else @@ -167,9 +170,11 @@ rm -rf %{buildroot}%{python_sitelib}/setuptools/tests sed -i '/^setuptools\/tests\//d' %{buildroot}%{python2_record} %endif -install -p -m 0644 %{SOURCE1} %{SOURCE2} . find %{buildroot}%{python_sitelib} -name '*.exe' | xargs rm -f chmod +x %{buildroot}%{python_sitelib}/setuptools/command/easy_install.py +%endif # 0%{?epel} + +install -p -m 0644 %{SOURCE1} %{SOURCE2} . %check %{__python} setup.py test @@ -184,15 +189,17 @@ popd rm -rf %{buildroot} +%if !0%{?epel} %files %defattr(-,root,root,-) %doc *.txt docs %{python_sitelib}/* %{_bindir}/easy_install %{_bindir}/easy_install-2.* +%endif %if 0%{?with_python3} -%files -n python3-setuptools +%files -n python%{python3_pkgversion}-setuptools %defattr(-,root,root,-) %doc psfl.txt zpl.txt docs %{python3_sitelib}/* One note - according to https://fedoraproject.org/wiki/User:Bkabrda/EPEL7_Python3#Specfiles.2C_Macros.2C_Packaging_Process %{python3_pkgversion} is supposed to be defined in Fedora, but I don't see it (at least not in F22). In the review (https://bugzilla.redhat.com/show_bug.cgi?id=1219411#c8) there seems to be some uncertainty as to where it will land? Comments? -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane or...@nwra.com Boulder, CO 80301 http://www.nwra.com ___ epel-devel mailing list epel-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/epel-devel