Merge "Add bareon project RPM template"

This commit is contained in:
Jenkins 2016-05-04 13:37:31 +00:00 committed by Gerrit Code Review
commit 9065e628dc

View File

@ -0,0 +1,118 @@
%global pypi_name Bareon
%global sname bareon
%global sversion 0.0.1a3
Name: {{ py2name('Bareon') }}
Version: 0.0.1~a3
Release: 0
Summary: OpenStack bareon tool
License: {{ license('Apache-2.0') }}
Group: Applications/System
Url: https://launchpad.net/%{sname}
Source0: https://pypi.python.org/packages/1a/f5/62598e6fb3e3ee46f219df291176672579e5fbbd4d44258140191373d2d8/%{sname}-%{sversion}.tar.gz
BuildRequires: openstack-macros
BuildRequires: {{ py2pkg('jsonschema') }}
BuildRequires: {{ py2pkg('oslo.serialization') }}
BuildRequires: {{ py2pkg('oslo.config') }}
BuildRequires: {{ py2pkg('mock') }}
BuildRequires: {{ py2pkg('pbr') }}
BuildRequires: {{ py2pkg('requests-mock') }}
BuildRequires: {{ py2pkg('setuptools') }}
BuildRequires: {{ py2pkg('unittest2') }}
BuildRequires: {{ py2pkg('yaml') }}
Requires: {{ py2pkg('iso8601') }}
Requires: {{ py2pkg('Jinja2') }}
Requires: {{ py2pkg('jsonschema') }}
Requires: {{ py2pkg('oslo.config') }}
Requires: {{ py2pkg('oslo.serialization') }}
Requires: {{ py2pkg('PyYAML') }}
Requires: {{ py2pkg('six') }}
Requires: {{ py2pkg('stevedore') }}
Requires: {{ py2pkg('requests') }}
Requires: {{ py2pkg('urllib3') }}
Requires: bzip2
Requires: cloud-utils
Requires: coreutils
Requires: debootstrap
Requires: dmidecode
Requires: e2fsprogs
Requires: ethtool
Requires: gdisk
Requires: genisoimage
Requires: gzip
Requires: lvm2
Requires: mdadm
Requires: openssh-clients
Requires: parted
Requires: pciutils
Requires: psmisc
Requires: tar
Requires: udev
Requires: util-linux-ng
Requires: xfsprogs
Requires: xz
BuildArch: noarch
%description
Bareon is nothing more than just a set of data driven executable scripts:
* One of these scripts is used for building operating system images. One can
run this script on wherever needed passing a set of repository URIs and a set of
package names that are to be installed into the image.
* Another script is used for the actual provisioning. This script being installed
into a ramdisk (live image) can be run to provision an operating system on a
hard drive. When running one needs to pass input data that contain information
about disk partitions, initial node configuration, operating system image
location, etc. This script is to prepare disk partitions according to the input
data, download operating system images and put these images on partitions.
%package doc
Summary: Documentation for OpenStack bareon
BuildRequires: {{ py2pkg('oslosphinx') }}
BuildRequires: {{ py2pkg('Sphinx') }}
%description doc
Documentation for OpenStack bareon tool.
%prep
%setup -q -n %{sname}-%{sversion}
%build
%{__python2} setup.py build
# generate html docs
%{__python2} setup.py build_sphinx
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
%install
%{__python2} setup.py install --skip-build --root %{buildroot}
mkdir -p %{buildroot}/%{_sysconfdir}/bareon
mkdir -p %{buildroot}%{_datadir}/%{sname}/cloud-init-templates
install -p -D -m 640 etc/bareon/bareon.conf.sample %{buildroot}/%{_sysconfdir}/bareon/bareon.conf
install -p -D -m 644 cloud-init-templates/* %{buildroot}%{_datadir}/%{sname}/cloud-init-templates
%files
%license LICENSE
%doc ChangeLog README.md
%dir %{_sysconfdir}/bareon
%config(noreplace) %attr(-, root, root) %{_sysconfdir}/bareon/bareon.conf
%dir %{_datadir}/%{sname}
%{_datadir}/%{sname}/cloud-init-templates
%{_bindir}/bareon-*
%{python2_sitelib}/%{sname}
%{python2_sitelib}/*.egg-info
%files doc
%doc doc/build/html
%license LICENSE
%changelog