OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
PATCH: Solaris 10 - 2.4.0 postfix-install script

From: Wietse Venema (wietseporcupine.org)
Date: Mon Apr 02 2007 - 14:34:59 CDT


Nick Smith:
> Attempting to upgrade to 2.4.0 on Solaris 10 gives:
> postfix-install: nqmgr: not found
> postfix-install: usr: not found
> Updating ...
> ln: Insufficient arguments (0)
> Usage: ln [-f] [-n] [-s] f1 [f2]
> ln [-f] [-n] [-s] f1 ... fn d1
> ln [-f] [-n] -s d1 d2
> make: *** [install] Error 1

Portability (introduced 20070325): the fix for hardlinks and symlinks
in postfix-install forgot to work around shells where "IFS=/ command"
makes the IFS setting permanent. This is allowed by some broken
standard, and affects Solaris. File: postfix-install.

        Wietse

diff --exclude=man --exclude=html --exclude=README_FILES --exclude=.indent.pro --exclude=Makefile.in -bcr /var/tmp/postfix-2.5-20070328/HISTORY ./HISTORY
diff --exclude=man --exclude=html --exclude=README_FILES --exclude=.indent.pro --exclude=Makefile.in -bcr /var/tmp/postfix-2.5-20070328/postfix-install ./postfix-install
*** /var/tmp/postfix-2.5-20070328/postfix-install Sun Mar 25 16:44:02 2007
--- ./postfix-install Mon Apr 2 13:14:37 2007
***************
*** 686,707 ****
  
       # Hard link. Skip files that are not installed.
  
! h) eval echo $path | (IFS=/ read prefix file; test "$prefix" = "no" || (
              eval dest_path=$install_root$path
              check_parent $dest_path || exit 1
              eval source_path=$install_root$source
              compare_or_hardlink $source_path $dest_path || exit 1
! )) || exit 1
          continue;;
  
       # Symbolic link. Skip files that are not installed.
  
! l) eval echo $path | (IFS=/ read prefix file; test "$prefix" = "no" || (
              eval dest_path=$install_root$path
              check_parent $dest_path || exit 1
              eval source_path=$install_root$source
              compare_or_symlink $source_path $dest_path || exit 1
! )) || exit 1
          continue;;
  
       *) echo $0: Error: unknown type $type for $path in conf/postfix-files 1>&2
--- 686,713 ----
  
       # Hard link. Skip files that are not installed.
  
! h) eval echo $path | (
! IFS=/ read prefix file; IFS="$BACKUP_IFS"
! test "$prefix" = "no" || (
                  eval dest_path=$install_root$path
                  check_parent $dest_path || exit 1
                  eval source_path=$install_root$source
                  compare_or_hardlink $source_path $dest_path || exit 1
! )
! ) || exit 1
          continue;;
  
       # Symbolic link. Skip files that are not installed.
  
! l) eval echo $path | (
! IFS=/ read prefix file; IFS="$BACKUP_IFS"
! test "$prefix" = "no" || (
                  eval dest_path=$install_root$path
                  check_parent $dest_path || exit 1
                  eval source_path=$install_root$source
                  compare_or_symlink $source_path $dest_path || exit 1
! )
! ) || exit 1
          continue;;
  
       *) echo $0: Error: unknown type $type for $path in conf/postfix-files 1>&2