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;)
