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-disc...@opensolaris.org

-- 
  __ .  . __
 (o.\ \/ /.o) roland.ma...@nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to