Hi! ----
2009-08-22: 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-08-22/ - Webrev: http://cr.opensolaris.org/~gisburn/ksh93_integration_update2_20090822_webrev/ **** Differences to the previous test release (2009-07-02) The only difference to the previous test release (http://www.opensolaris.org/os/project/ksh93-integration/downloads/2009-07-02/) is the fix for the /usr/bin/tail, /usr/xpg4/bin/tail and "tail" utilities to handle FIFOs correctly (see http://bugs.grommit.com/show_bug.cgi?id=630 ('AST "tail" fails to handle FIFOs correctly' ; the patch (including a testcase) can be found at http://bugs.grommit.com/attachment.cgi?id=331)). The fixed "tail" utility can be identified based on it's version number which should now print "2009-08-15": -- snip -- $ tail --version version tail (AT&T Research) 2009-08-15 -- snip -- **** 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_20090822_snapshot_i386.tar.bz2 + SPARC: http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_20090822_snapshot_sparc.tar.bz2 2. Verify the MD5 checksum: + i386/AMD64: MD5 (ksh93_integration_20090822_snapshot_i386.tar.bz2)= a0be4104332c4b4e7b2276e2c5ec5022 + SPARC: MD5 (ksh93_integration_20090822_snapshot_sparc.tar.bz2)= 7e51d76427f2a033f721fef6a87531af 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_20090822_snapshot_i386.tar.bz2 $ sum -x md5 ksh93_integration_20090822_snapshot_i386.tar.bz2 a0be4104332c4b4e7b2276e2c5ec5022 ksh93_integration_20090822_snapshot_i386.tar.bz2 # cd / # sync ; sync # bzcat </tmp/ksh93_integration_20090822_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_20090822_snapshot_sparc.tar.bz2 $ sum -x md5 ksh93_integration_20090822_snapshot_sparc.tar.bz2 7e51d76427f2a033f721fef6a87531af ksh93_integration_20090822_snapshot_sparc.tar.bz2 # cd / # sync ; sync # bzcat </tmp/ksh93_integration_20090822_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 1674 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_1674.diff.txt o ... unified diff (http://www.opensolaris.org/os/project/ksh93-integration/downloads/svn_genunix_org_on_branches_ksh93_gisburn_prototype021_rev_b111_1674.diff.txt , 2.25MB, MD5 checksum is 54fd9eba704d537531d979a0010f287d). o ... Mercurial/HG export bundle (http://www.opensolaris.org/os/project/ksh93-integration/downloads/ksh93_integration_update2_20090822_hg_export_001.hgexport.bz2 , 212KB, MD5 checksum is 2b0577a78aa91a3cdc15705b6c6fd94e) + Alternatively webrev pages are available at http://cr.opensolaris.org/~gisburn/ksh93_integration_update2_20090822_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 1674 \ 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-08-22/ 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-08-22 ksh93-integration update2 test binaries: http://www.opensolaris.org/os/project/ksh93-integration/downloads/2009-08-22/ [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;)