Hi!
----
2009-07-02: ksh93-integration update 2 tarballs for Solaris 11
Nevada+OpenSolaris/Indiana
These tarballs ([2]) are intended to be installed over an existing
Solaris Nevada/Indiana/OpenSolaris >= B110 i386 or SPARC installation
and provide ksh93t+_20090505 and the content described in PSARC/2009/248
("ksh93 update to 2009-03-10") and PSARC/2009/249 ("more ksh93 command
conversions").
Note that the binaries are provided for testing and evaluation purposes
ONLY.
Please report any problems/errors/bugs/comments to the ksh93-integration
project bugzilla[5] or the ksh93-integration mailinglist[4] (please
subscribe before posting).
**** Quick links:
- Download&&install instructions:
http://www.opensolaris.org/os/project/ksh93-integration/downloads/2009-07-02/
- Webrev:
http://cr.opensolaris.org/~gisburn/ksh93_integration_update2_20090702_webrev/
**** Highlights of this release:
- Many bugfixes to ksh93, it's infrastructure and other
commands, primarily focussing on stability, improved error
checking, performance and fixing support for large, complex
variable trees.
- The several commands have been updated (or added) and now
include common GNU+BSD+AST features, including:
/usr/bin/cksum
/usr/bin/cmp
/usr/bin/comm
/usr/bin/cut
/usr/bin/head
/usr/bin/join
/usr/bin/kill
/usr/bin/logname
/usr/bin/mkfifo
/usr/bin/paste
/usr/bin/print
/usr/bin/rev
/usr/bin/sleep
/usr/bin/sum
/usr/bin/tail
/usr/bin/tee
/usr/bin/test
/usr/bin/uniq
/usr/bin/wait
/usr/bin/wc
/usr/xpg4/bin/tail
(the full list of updated commands can be found below)
- The following bugs/RFEs will be fixed by this putback:
+--------------------------------------------------------------+
|BugID |Title |
|-------+------------------------------------------------------|
|4701104|*tail* tail -r has limitations on un-mmappable files |
| |(/etc/mnttab) |
|-------+------------------------------------------------------|
|6605478|ksh93 profile shell option does not work |
|-------+------------------------------------------------------|
|6705126|first call to read does not honor new setting of |
| |HISTFILE |
|-------+------------------------------------------------------|
|6764665|*libpp* Array overrun in libpp |
|-------+------------------------------------------------------|
|6765756|*libast* Array overruns in libast |
|-------+------------------------------------------------------|
|6769332|Recursive function+command substitutions terminate |
| |shell after 257 iterations |
|-------+------------------------------------------------------|
|6778077|*ksh93* does not understand "THAW" as a signal for use|
| |with trap |
|-------+------------------------------------------------------|
|6789247|[ku1] libast/ksh93 1-digit hexfloat base |
| |conversion rounds incorrectly |
|-------+------------------------------------------------------|
|6790507|RFE: Update /usr/bin/tail and /usr/xpg4/bin/tail to |
| |AT&T AST "tail" |
|-------+------------------------------------------------------|
|6791838|*ksh93* unset of a variable which is not set |
| |should return 0 |
|-------+------------------------------------------------------|
|6793714|RFE: Update /usr/bin/comm to AT&T AST "comm" |
|-------+------------------------------------------------------|
|6793719|RFE: Update /usr/bin/cut to AT&T AST "cut" |
|-------+------------------------------------------------------|
|6793721|RFE: Update /usr/bin/paste to AT&T AST "paste" |
|-------+------------------------------------------------------|
|6793722|RFE: Update /usr/bin/cmp to AT&T AST "cmp" |
|-------+------------------------------------------------------|
|6793726|RFE: Update /usr/bin/uniq to AT&T AST "uniq" |
|-------+------------------------------------------------------|
|6793735|RFE: Update /usr/bin/wc to AT&T AST "wc" |
|-------+------------------------------------------------------|
|6793744|RFE: Add /usr/share/doc/ksh/ for ksh93 documentation |
|-------+------------------------------------------------------|
|6793747|RFE: Provide "print" builtin as /usr/bin/ |
| |print for external applications |
|-------+------------------------------------------------------|
|6793763|RFE: Update /usr/bin/ksh93 to ast-ksh.2009-05-05 |
|-------+------------------------------------------------------|
|6794952|RFE: Enable "globstar" option in /etc/ksh.kshrc |
|-------+------------------------------------------------------|
|6805792|[ Moving local compound var into array does not work |
|-------+------------------------------------------------------|
|6805794| printf returns "invalid character constant" for |
| |$ printf "%dn" "`;<euro>" |
|-------+------------------------------------------------------|
|6805795|[ku1] ksh93 does not differ between -0 and +0 |
|-------+------------------------------------------------------|
|6805797|[ku1]Can't append to nodes of an array of compound |
| | vars if addressing them via nameref |
|-------+------------------------------------------------------|
|6805799|Indexed compound variable arrays do not work... |
|-------+------------------------------------------------------|
|6805800|[Declaring associative compound array does not work |
|-------+------------------------------------------------------|
|6805812|RFE: Update /usr/bin/head to AT&T AST "head" |
|-------+------------------------------------------------------|
|6805813|RFE: Update /usr/bin/join to AT&T AST "join" |
|-------+------------------------------------------------------|
|6805814|RFE: Update /usr/bin/mkfifo to AT&T AST "mkfifo" |
|-------+------------------------------------------------------|
|6805819|RFE: Update /usr/bin/tee to AT&T AST "tee" |
|-------+------------------------------------------------------|
|6809663|shlint missing ending newline on errors |
|-------+------------------------------------------------------|
|6811916|ksh93 repeatedly seg faults when "tee" builtin is |
| |interupted via <ctrl-c> in inteactive mode |
|-------+------------------------------------------------------|
|6821113|SUNWosdem package issues |
|-------+------------------------------------------------------|
|6828644|RFE: Update /usr/bin/logname to AT&T AST "logname" |
|-------+------------------------------------------------------|
|6828692|RFE: Update /usr/bin/cksum to AT&T AST "cksum" |
|-------+------------------------------------------------------|
|6834184|ksh93 gets SIGSEGV if HISTFILE is changed in place. |
|-------+------------------------------------------------------|
|6834207|ksh93 gets SIGSEGV on interactive function definition |
| |with HISTSIZE unset |
|-------+------------------------------------------------------|
|6835835|ksh93 "cat" builtin does not handle "-n" correctly |
|-------+------------------------------------------------------|
|6841442|Need exception list for OS/Net trees managed via |
| |Subversion |
|-------+------------------------------------------------------|
|6848486|"echo ${test}" with test undefined crashes the shell |
|-------+------------------------------------------------------|
|6850672|ksh93 (VISUAL=vi) crashes with memory fault |
| |while scolling through history |
|-------+------------------------------------------------------|
|6855875|typeset -X x ; print $x # does not print sufficient |
| |digits to restore value |
+--------------------------------------------------------------+
**** Install instructions:
*** Basic installation:
1. Download the tarball:
+ i386/AMD64:
http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_20090702_snapshot_i386.tar.bz2
+ SPARC:
http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_20090702_snapshot_sparc.tar.bz2
2. Verify the MD5 checksum:
+ i386/AMD64: MD5
(ksh93_integration_20090702_snapshot_i386.tar.bz2)=
67e91dcbbe715a66ecb20edcd5419b7a
+ SPARC: MD5
(ksh93_integration_20090702_snapshot_sparc.tar.bz2)=
7949f49e4f422d6b1490c1b0dfb1789e
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
$ /usr/sfw/bin/wget \
http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_20090702_snapshot_i386.tar.bz2
$ sum -x md5 ksh93_integration_20090702_snapshot_i386.tar.bz2
67e91dcbbe715a66ecb20edcd5419b7a
ksh93_integration_20090702_snapshot_i386.tar.bz2
# cd /
# sync ; sync
# bzcat </tmp/ksh93_integration_20090702_snapshot_i386.tar.bz2 | tar
-xvof -
# sync ; sync
** Example for SPARC:
$ cd /tmp
$ /usr/sfw/bin/wget \
http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_20090702_snapshot_sparc.tar.bz2
$ sum -x md5 ksh93_integration_20090702_snapshot_sparc.tar.bz2
7949f49e4f422d6b1490c1b0dfb1789e
ksh93_integration_20090702_snapshot_sparc.tar.bz2
# cd /
# sync ; sync
# bzcat </tmp/ksh93_integration_20090702_snapshot_sparc.tar.bz2 | tar
-xvof -
# sync ; sync
*** [OPTIONAL] Using ksh93 as /sbin/sh:
After installation of the tarball the following steps will replace
the original Bourne shell with ksh93:
Example for i386/AMD64:
# cp /usr/bin/i86/ksh93 /sbin/ksh93
# [[ ! -f /sbin/bsh ]] && mv /sbin/sh /sbin/bsh || rm /sbin/sh
# mv /sbin/ksh93 /sbin/sh
# sync ; sync
** Example for SPARC:
# cp /usr/bin/sparcv7/ksh93 /sbin/ksh93
# [[ ! -f /sbin/bsh ]] && mv /sbin/sh /sbin/bsh || rm /sbin/sh
# mv /sbin/ksh93 /sbin/sh
# sync ; sync
**** Notes:
* This tarball matches ksh93t+ (=ast-ksh.2009-06-22) with many
many changes since the last version. Please test the binaries
extensively.
* The following commands have been updated (or added) and now
include common GNU+BSD+AST features:
/usr/bin/bg, /usr/bin/cd, /usr/bin/cksum, /usr/bin/cmp,
/usr/bin/comm, /usr/bin/command, /usr/bin/cut, /usr/bin/fc,
/usr/bin/fg, /usr/bin/getopts, /usr/bin/hash, /usr/bin/head,
/usr/bin/jobs, /usr/bin/join, /usr/bin/kill, /usr/bin/logname,
/usr/bin/mkfifo, /usr/bin/paste, /usr/bin/print, /usr/bin/read,
/usr/bin/rev, /usr/bin/sleep, /usr/bin/sum, /usr/bin/tail,
/usr/bin/tee, /usr/bin/test, /usr/bin/type, /usr/bin/ulimit,
/usr/bin/umask, /usr/bin/unalias, /usr/bin/uniq, /usr/bin/wait,
/usr/bin/wc, /usr/xpg4/bin/tail
* The binaries now are build from a B111-based tree and require
SXCR B110 or higher
* Sources/diffs/webrevs:
+ The diffs between Solaris Nevada B111 and the current
ksh93-integration tree can be obtained via...
o ... Subversion:
$ (mkdir svnexport_new ; cd svnexport_new ; svn export -r 1610
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype021/usr/src)
$ (mkdir svnexport_old ; cd svnexport_old ; svn export
svn://svn.genunix.org/on/tags/b111/usr/src)
$ gdiff -r -u -N svnexport_old/src svnexport_new/src | \
sed 's/svnexport_new\///g;s/svnexport_old\///g' \
>svn_genunix_org_on_branches_ksh93_gisburn_prototype021_rev_b111_1610.diff.txt
o ... unified diff
(http://www.opensolaris.org/os/project/ksh93-integration/downloads/svn_genunix_org_on_branches_ksh93_gisburn_prototype021_rev_b111_1610.diff.txt
, 2.25MB, MD5 checksum is 6e33ae16efbeced80ff1beb52afa445b).
o ... Mercurial/HG export bundle
(http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_update2_20090702_hg_export_001.hgexport.bz2
, 212KB, MD5 checksum is 2a977e5be3b2eaa57d76c9aa8cd9d5c5)
+ Alternatively webrev pages are available at
http://cr.opensolaris.org/~gisburn/ksh93_integration_update2_20090702_webrev/
* "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 ~~30
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.
* The tarball was created using the
build_ksh93_standalone_tarball.sh script which is available in
the base directory of the prototype021 tree.
Note: The script can only be used after a successfull
$ cd usr/ src ; (cd tools ; make install) ; 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 1610 \
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype021/usr
$ bzcat <../download/on-closed-bins-nd.i386.tar.bz2 | \
tar -xf -
$ bzcat <../download/on-closed-bins.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 <date>
+++ ./opensolaris.sh <date>
@@ -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=prototype021; export GATE
+# workaround for B111 build issue
+export NOT_UNDER_SCM=true
# 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 prototype021/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
Finally: Please check
http://www.opensolaris.org/os/project/ksh93-integration/downloads/2009-07-02/
for any updates or additional comments...
**** Links/References:
[1]=ksh93-integration/migration project home page:
http://www.opensolaris.org/os/project/ksh93-integration/
[2]=2009-07-02 ksh93-integration update2 test binaries:
http://www.opensolaris.org/os/project/ksh93-integration/downloads/2009-07-02/
[3]=ksh93s+ manual page:
http://www.opensolaris.org/os/project/ksh93-integration/docs/ksh93s/man/man1/sh/
[4]=ksh93-integration mailinglist:
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss/
; please subscribe before posting (and please avoid flamewars) !!
[5]=ksh93-integration project bugzilla:
http://bugs.grommit.com/enter_bug.cgi?product=ksh93-integration
----
Bye,
Roland
P.S.: Reply-To: is set to ksh93-integration-discuss at opensolaris.org
--
__ . . __
(o.\ \/ /.o) roland.mainz at nrubsig.org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 3992797
(;O/ \/ \O;)