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:
- Download the tarball:
1* i386/AMD64: ksh93_integration_20071105_snapshot_i386.tar.bz2 (list files)
1* SPARC: ksh93_integration_20071105_snapshot_sparc.tar.bz2 (list files) - Verify the MD5 checksum:
1* i386/AMD64: MD5(ksh93_integration_20071105_snapshot_i386.tar.bz2)= 86820df14a8931706a7d6200dc41a889
1* SPARC: MD5(ksh93_integration_20071105_snapshot_sparc.tar.bz2)= 396b9e135789c6c5c206547242dca842 - Login as user "root":
- 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 viasvn diff -r 866:894 svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype010/usr
or as unified diff (3MB, MD5 checksum is c6590f068ff81cb08a7d7d3fbbac4756).
- The diffs between Solaris Nevada B72 and the current ksh93-integration tree can be obtained via
- "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>>Project ksh93-integration.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 #):
{{code}}/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
{{/code}}
- 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)- 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 ..
- 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):
- Pull sources and extract closed bin stuff (files can be obtained from opensolaris.org):
~--- ./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
- 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 #
- 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
- Run "bldenv":
on 2009/10/26 12:15