From: Todd C. Miller Date: Wed, 14 Jul 2010 19:53:32 +0000 (-0400) Subject: Simplify rpm linux distro settings X-Git-Tag: SUDO_1_7_4~84 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=04987bc1b3c3df7b32e156af3bf67279ba59f24f;p=sudo Simplify rpm linux distro settings --HG-- branch : 1.7 --- diff --git a/mkpkg b/mkpkg index d48dc77cb..c36ee9402 100755 --- a/mkpkg +++ b/mkpkg @@ -27,27 +27,19 @@ esac # 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 + centos*|rhel*) 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.*) + case "$platform" in + centos[0-4].*|rhel[0-4].*) + ;; + *) + # RHEL 5 and up build pies and have audit support + export CFLAGS="$F_PIE" LDFLAGS="-pie" + configure_opts="--with-linux-audit" + ;; + esac # Note, must indent with tabs, not spaces due to IFS trickery - prefix=/usr - configure_opts=" + configure_opts="$configure_opts --prefix=$prefix --with-logging=syslog --with-logfac=authpriv @@ -59,64 +51,23 @@ case "$platform" in --with-tty-tickets --with-ldap --with-selinux - --with-linux-audit --with-passprompt=[sudo] password for %p: " - export CFLAGS="$F_PIE" 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-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.*) + sles*) prefix=/usr - # SuSE doesn't have /usr/libexec case "$platform" in - *64*) libexec=lib64;; - *) libexec=lib;; + sles[0-9].*) + ;; + sles10.*) + # SLES 10 and higher build pies + export CFLAGS="$F_PIE" LDFLAGS="-pie" + ;; + *) + # SLES 11 and higher has SELinux too + export CFLAGS="$F_PIE" LDFLAGS="-pie" + configure_opts="--with-selinux" + ;; esac - # Note, must indent with tabs, not spaces due to IFS trickery - # XXX - SuSE uses secure path but only for env_reset - configure_opts=" - --prefix=$prefix - --libexecdir=$prefix/$libexec/sudo - --with-logging=syslog - --with-logfac=auth - --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="$F_PIE" LDFLAGS="-pie" - ;; - sles11.*) - prefix=/usr # SuSE doesn't have /usr/libexec case "$platform" in *64*) libexec=lib64;; @@ -124,10 +75,9 @@ case "$platform" in esac # Note, must indent with tabs, not spaces due to IFS trickery # XXX - SuSE uses secure path but only for env_reset - configure_opts=" + configure_opts="$configure_opts --prefix=$prefix --libexecdir=$prefix/$libexec/sudo - --with-selinux --with-logging=syslog --with-logfac=auth --with-all-insults @@ -141,11 +91,8 @@ case "$platform" in --with-passprompt=%p\'s password: " make_opts='docdir=$(datarootdir)/doc/packages/$(PACKAGE_TARNAME)' - export CFLAGS="$F_PIE" LDFLAGS="-pie" ;; - deb[456].*) - # XXX - create sudo group like debian does - # debian now has a %sudo entry in its sample sudoers + deb.*) # Note, must indent with tabs, not spaces due to IFS trickery if test "${SUDO_FLAVOR:-vanilla}" == "ldap"; then configure_opts="--with-ldap diff --git a/sudo.pp b/sudo.pp index 451cd5c14..51db03b7e 100644 --- a/sudo.pp +++ b/sudo.pp @@ -47,7 +47,7 @@ still allow people to get their work done." # Choose the correct PAM file by distro case "$pp_rpm_distro" in - centos4.*|rhel4.*) + centos[0-4].*|rhel[0-4].*) mkdir -p ${pp_destdir}/etc/pam.d cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF #%PAM-1.0 @@ -57,7 +57,7 @@ still allow people to get their work done." session required pam_limits.so EOF ;; - centos5.*|rhel5.*) + centos*|rhel*) mkdir -p ${pp_destdir}/etc/pam.d cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF #%PAM-1.0 @@ -84,7 +84,7 @@ still allow people to get their work done." session required pam_limits.so EOF ;; - sles10.*|sles11.*) + sles*) mkdir -p ${pp_destdir}/etc/pam.d cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF #%PAM-1.0 @@ -100,7 +100,7 @@ still allow people to get their work done." %set [deb] # Choose the correct PAM file by distro case "$pp_deb_distro" in - deb[456].*) + deb*) mkdir -p ${pp_destdir}/etc/pam.d cat > ${pp_destdir}/etc/pam.d/sudo <<-EOF #%PAM-1.0