OpenSolaris

You are not signed in. Sign in or register.

2007-11-05: ksh93 update tarballs for OpenSolaris

These tarballs are intended to be installed over an existing OpenSolaris ≥ B72 i386 or SPARC installation and provide ksh93s+_20071101 for testing and evaluation purposed ONLY.
Please report any problems/errors/bugs/comments to the ksh93-integration project bugzilla or the ksh93-integration mailinglist (please subscribe before posting).

Install instructions:

  1. Download the tarball:
  2. Verify the MD5 checksum:
    • i386/AMD64: MD5(ksh93_integration_20071105_snapshot_i386.tar.bz2)= 86820df14a8931706a7d6200dc41a889
    • SPARC: MD5(ksh93_integration_20071105_snapshot_sparc.tar.bz2)= 396b9e135789c6c5c206547242dca842
  3. Login as user "root":
  4. Change directory to / and unpack the tarball with /usr/bin/tar using the "xvof" option ("o" is very important to set the file ownership to "root")
Example for i386/AMD64:
  $ cd /tmp
  $ wget http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_20071105_snapshot_i386.tar.bz2
  $ /usr/sfw/bin/openssl md5 ksh93_integration_20071105_snapshot_i386.tar.bz2
  MD5(ksh93_integration_20071105_snapshot_i386.tar.bz2)= 86820df14a8931706a7d6200dc41a889
  # cd /
  # sync ; sync
  # bzcat </tmp/ksh93_integration_20071105_snapshot_i386.tar.bz2 | tar -xvof -
  # sync ; sync
Example for SPARC:
  $ cd /tmp
  $ wget http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_20071105_snapshot_sparc.tar.bz2
  $ /usr/sfw/bin/openssl md5 ksh93_integration_20071105_snapshot_sparc.tar.bz2
  MD5(ksh93_integration_20071105_snapshot_sparc.tar.bz2)= 396b9e135789c6c5c206547242dca842
  # cd /
  # sync ; sync
  # bzcat </tmp/ksh93_integration_20071105_snapshot_sparc.tar.bz2 | tar -xvof -
  # sync ; sync

Notes:

  • This tarball matches ksh93s+ (=ast-ksh.2007-11-01) with many many changes since the last version. Please test the binaries extensively.
  • The binaries now are build from a B72-based tree and require SXCR B72 or higher
  • Sources/diffs/webrevs:
    • The diffs between Solaris Nevada B72 and the current ksh93-integration tree can be obtained via
      svn diff -r 866:894 svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype010/usr
      or as unified diff (3MB, MD5 checksum is c6590f068ff81cb08a7d7d3fbbac4756).
  • "multiline" input mode is now enabled by default in /etc/ksh.kshrc to match input/editor behaviour of bash.
  • /etc/ksh.kshrc now sets a default prompt (PS1) which contains <username>@<hostname>:<current_directory>$<blank> for normal users and <username>@<hostname>:<current_directory>#<blank> for user "root"; the prompt length itself is limited to ~~20 characters to ensure it only occupies 1/4 of a standard 80x24 terminal window.
  • <esc><ctrl-l> was added to emacs/gmacs mode to clear the screen (per community requests and to be in sync with bash)
  • 64bit binaries and libraries are now included (and used by default if the hardware is 64bit capable)
  • "shcomp", the shell script compiler is now included as /usr/bin/shcomp.
  • AST l10n utilities are stored in /usr/ast/bin/.
  • Starting with ksh93s+ multibyte characters can be used for variable/function/etc.-names. Please test this functionality extensively.
  • Users of B72, B73, B74 and B75 (anything ≥B75 has already been fixed) which like to use ksh93 as login shell must create the /etc/shells (see shells(4) manual page) to include it in the list of "allowed" system login shells (otherwise dtlogin will refuse graphical login):
    Example /etc/shells file (created using $ cat usr/src/lib/libc/port/gen/getusershell.c | egrep '.*".*/(bin|sbin)/.*".*' | sed 's/[",]//g' | sort -u #):
    /bin/bash
    /bin/csh
    /bin/jsh
    /bin/ksh
    /bin/ksh93
    /bin/pfcsh
    /bin/pfksh
    /bin/pfsh
    /bin/sh
    /bin/tcsh
    /bin/zsh
    /sbin/jsh
    /sbin/pfsh
    /sbin/sh
    /usr/bin/bash
    /usr/bin/csh
    /usr/bin/jsh
    /usr/bin/ksh
    /usr/bin/ksh93
    /usr/bin/pfcsh
    /usr/bin/pfksh
    /usr/bin/pfsh
    /usr/bin/sh
    /usr/bin/tcsh
    /usr/bin/zsh
    /usr/sfw/bin/zsh
    /usr/xpg4/bin/sh
    
  • The tarball was created using the build_ksh93_standalone_tarball.sh script which is available in the usr/-directory of the prototype010 tree.
    Note: The script can only be used after a successfull $ make setup ; dmake install #-sequence, otherwise the resulting tarball will be incomplete.
  • The tarballs do not provide a manual page for ksh93. Please use the manual page for ksh93s+ in the meantime.
  • The ksh93 binaries can be build from source like this:
    (Instructions are for Solaris i386/AMD64; SPARC requires minor adjustments)
    1. Pull sources and extract closed bin stuff (files can be obtained from opensolaris.org):
      $ mkdir test_x86 ; cd test_x86
      $ svn checkout -r 894 svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype010/usr
      $ bzcat <../download/on-closed-bins-nd-b72.i386.tar.bz2 | tar -xf -
      $ cd ..
    2. Create opensolaris.sh.
      This is the usual opensolaris.sh with the paths adjusted to match your location of the sources.
      Example for the changes applies to opensolaris.sh (for my workspace):
      
      --- ./test1_x86/usr/src/tools/env/opensolaris.sh        Thu Sep 14 13:17:59 2006
      +++ ./opensolaris.sh    Sun Jul 30 00:50:08 2006
      @@ -43,10 +43,10 @@
       
       # This is a variable for the rest of the script - GATE doesn't matter to
       # nightly itself
      -GATE=testws;                   export GATE
      +GATE=test1_x86;                        export GATE
       
       # CODEMGR_WS - where is your workspace at (or what should nightly name it)
      -CODEMGR_WS="/export/$GATE";                    export CODEMGR_WS
      +CODEMGR_WS="/home/test001/ksh93/on_build1/$GATE";                      export CODEMGR_WS
       
       # Location of encumbered binaries.
       ON_CLOSED_BINS="$CODEMGR_WS/closed";           export ON_CLOSED_BINS
      
    3. Run "bldenv":
      $ env - SHELL=$SHELL TERM=$TERM HOME=$HOME LOGNAME=$LOGNAME DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY LANG=C LC_ALL=C PAGER=less MANPATH=$MANPATH /opt/onbld/bin/bldenv opensolaris.sh #
    4. Build it (the quick way):
      $ cd test_x86/usr/src
      $ export CW_NO_SHADOW=1
      $ time nice make setup 2>&1 | tee -a buildlog_setup.log
      $ time nice dmake install >buildlog.log 2>&1