Use http://rc.quest.com/topics/polypkg/ for packaging
This commit is contained in:
56
Makefile.in
56
Makefile.in
@@ -20,11 +20,31 @@ devdir = @devdir@
|
|||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
|
|
||||||
|
# Installation paths for package building
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
bindir = @bindir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
includedir = @includedir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
mandir = @mandir@
|
||||||
|
timedir = @timedir@
|
||||||
|
|
||||||
|
# sudoers owner and mode for package building
|
||||||
|
sudoersdir = $(sysconfdir)
|
||||||
|
sudoers_uid = @SUDOERS_UID@
|
||||||
|
sudoers_gid = @SUDOERS_GID@
|
||||||
|
sudoers_mode = @SUDOERS_MODE@
|
||||||
|
|
||||||
SUBDIRS = compat common src plugins/sudoers include doc
|
SUBDIRS = compat common src plugins/sudoers include doc
|
||||||
|
|
||||||
SAMPLES = plugins/sample plugins/sample_group
|
SAMPLES = plugins/sample plugins/sample_group
|
||||||
|
|
||||||
VERSION = @PACKAGE_VERSION@
|
VERSION = @PACKAGE_VERSION@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
|
||||||
LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
||||||
|
|
||||||
@@ -40,7 +60,7 @@ autoconf:
|
|||||||
autoconf -I m4
|
autoconf -I m4
|
||||||
|
|
||||||
ChangeLog:
|
ChangeLog:
|
||||||
hg log --style=changelog -b default > $@
|
test -d $(srcdir)/.hg && hg log --style=changelog -b default > $@
|
||||||
|
|
||||||
check:
|
check:
|
||||||
@echo nothing to check
|
@echo nothing to check
|
||||||
@@ -55,18 +75,42 @@ libtool: $(LIBTOOL_DEPS)
|
|||||||
$(SHELL) ./config.status --recheck
|
$(SHELL) ./config.status --recheck
|
||||||
|
|
||||||
dist: ChangeLog $(srcdir)/MANIFEST
|
dist: ChangeLog $(srcdir)/MANIFEST
|
||||||
pax -w -x ustar -s '/^/sudo-$(VERSION)\//' -f ../sudo-$(VERSION).tar \
|
pax -w -x ustar -s '/^/$(PACKAGE_TARNAME)-$(VERSION)\//' \
|
||||||
|
-f ../$(PACKAGE_TARNAME)-$(VERSION).tar \
|
||||||
`sed 's/[ ].*//' $(srcdir)/MANIFEST`
|
`sed 's/[ ].*//' $(srcdir)/MANIFEST`
|
||||||
gzip -9f ../sudo-$(VERSION).tar
|
gzip -9f ../$(PACKAGE_TARNAME)-$(VERSION).tar
|
||||||
ls -l ../sudo-$(VERSION).tar.gz
|
ls -l ../$(PACKAGE_TARNAME)-$(VERSION).tar.gz
|
||||||
|
|
||||||
|
package: sudo.pp
|
||||||
|
DESTDIR=`cd $(top_builddir) && pwd`/destdir; rm -rf $$DESTDIR; \
|
||||||
|
$(SHELL) $(srcdir)/mkinstalldirs $$DESTDIR/$(timedir) && \
|
||||||
|
$(MAKE) install DESTDIR=$$DESTDIR && \
|
||||||
|
mv $$DESTDIR/$(sudoersdir)/sudoers \
|
||||||
|
$$DESTDIR/$(sudoersdir)/sudoers.dist && \
|
||||||
|
$(SHELL) $(srcdir)/pp \
|
||||||
|
--destdir=$$DESTDIR \
|
||||||
|
$(srcdir)/sudo.pp \
|
||||||
|
bindir=$(bindir) \
|
||||||
|
sbindir=$(sbindir) \
|
||||||
|
libexecdir=$(libexecdir) \
|
||||||
|
includedir=$(includedir) \
|
||||||
|
timedir=$(timedir) \
|
||||||
|
mandir=$(mandir) \
|
||||||
|
docdir=$(docdir) \
|
||||||
|
sysconfdir=$(sysconfdir) \
|
||||||
|
sudoersdir=$(sudoersdir) \
|
||||||
|
sudoers_uid=$(sudoers_uid) \
|
||||||
|
sudoers_gid=$(sudoers_gid) \
|
||||||
|
sudoers_mode=$(sudoers_mode) \
|
||||||
|
version=$(VERSION)
|
||||||
|
|
||||||
clean: config.status
|
clean: config.status
|
||||||
for d in $(SUBDIRS); do (cd $$d && $(MAKE) $@); done
|
for d in $(SUBDIRS) $(SAMPLES); do (cd $$d && $(MAKE) $@); done
|
||||||
|
|
||||||
mostlyclean: clean
|
mostlyclean: clean
|
||||||
|
|
||||||
distclean: config.status
|
distclean: config.status
|
||||||
for d in $(SUBDIRS); do (cd $$d && $(MAKE) $@); done
|
for d in $(SUBDIRS) $(SAMPLES); do (cd $$d && $(MAKE) $@); done
|
||||||
-rm -rf Makefile pathnames.h config.h config.status config.cache \
|
-rm -rf Makefile pathnames.h config.h config.status config.cache \
|
||||||
config.log libtool stamp-* autom4te.cache ChangeLog
|
config.log libtool stamp-* autom4te.cache ChangeLog
|
||||||
|
|
||||||
|
@@ -20,6 +20,7 @@
|
|||||||
#### Start of system configuration section. ####
|
#### Start of system configuration section. ####
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
|
docdir = @docdir@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
|
|
||||||
@@ -61,7 +62,13 @@ DOCS = sudo.man visudo.man sudoers.man sudoers.ldap.man sudoers.man \
|
|||||||
@DEV@ $(srcdir)/sudo_plugin.man.in $(srcdir)/sudo_plugin.cat \
|
@DEV@ $(srcdir)/sudo_plugin.man.in $(srcdir)/sudo_plugin.cat \
|
||||||
@DEV@ $(srcdir)/HISTORY $(srcdir)/LICENSE
|
@DEV@ $(srcdir)/HISTORY $(srcdir)/LICENSE
|
||||||
|
|
||||||
|
OTHER_DOCS= $(top_srcdir)/ChangeLog $(top_srcdir)/README* \
|
||||||
|
$(top_srcdir)/WHATSNEW $(srcdir)/HISTORY $(srcdir)/LICENSE \
|
||||||
|
$(srcdir)/TROUBLESHOOTING $(srcdir)/UPGRADE $(srcdir)/sample.* \
|
||||||
|
$(srcdir)/schema.*
|
||||||
|
|
||||||
VERSION = @PACKAGE_VERSION@
|
VERSION = @PACKAGE_VERSION@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
|
||||||
all: $(DEVDOCS) $(DOCS)
|
all: $(DEVDOCS) $(DOCS)
|
||||||
|
|
||||||
@@ -133,7 +140,7 @@ LICENSE: $(srcdir)/license.pod
|
|||||||
install: install-dirs install-man
|
install: install-dirs install-man
|
||||||
|
|
||||||
install-dirs:
|
install-dirs:
|
||||||
$(SHELL) $(top_srcdir)/mkinstalldirs \
|
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(docdir) \
|
||||||
$(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform)
|
$(DESTDIR)$(mandirsu) $(DESTDIR)$(mandirform)
|
||||||
|
|
||||||
install-binaries:
|
install-binaries:
|
||||||
@@ -141,6 +148,7 @@ install-binaries:
|
|||||||
install-includes:
|
install-includes:
|
||||||
|
|
||||||
install-man: install-dirs
|
install-man: install-dirs
|
||||||
|
for f in $(OTHER_DOCS); do $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 $$f $(DESTDIR)$(docdir); done
|
||||||
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 @mansrcdir@/sudo.$(mantype) $(DESTDIR)$(mandirsu)/sudo.$(mansectsu)
|
||||||
@rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
|
@rm -f $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
|
||||||
ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
|
ln $(DESTDIR)$(mandirsu)/sudo.$(mansectsu) $(DESTDIR)$(mandirsu)/sudoedit.$(mansectsu)
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
|
includedir = @includedir@
|
||||||
|
|
||||||
# Our install program supports extra flags...
|
# Our install program supports extra flags...
|
||||||
INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
|
INSTALL = $(SHELL) $(top_srcdir)/install-sh -c
|
||||||
@@ -45,19 +46,19 @@ all:
|
|||||||
install: install-dirs install-includes
|
install: install-dirs install-includes
|
||||||
|
|
||||||
install-dirs:
|
install-dirs:
|
||||||
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(prefix)/include
|
$(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(includedir)
|
||||||
|
|
||||||
install-binaries:
|
install-binaries:
|
||||||
|
|
||||||
install-man:
|
install-man:
|
||||||
|
|
||||||
install-includes: install-dirs
|
install-includes: install-dirs
|
||||||
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 $(srcdir)/sudo_plugin.h $(DESTDIR)$(prefix)/include
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 0444 $(srcdir)/sudo_plugin.h $(DESTDIR)$(includedir)
|
||||||
|
|
||||||
install-plugin:
|
install-plugin:
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
-rm -f $(DESTDIR)$(prefix)/include/sudo_plugin.h
|
-rm -f $(DESTDIR)$(includedir)/sudo_plugin.h
|
||||||
|
|
||||||
check:
|
check:
|
||||||
@echo nothing to check
|
@echo nothing to check
|
||||||
|
153
mkpkg
Executable file
153
mkpkg
Executable file
@@ -0,0 +1,153 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
IFS=
|
||||||
|
|
||||||
|
top_srcdir=`dirname $0`
|
||||||
|
|
||||||
|
platform=`$top_srcdir/pp --probe` || exit 1
|
||||||
|
|
||||||
|
# Default paths
|
||||||
|
prefix=/usr/local
|
||||||
|
|
||||||
|
# Choose configure options by platform.
|
||||||
|
# We use the same configure options as vendor packages when possible.
|
||||||
|
case "$platform" in
|
||||||
|
centos4*|rhel4*)
|
||||||
|
# Note, must indent with tabs, not spaces due to IFS trickery
|
||||||
|
prefix=/usr
|
||||||
|
configure_opts="
|
||||||
|
--prefix=$prefix
|
||||||
|
--with-logging=syslog
|
||||||
|
--with-logfac=authpriv
|
||||||
|
--with-pam
|
||||||
|
--with-pam-login
|
||||||
|
--with-editor=/bin/vi
|
||||||
|
--with-env-editor
|
||||||
|
--with-ignore-dot
|
||||||
|
--with-tty-tickets
|
||||||
|
--with-ldap
|
||||||
|
--with-selinux
|
||||||
|
--with-passprompt=[sudo] password for %p: "
|
||||||
|
;;
|
||||||
|
centos5*|rhel5*)
|
||||||
|
# Note, must indent with tabs, not spaces due to IFS trickery
|
||||||
|
prefix=/usr
|
||||||
|
configure_opts="
|
||||||
|
--prefix=$prefix
|
||||||
|
--with-logging=syslog
|
||||||
|
--with-logfac=authpriv
|
||||||
|
--with-pam
|
||||||
|
--with-pam-login
|
||||||
|
--with-editor=/bin/vi
|
||||||
|
--with-env-editor
|
||||||
|
--with-ignore-dot
|
||||||
|
--with-tty-tickets
|
||||||
|
--with-ldap
|
||||||
|
--with-selinux
|
||||||
|
--with-linux-audit
|
||||||
|
--with-passprompt=[sudo] password for %p: "
|
||||||
|
export CFLAGS="-fpie" LDFLAGS="-pie"
|
||||||
|
;;
|
||||||
|
sles9*)
|
||||||
|
prefix=/usr
|
||||||
|
# SuSE doesn't have /usr/libexec
|
||||||
|
case "$platform" in
|
||||||
|
*64*) libexec=lib64;;
|
||||||
|
*) libexec=lib;;
|
||||||
|
esac
|
||||||
|
# Note, must indent with tabs, not spaces due to IFS trickery
|
||||||
|
configure_opts="
|
||||||
|
--prefix=$prefix
|
||||||
|
--libexecdir=$prefix/$libexec/sudo
|
||||||
|
--with-logging=syslog
|
||||||
|
--with-logfac=auth
|
||||||
|
--with-insults=disabled
|
||||||
|
--with-all-insults
|
||||||
|
--with-ignore-dot
|
||||||
|
--with-tty-tickets
|
||||||
|
--enable-shell-sets-home
|
||||||
|
--with-sudoers-mode=0440
|
||||||
|
--with-pam
|
||||||
|
--with-ldap
|
||||||
|
--with-env-editor
|
||||||
|
--with-passprompt=%p\'s password: "
|
||||||
|
|
||||||
|
make_opts='docdir=$(datarootdir)/doc/packages/$(PACKAGE_TARNAME)'
|
||||||
|
;;
|
||||||
|
sles10*)
|
||||||
|
prefix=/usr
|
||||||
|
# SuSE doesn't have /usr/libexec
|
||||||
|
case "$platform" in
|
||||||
|
*64*) libexec=lib64;;
|
||||||
|
*) libexec=lib;;
|
||||||
|
esac
|
||||||
|
# Note, must indent with tabs, not spaces due to IFS trickery
|
||||||
|
# XXX - SuSE uses secure path only for env_reset
|
||||||
|
configure_opts="
|
||||||
|
--prefix=$prefix
|
||||||
|
--libexecdir=$prefix/$libexec/sudo
|
||||||
|
--with-logging=syslog
|
||||||
|
--with-logfac=auth
|
||||||
|
--with-insults=disabled
|
||||||
|
--with-all-insults
|
||||||
|
--with-ignore-dot
|
||||||
|
--with-tty-tickets
|
||||||
|
--enable-shell-sets-home
|
||||||
|
--with-sudoers-mode=0440
|
||||||
|
--with-pam
|
||||||
|
--with-ldap
|
||||||
|
--with-env-editor
|
||||||
|
--with-passprompt=%p\'s password: "
|
||||||
|
|
||||||
|
make_opts='docdir=$(datarootdir)/doc/packages/$(PACKAGE_TARNAME)'
|
||||||
|
export CFLAGS="-fpie" LDFLAGS="-pie"
|
||||||
|
;;
|
||||||
|
sles11*)
|
||||||
|
prefix=/usr
|
||||||
|
# SuSE doesn't have /usr/libexec
|
||||||
|
case "$platform" in
|
||||||
|
*64*) libexec=lib64;;
|
||||||
|
*) libexec=lib;;
|
||||||
|
esac
|
||||||
|
# Note, must indent with tabs, not spaces due to IFS trickery
|
||||||
|
# XXX - SuSE uses secure path only for env_reset
|
||||||
|
configure_opts="
|
||||||
|
--prefix=$prefix
|
||||||
|
--libexecdir=$prefix/$libexec/sudo
|
||||||
|
--with-selinux
|
||||||
|
--with-logging=syslog
|
||||||
|
--with-logfac=auth
|
||||||
|
--with-insults=disabled
|
||||||
|
--with-all-insults
|
||||||
|
--with-ignore-dot
|
||||||
|
--with-tty-tickets
|
||||||
|
--enable-shell-sets-home
|
||||||
|
--with-sudoers-mode=0440
|
||||||
|
--with-pam
|
||||||
|
--with-ldap
|
||||||
|
--with-env-editor
|
||||||
|
--with-passprompt=%p\'s password: "
|
||||||
|
|
||||||
|
make_opts='docdir=$(datarootdir)/doc/packages/$(PACKAGE_TARNAME)'
|
||||||
|
export CFLAGS="-fpie" LDFLAGS="-pie"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Note, must indent with tabs, not spaces due to IFS trickery
|
||||||
|
configure_opts="
|
||||||
|
--prefix=$prefix
|
||||||
|
--with-insults=disabled
|
||||||
|
--with-logging=syslog
|
||||||
|
--with-logfac=auth
|
||||||
|
--with-editor=/usr/bin/vim:/usr/bin/vi:/bin/vi
|
||||||
|
--with-env-editor"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Remove spaces from IFS when setting $@ so that passprompt may include them
|
||||||
|
OIFS="$IFS"
|
||||||
|
IFS="
|
||||||
|
"
|
||||||
|
set -- $configure_opts
|
||||||
|
IFS="$OIFS"
|
||||||
|
$top_srcdir/configure "$@" || exit 1
|
||||||
|
make $make_opts && make $make_opts package
|
@@ -259,12 +259,15 @@ install-binaries: visudo sudoreplay install-dirs
|
|||||||
|
|
||||||
install-includes:
|
install-includes:
|
||||||
|
|
||||||
|
# XXX - install sudoers2ldif in docdir
|
||||||
install-man:
|
install-man:
|
||||||
|
|
||||||
install-plugin: sudoers.la install-dirs
|
install-plugin: sudoers.la install-dirs
|
||||||
$(LIBTOOL) --mode=install --quiet $(INSTALL) sudoers.la $(DESTDIR)$(plugindir)
|
$(LIBTOOL) --mode=install --quiet $(INSTALL) sudoers.la $(DESTDIR)$(plugindir)
|
||||||
|
|
||||||
install-sudoers: install-dirs
|
install-sudoers: install-dirs
|
||||||
|
$(INSTALL) -d -O $(sudoers_uid) -G $(sudoers_gid) -M 0750 \
|
||||||
|
$(DESTDIR)$(sudoersdir)/sudoers.d
|
||||||
test -f $(DESTDIR)$(sudoersdir)/sudoers || \
|
test -f $(DESTDIR)$(sudoersdir)/sudoers || \
|
||||||
$(INSTALL) -O $(sudoers_uid) -G $(sudoers_gid) -M $(sudoers_mode) \
|
$(INSTALL) -O $(sudoers_uid) -G $(sudoers_gid) -M $(sudoers_mode) \
|
||||||
$(srcdir)/sudoers $(DESTDIR)$(sudoersdir)/sudoers
|
$(srcdir)/sudoers $(DESTDIR)$(sudoersdir)/sudoers
|
||||||
|
@@ -127,7 +127,7 @@ install-dirs:
|
|||||||
$(DESTDIR)$(noexecdir)
|
$(DESTDIR)$(noexecdir)
|
||||||
|
|
||||||
install-binaries: install-dirs $(PROGS)
|
install-binaries: install-dirs $(PROGS)
|
||||||
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 4111 sudo $(DESTDIR)$(bindir)/sudo
|
$(INSTALL) -O $(install_uid) -G $(install_gid) -M 04111 sudo $(DESTDIR)$(bindir)/sudo
|
||||||
rm -f $(DESTDIR)$(bindir)/sudoedit
|
rm -f $(DESTDIR)$(bindir)/sudoedit
|
||||||
ln $(DESTDIR)$(bindir)/sudo $(DESTDIR)$(bindir)/sudoedit
|
ln $(DESTDIR)$(bindir)/sudo $(DESTDIR)$(bindir)/sudoedit
|
||||||
if [ -f sesh ]; then $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0111 sesh $(DESTDIR)$(libexecdir)/sesh; fi
|
if [ -f sesh ]; then $(INSTALL) -O $(install_uid) -G $(install_gid) -M 0111 sesh $(DESTDIR)$(libexecdir)/sesh; fi
|
||||||
|
136
sudo.pp
Normal file
136
sudo.pp
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
%set
|
||||||
|
name="sudo"
|
||||||
|
summary="Provide limited super-user priveleges 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"
|
||||||
|
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_solaris_name="TCMsudo"
|
||||||
|
|
||||||
|
%set [rpm]
|
||||||
|
# Add distro info to release
|
||||||
|
case "$pp_rpm_distro" in
|
||||||
|
centos*|rhel*)
|
||||||
|
d=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*//' -e 's/[^0-9].*$//'`
|
||||||
|
if test -n "$d"; then
|
||||||
|
pp_rpm_release="$pp_rpm_release.el$d"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
sles*)
|
||||||
|
d=`echo "$pp_rpm_distro" | sed -e 's/^[^0-9]*//' -e 's/[^0-9].*$//'`
|
||||||
|
if test -n "$d"; then
|
||||||
|
pp_rpm_release="$pp_rpm_release.sles$d"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# 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
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Choose the correct PAM file by distro
|
||||||
|
case "$pp_rpm_distro" in
|
||||||
|
centos4*|rhel4*)
|
||||||
|
mkdir -p ${pp_destdir}/etc/pam.d
|
||||||
|
cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF
|
||||||
|
#%PAM-1.0
|
||||||
|
auth required pam_stack.so service=system-auth
|
||||||
|
account required pam_stack.so service=system-auth
|
||||||
|
password required pam_stack.so service=system-auth
|
||||||
|
session required pam_limits.so
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
centos5*|rhel5*)
|
||||||
|
mkdir -p ${pp_destdir}/etc/pam.d
|
||||||
|
cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF
|
||||||
|
#%PAM-1.0
|
||||||
|
auth include system-auth
|
||||||
|
account include system-auth
|
||||||
|
password include system-auth
|
||||||
|
session optional pam_keyinit.so revoke
|
||||||
|
session required pam_limits.so
|
||||||
|
EOF
|
||||||
|
cat > ${pp_destdir}/etc/pam.d/sudo-i <<-EOF
|
||||||
|
#%PAM-1.0
|
||||||
|
auth include sudo
|
||||||
|
account include sudo
|
||||||
|
password include sudo
|
||||||
|
session optional pam_keyinit.so force revoke
|
||||||
|
session required pam_limits.so
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
sles9*)
|
||||||
|
mkdir -p ${pp_destdir}/etc/pam.d
|
||||||
|
cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF
|
||||||
|
#%PAM-1.0
|
||||||
|
auth required pam_unix2.so
|
||||||
|
session required pam_limits.so
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
sles10*|sles11*)
|
||||||
|
mkdir -p ${pp_destdir}/etc/pam.d
|
||||||
|
cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF
|
||||||
|
#%PAM-1.0
|
||||||
|
auth include common-auth
|
||||||
|
account include common-account
|
||||||
|
password include common-password
|
||||||
|
session include common-session
|
||||||
|
# session optional pam_xauth.so
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
%set [aix]
|
||||||
|
pp_aix_version=`echo $version | sed -e 's,\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\)p\([0-9][0-9]*\)q\([0-9][0-9]*\),\1.\2.\3.\4,'`
|
||||||
|
summary="Configurable super-user privileges"
|
||||||
|
|
||||||
|
%files
|
||||||
|
$bindir/sudo 4111 root:
|
||||||
|
$bindir/sudoedit 4111 root:
|
||||||
|
$sbindir/visudo 0111
|
||||||
|
$bindir/sudoreplay 0111
|
||||||
|
$libexecdir/*
|
||||||
|
$sudoersdir/sudoers.dist $sudoers_mode $sudoers_uid:$sudoers_gid volatile
|
||||||
|
$sudoersdir/sudoers.d/ 0750 $sudoers_uid:$sudoers_gid
|
||||||
|
$timedir/ 0700 root:
|
||||||
|
$docdir/
|
||||||
|
$docdir/*
|
||||||
|
$includedir/sudo_plugin.h
|
||||||
|
|
||||||
|
%files [!aix]
|
||||||
|
$mandir/man*/*
|
||||||
|
|
||||||
|
%files [aix]
|
||||||
|
# Some versions use catpages, some use manpages.
|
||||||
|
$mandir/cat*/* optional
|
||||||
|
$mandir/man*/* optional
|
||||||
|
|
||||||
|
%files [rpm]
|
||||||
|
/etc/pam.d/* volatile,optional
|
||||||
|
|
||||||
|
%post
|
||||||
|
# Don't overwrite an existing sudoers file
|
||||||
|
sysconfdir=%{sysconfdir}
|
||||||
|
if test ! -r $sysconfdir/sudoers; then
|
||||||
|
cp -p $sysconfdir/sudoers.dist $sysconfdir/sudoers
|
||||||
|
fi
|
||||||
|
|
||||||
|
%post [deb]
|
||||||
|
# dpkg-deb does not maintain the mode on the sudoers file, and
|
||||||
|
# installs it 0640 when sudo requires 0440
|
||||||
|
chmod %{sudoers_mode} %{sudoersdir}/sudoers
|
||||||
|
|
||||||
|
# vim:ts=2:sw=2:et
|
Reference in New Issue
Block a user