OpenSolaris

You are not signed in. Sign in or register.

OpenSolaris Project: Korn Shell 93 integration/migration project

View the leaders for this project
Project Observers

Endorsing communities

OS/Net (ON)

What are we are doing ?

The ksh93-integration project should investigate and execute the integration of the Korn Shell version 93 (ksh93) and related features, including:

  • Introduction of ksh93 (as /usr/bin/ksh93 until /usr/bin/ksh will be updated to ksh93 in Solaris 11)
  • Introduction of libshell.so (see below)
  • Investigate the migration of /usr/bin/ksh to the standard version of ksh93
  • Investigate changes required for ksh93 to replace the standard POSIX shell /usr/xpg4/bin/sh.
  • Discussion/bugfixing of Solaris-specific ksh93 bugs+fixes
  • Enhancement of Solaris tools to use libshell instead of homegrown commandline parsers (like zfs, xauth etc.)
  • Enhancement of Solaris's POSIX commands based on the AT&T AST (upstream source of ksh93) commands available in libshell and libcmd
  • Ensure backwards compatibility (for example via keeping the old version of Solaris ksh around as /usr/bin/oksh)
  • Replacement of duplicate ksh versions in various Sun products with libshell.so (which is ksh93 as a shared library), including dbx and dtksh

Why are we doing this ?

  • Because customers have been asking for it for years
  • Customers have requested ksh93 integration and ksh93 features in Solaris for many years. RFEs supporting this including 4113420, 6332421, 1215363, 4201349, 4448701, 4827484, 4877415, 5034853 etc.)
  • Lower the maintaince burden of Sun engineers by delivering an almost unmodified version of ksh93 instead of the current /bin/ksh codebase which is highly Solaris-specific
  • Lower the burden of developers and site adminstrators and improve interoperability between versions of Unix via upgrading /bin/ksh to ksh93 level
  • Provide a unified shell parser backend (libshell.so) for existing value-add (dbx/dtksh/tksh) and other Solaris components such as zfs.
  • Improve the user-friendliness for ksh users, via enhancements of editing modes, history, builtins etc
  • Dramatically improve performance of shell scripts (ksh93 is the fastest POSIX-conformant shell interpreter currently available + making many POSIX commands available builtins by default saves (at least) the |fork()|+|exec()|) overhead

Current Status

Phase I (the integration of ksh93 as /usr/bin/ksh93) and Phase II (ksh93-integration update1) have been completed (ksh93 is now part of Solaris as /usr/bin/ksh93 since B72 and additional infrastructure like the shell script compiler /usr/bin/shcomp are available since B106)
We're currently working on Phase III which will provide additional features, improvements and bugfixes.

Additionally OpenSolaris distributions are now shipping ksh93 as default system shell (e.g. /sbin/sh, /bin/sh, /usr/bin/sh, /usr/bin/ksh, /usr/bin/ksh93, etc.).

Filing bugs/RFEs

Submit a bug or RFE or view the list of open bugs.

Screenshots

(More screenshots can be found on the Screenshots page)
ksh93 i18n demo 1 ksh93 calculating Pi using the Wallis product
ksh93 associate array demo1 ksh93 mandelbrot demo1

References/Links

Announcements

28 Dec 2008 ksh93-integration update1 integrated into OS/Net build 106
02 Dec 2008 ksh93-integration update1 entered code review
30 Nov 2008 ksh93-integration update1 2008-11-14 tarballs for Solaris Nevada >= B84+Indiana
14 Nov 2008 |libc::wordexp()| updated, distributions please check whether inetd still works
10 Nov 2008 ksh93 version 't' (ast-ksh.2008-11-04) released
23 Aug 2008 We moved (the tree) ...
12 Aug 2008 ksh93-integration update1 2008-08-10 tarballs for Solaris Nevada >= B84+Indiana
25 Jul 2008 ksh93 version 't' (ast-ksh.2008-07-25) released
24 Jun 2008 ksh93-integration update1 tarballs for Solaris Nevada >= B84+Indiana
17 Jun 2008 ksh93 update tarballs for Solaris Nevada+Indiana

Blogs

Sun Search - +keyword +ksh93 - Bug ID: 6876768 ZFS Send/ZFS Receive: Receive Side of Pipe is not created - Causes process ...

Aug 28, 1:00 AM

... ID 6876768 Synopsis ZFS Send/ZFS Receive: Receive Side of Pipe is not created - Causes process hang - ksh93 State 2-Incomplete:Need More Info (Not enough information) Category:Subcategory kernel ...

Sun Search - +keyword +ksh93 - Bug ID: 6876704 "wx putback" not compatible with ksh93

Aug 27, 1:00 AM

... ID 6876704 Synopsis "wx putback" not compatible with ksh93 State 1-Dispatched ... to pass to $PUTBACK isn't compatible with ksh93 -- that is, pbargs[${#pbargs[@]}]="-$i" doesn't actually ...

Sun Search - +keyword +korn93 - Bug ID: 6874972 ksh93 dumps core while configuring fftw2 in SFW build

Aug 24, 1:00 AM

... core while configuring fftw2 in SFW build State 1-Dispatched (Default State) Category:Subcategory shell:korn93 Keywords Reported Against Duplicate Of Introduced In Commit to Fix Fixed In Release ...

Sun Search - +keyword +ksh93 - Bug ID: 6874461 ksh93 hangs SFW build in mysql

Aug 21, 1:00 AM

... News Blogs Printable Version Enter a New Search Bug ID 6874461 Synopsis ksh93 hangs SFW build in mysql State 7-Fix in Progress (Fix is in progress) Category:Subcategory consolidation ...

Sun Search - +keyword +korn93 - Bug ID: 6872747 nightly's total build time calculation is b0rked

Aug 18, 1:00 AM

... s total build time calculation is b0rked State 1-Dispatched (Default State) Category:Subcategory shell:korn93 Keywords dropbear Reported Against Duplicate Of Introduced In Commit to Fix Fixed In ...