summaryrefslogtreecommitdiffstats
path: root/systemtap.spec
diff options
context:
space:
mode:
Diffstat (limited to 'systemtap.spec')
-rw-r--r--systemtap.spec46
1 files changed, 26 insertions, 20 deletions
diff --git a/systemtap.spec b/systemtap.spec
index 193e1bbd..eb55145a 100644
--- a/systemtap.spec
+++ b/systemtap.spec
@@ -305,37 +305,40 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stap-server/conf.d
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
install -m 644 initscript/config.stap-server $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/stap-server
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server.log
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server
+touch $RPM_BUILD_ROOT%{_localstatedir}/log/stap-server/log
%clean
rm -rf ${RPM_BUILD_ROOT}
+%pre
+getent group stap-server >/dev/null || groupadd -g 155 -r stap-server || groupadd -r stap-server
+
%pre runtime
getent group stapdev >/dev/null || groupadd -r stapdev
getent group stapusr >/dev/null || groupadd -r stapusr
exit 0
%pre server
-getent group stap-server >/dev/null || groupadd -r stap-server
-getent passwd stap-server >/dev/null || useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -m -r -s /sbin/nologin stap-server
+getent passwd stap-server >/dev/null || \
+ useradd -c "Systemtap Compile Server" -u 155 -g stap-server -d %{_localstatedir}/lib/stap-server -m -r -s /sbin/nologin stap-server || \
+ useradd -c "Systemtap Compile Server" -g stap-server -d %{_localstatedir}/lib/stap-server -m -r -s /sbin/nologin stap-server
test -e ~stap-server && chmod 755 ~stap-server
exit 0
%post server
-chmod 664 %{_localstatedir}/log/stap-server.log
-chown stap-server %{_localstatedir}/log/stap-server.log
-chgrp stap-server %{_localstatedir}/log/stap-server.log
-# Make sure that the uprobes module can be built by the server
-test -e /usr/share/systemtap/runtime/uprobes || mkdir -p /usr/share/systemtap/runtime/uprobes
-chgrp stap-server /usr/share/systemtap/runtime/uprobes
-chmod 775 /usr/share/systemtap/runtime/uprobes
-# As stap-server, generate the certificate used for signing and for ssl.
-runuser -s /bin/sh - stap-server -c %{_libexecdir}/%{name}/stap-gen-cert >/dev/null
-# Authorize the certificate as a trusted ssl peer and as a trusted signer
-# on the local host.
-%{_bindir}/stap-authorize-server-cert ~stap-server/.systemtap/ssl/server/stap.cert
-%{_bindir}/stap-authorize-signing-cert ~stap-server/.systemtap/ssl/server/stap.cert
+chmod 664 %{_localstatedir}/log/stap-server/log
+chown stap-server %{_localstatedir}/log/stap-server/log
+chgrp stap-server %{_localstatedir}/log/stap-server/log
+# If it does not already exit, as stap-server, generate the certificate
+# used for signing and for ssl.
+if test ! -e ~stap-server/.systemtap/ssl/server/stap.cert; then
+ runuser -s /bin/sh - stap-server -c %{_libexecdir}/%{name}/stap-gen-cert >/dev/null
+ # Authorize the certificate as a trusted ssl peer and as a trusted signer
+ # on the local host.
+ %{_bindir}/stap-authorize-server-cert ~stap-server/.systemtap/ssl/server/stap.cert
+ %{_bindir}/stap-authorize-signing-cert ~stap-server/.systemtap/ssl/server/stap.cert
+fi
# Activate the service
/sbin/chkconfig --add stap-server
@@ -381,12 +384,12 @@ exit 0
%post
# Remove any previously-built uprobes.ko materials
-(make -C /usr/share/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
+(make -C %{_datadir}/%{name}/runtime/uprobes clean) >/dev/null 2>&1 || true
(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
%preun
# Ditto
-(make -C /usr/share/systemtap/runtime/uprobes clean) >/dev/null 2>&1 || true
+(make -C %{_datadir}/%{name}/runtime/uprobes clean) >/dev/null 2>&1 || true
(/sbin/rmmod uprobes) >/dev/null 2>&1 || true
%files
@@ -420,6 +423,9 @@ exit 0
%{_libdir}/%{name}/staplog.so*
%endif
+# Make sure that the uprobes module can be built by root and by the server
+%attr(07754,root,stap-server) %{_datadir}/%{name}/runtime/uprobes
+
%files runtime
%defattr(-,root,root)
%attr(4111,root,root) %{_bindir}/staprun
@@ -464,7 +470,7 @@ exit 0
%dir %{_sysconfdir}/stap-server
%dir %{_sysconfdir}/stap-server/conf.d
%config(noreplace) %{_sysconfdir}/sysconfig/stap-server
-%{_localstatedir}/log/stap-server.log
+%{_localstatedir}/log/stap-server/log
%doc initscript/README.stap-server
%files sdt-devel