From cba57551944c4ab1c56d989a4b2be0846d32c534 Mon Sep 17 00:00:00 2001 From: Bruno Cornec Date: Mon, 14 Jan 2019 18:04:09 +0100 Subject: [PATCH] Now uses pb 0.15 to build packages -> YAML conf Change-Id: I7d21a2c040d870b58c77bd0bf0d7d71075beb28b --- pbconf/pbfilter/all.yml | 74 ++++++++++++++++ pbconf/pbfilter/centos.yml | 35 ++++++++ pbconf/pbfilter/deb.yml | 25 ++++++ pbconf/pbfilter/debian.yml | 13 +++ pbconf/pbfilter/fedora.yml | 31 +++++++ pbconf/pbfilter/md.yml | 13 +++ pbconf/pbfilter/novell.yml | 9 ++ pbconf/pbfilter/opensuse.yml | 12 +++ pbconf/pbfilter/rpm.yml | 36 ++++++++ pbconf/pbfilter/ubuntu.yml | 13 +++ pbconf/python-redfish.yml | 164 +++++++++++++++++++++++++++++++++++ 11 files changed, 425 insertions(+) create mode 100644 pbconf/pbfilter/all.yml create mode 100644 pbconf/pbfilter/centos.yml create mode 100644 pbconf/pbfilter/deb.yml create mode 100644 pbconf/pbfilter/debian.yml create mode 100644 pbconf/pbfilter/fedora.yml create mode 100644 pbconf/pbfilter/md.yml create mode 100644 pbconf/pbfilter/novell.yml create mode 100644 pbconf/pbfilter/opensuse.yml create mode 100644 pbconf/pbfilter/rpm.yml create mode 100644 pbconf/pbfilter/ubuntu.yml create mode 100644 pbconf/python-redfish.yml diff --git a/pbconf/pbfilter/all.yml b/pbconf/pbfilter/all.yml new file mode 100644 index 0000000..cb930c2 --- /dev/null +++ b/pbconf/pbfilter/all.yml @@ -0,0 +1,74 @@ +--- +# +# $Id$ +# +# Filter for all files +# +# +# PBREPO is replaced by the root URL to access the repository +filter: + PBPACKAGER: $pb->{'packager'} + PBDATE: $pb->{'date'} + PBWITHPY3: 1 + PBTAG: $pb->{'tag'} + PBSHAREPATH: /usr/share/redfish-client + PBPKG: $pb->{'pkg'} + PBREV: $pb->{'rev'} + PBREALPKG: $pb->{'realpkg'} + PBEXTDIR: $pb->{'extdir'} + PBDESC: The Redfish API supports dialoging with a Redfish compliant$/system such as defined by http://www.redfishcertification.org + PBSUMMARY: Redfish python library + PBPYTHON3FILTER: perl -pi -e "s|configparser>=3.3.0; python_version < '3'|configparser>=3.3.0|" requirements.txt + PBCONFFILE: /etc/redfish-client.conf + PBREPO: $pb->{'repo'} + PBURL: https://review.openstack.org/#/q/project:openstack/python-redfish + PBSRC: src/%{name}-%{version}$pb->{'extdir'}.tar.gz + PBPROJ: $pb->{'proj'} + PBVER: $pb->{'ver'} + PBLOG: yes +# +# PBSRC is replaced by the source package location after the repo +# +# PBVER is replaced by the version ($pb->{'ver'} in code) +# +# PBDATE is replaced by the date ($pb->{'date'} in code) +# +# PBEXTDIR is replaced by the testdir extension if needed ($pb->{'extdir'} in code) +# +# PBPATCHSRC is replaced by the patches names if value is yes. Patches are located under the pbpatch dir of the pkg. +#filter PBPATCHSRC = yes +# +# PBPATCHCMD is replaced by the patches commands if value is yes +#filter PBPATCHCMD = yes +# +# PBMULTISRC is replaced by the sources names if value is yes. Sources are located under the pbsrc dir of the pkg. +#filter PBMULTISRC = yes +# +# PBTAG is replaced by the tag ($pb->{'tag'} in code) +# +# PBREV is replaced by the revision ($pb->{'rev'} in code) +# +# PBREALPKG is replaced by the package name ($pb->{'realpkg'} in code) +# +# PBPKG is replaced by the package name ($pb->{'pkg'} in code) +# +# PBPROJ is replaced by the project name ($pb->{'proj'} in code) +# +# PBPACKAGER is replaced by the packager name ($pb->{'packager'} in code) +# +# PBDESC contains the description of the package +# with a trailing , the variable can be multi-line. +# only the trailing 's will be removed, the leading spaces, +# trailing spaces, and newlines will remain except on the +# last line. You can use dollar slash as a way to introduce carriage +# return (perl syntax). +# You can use transform e.g. in rpm.pbf to adjust spaces +# +# PBSUMMARY contains a short single line description of the package +# +# PBURL contains the URL of the Web site of the project +# +# PBLOG is replaced by the changelog if value is yes +# and should be last as when used we need the %pb hash filled +# +# By default build for python3 diff --git a/pbconf/pbfilter/centos.yml b/pbconf/pbfilter/centos.yml new file mode 100644 index 0000000..d85f9ce --- /dev/null +++ b/pbconf/pbfilter/centos.yml @@ -0,0 +1,35 @@ +--- +# +# $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: + PBPYTHONDOCBDEP: python2-sphinx-theme-alabaster,python-snowballstemmer,texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threeparttable,texlive-titlesec,texlive-framed,,texlive-latex-bin,texlive-hyphen-base,texlive-cm,texlive-cmap,texlive-ec,texlive-fancyhdr,texlive-fancybox,texlive-mdwtools,texlive-parskip + PBPYTHON3BDEP: !!str "" + PB2PYTHON2BDEP: python-sphinx >= 1.2.3 + PBPYTHON3DEP: !!str "" + PBSUF: %{dist} + PBWITHPY3: 0 + PB2PYTHON3BDEP: python3-sphinx >= 1.2.3 +# +# PBOBS is replaced by the Obsolete line +#filter PBOBS = +# +# Needed as pb doesn't interpret spec macros diff --git a/pbconf/pbfilter/deb.yml b/pbconf/pbfilter/deb.yml new file mode 100644 index 0000000..7343cbf --- /dev/null +++ b/pbconf/pbfilter/deb.yml @@ -0,0 +1,25 @@ +--- +# +# $Id$ +# +# Filter for debian build +# +# PBGRP is replaced by the group of apps +filter: + PBDEP: python-docopt, python-tortilla, python-jinja2, python-pbr, python-docopt, python-simplejson + PBLIC: ASL 2.0 + PBBDEP: python-dev, python-setuptools, python-pbr, python-tortilla, python-jinja2, python-sphinx + PBGRP: utils +# +# PBLIC is replaced by the license of the application +# Cf: http://www.debian.org/legal/licenses/ +# +# PBDEP is replaced by the list of dependencies +# +# PBBDEP is replaced by the list of build dependencies +# +# PBSUG is replaced by the list of suggestions +#filter PBSUG = +# +# PBREC is replaced by the list of recommandations +#filter PBREC = diff --git a/pbconf/pbfilter/debian.yml b/pbconf/pbfilter/debian.yml new file mode 100644 index 0000000..79c63c4 --- /dev/null +++ b/pbconf/pbfilter/debian.yml @@ -0,0 +1,13 @@ +--- +# +# $Id$ +# +# Filter for debian build +# +# PBDEBSTD is replaced by the Debian standard version +filter: + PBDEBSTD: 3.8.0 + PBDEBCOMP: 7 +# +# PBDEBCOMP is replaced by the Debian Compatibility value +# diff --git a/pbconf/pbfilter/fedora.yml b/pbconf/pbfilter/fedora.yml new file mode 100644 index 0000000..e28c981 --- /dev/null +++ b/pbconf/pbfilter/fedora.yml @@ -0,0 +1,31 @@ +--- +# +# $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: + PBPYTHONDOCBDEP: texlive-multirow,texlive-upquote,texlive-wrapfig,texlive-threeparttable,texlive-titlesec,texlive-framed,texlive-capt-of,texlive-latex-bin,texlive-hyphen-base,texlive-cm,texlive-cmap,texlive-ec,texlive-langcode,texlive-babel-english,texlive-fancyhdr,texlive-fancybox,texlive-mdwtools,texlive-parskip,texlive-eqparbox,texlive-times,texlive-helvetic,texlive-courier,texlive-gsftopk-bin,texlive-dvips,texlive-mfware-bin + PB2PYTHON2BDEP: python-sphinx >= 1.2.3 + PB2PYTHON3BDEP: python3-sphinx >= 1.2.3 + PBSUF: %{dist} +# +# PBOBS is replaced by the Obsolete line +#filter PBOBS = +# diff --git a/pbconf/pbfilter/md.yml b/pbconf/pbfilter/md.yml new file mode 100644 index 0000000..981c2ea --- /dev/null +++ b/pbconf/pbfilter/md.yml @@ -0,0 +1,13 @@ +--- +# Specific group for Mandriva for python-redfish +# Cf: http://wiki.mandriva.com/en/Development/Packaging/Groups +filter: + PBGRP: Development/Python + PB2PYTHON3BDEP: python3-pkg-resources >= 18,python3-sphinx >= 1.2.3 + PB2PYTHON2BDEP: python-pkg-resources >= 18,python-sphinx >= 1.2.3 + PBPYTHONDOCBDEP: texlive-dist +# +# PBLIC is replaced by the license of the application +# Cf: http://wiki.mandriva.com/en/Development/Packaging/Licenses +#filter PBLIC = GPL +# diff --git a/pbconf/pbfilter/novell.yml b/pbconf/pbfilter/novell.yml new file mode 100644 index 0000000..ce436f1 --- /dev/null +++ b/pbconf/pbfilter/novell.yml @@ -0,0 +1,9 @@ +--- +# Specific group for SuSE for python-redfish +# Cf: http://en.opensuse.org/SUSE_Package_Conventions/RPM_Groups +#filter PBGRP = Productivity/Archiving/Backup +# +# PBLIC is replaced by the license of the application +# Cf: http://en.opensuse.org/Packaging/SUSE_Package_Conventions/RPM_Style#1.6._License_Tag +#filter PBLIC = GPL +# diff --git a/pbconf/pbfilter/opensuse.yml b/pbconf/pbfilter/opensuse.yml new file mode 100644 index 0000000..2348eb9 --- /dev/null +++ b/pbconf/pbfilter/opensuse.yml @@ -0,0 +1,12 @@ +--- +# Specific group for OpenSUSE for python-redfish +filter: + PB2PYTHON3BDEP: python3-Sphinx >= 1.2.3,python3-colorclass,python3-formats + PBGRP: Development/Python + PBPYTHONDOCBDEP: texlive-latex-bin,texlive-cmap,texlive-fancyhdr,texlive-fancybox,texlive-mdwtools,texlive-parskip,texlive-babel-english,texlive-psnfss,texlive-fncychap,texlive-titlesec,texlive-tabulary,texlive-framed,texlive-fancyvrb,texlive-threeparttable,texlive-float,texlive-wrapfig,texlive-upquote,texlive-capt-of,texlive-multirow,texlive-eqparbox,texlive-metafont-bin,texlive-helvetic,texlive-courier,texlive-dvips,texlive-times + PB2PYTHON2BDEP: python-Sphinx >= 1.2.3,python-colorclass,python-formats + PBPYTHON3FILTER: perl -pi -e "s|configparser>=3.3.0; python_version < '3'|configparser>=3.3.0|" requirements.txt$/%define py3dir %{_builddir}/python3-%{name}-%{version}-%{release}$/%define __python3 /usr/bin/python3$/%define python3_version %{py3_ver} +# +# PBLIC is replaced by the license of the application +#filter PBLIC = GPL +# diff --git a/pbconf/pbfilter/rpm.yml b/pbconf/pbfilter/rpm.yml new file mode 100644 index 0000000..ed91472 --- /dev/null +++ b/pbconf/pbfilter/rpm.yml @@ -0,0 +1,36 @@ +--- +# +# $Id$ +# +# Filter for rpm build +# +# +# PBGRP is replaced by the RPM group of apps +filter: + PBPYTHON3BDEP: python3-devel,python3-setuptools >= 18,python3-future >= 0.15.2,python3-docopt >= 0.6.2,python3-requests >= 2.9.1,python3-simplejson >= 3.8.1,python3-sphinx_rtd_theme,python3-pbr >= 0.8,python3-tortilla >= 0.4.1 + 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 + PBPYTHONDOCBDEP: texlive + PBPYTHON2BDEP: make,python-devel,python-setuptools >= 18,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,python-sphinx_rtd_theme,python-pbr >= 0.8,python-tortilla >= 0.4.1 + PBPYTHON3PKG: python3-redfish + PBGRP: Applications/System + PBSUF: $pb->{'suf'} + 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 + PBLIC: ASL 2.0 +# +# PBLIC is replaced by the license of the application +# +# PBDEP is replaced by the list of dependencies +#filter PBDEP = +# +# PBBDEP is replaced by the list of build dependencies +# +# PBSUF is replaced by the package suffix ($pb->{'suf'} in code) +# +# PBOBS is replaced by the Obsolete line +#filter PBOBS = +# +# transform a variable from the key on the right to the key on the left using the perl expression +# after the input key name. Useful for taking multi-line documentation and removing trailing spaces +# or leading spaces. +#transform PBDESC = PBDESC_raw s/\s+\n/\n/go; +# diff --git a/pbconf/pbfilter/ubuntu.yml b/pbconf/pbfilter/ubuntu.yml new file mode 100644 index 0000000..6f4235e --- /dev/null +++ b/pbconf/pbfilter/ubuntu.yml @@ -0,0 +1,13 @@ +--- +# +# $Id$ +# +# Filter for ubuntu build +# +# PBDEBSTD is replaced by the Debian standard version +filter: + PBDEBCOMP: 7 + PBDEBSTD: 3.8.3 +# +# PBDEBCOMP is replaced by the Debian Compatibility value +# diff --git a/pbconf/python-redfish.yml b/pbconf/python-redfish.yml new file mode 100644 index 0000000..8aa2fe9 --- /dev/null +++ b/pbconf/python-redfish.yml @@ -0,0 +1,164 @@ +--- +# +# Project Builder configuration file +# For project python-redfish +# +# $Id$ +# +# +# +# What is the project URL +# +#pburl python-redfish = svn://svn.python-redfish.org/python-redfish/devel +#pburl python-redfish = svn://svn+ssh.python-redfish.org/python-redfish/devel +#pburl python-redfish = cvs://cvs.python-redfish.org/python-redfish/devel +#pburl python-redfish = http://www.python-redfish.org/src/python-redfish-devel.tar.gz +#pburl python-redfish = ftp://ftp.python-redfish.org/src/python-redfish-devel.tar.gz +#pburl python-redfish = file:///src/python-redfish-devel.tar.gz +#pburl python-redfish = dir:///src/python-redfish-devel +pbprojurl: + python-redfish: git+https://review.openstack.org/p/openstack/python-redfish.git +# +# Repository +pbrepo: + python-redfish: ftp://ftp.mondorescue.org +pbml: + python-redfish: python-redfish@mondorescue.org +pbsmtp: + python-redfish: localhost +# For distro supporting it, which area is used +#projcomponent python-redfish = main +# +# Check whether project is well formed +# when downloading from ftp/http/... +# (containing already a directory with the project-version name) +pbwf: + python-redfish: 1 +# +# Do we check GPG keys +pbgpgcheck: + python-redfish: 1 +# +# +# Packager label +# +pbpackager: + python-redfish: Bruno Cornec +# +# +# For delivery to a machine by SSH (potentially the FTP server) +# Needs hostname, account and directory +# +sshhost: + python-redfish: www.mondorescue.org +sshlogin: + python-redfish: bruno +sshdir: + python-redfish: /prj/ftp +sshport: + python-redfish: 22 +# +# +# +# For Virtual machines management +# Naming convention to follow: distribution name (as per ProjectBuilder::Distribution) +# followed by '-' and by release number +# followed by '-' and by architecture +# 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: 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 +# qemu, (vmware, xen, ... TBD) +#vmtype python-redfish = qemu +# +# Hash for VM stuff on vmtype +#vmntp default = pool.ntp.org +# +# We suppose we can commmunicate with the VM through SSH +#vmhost python-redfish = localhost +#vmlogin python-redfish = pb +#vmport python-redfish = 2222 +# +# Timeout to wait when VM is launched/stopped +#vmtmout default = 120 +# +# per VMs needed paramaters +#vmopt python-redfish = -m 384 -daemonize +#vmpath python-redfish = /home/qemu +#vmsize python-redfish = 5G +# +# +# For Virtual environment management +# Naming convention to follow: distribution name (as per ProjectBuilder::Distribution) +# followed by '-' and by release number +# followed by '-' and by architecture +# a .vetype extension will be added to the resulting string +# a chroot rhel-3-i286 here means that the VE will be named rhel-3-i386.chroot +# +# +# Supported distribution for python-redfish +velist: + python-redfish: opensuse-42.2-x86_64,centos-7-x86_64,fedora-25-x86_64,debian-8-x86_64,mageia-5-x86_64,ubuntu-16.04-x86_64 +# +# VE params +vetype: + python-redfish: docker +#ventp default = pool.ntp.org +#velogin python-redfish = pb +#vepath python-redfish = /var/cache/rpmbootstrap +#rbsconf python-redfish = /etc/mock +#verebuild python-redfish = false +# +# +# Global version/tag for the project +# +projver: + python-redfish: 0.4.2 +projtag: + python-redfish: 1 +# +# Hash of valid version names +# +#version python-redfish = devel,stable +# +# Is it a test version or a production version +testver: + python-redfish: !!str "" +# Which upper target dir for delivery +delivery: + python-redfish: !!str "" +# +# 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 +# addrepo centos-4-x86_64 = http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.x86_64.rpm,ftp://ftp.project-builder.org/centos/4/pb.repo +# This will allow usage of python-simplejson 1.8.1 +addrepo: + centos-7-x86_64: https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm,ftp://ftp.project-builder.org/centos/7/x86_64/pb.repo + mageia-5-x86_64: ftp://ftp.project-builder.org/mageia/5/x86_64/pb.addmedia + fedora-25-x86_64: ftp://ftp.project-builder.org/fedora/25/x86_64/pb.repo + opensuse-42.2-x86_64: ftp://ftp.project-builder.org/opensuse/42.2/x86_64/pb.repo,http://download.opensuse.org/repositories/devel:languages:python3/openSUSE_Leap_42.2/devel:languages:python3.repo,http://download.opensuse.org/repositories/Virtualization:containers/openSUSE_Leap_42.2/Virtualization:containers.repo,http://download.opensuse.org/repositories/devel:languages:python/openSUSE_Leap_42.2/devel:languages:python.repo +# +# Adapt to your needs: +# Optional if you need to overwrite the global values above +# +#pkgver python-redfish = stable +#pkgtag python-redfish = 3 +# Hash of default package/package directory +defpkgdir: + python-redfish: . +# Hash of additional package/package directory +#extpkgdir minor-pkg = dir-minor-pkg +# +# List of files per pkg on which to apply filters +# Files are mentioned relatively to pbroot/defpkgdir +filteredfiles: + python-redfish: redfish-client/redfish-client,redfish-client/redfish-check-cartridge,doc/source/conf.py,redfish-client/etc/redfish-client.conf,install.sh +#supfiles python-redfish = python-redfish.init +# +# We use pbr to generate sources +pbpbr: + python-redfish: 1