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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to