diff --git a/sudo/fsl.sudo b/sudo/fsl.sudo new file mode 100644 index 0000000000..589773b82f --- /dev/null +++ b/sudo/fsl.sudo @@ -0,0 +1,15 @@ +## +## fsl.sudo -- OSSP fsl configuration +## + +ident (.*sudo)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/sudo/sudo.log", + append=1, perm=0644 + ) + } +}; diff --git a/sudo/rc.sudo b/sudo/rc.sudo new file mode 100644 index 0000000000..b885f5cd22 --- /dev/null +++ b/sudo/rc.sudo @@ -0,0 +1,23 @@ +#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc +## +## rc.sudo -- Run-Commands +## + +%config + sudo_enable="yes" + sudo_log_prolog="true" + sudo_log_epilog="true" + sudo_log_numfiles="10" + sudo_log_minsize="1M" + sudo_log_complevel="9" + +%daily -u @l_susr@ + opServiceEnabled sudo || exit 0 + + # rotate logfile + shtool rotate -f \ + -n${sudo_log_numfiles} -s${sudo_log_minsize} -d \ + -z${sudo_log_complevel} -o@l_rusr@ -g@l_rgrp@ -m644 \ + -P "${sudo_log_prolog}" \ + -E "${sudo_log_epilog}" \ + @l_prefix@/var/sudo/sudo.log diff --git a/sudo/sudo.spec b/sudo/sudo.spec index a7713802d6..51a40004b2 100644 --- a/sudo/sudo.spec +++ b/sudo/sudo.spec @@ -33,19 +33,26 @@ Distribution: OpenPKG [BASE] Group: System License: BSD Version: 1.6.7p5 -Release: 20030509 +Release: 20030703 # package options +%option with_fsl yes %option with_pam no # list of sources Source0: ftp://ftp.courtesan.com/pub/sudo/sudo-%{version}.tar.gz +Source1: rc.sudo +Source2: fsl.sudo # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} -BuildPreReq: OpenPKG, openpkg >= 20030103, MTA -PreReq: OpenPKG, openpkg >= 20030103, MTA +BuildPreReq: OpenPKG, openpkg >= 20030415, MTA +PreReq: OpenPKG, openpkg >= 20030415, MTA +%if "%{with_fsl}" == "yes" +BuildPreReq: fsl +PreReq: fsl +%endif %if "%{with_pam}" == "yes" BuildPreReq: PAM PreReq: PAM @@ -64,15 +71,21 @@ AutoReqProv: no %build CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ + LDFLAGS="%{l_fsl_ldflags}" \ + LIBS="%{l_fsl_libs}" \ %if "%{with_pam}" == "yes" CPPFLAGS="-I`%{l_prefix}/etc/rc --query pam_incdir`" \ - LDFLAGS="-L`%{l_prefix}/etc/rc --query pam_libdir`" \ + LDFLAGS="-L`%{l_prefix}/etc/rc --query pam_libdir` ${LDFLAGS}" \ %endif ./configure \ --prefix=%{l_prefix} \ --sysconfdir=%{l_prefix}/etc/sudo \ - --with-logpath=%{l_prefix}/var/sudo/log/sudo.log \ + --with-logpath=%{l_prefix}/var/sudo/sudo.log \ +%if "%{with_fsl}" == "yes" + --with-logging=syslog \ +%else --with-logging=file \ +%endif --with-sudoers-mode=0400 \ --with-sudoers-uid=0 \ --with-sudoers-gid=%{l_muid} \ @@ -91,7 +104,7 @@ AutoReqProv: no %install rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 \ - $RPM_BUILD_ROOT%{l_prefix}/var/sudo/log + $RPM_BUILD_ROOT%{l_prefix}/var/%{name} %{l_shtool} subst \ -e "s;-m 4111;-m 4511;" \ -e "s;-m 0111;-m 0511;" \ @@ -104,8 +117,29 @@ AutoReqProv: no install_gid=`%{l_shtool} echo -e %g` \ sudoers_uid=`%{l_shtool} echo -e %u` \ sudoers_gid=`%{l_shtool} echo -e %g` + + # Creating run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 \ + -e 's;@l_prefix@;%{l_prefix};g' \ + -e 's;@l_susr@;%{l_susr};g' \ + -e 's;@l_rusr@;%{l_rusr};g' \ + -e 's;@l_rgrp@;%{l_rgrp};g' \ + %{SOURCE rc.%{name}} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # OSSP fake syslog library + %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl + %{l_shtool} install -c -m 644 \ + -e 's;@l_prefix@;%{l_prefix};g' \ + %{SOURCE fsl.%{name}} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ + + # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ %{l_files_std} \ + '%not %dir %{l_prefix}/etc/fsl' \ + '%config %{l_prefix}/etc/fsl/fsl.%{name}' \ '%attr(4111,root,%{l_mgrp}) %{l_prefix}/bin/sudo' \ '%attr(0111,root,%{l_mgrp}) %{l_prefix}/sbin/visudo' \ '%config %attr(0400,root,%{l_mgrp}) %{l_prefix}/etc/sudo/sudoers'