Name: security-manager
Summary: Security manager and utilities
-Version: 0.0.1
+Version: 0.2.0
Release: 1
Group: Security/Service
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
Source1: security-manager.manifest
Source3: libsecurity-manager-client.manifest
+Requires(post): smack
BuildRequires: cmake
BuildRequires: zip
-BuildRequires: pkgconfig(dlog)
BuildRequires: libattr-devel
-BuildRequires: libcap-devel
BuildRequires: pkgconfig(libsmack)
-BuildRequires: pkgconfig(libprivilege-control)
+BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(libsystemd-daemon)
+BuildRequires: pkgconfig(libsystemd-journal)
+BuildRequires: pkgconfig(libtzplatform-config)
+BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(db-util)
+BuildRequires: pkgconfig(cynara-admin)
+BuildRequires: pkgconfig(cynara-client)
+BuildRequires: boost-devel
%{?systemd_requires}
%description
export LDFLAGS+="-Wl,--rpath=%{_libdir}"
%cmake . -DVERSION=%{version} \
+ -DBIN_INSTALL_DIR=%{_bindir} \
+ -DDB_INSTALL_DIR=%{TZ_SYS_DB} \
+ -DSYSTEMD_INSTALL_DIR=%{_unitdir} \
-DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
-DCMAKE_VERBOSE_MAKEFILE=ON
make %{?jobs:-j%jobs}
mkdir -p %{buildroot}/usr/share/license
cp LICENSE %{buildroot}/usr/share/license/%{name}
cp LICENSE %{buildroot}/usr/share/license/libsecurity-manager-client
-mkdir -p %{buildroot}/etc/security/
-cp security-manager-audit.conf %{buildroot}/etc/security/
-mkdir -p %{buildroot}/etc/smack/
-cp app-rules-template.smack %{buildroot}/etc/smack/
+mkdir -p %{buildroot}/%{TZ_SYS_SMACK}
+cp app-rules-template.smack %{buildroot}/%{TZ_SYS_SMACK}
%make_install
-mkdir -p %{buildroot}/usr/lib/systemd/system/multi-user.target.wants
-mkdir -p %{buildroot}/usr/lib/systemd/system/sockets.target.wants
-ln -s ../security-manager.service %{buildroot}/usr/lib/systemd/system/multi-user.target.wants/security-manager.service
-ln -s ../security-manager-installer.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/security-manager-installer.socket
+mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
+mkdir -p %{buildroot}/%{_unitdir}/sockets.target.wants
+ln -s ../security-manager.service %{buildroot}/%{_unitdir}/multi-user.target.wants/security-manager.service
+ln -s ../security-manager.socket %{buildroot}/%{_unitdir}/sockets.target.wants/security-manager.socket
%clean
rm -rf %{buildroot}
%post
+/sbin/ldconfig
systemctl daemon-reload
if [ $1 = 1 ]; then
# installation
# update
systemctl restart security-manager.service
fi
+chsmack -a System %{TZ_SYS_DB}/.security-manager.db
+chsmack -a System %{TZ_SYS_DB}/.security-manager.db-journal
%preun
if [ $1 = 0 ]; then
fi
%postun
+/sbin/ldconfig
if [ $1 = 0 ]; then
# unistall
systemctl daemon-reload
%files -n security-manager
%manifest security-manager.manifest
%defattr(-,root,root,-)
-%attr(755,root,root) /usr/bin/security-manager
+%attr(755,root,root) %{_bindir}/security-manager
%{_libdir}/libsecurity-manager-commons.so.*
-%attr(-,root,root) /usr/lib/systemd/system/multi-user.target.wants/security-manager.service
-%attr(-,root,root) /usr/lib/systemd/system/security-manager.service
-%attr(-,root,root) /usr/lib/systemd/system/security-manager.target
-%attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/security-manager-installer.socket
-%attr(-,root,root) /usr/lib/systemd/system/security-manager-installer.socket
-%attr(-,root,root) /etc/security/security-manager-audit.conf
-%attr(-,root,root) /etc/smack/app-rules-template.smack
+%attr(-,root,root) %{_unitdir}/multi-user.target.wants/security-manager.service
+%attr(-,root,root) %{_unitdir}/security-manager.service
+%attr(-,root,root) %{_unitdir}/security-manager.target
+%attr(-,root,root) %{_unitdir}/sockets.target.wants/security-manager.socket
+%attr(-,root,root) %{_unitdir}/security-manager.socket
+%attr(-,root,root) %{TZ_SYS_SMACK}/app-rules-template.smack
+%config(noreplace) %attr(0600,root,root) %{TZ_SYS_DB}/.security-manager.db
+%config(noreplace) %attr(0600,root,root) %{TZ_SYS_DB}/.security-manager.db-journal
%{_datadir}/license/%{name}
%files -n libsecurity-manager-client