From 77580a87d2b2a54845c8f81aff777bd5c854fa63 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Fri, 20 May 2016 01:59:17 +0000 Subject: [PATCH] Fix rpm build with pb for CentOS7 - Adds a macro to build for python3 (not activated for CentOS 7) - Fix dependency list for CentoS7 - Limit VM list to reasonable distros - This is again a test version. - Build Test remains to be done for Fedora and Mageia - Fix #45 with operational CentOS 7 build Change-Id: I90fc6030a11932b7ef259100eb72aa629a19d1a6 --- pbconf/pbfilter/all.pbf | 2 ++ pbconf/pbfilter/centos.pbf | 29 +++++++++++++++++++ pbconf/pbfilter/rpm.pbf | 4 +-- pbconf/python-redfish.pb | 8 ++--- pbconf/python-redfish/rpm/python-redfish.spec | 22 ++++++++++---- 5 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 pbconf/pbfilter/centos.pbf diff --git a/pbconf/pbfilter/all.pbf b/pbconf/pbfilter/all.pbf index 45f42d8..6ab2a45 100644 --- a/pbconf/pbfilter/all.pbf +++ b/pbconf/pbfilter/all.pbf @@ -70,3 +70,5 @@ filter PBLOG = yes filter PBCONFFILE = /etc/redfish-client.conf filter PBTEMPLATEPATH = /usr/share/redfish-client/templates filter PBPYTHON3FILTER = perl -pi -e "s|configparser>=3.3.0; python_version < '3'|configparser>=3.3.0|" requirements.txt +# By default build for python3 +filter PBWITHPY3 = 1 diff --git a/pbconf/pbfilter/centos.pbf b/pbconf/pbfilter/centos.pbf new file mode 100644 index 0000000..c5fa952 --- /dev/null +++ b/pbconf/pbfilter/centos.pbf @@ -0,0 +1,29 @@ +# +# $Id$ +# +# Filter for rpm build +# + +# PBGRP is replaced by the RPM group of apps +# Cf: http://fedoraproject.org/wiki/RPMGroups +#filter PBGRP = Applications/Archiving + +# PBLIC is replaced by the license of the application +# Cf: http://fedoraproject.org/wiki/Licensing +#filter PBLIC = GPLv2+ + +# PBDEP is replaced by the list of dependencies +#filter PBDEP = + +# PBBDEP is replaced by the list of build dependencies +#filter PBBDEP = + +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +filter PBSUF = %{dist} + +# PBOBS is replaced by the Obsolete line +#filter PBOBS = + +filter PB2PYTHON2BDEP = texlive-framed +filter PB2PYTHON3BDEP = +filter PBWITHPY3 = 0 diff --git a/pbconf/pbfilter/rpm.pbf b/pbconf/pbfilter/rpm.pbf index e1ebdff..0aebfbf 100644 --- a/pbconf/pbfilter/rpm.pbf +++ b/pbconf/pbfilter/rpm.pbf @@ -14,8 +14,8 @@ filter PBLIC = ASL 2.0 #filter PBDEP = # PBBDEP is replaced by the list of build dependencies -filter PBPYTHON2BDEP = python-devel,python-setuptools >= 18,python-sphinx >= 1.2.3,python-future >= 0.15.2,python-docopt >= 0.6.2,python-requests >= 2.9.1,python-simplejson >= 3.8.1,python-configparser >= 3.3.0,texlive,python-sphinx_rtd_theme -filter PBPYTHON2DEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-simplejson >= 3.8.1,python-requests >= 2.9.1,python-configparser >= 3.3.0 +filter PBPYTHON2BDEP = make,python-devel,python-setuptools >= 18,python-sphinx >= 1.2.3,python-future >= 0.15.2,python-docopt >= 0.6.2,python-requests >= 2.9.1,python-simplejson >= 3.8.1,python-configparser >= 3.3.0,texlive,python-sphinx_rtd_theme +filter PBPYTHON2DEP = python-docopt >= 0.6.2,python-tortilla >= 0.4.1,python-jinja2 >= 2.7.3,python-simplejson >= 3.8.1,python-requests >= 2.9.1,python-configparser >= 3.3.0,python-future >= 0.15.2 filter PBPYTHON3BDEP = python3-devel,python3-setuptools >= 18,python3-sphinx >= 1.2.3,python3-future >= 0.15.2,python3-docopt >= 0.6.2,python3-requests >= 2.9.1,python3-simplejson >= 3.8.1,texlive,python3-sphinx_rtd_theme filter PBPYTHON3DEP = python3-docopt >= 0.6.2,python3-tortilla >= 0.4.1,python3-jinja2 >= 2.7.3,python3-simplejson >= 3.8.1,python3-requests >= 2.9.1 filter PBPYTHON3PKG = python3-redfish diff --git a/pbconf/python-redfish.pb b/pbconf/python-redfish.pb index 4366590..c61ba28 100644 --- a/pbconf/python-redfish.pb +++ b/pbconf/python-redfish.pb @@ -55,7 +55,7 @@ sshport python-redfish = 22 # a .vmtype extension will be added to the resulting string # a QEMU rhel-3-i286 here means that the VM will be named rhel-3-i386.qemu # -vmlist python-redfish = rhel-6-i386,opensuse-12.3-i386,sles-11-i386,gentoo-nover-i386,debian-8-i386,ubuntu-14.04-i386,ubuntu-15.10-i386,mageia-4-i386,mageia-5-i386,mageia-4-x86_64,mageia-5-x86_64,fedora-22-x86_64,fedora-23-x86_64,rhel-6-x86_64,rhel-7-x86_64,opensuse-12.3-i386,sles-10-x86_64,sles-11-x86_64,sles-12-x86_64,gentoo-nover-x86_64,debian-8-x86_64,ubuntu-14.04-x86_64,ubuntu-15.10-x86_64 +vmlist python-redfish = opensuse-12.3-i386,debian-8-i386,ubuntu-16.04-i386,mageia-5-i386,mageia-5-x86_64,fedora-23-x86_64,rhel-7-x86_64,opensuse-12.3-x86_64,sles-12-x86_64,debian-8-x86_64,ubuntu-16.04-x86_64 # # Valid values for vmtype are @@ -99,7 +99,7 @@ vetype python-redfish = docker # # Global version/tag for the project # -projver python-redfish = 0.3 +projver python-redfish = 0.4 projtag python-redfish = 1 # Hash of valid version names @@ -110,9 +110,9 @@ projtag python-redfish = 1 #version python-redfish = devel,stable # Is it a test version or a production version -#testver python-redfish = true +testver python-redfish = true # Which upper target dir for delivery -delivery python-redfish = +delivery python-redfish = test # Additional repository to add at build time # addrepo centos-5-x86_64 = http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm,ftp://ftp.project-builder.org/centos/5/pb.repo diff --git a/pbconf/python-redfish/rpm/python-redfish.spec b/pbconf/python-redfish/rpm/python-redfish.spec index 498c8ed..eb4a4c3 100644 --- a/pbconf/python-redfish/rpm/python-redfish.spec +++ b/pbconf/python-redfish/rpm/python-redfish.spec @@ -1,6 +1,8 @@ # # $Id$ # +%global with_python3 PBWITHPY3 + Name: PBREALPKG Version: PBVER @@ -19,19 +21,21 @@ BuildRequires: PBPYTHON2BDEP, PB2PYTHON2BDEP PBDESC Python2 version. +%if %{?with_python3} %package -n PBPYTHON3PKG Summary: %{summary} / Python 3 library BuildRequires: PBPYTHON3BDEP, PB2PYTHON3BDEP Requires: PBPYTHON3DEP -%package -n PBREALPKG-doc -Summary: %{summary} / Documentation -BuildRequires: PBPYTHON3BDEP, PB2PYTHON3BDEP -Requires: PBPYTHON3DEP - %description -n PBPYTHON3PKG PBDESC Python3 version. +%endif # if with_python3 + +%package -n PBREALPKG-doc +Summary: %{summary} / Documentation +BuildRequires: PBPYTHON2BDEP, PB2PYTHON2BDEP +Requires: PBPYTHON2DEP %description -n PBREALPKG-doc PBDESC @@ -40,18 +44,22 @@ Documentation %prep %setup -q # Fix for now as long as setuptools isn't more recent in distributions +%if %{?with_python3} PBPYTHON3FILTER cp -a . %{py3dir} # python3 doesn't provide configparser at all (cd %{py3dir} ; perl -pi -e "s|configparser>=3.3.0||" requirements.txt) +%endif # if with_python3 %build +%if %{?with_python3} pushd %{py3dir} %{__python3} setup.py build # Build minimal documentation cd doc make man popd +%endif # if with_python3 %{__python} setup.py build # Build minimal documentation @@ -70,9 +78,11 @@ for i in `ls %{buildroot}/%{_mandir}/man1/*-py2.1*`; do cp -a $i $j done +%if %{?with_python3} pushd %{py3dir} ./install.sh %{__python3} %{buildroot} %{python3_sitelib} %{_prefix} PBPYTHON3PKG popd +%endif # if with_python3 %files %doc README.rst examples/[a-z]*.py LICENSE @@ -89,6 +99,7 @@ popd %{_mandir}/man1/PBREALPKG.1* %{_mandir}/man1/*-py2.1* +%if %{?with_python3} %files -n PBPYTHON3PKG %doc README.rst examples/[a-z]*.py LICENSE AUTHORS ChangeLog %dir %{python3_sitelib}/redfish @@ -96,6 +107,7 @@ popd %{python3_sitelib}/redfish/__pycache__/*.py* %{python3_sitelib}/python_redfish* %{_mandir}/man1/*-py3.1* +%endif # if with_python3 %files -n PBREALPKG-doc %{_docdir}/PBREALPKG/manual/html/_static/*