Files
rpms/fedora/SPECS/polemarch.spec

149 lines
4.9 KiB
RPMSpec
Raw Normal View History

# Attention: Before you can build this package, you must install venvctrl package through pip:
# pip install venvctrl
# Globals
%global __os_install_post %{nil}
# prevents the building of /usr/lib/.build-id directories and files:
# this only happens, if you are using python virtualenv
%global _build_id_links none
2019-06-16 09:36:33 +02:00
# don't check for rpath:
%global __arch_install_post /usr/lib/rpm/check-buildroot
# Macros
%define name polemarch
%define shortname polemarch
%define namebase polemarch
%define user polemarch
%define datad poledata
2019-08-16 08:18:20 +02:00
%define version 1.4.1
2019-06-16 09:36:33 +02:00
%define release 1
%define __prelink_undo_cmd %{nil}
%define _binaries_in_noarch_packages_terminate_build 0
%define unmangled_version %{version}
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Summary: Infrastructure Heat Service for orchestration infrastructure by ansible.
Group: Application/System
Vendor: VST Consulting <sergey.k@vstconsulting.net>
License: AGPL-3+
AutoReq: No
AutoProv: No
Source0: %name-%version.tar.gz
Source1: %name-settings
Source2: %name-redis-patch.sh
Source3: %name-mysql-patch.sh
Patch0: %name-python3.patch
2019-05-04 16:22:21 +02:00
Patch1: %name-venvctrl.patch
# Note: these two packages must not be installed by distribution (fedora): python3-pyyaml, python3-blockdiag-devel
# Build fails, if these two packages are installed!
2019-06-16 09:36:33 +02:00
BuildRequires: python3, openssl-devel, libyaml-devel, python3-mysql
BuildRequires: python3-sphinxcontrib-blockdiag, python3-virtualenv, openldap-devel
Requires: python3, openssl-devel, libxcrypt-compat
Requires: python3-virtualenv, python3-mysql, python3-PyMySQL
Requires: git
Requires: libyaml-devel
Requires: krb5-devel, krb5-libs, openldap-devel
Requires: mailcap
Requires: python3-redis >= 3.2.0, python3-django-redis >= 4.0.0, redis >= 5.0.0
%description
Polemarch is service for orchestration infrastructure by ansible.
Simply WEB gui for orchestration infrastructure by ansible playbooks.
%prep
%setup -q -n %name-%version
%patch0 -b python3-patch
%install
make BUILD_DIR=%{buildroot}
install %{S:1} %{buildroot}%{_sysconfdir}/%{namebase}/settings.ini
# fix for python3 redis access:
bash %{S:2}
# fix or workaround for mysqlclient version check:
bash %{S:3}
# fix for fedora rundir config:
mv %{buildroot}/var/run %{buildroot}/
# create additional directories:
install -d %{buildroot}/%{_var}/log/%{name}
install -d %{buildroot}/opt/%{datad}
2019-06-16 09:36:33 +02:00
ln -s %{python3_sitearch}/MySQLdb %{buildroot}/opt/polemarch/lib/python3.7/site-packages/MySQLdb
2019-02-22 10:13:19 +01:00
%pre
getent group %{user} >/dev/null || \
groupadd -r %{user}
getent passwd %{user} >/dev/null || \
2019-02-22 19:22:04 +01:00
useradd -r -g %{user} -d /opt/%{user} \
2019-02-22 10:13:19 +01:00
-s /sbin/nologin -c "%{user} user" %{user}
exit 0
%post
2019-02-22 10:13:19 +01:00
%systemd_post %{name}.service
sudo -u %{user} /opt/%{name}/bin/%{shortname}ctl migrate
%preun
2019-02-22 10:13:19 +01:00
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%files
%defattr(-,%{user},%{user},-)
%dir %attr(-,%{user},%{user}) /opt/%{namebase}
%dir %attr(-,%{user},%{user}) /opt/%{datad}
%dir %attr(-,%{user},%{user}) %{_var}/log/%{namebase}
%attr(-,%{user},%{user}) /opt/%{namebase}/bin/*
%attr(-,%{user},%{user}) /opt/%{namebase}/include/*
%attr(-,%{user},%{user}) /opt/%{namebase}/lib/*
/opt/%{namebase}/lib64
%dir %{_sysconfdir}/%{namebase}
%{_rundir}/%{namebase}
%{_var}/lock/%{namebase}
%attr(755,%{user},%{user}) %{_sysconfdir}/systemd/system/%{shortname}.service
%attr(755,root,root) %{_sysconfdir}/tmpfiles.d/%{namebase}.conf
%config(noreplace) %{_sysconfdir}/%{namebase}/settings.ini
2019-02-22 11:59:13 +01:00
%config(noreplace) %{_sysconfdir}/%{namebase}/settings.ini.template
%clean
[ "%{buildroot}" != "/" ] && [ -d "%{buildroot}" ] && rm -rf %{buildroot}
[ "%{_builddir}" != "/" ] && [ -d "%{_builddir}" ] && rm -rf %{_builddir}/*
%changelog
2019-08-16 08:18:20 +02:00
* Fri Aug 16 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to 1.4.1 version.
* Sat Jul 13 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to 1.3.1 version.
2019-06-16 09:36:33 +02:00
* Mon Jun 15 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to 1.2.1 version.
* Mon Jun 10 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to 1.2.0 version, python 3 is required now.
* Sun May 12 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Dependency for libxcrypt-compat added.
* Fri May 3 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Workaround for mysql DB version failure.
* Sun Apr 28 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to latest 1.1.4 version.
* Fri Mar 22 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Update to latest 1.1.3 version.
* Fri Mar 8 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Do migrate alltimes postinstall script.
- Upgrade to latest 1.1.2 version.
- redis-py patch for version 3.2.0 which is required but not resolved.
2019-02-22 19:40:14 +01:00
* Fri Feb 22 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- Some fixes for post script.
* Fri Feb 22 2019 Daniel Steiner <daniel.steiner@daniel-steiner.org>
- First setup for Fedora 29