Diff for /embedaddon/sudo/mkpkg between versions 1.1.1.2 and 1.1.1.5

version 1.1.1.2, 2012/05/29 12:26:49 version 1.1.1.5, 2013/10/14 07:56:33
Line 1 Line 1
 #!/bin/sh  #!/bin/sh
 #  #
   # Copyright (c) 2010-2013 Todd C. Miller <Todd.Miller@courtesan.com>
   #
   # 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.
   #
   # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
   # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
   # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
   # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
   # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   #
 # Build a binary package using polypkg  # Build a binary package using polypkg
 # Usage: mkpkg [--debug] [--flavor flavor] [--platform platform] [--osversion ver]  # Usage: mkpkg [--debug] [--flavor flavor] [--platform platform] [--osversion ver]
 #  #
Line 78  top_srcdir=`dirname $0` Line 92  top_srcdir=`dirname $0`
 test -n "$osversion" || exit 1  test -n "$osversion" || exit 1
 osrelease=`echo "$osversion" | sed -e 's/^[^0-9]*//' -e 's/-.*$//'`  osrelease=`echo "$osversion" | sed -e 's/^[^0-9]*//' -e 's/-.*$//'`
   
 # Default paths  
 prefix=/usr/local  
   
 # Linux distros may build binaries as pie files.  
 # This is really something libtool should figure out, but it does not.  
 case "$osversion" in  
     *-s390*|*-sparc*|*-alpha*)  
         F_PIE=-fPIE  
         ;;  
     *)  
         F_PIE=-fpie  
         ;;  
 esac  
   
 # Choose compiler options by osversion if not cross-compiling.  # Choose compiler options by osversion if not cross-compiling.
 if [ "$crossbuild" = "false" ]; then  if [ "$crossbuild" = "false" ]; then
     case "$osversion" in      case "$osversion" in
Line 120  fi Line 120  fi
 # We use the same configure options as vendor packages when possible.  # We use the same configure options as vendor packages when possible.
 case "$osversion" in  case "$osversion" in
     centos*|rhel*)      centos*|rhel*)
         prefix=/usr  
         if [ $osrelease -ge 40 ]; then          if [ $osrelease -ge 40 ]; then
             # RHEL 4 and up support SELinux              # RHEL 4 and up support SELinux
             configure_opts="${configure_opts}${configure_opts+$tab}--with-selinux"              configure_opts="${configure_opts}${configure_opts+$tab}--with-selinux"
         fi          fi
         if [ $osrelease -ge 50 ]; then          if [ $osrelease -ge 50 ]; then
            # RHEL 5 and up build pies, have audit support and use a            # RHEL 5 and up has audit support and uses a separate PAM
            # separate PAM config file for "sudo -i".            # config file for "sudo -i".
            export CFLAGS="-O2 -g $F_PIE" LDFLAGS="-pie" 
             configure_opts="${configure_opts}${configure_opts+$tab}--with-linux-audit"              configure_opts="${configure_opts}${configure_opts+$tab}--with-linux-audit"
             configure_opts="${configure_opts}${configure_opts+$tab}--with-pam-login"              configure_opts="${configure_opts}${configure_opts+$tab}--with-pam-login"
             PPVARS="${PPVARS}${PPVARS+$space}linux_audit=1.4.0"              PPVARS="${PPVARS}${PPVARS+$space}linux_audit=1.4.0"
         fi          fi
         # Note, must indent with tabs, not spaces due to IFS trickery          # Note, must indent with tabs, not spaces due to IFS trickery
        configure_opts="--prefix=$prefix        configure_opts="--prefix=/usr
                 --with-logging=syslog                  --with-logging=syslog
                 --with-logfac=authpriv                  --with-logfac=authpriv
                 --with-pam                  --with-pam
Line 145  case "$osversion" in Line 143  case "$osversion" in
                 --with-tty-tickets                  --with-tty-tickets
                 --with-ldap                  --with-ldap
                 --with-passprompt=[sudo] password for %p:                   --with-passprompt=[sudo] password for %p: 
                   --with-sendmail=/usr/sbin/sendmail
                 $configure_opts"                  $configure_opts"
         ;;          ;;
     sles*)      sles*)
         prefix=/usr  
         if [ $osrelease -ge 10 ]; then          if [ $osrelease -ge 10 ]; then
            # SLES 10 and higher build pies            # SLES 11 and higher has SELinux
            export CFLAGS="-O2 -g $F_PIE" LDFLAGS="-pie" 
             if [ $osrelease -ge 11 ]; then              if [ $osrelease -ge 11 ]; then
                 # SLES 11 and higher has SELinux  
                 configure_opts="${configure_opts}${configure_opts+$tab}--with-selinux"                  configure_opts="${configure_opts}${configure_opts+$tab}--with-selinux"
             fi              fi
         fi          fi
Line 165  case "$osversion" in Line 161  case "$osversion" in
         esac          esac
         # Note, must indent with tabs, not spaces due to IFS trickery          # Note, must indent with tabs, not spaces due to IFS trickery
         # XXX - SuSE uses secure path but only for env_reset          # XXX - SuSE uses secure path but only for env_reset
        configure_opts="--prefix=$prefix        configure_opts="--prefix=/usr
                --libexecdir=$prefix/$libexec/sudo                --libexecdir=/usr/$libexec
                 --with-logging=syslog                  --with-logging=syslog
                 --with-logfac=auth                  --with-logfac=auth
                 --with-all-insults                  --with-all-insults
Line 179  case "$osversion" in Line 175  case "$osversion" in
                 --with-ldap                  --with-ldap
                 --with-env-editor                  --with-env-editor
                 --with-passprompt=%p\'s password:                   --with-passprompt=%p\'s password: 
                   --with-sendmail=/usr/sbin/sendmail
                 $configure_opts"                  $configure_opts"
   
         make_opts='docdir=$(datarootdir)/doc/packages/$(PACKAGE_TARNAME)'          make_opts='docdir=$(datarootdir)/doc/packages/$(PACKAGE_TARNAME)'
         ;;          ;;
     deb*|ubu*)      deb*|ubu*)
        prefix=/usr        # Man pages should be compressed in .deb files
         export MANCOMPRESS='gzip -9'
         export MANCOMPRESSEXT='.gz'
         # If Ubuntu, add --enable-admin-flag          # If Ubuntu, add --enable-admin-flag
         case "$osversion" in          case "$osversion" in
             ubu*)              ubu*)
                 configure_opts="${configure_opts}${configure_opts+$tab}--enable-admin-flag${tab}--without-lecture"                  configure_opts="${configure_opts}${configure_opts+$tab}--enable-admin-flag${tab}--without-lecture"
                 if [ $osrelease -ge 1004 ]; then  
                     export CFLAGS="-O2 -g $F_PIE" LDFLAGS="-pie"  
                 fi  
                 ;;                  ;;
             deb*)  
                 if [ $osrelease -ge 600 ]; then  
                     export CFLAGS="-O2 -g $F_PIE" LDFLAGS="-pie"  
                 fi  
                 ;;  
         esac          esac
         # Note, must indent with tabs, not spaces due to IFS trickery          # Note, must indent with tabs, not spaces due to IFS trickery
         if test "$flavor" = "ldap"; then          if test "$flavor" = "ldap"; then
             configure_opts="${configure_opts}${configure_opts+$tab}--with-ldap              configure_opts="${configure_opts}${configure_opts+$tab}--with-ldap
                 --with-ldap-conf-file=/etc/sudo-ldap.conf"                  --with-ldap-conf-file=/etc/sudo-ldap.conf"
         fi          fi
           configure_opts="${configure_opts}${configure_opts+$tab}--with-selinux"
         configure_opts="--prefix=/usr          configure_opts="--prefix=/usr
                 --with-all-insults                  --with-all-insults
                 --with-pam                  --with-pam
Line 221  case "$osversion" in Line 213  case "$osversion" in
                 --disable-setresuid                  --disable-setresuid
                 --with-sendmail=/usr/sbin/sendmail                  --with-sendmail=/usr/sbin/sendmail
                 --mandir=/usr/share/man                  --mandir=/usr/share/man
                --libexecdir=/usr/lib/sudo                --libexecdir=/usr/lib
                 --with-secure-path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin                  --with-secure-path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
                 $configure_opts"                  $configure_opts"
         ;;          ;;
Line 234  case "$osversion" in Line 226  case "$osversion" in
         esac          esac
         if test "${osversion}" != "`$top_srcdir/pp --probe`"; then          if test "${osversion}" != "`$top_srcdir/pp --probe`"; then
             sdkvers=`echo "${osversion}" | sed 's/^macos\([0-9][0-9]\)\([0-9]*\)-.*$/\1.\2/'`              sdkvers=`echo "${osversion}" | sed 's/^macos\([0-9][0-9]\)\([0-9]*\)-.*$/\1.\2/'`
            SDK_FLAGS="-isysroot /Developer/SDKs/MacOSX${sdkvers}.sdk -mmacosx-version-min=${sdkvers}"            # Newer Xcode puts /Developer under the app Contents dir.
             SDK_DIR="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
             if test -d "${SDK_DIR}/MacOSX${sdkvers}.sdk"; then
                 SDK_DIR="${SDK_DIR}/MacOSX${sdkvers}.sdk"
             elif test -d "/Developer/SDKs/MacOSX${sdkvers}.sdk"; then
                 SDK_DIR="/Developer/SDKs/MacOSX${sdkvers}.sdk"
             fi
             SDK_FLAGS="-isysroot ${SDK_DIR} -mmacosx-version-min=${sdkvers}"
         fi          fi
         export CFLAGS="-O2 -g $ARCH_FLAGS $SDK_FLAGS"          export CFLAGS="-O2 -g $ARCH_FLAGS $SDK_FLAGS"
         export LDFLAGS="$ARCH_FLAGS $SDK_FLAGS"          export LDFLAGS="$ARCH_FLAGS $SDK_FLAGS"
         if [ $osrelease -ge 105 ]; then  
             CFLAGS="$CFLAGS $F_PIE"  
             LDFLAGS="$LDFLAGS -Wl,-pie"  
         fi  
         # Note, must indent with tabs, not spaces due to IFS trickery          # Note, must indent with tabs, not spaces due to IFS trickery
        configure_opts="--prefix=$prefix        configure_opts="--with-pam
                --with-pam                --with-bsm-audit
                 --without-tty-tickets                  --without-tty-tickets
                 --enable-zlib=system                  --enable-zlib=system
                 --with-ldap                  --with-ldap
Line 255  case "$osversion" in Line 250  case "$osversion" in
                 --with-env-editor                  --with-env-editor
                 $configure_opts"                  $configure_opts"
         ;;          ;;
       aix*)
           # Use -gxcoff with gcc instead of -g for dbx-style debugging symbols.
           if test -z "$CC" && gcc -v >/dev/null 2>&1; then
               CFLAGS=-gxcoff; export CFLAGS
           fi
           # Note, must indent with tabs, not spaces due to IFS trickery
           # Note: we include our own zlib instead of relying on the
           #       AIX freeware version being installed.
           configure_opts="
                   --prefix=/opt/freeware
                   --mandir=/opt/freeware/man
                   --with-insults=disabled
                   --with-logging=syslog
                   --with-logfac=auth
                   --with-editor=/usr/bin/vi
                   --with-env-editor
                   --enable-zlib=builtin
                   --disable-nls
                   --with-sendmail=/usr/sbin/sendmail
                   $configure_opts"
           PPVARS="${PPVARS}${PPVARS+$space}aix_freeware=true"
           ;;
     *)      *)
         # For Solaris, add project support and use let configure choose zlib.          # For Solaris, add project support and use let configure choose zlib.
         # For all others, use the builtin zlib and disable NLS support.          # For all others, use the builtin zlib and disable NLS support.
         case "$osversion" in          case "$osversion" in
            sol*) configure_opts="${configure_opts}${configure_opts+$tab}--with-project";;            sol*)
            *) configure_opts="${configure_opts}${configure_opts+$tab}--enable-zlib=builtin${tab}--disable-nls";;                configure_opts="${configure_opts}${configure_opts+$tab}--with-project"
 
                 if [ $osrelease -ge 11 ]; then
                     configure_opts="${configure_opts}${configure_opts+$tab}--with-bsm-audit"
                 fi
                 ;;
             *)
                 configure_opts="${configure_opts}${configure_opts+$tab}--enable-zlib=builtin${tab}--disable-nls"
                 ;;
         esac          esac
         if test "$flavor" = "ldap"; then          if test "$flavor" = "ldap"; then
             configure_opts="${configure_opts}${configure_opts+$tab}--with-ldap"              configure_opts="${configure_opts}${configure_opts+$tab}--with-ldap"
         fi          fi
         # Note, must indent with tabs, not spaces due to IFS trickery          # Note, must indent with tabs, not spaces due to IFS trickery
        configure_opts="--prefix=$prefix        configure_opts="
                 --with-insults=disabled                  --with-insults=disabled
                 --with-logging=syslog                  --with-logging=syslog
                 --with-logfac=auth                  --with-logfac=auth

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>