SPECS: sysklogd.spec - possibility to run syslogd/klogd as syslog ...

glen glen at pld-linux.org
Mon Aug 1 21:09:01 CEST 2005


Author: glen                         Date: Mon Aug  1 19:09:01 2005 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- possibility to run syslogd/klogd as syslog user (not enabled by default)

---- Files affected:
SPECS:
   sysklogd.spec (1.102 -> 1.103) 

---- Diffs:

================================================================
Index: SPECS/sysklogd.spec
diff -u SPECS/sysklogd.spec:1.102 SPECS/sysklogd.spec:1.103
--- SPECS/sysklogd.spec:1.102	Mon Aug  1 17:37:58 2005
+++ SPECS/sysklogd.spec	Mon Aug  1 21:08:56 2005
@@ -1,7 +1,6 @@
 # $Revision$, $Date$
 # TODO:
 # - trigger for upgrade from inetutils-syslogd
-# - run as syslog:syslog user
 Summary:	Linux system and kernel logger
 Summary(de):	Linux-System- und Kerner-Logger
 Summary(es):	Registrador de log del sistema linux
@@ -11,7 +10,7 @@
 Summary(tr):	Linux sistem ve çekirdek kayýt süreci
 Name:		sysklogd
 Version:	1.4.1
-Release:	14
+Release:	14.12
 License:	GPL
 Group:		Daemons
 Source0:	http://www.ibiblio.org/pub/Linux/system/daemons/%{name}-%{version}.tar.gz
@@ -32,17 +31,19 @@
 Patch5:		%{name}-install.patch
 Patch6:		%{name}-utmp-process.patch
 Patch7:		%{name}-openlog.patch
-Patch8:		%{name}-ksyms.patch
+Patch8:		%{name}-security.patch
 Patch9:		%{name}-nullterm.patch
 Patch10:	%{name}-fmt-string.patch
 Patch11:	%{name}-2.4headers.patch
 Patch12:	%{name}-SO_BSDCOMPAT.patch
+Patch13:	%{name}-ksyms.patch
 URL:		http://www.infodrom.org/projects/sysklogd/
 #BuildRequires:	fork-on-start-is-broken
+BuildRequires:	rpmbuild(macros) >= 1.202
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define		_exec_prefix	/
-%define 	_bindir		/usr/bin
+%define 	_bindir			/usr/sbin
 
 %description
 This is the Linux system and kernel logging program. It is run as a
@@ -93,13 +94,21 @@
 Summary(de):	Linux-System-Logger
 Summary(pl):	Program logujący zdarzenia w systemie Linux
 Group:		Daemons
-PreReq:		rc-scripts >= 0.2.0
+Requires(post,preun):	rc-scripts >= 0.2.0
 Requires(post,preun):	/sbin/chkconfig
 Requires(post):	fileutils
+Requires(pre):  /bin/id
+Requires(pre):  /usr/bin/getgid
+Requires(pre):  /usr/sbin/useradd
+Requires(pre):  /usr/sbin/groupadd
+Requires(postun):	/usr/sbin/userdel
+Requires(postun):	/usr/sbin/groupdel
 Requires:	klogd
 Requires:	logrotate >= 3.2-3
 Requires:	psmisc >= 20.1
 Provides:	syslogdaemon
+Provides:	user(syslog)
+Provides:	group(syslog)
 Obsoletes:	sysklogd
 Obsoletes:	syslog-ng
 Obsoletes:	msyslog
@@ -123,8 +132,16 @@
 Summary(de):	Linux-Kerner-Logger
 Summary(pl):	Program logujący zdarzenia w jądrze Linuksa
 Group:		Daemons
-PreReq:		rc-scripts >= 0.2.0
+Requires(post,preun):	rc-scripts >= 0.2.0
 Requires(post,preun):	/sbin/chkconfig
+Requires(pre):  /bin/id
+Requires(pre):  /usr/bin/getgid
+Requires(pre):  /usr/sbin/useradd
+Requires(pre):  /usr/sbin/groupadd
+Requires(postun):	/usr/sbin/userdel
+Requires(postun):	/usr/sbin/groupdel
+Provides:	user(syslog)
+Provides:	group(syslog)
 Obsoletes:	sysklogd
 
 %description -n klogd
@@ -150,6 +167,7 @@
 %patch10 -p1
 %patch11 -p1
 %patch12 -p1
+%patch13 -p1
 
 %build
 %{__make} \
@@ -184,12 +202,21 @@
 
 echo .so sysklogd.8 > $RPM_BUILD_ROOT%{_mandir}/man8/syslogd.8
 
+%pre -n syslog
+%groupadd -P syslog -g 18 syslog
+%useradd -P syslog -u 18 -g syslog -c "Syslog User" syslog
+
 %post -n syslog
-for n in /var/log/{alert,debug,kernel,maillog,messages,news.log,secure,syslog}
-do
-	[ -f $n ] && continue
-	> $n
-	chmod 640 $n
+for n in /var/log/{alert,debug,kernel,maillog,messages,news.log,secure,syslog}; do
+	if [ -f $n ]; then
+		chown syslog:syslog $n
+		continue
+	else
+		touch $n
+		chmod 000 $n
+		chown syslog:syslog $n
+		chmod 640 $n
+	fi
 done
 
 /sbin/chkconfig --add syslog
@@ -210,6 +237,16 @@
 	/sbin/chkconfig --del syslog
 fi
 
+%postun -n syslog
+if [ "$1" = "0" ]; then
+	%userremove syslog
+	%groupremove syslog
+fi
+
+%pre -n klogd
+%groupadd -P syslog -g 18 syslog
+%useradd -P syslog -u 18 -g syslog -c "Syslog User" syslog
+
 %post -n klogd
 /sbin/chkconfig --add klogd
 if [ -f /var/lock/subsys/klogd ]; then
@@ -226,6 +263,12 @@
 	/sbin/chkconfig --del klogd
 fi
 
+%postun -n klogd
+if [ "$1" = "0" ]; then
+	%userremove syslog
+	%groupremove syslog
+fi
+
 %triggerpostun -- inetutils-syslogd
 /sbin/chkconfig --del syslog
 /sbin/chkconfig --add syslog
@@ -267,6 +310,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.103  2005/08/01 19:08:56  glen
+- possibility to run syslogd/klogd as syslog user (not enabled by default)
+
 Revision 1.102  2005/08/01 15:37:58  glen
 - run as nonroot todo
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SPECS/sysklogd.spec?r1=1.102&r2=1.103&f=u




More information about the pld-cvs-commit mailing list