name="sudo"
pp_kit_package="sudo"
fi
- summary="Provide limited super-user priveleges to specific users"
+ summary="Provide limited super-user privileges to specific users"
description="Sudo is a program designed to allow a sysadmin to give \
limited root privileges to users and log root activity. \
The basic philosophy is to give as few privileges as possible but \
still allow people to get their work done."
vendor="Todd C. Miller"
- copyright="(c) 1993-1996,1998-2010 Todd C. Miller"
- pp_rpm_release="1"
+ copyright="(c) 1993-1996,1998-2011 Todd C. Miller"
+
+%if [aix]
+ # AIX package summary is limited to 40 characters
+ summary="Configurable super-user privileges"
+
+ # Convert to 4 part version for AIX, including patch level
+ pp_aix_version=`echo $version|sed -e 's/^\([0-9]*\.[0-9]*\.[0-9]*\)p\([0-9]*\)$/\1.\2/' -e 's/^\([0-9]*\.[0-9]*\.[0-9]*\)[^0-9\.].*$/\1/' -e 's/^\([0-9]*\.[0-9]*\.[0-9]*\)$/\1.0/'`
+%endif
+
+%if [kit]
+ # Strip off patchlevel for kit which only supports xyz versions
+ pp_kit_version="`echo $version|sed -e 's/\.//g' -e 's/[^0-9][^0-9]*[0-9][0-9]*$//'`"
+ pp_kit_name="TCM"
+%endif
+
+%if [sd]
+ pp_sd_vendor_tag="TCM"
+%endif
+
+%if [solaris]
+ pp_solaris_name="TCM${name}"
+ pp_solaris_pstamp=`/usr/bin/date "+%B %d, %Y"`
+%endif
+
+%if [rpm,deb]
+ # Convert patch level into release and remove from version
+ pp_rpm_release="`expr \( $version : '.*p\([0-9][0-9]*\)' \| 0 \) + 1`"
+ pp_rpm_version="`expr $version : '\(.*\)p[0-9][0-9]*'`"
pp_rpm_license="BSD"
pp_rpm_url="http://www.sudo.ws/"
pp_rpm_group="Applications/System"
pp_rpm_packager="Todd.Miller@courtesan.com"
- pp_deb_maintainer="Todd.Miller@courtesan.com"
- pp_sd_vendor_tag="TCM"
- pp_kit_name="TCM"
- pp_solaris_name="TCM${name}"
-%if [!rpm,deb]
+ if test -n "$linux_audit"; then
+ pp_rpm_requires="audit-libs >= $linux_audit"
+ fi
+
+ pp_deb_maintainer="$pp_rpm_packager"
+ pp_deb_release="$pp_rpm_release"
+ pp_deb_version="$pp_rpm_version"
+%else
# For all but RPM and Debian we need to install sudoers with a different
# name and make a copy of it if there is no existing file.
mv ${pp_destdir}$sudoersdir/sudoers ${pp_destdir}$sudoersdir/sudoers.dist
%endif
-%set [rpm]
+%if [rpm]
# Add distro info to release
osrelease=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*//' -e 's/-.*$//'`
case "$pp_rpm_distro" in
# For RedHat the doc dir is expected to include version and release
case "$pp_rpm_distro" in
centos*|rhel*)
- mv ${pp_destdir}/${docdir} ${pp_destdir}/${docdir}-${version}-1
- docdir=${docdir}-${version}-1
+ mv ${pp_destdir}/${docdir} ${pp_destdir}/${docdir}-${version}-${pp_rpm_release}
+ docdir=${docdir}-${version}-${pp_rpm_release}
;;
esac
fi
;;
esac
+%endif
-%set [deb]
+%if [deb]
# Uncomment some Defaults and the %sudo rule in sudoers
# Note that the order must match that of sudoers and be tab-indented.
/bin/ed - ${pp_destdir}${sudoersdir}/sudoers <<-'EOF'
session required pam_permit.so
session required pam_limits.so
EOF
+%endif
-%set [aix]
- summary="Configurable super-user privileges"
+ # OS-level directories that should generally exist but might not.
+ extradirs=`echo ${pp_destdir}/${mandir}/[mc]* | sed "s#${pp_destdir}/##g"`
+ extradirs="$extradirs `dirname $docdir` `dirname $timedir`"
+ test -d ${pp_destdir}/etc/pam.d && extradirs="${extradirs} /etc/pam.d"
+ for dir in $bindir $sbindir $libexecdir $includedir $extradirs; do
+ while test "$dir" != "/"; do
+ osdirs="${osdirs}${osdirs+ }$dir/"
+ dir=`dirname $dir`
+ done
+ done
+ osdirs=`echo $osdirs | tr " " "\n" | sort -u`
%files
+ $osdirs -
$bindir/sudo 4111 root:
$bindir/sudoedit 4111 root:
$sbindir/visudo 0111
$bindir/sudoreplay 0111
- $libexecdir/*
+ $includedir/sudo_plugin.h
+ $libexecdir/* optional
$sudoersdir/sudoers.d/ 0750 $sudoers_uid:$sudoers_gid
$timedir/ 0700 root:
$docdir/
$docdir/*
+ $localedir/ optional
+ $localedir/** optional
/etc/pam.d/* volatile,optional
%if [rpm,deb]
$sudoersdir/sudoers $sudoers_mode $sudoers_uid:$sudoers_gid volatile
# Don't overwrite an existing sudoers file
sudoersdir=%{sudoersdir}
if test ! -r $sudoersdir/sudoers; then
- cp -p $sudoersdir/sudoers.dist $sudoersdir/sudoers
+ cp $sudoersdir/sudoers.dist $sudoersdir/sudoers
+ chmod %{sudoers_mode} $sudoersdir/sudoers
+ chown %{sudoers_uid} $sudoersdir/sudoers
+ chgrp %{sudoers_gid} $sudoersdir/sudoers
fi
%post [deb]