summaryrefslogtreecommitdiffstats
path: root/build/rpm_specs/gluon.spec
blob: 946d415c60cd2ab4de28a76db6bd8efc3b0c3b6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
%define release 1
%define _sharedstatedir /var/lib
%define build_timestamp %(date +"%Y%m%d")

Summary:          OpenStack Gluon Framework
Name:             gluon
Version:          0.0.1
Release:          %{release}_%{build_timestamp}

License:          Apache 2.0
Group:            Applications/Internet
Source0:          gluon.tar.gz
Url:              https://github.com/openstack/gluon
BuildArch:        noarch

#BuildRequires:    systemd

Vendor:           OpenStack <openstack-dev@lists.openstack.org>
Packager:         Georg Kunz <georg.kunz@ericsson.com>

Requires:         python-pbr
Requires:         python-click
Requires:         python-six
Requires:         python-requests
Requires:         python-yaml
Requires:         python-sqlalchemy
Requires:         python2-babel
Requires:         python2-oslo-db
Requires:         python2-oslo-config
Requires:         python2-oslo-versionedobjects
Requires:         python2-oslo-log
Requires:         python2-oslo-utils
Requires:         python2-oslo-i18n
Requires:         python2-wsme
Requires:         pytz

Requires(post):   systemd
Requires(preun):  systemd
Requires(postun): systemd

%description
OpenStack Gluon framework for NFV networking

%prep
%setup -q
cat << EOF > %{_builddir}/openstack-proton-server.service
[Unit]
Description=OpenStack Proton Server
After=syslog.target network.target

[Service]
Type=simple
TimeoutStartSec=0
Restart=always
User=proton
ExecStart=/usr/bin/proton-server --config-file /etc/proton/proton.conf --logfile /var/log/proton/api.log

[Install]
WantedBy=multi-user.target
EOF

cat << EOF > %{_builddir}/proton.conf
[DEFAULT]
state_path = /var/lib/proton
EOF


%install
python setup.py install -O1 --root=%{buildroot} --record=INSTALLED_FILES --prefix=/usr
mkdir -p %{buildroot}/usr/lib/systemd/system
install %{_builddir}/openstack-proton-server.service %{buildroot}/usr/lib/systemd/system
mkdir -p %{buildroot}%{_sharedstatedir}/proton
mkdir -p %{buildroot}%{_localstatedir}/log/proton
mkdir -p %{buildroot}%{_localstatedir}/run/proton
mkdir -p %{buildroot}%{_sysconfdir}/proton
install %{_builddir}/proton.conf %{buildroot}%{_sysconfdir}/proton


%pre
getent group proton >/dev/null || groupadd -r proton --gid 201
if ! getent passwd proton >/dev/null; then
  useradd -u 201 -r -g proton -G proton,nobody -d %{_sharedstatedir}/proton -s /sbin/nologin -c "OpenStack Proton Server" proton
fi
exit 0

%post
%systemd_post openstack-proton-server
systemctl start openstack-proton-server

%preun
%systemd_preun openstack-proton-server

%postun
%systemd_postun_with_restart openstack-proton-server

%clean
rm -rf %{buildroot}

%files -f INSTALLED_FILES
%defattr(-,root,root)
%attr(644,root,root) /usr/lib/systemd/system/openstack-proton-server.service
%dir %attr(700,proton,root) %{_sysconfdir}/proton
%attr(640,proton,root) %{_sysconfdir}/proton/proton.conf
%dir %attr(750,proton,root) %{_localstatedir}/log/proton
%dir %attr(750,proton,root) %{_localstatedir}/run/proton
%dir %attr(755,proton,root) %{_sharedstatedir}/proton