Hi!

----

I've finished moving the ksh93-integration codebase ("prototype003")
from the old Solaris 11/B48-based tree to a new Solaris 11/B51-based
tree, now called "prototype004" (this is hopefully the last transition
before the putback - the next step is to integrate the upcoming ast-ksh
version from upstream to fix the "getconf" builtin command to be
compatible to the native Solaris version).

* Build instructions:
The new prototype004 sources can be build like this:

1. Pull sources and extract closed bin stuff (files can be
   obtained from opensolaris.org):
   $ mkdir test_x86 ; cd test_x86
   $ svn checkout
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype004/usr
   $ bzcat ../download/on-closed-bins-b51.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):
-- snip --
--- ./test1_x86/usr/src/tools/env/opensolaris.sh           Thu Sep 14 13:17:59
2006
+++ ./opensolaris.sh    Sun Jul 30 00:06:66 2006
@@ -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=test1_x86;           export GATE

 # 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
-- snip --

3. Run "bldenv":
   $ env - SHELL=$SHELL TERM=$TERM HOME=$HOME LOGNAME=$LOGNAME
DISPLAY=$DISPLAY LANG=C LC_ALL=C PAGER=less MANPATH=$MANPATH
/opt/onbld/bin/bldenv -d opensolaris.sh #

4. Build it (the quick way):
   $ cd test_x86/usr/src
   $ time nice make setup 2>&1 | tee -a buildlog_setup.log
   $ time nice dmake install >buildlog.log 2>&1


* Misc notes:
- The "prototype003" source tree is now CLOSED and no further commits
will be made to this codebase. All new commits will be applied to
"prototype004".

- The Changelog can be found at
http://polaris.blastwave.org/log/on/branches/ksh93/gisburn/prototype004?verbose=on

- The update procedure was less difficult this time (better than for
"prototype002" and almost identical to the procedure for "prototype003")
and more or less worked like this (Craig/April: a similar procedure
should be usefull to move the changes into your workspace):
-- snip --
svn mkdir -m 'Adding subdir for prototype004 work'
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype004
Committed revision 499.

svn cp -m 'Creating branch of OS/Net build 51 for ksh93-integration
prototype004' svn://svn.genunix.org/on/tags/b51/usr
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype004/
Committed revision 500.

svn diff -r 456:500
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype003 >xxx.diff

# generate list of files which get patched
cat ./tmp/xxx.diff | egrep "^\+\+\+ " | awk "{ print \$2 }"
>patched_files.txt

# create list of dirs which get patched
cat patched_files.txt | while read i ; do dirname "$i" ; done | sort -u
>patched_dirs.txt

# create dirs and add them to subversion
cat patched_dirs.txt | while read i ; do echo "## $i" ; mkdir -p "$i" ;
done

# create dirs and add them to subversion
cat patched_dirs.txt | while read i ; do echo "## $i" ; mkdir -p "$i" ;
done
(cat patched_dirs.txt | while read i ; do echo "## $i" ; svn add "$i" ;
done) 2>&1 | tee -a svnadddirslog.txt
svn add usr/src/lib/libcmd/*
svn add usr/src/lib/libcmd/*/*

# apply the patch
gpatch -p0 <../tmp/xxx.diff >patch.log

# check for rejected patch hunks:
$ cat patch.log | fgrep .rej
1 out of 3 hunks FAILED -- saving rejects to file
usr/src/pkgdefs/SUNWarc/prototype_com.rej
1 out of 3 hunks FAILED -- saving rejects to file
usr/src/pkgdefs/SUNWarc/prototype_sparc.rej
1 out of 3 hunks FAILED -- saving rejects to file
usr/src/pkgdefs/SUNWarc/prototype_i386.rej
1 out of 3 hunks FAILED -- saving rejects to file
usr/src/pkgdefs/SUNWcsl/prototype_com.rej
1 out of 3 hunks FAILED -- saving rejects to file
usr/src/pkgdefs/SUNWcsl/prototype_sparc.rej
1 out of 3 hunks FAILED -- saving rejects to file
usr/src/pkgdefs/SUNWcsl/prototype_i386.rej
2 out of 2 hunks ignored -- saving rejects to file
usr/src/lib/libcmd/common/llib-lcmd.rej
1 out of 2 hunks FAILED -- saving rejects to file
usr/src/lib/libcmd/Makefile.com.rej
8 out of 8 hunks ignored -- saving rejects to file
usr/src/lib/Makefile.rej

# fix rejects by hand

# add patched files to subversion
(cat patched_files.txt | while read i ; do echo "## $i" ; svn add "$i" ;
done) 2>&1 | tee -a svnfileadd.log
# verify that the "svn add" worked properly
cat svnfileadd.log | egrep -v "## usr/|is already under version control"
| less

# done.
-- snip --


Comments/suggestions/rants etc. welcome...

----

Bye,
Roland

-- 
  __ .  . __
 (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