Source2: %{semodule_name}.fc
Source3: %{name}.logrotate
Source4: README.Fedora
+Source5: %{name}.target
# kill bundler
# (not intended for upstream)
Patch0: rocci-server-unbundle.diff
BuildRequires: ruby(release) >= 1.9.3
BuildRequires: rubygems-devel
BuildRequires: rubygem(rdoc)
+BuildRequires: systemd
# tests (plus all runtimes)
#BuildRequires: rubygem(rspec)
#BuildRequires: rubygem(rspec-rails)
Requires(pre): shadow-utils
Requires(post): policycoreutils
+Requires(post): systemd
Requires(preun): policycoreutils
+Requires(preun): systemd
Requires(postun): policycoreutils
+Requires(postun): systemd
Requires: logrotate
Requires: memcached
Requires: mod_passenger
echo "Listen 11443" >> %{buildroot}%{_sysconfdir}/httpd/conf.d/occi-listen.conf
install -p -m 0644 examples/etc/apache2/conf.d/security %{buildroot}%{_sysconfdir}/httpd/conf.d/occi-security.conf
+mkdir -p %{buildroot}%{_unitdir}
+install -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}
# Upstream testsuite fails:
#254 examples, 29 failures, 13 pending
restorecon -R %{app_root} %{_localstatedir}/log/rocci-server 2>/dev/null || :
semanage port -a -t http_port_t -p tcp 11443 2>/dev/null || :
fi
+%systemd_post %{name}.target
%preun
if [ "$1" -lt "1" ] ; then # Final removal
semodule -r %{semodule_name} 2>/dev/null || :
semanage port -d -t http_port_t -p tcp 11443 2>/dev/null || :
fi
+%systemd_preun %{name}.target
%postun
if [ "$1" -ge "1" ] ; then # Upgrade
semodule -i %{_datadir}/selinux/packages/%{name}/%{semodule_name}.pp 2>/dev/null || :
restorecon -R %{app_root} %{_localstatedir}/log/rocci-server 2>/dev/null || :
fi
+# rOCCI-server.target doesn't support restarting, use httpd instead
+%systemd_postun httpd.service
%files
%{app_root}/config.ru
%attr(-,rocci,rocci) %{_localstatedir}/log/rocci-server/
%{_datadir}/selinux/packages/%{name}/%{semodule_name}.pp
+%{_unitdir}/%{name}.target
%exclude %{app_root}/bin/
%exclude %{app_root}/.bundle/
%exclude %{app_root}/.rspec