## ## sudo.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2004 The OpenPKG Project ## Copyright (c) 2000-2004 Ralf S. Engelschall ## Copyright (c) 2000-2004 Cable & Wireless ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: sudo Summary: Flexible Switch User Command URL: http://www.sudo.ws/ Vendor: Todd Miller Packager: The OpenPKG Project Distribution: OpenPKG [BASE] Group: System License: BSD Version: 1.6.7p5 Release: 20031002 # 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 >= 20030718 PreReq: OpenPKG, openpkg >= 20030718 %if "%{with_fsl}" == "yes" BuildPreReq: fsl >= 1.2.0 PreReq: fsl >= 1.2.0 %endif %if "%{with_pam}" == "yes" BuildPreReq: PAM PreReq: PAM %endif AutoReq: no AutoReqProv: no %description Sudo (superuser do) allows a system administrator to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while logging the commands and arguments. %prep %setup -q %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}" \ %endif true=`%{l_shtool} path true` ./configure \ --prefix=%{l_prefix} \ --sysconfdir=%{l_prefix}/etc/sudo \ --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} \ --with-sendmail=$true \ --with-ignore-dot \ %if "%{with_pam}" == "yes" --with-pam \ %endif --enable-shell-sets-home \ --disable-root-sudo \ --with-env-editor \ --disable-path-info \ --disable-nls %{l_make} %{l_mflags -O} %install rm -rf $RPM_BUILD_ROOT %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/var/sudo %{l_shtool} subst \ -e "s;-m 4111;-m 4511;" \ -e "s;-m 0111;-m 0511;" \ Makefile %{l_make} %{l_mflags} install \ prefix=$RPM_BUILD_ROOT%{l_prefix} \ exec_prefix=$RPM_BUILD_ROOT%{l_prefix} \ sysconfdir=$RPM_BUILD_ROOT%{l_prefix}/etc/sudo \ install_uid=`%{l_shtool} echo -e %u` \ install_gid=`%{l_shtool} echo -e %g` \ sudoers_uid=`%{l_shtool} echo -e %u` \ sudoers_gid=`%{l_shtool} echo -e %g` # install run-command script %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE rc.sudo} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ # install OSSP fsl configuration %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl %{l_shtool} install -c -m 644 %{l_value -s -a} \ %{SOURCE fsl.sudo} \ $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.sudo' \ '%attr(4111,%{l_susr},%{l_mgrp}) %{l_prefix}/bin/sudo' \ '%attr(0111,%{l_susr},%{l_mgrp}) %{l_prefix}/sbin/visudo' \ '%config %attr(0400,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/sudo/sudoers' %files -f files %clean rm -rf $RPM_BUILD_ROOT %post %if "%{with_pam}" == "yes" # add PAM configuration entry if [ $1 -eq 1 ]; then $RPM_INSTALL_PREFIX/sbin/pamtool --add --smart --name=sudo fi %endif %preun %if "%{with_pam}" == "yes" # remove PAM configuration entry if [ $1 -eq 0 ]; then $RPM_INSTALL_PREFIX/sbin/pamtool --remove --smart --name=sudo fi %endif