Re: [EPEL-devel] python34 packages for EPEL

2015-07-17 Thread Orion Poplawski
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

2015-07-17 Thread Kevin Fenzi
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

2015-07-17 Thread Orion Poplawski
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

2015-07-16 Thread Robert Kuska


- 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

2015-07-15 Thread Orion Poplawski
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