Restore systemd build sandbox/vbarinov/nosystemd-0.17
authorSlava Barinov <v.barinov@samsung.com>
Thu, 24 Aug 2023 14:41:25 +0000 (17:41 +0300)
committerSlava Barinov <v.barinov@samsung.com>
Thu, 24 Aug 2023 14:41:25 +0000 (17:41 +0300)
Change-Id: If507caf0aaad29d10752cd2d1d163c484e5ecb62

packaging/cynara.spec

index 30929b4c68741dc0277dce222079620feeb4a69e..1abf6092c4962af4347aba4a060b12fffe38aab4 100644 (file)
@@ -12,8 +12,10 @@ Requires:      libcynara-commons = %{version}
 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}
@@ -54,6 +56,7 @@ export LDFLAGS+="-Wl,--rpath=%{_libdir}"
 
 %cmake . \
         -DBUILD_TESTS=OFF \
+        -DBUILD_WITH_SYSTEMD_DAEMON=ON \
         -DLOG_TYPE=%{log_type} \
         -DBUILD_SERVICE=ON \
         -DCMAKE_BUILD_TYPE=%{?build_type} \
@@ -65,6 +68,7 @@ export LDFLAGS+="-Wl,--rpath=%{_libdir}"
         -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
@@ -74,7 +78,14 @@ make %{?jobs:-j%jobs}
 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
@@ -94,6 +105,17 @@ fi
 %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