Requires(post): smack
BuildRequires: cmake
BuildRequires: zip
+BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libsmack)
BuildRequires: pkgconfig(cynara-commons)
+%{?systemd_requires}
# alternatives: DLOG, JOURNAL, NONE, (otherwise SYSLOG is used)
%if !%{defined log_type}
%cmake . \
-DBUILD_TESTS=OFF \
+ -DBUILD_WITH_SYSTEMD_DAEMON=ON \
-DLOG_TYPE=%{log_type} \
-DBUILD_SERVICE=ON \
-DCMAKE_BUILD_TYPE=%{?build_type} \
-DINCLUDE_DIR:PATH=%{_includedir} \
-DLOCAL_STATE_DIR:PATH=%{_localstatedir} \
-DDATA_ROOT_DIR:PATH=%{_datadir} \
+ -DSYSTEMD_UNIT_DIR:PATH=%{_unitdir} \
-DSOCKET_DIR:PATH=/run/%{name} \
-DDB_FILES_SMACK_LABEL="System" \
-DMONITORING=ON
rm -rf %{buildroot}
%make_install
+mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
+mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
mkdir -p %{buildroot}%{_datadir}/cynara/db
+ln -s ../cynara.socket %{buildroot}%{_unitdir}/sockets.target.wants/cynara.socket
+ln -s ../cynara-admin.socket %{buildroot}%{_unitdir}/sockets.target.wants/cynara-admin.socket
+ln -s ../cynara-agent.socket %{buildroot}%{_unitdir}/sockets.target.wants/cynara-agent.socket
+ln -s ../cynara-monitor-get.socket %{buildroot}%{_unitdir}/sockets.target.wants/cynara-monitor-get.socket
+ln -s ../cynara.service %{buildroot}%{_unitdir}/multi-user.target.wants/cynara.service
%post
### Add file capabilities if needed
%manifest cynara.manifest
%license LICENSE LICENSE.MIT
%attr(755,root,root) %{_bindir}/cynara
+%attr(-,root,root) %{_unitdir}/cynara.service
+%attr(-,root,root) %{_unitdir}/multi-user.target.wants/cynara.service
+%attr(-,root,root) %{_unitdir}/cynara.target
+%attr(-,root,root) %{_unitdir}/sockets.target.wants/cynara.socket
+%attr(-,root,root) %{_unitdir}/cynara.socket
+%attr(-,root,root) %{_unitdir}/sockets.target.wants/cynara-admin.socket
+%attr(-,root,root) %{_unitdir}/cynara-admin.socket
+%attr(-,root,root) %{_unitdir}/sockets.target.wants/cynara-agent.socket
+%attr(-,root,root) %{_unitdir}/cynara-agent.socket
+%attr(-,root,root) %{_unitdir}/sockets.target.wants/cynara-monitor-get.socket
+%attr(-,root,root) %{_unitdir}/cynara-monitor-get.socket
%attr(755,root,root) %{_datadir}/cynara/
%dir %attr(755,cynara,cynara) %{_libdir}/%{name}/plugin/service