Hi!

----

[This news is actually a few days old and a couple of people already
stumbled over it and asked tons of questions... I just didn't had time
to get this email out of my "Drafts" folder... sorry for that...]

I've finished a first "raw" prototype of the ksh93 integration into ON
(based on build B35, "INIT.2006-02-14.tgz" and
"ast-ksh.2006-02-14.tgz").
The sources are available via Subversion from
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype001/m1_ast_ksh_imported
and via HTTP using
http://svn.genunix.org/repos/on/branches/ksh93/gisburn/prototype001/m1_ast_ksh_imported

Tools for building can be found at
http://dlc.sun.com/osol/on/downloads/b35/ ,
http://svn.genunix.org/repos/on/branches/ksh93/gisburn/prototype001/b35/
contains the original B35 sources for comparisation/diffing.


* File layout within ON looks like this:
- usr/src/lib/libshell/ contains the libshell sources
- usr/src/lib/libcmd/ contains the merged ON and ksh93 libcmd sources
(see commend below)
- usr/src/lib/libdll/ contains ksh93's libdll
- usr/src/lib/libast/ contains libast (see command below, the
integration into ON needs to be re-done from scratch)
- usr/src/cmd/ksh/ contains the ksh93 frontend


* Notes on this prototype:
- This is a very early prototype, primarity to test what needs actually
be done for the ON integration.

- Most of the integration, including Makefiles etc. were changed via
trial&error and contain very very ugly hacks (including stuff which will
make little kitten scream and longer consumption will make you blind as
well... ;-( )

- The code will only build on i386 with Sun Studio 10+11. gcc builds,
AMD64 and SPARC (32bit and 64bit) are not supported right now (the SPARC
stuff is missing since I am working from home right now and do not have
a machine with Solaris Nevada >= build 32 available here, see below)

- Integration of libast (usr/src/lib/libast/) is seriously broken and
needs to be re-done from scratch, based on the lessons I learned from
the first attempt

- ksh93's libcmd and Solaris's version of libcmd were _merged_. The
basic idea is to have one version of libcmd.so.1 which contains both the
existing Solaris API (well, three functions are left after Solaris 10
development removed most of libcmd's content) and the builtin shell
commands used by ksh93. So far this seems to be working perfectly
(except the small hiccup with "SUNWprivate_1.1" gone missing - I'll try
to fix that for the 2nd prototype) and I think this should be the way we
should go.


* Issues/ToDo list:
- Building the tree requires to do a % mkdir
$MYBUILDROOT/proto/root_i386/usr/include/ast # first. Does anyone know
the exact location where this item belongs into the Makefiles ? "make
include_h" does not create subdirs... ;-(

- There is no 64bit version of ksh93 yet, but /usr/bin/ksh already
employs /usr/lib/isaexec to demonstrate that this works (manually
placing a "static" version of ksh93 into /usr/bin/amd64/ksh works and
picked-up the 64bit version correctly), too.

- "rksh" is not installed yet (AFAIK it just needs to be a hard link to
/usr/bin/ksh)

- There is no "pfksh" yet. I need help with this from April Chin to
check how the ksh93 frontend in usr/src/cmd/ksh/ needs to be modified
for this.

- Include files betwen 32bit and 64bit builds differ, see
http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2006-March/000155.html
; Glenn Fowler <gsf at research.att.com> is looking into the problem right
now (Thanks! :-) )

- The prototype was done by hand. I am now working on a script which
unpacks the AST-KSH sources, builds them and then moves those sources
and (generated) include files into the "ON" tree. The idea is to have a
static and tested configuration within ON which can be updated for each
single ksh93 update by hand and therefore avoid picking up changes in ON
by accident. I've chosen this way since it avoids the problem of tesing
ksh93 against the various test suites. Using the design of a manual
update of the generated headers re-evaluation of ksh only needs to be
done after updates have been made. Changes which happen outside this
cycle are then likely issues caused by ON itself (e.g. we reduce the
test matrix a lot and can hunt down regressions much easier).

- We have a translator for getting the ksh93 manual page translated from
english to japanese, however she can only do this until the first week
of April is over. We really really need the DocBook/SGML sources for
/usr/man/ja_JP.UTF-8/man1/ksh.1 to do that (e.g. there is a time limit
on our side) - it would be really nice if we could get somehow a copy of
it, otherwise this opportunity will be gone.

- I am in the urgend need to get access to a machine which can build ON
on UltraSPARC (e.g. with Solaris Nevada >= B32 and Sun Studio 10
installed). Since Blastwave does not have such a machine right now I
need help from elsewhere... does anyone have any ideas who may be able
to help ?


Comments/suggestions/rants/etc welcome...

----

Bye,
Roland

P.S.: Can any of the OpenSolaris-based distributions (like "Nexenta" (Hi
Rafael! :-) ) , "SchilyX" etc.) try to integrate this into their build
system, please (yes, I know, the Makefiles are ugly hacks but it may be
nice to get some feedback from outside (BTW: The manual build script is
available from
http://svn.genunix.org/repos/on/branches/ksh93/gisburn/scripts/buildksh93.ksh))
?

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)

Reply via email to