Hi!
----
I've finished moving the ksh93-integration codebase ("prototype004")
from the old Solaris 11/B51-based tree to a new Solaris 11/B61-based
tree, now called "prototype005" (this is hopefully the last transition
before the putback, AFAIK all major issues have been adressed, including
the "list of unreferenced files"-issues and the AST l10n build (which
was temporarily disabled (see
http://bugs.grommit.com/show_bug.cgi?id=118) until the build machines
have been updated to a build which contains ksh93)).
* Build instructions:
The new prototype004 sources can be build like this:
1. Pull sources and extract closed bin stuff (files can be
http://dlc.sun.com/osol/on/downloads/b61/):
$ mkdir test_x86 ; cd test_x86
$ svn checkout
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype005/usr
$ bzcat <../download/on-closed-bins-b61.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 06 00:06:66 2666
@@ -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 XAUTHORITY=$XAUTHORITY 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 "prototype004" source tree is now CLOSED and no further commits
will be made to this codebase. All new commits will be applied to
"prototype005".
- The Changelog can be found at
http://polaris.blastwave.org/log/on/branches/ksh93/gisburn/prototype005?verbose=on
- The update procedure was almost identical to the switch from
"prototype003" to "prototype004":
-- snip --
$ svn mkdir -m 'Adding subdir for prototype005 work'
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype005
Committed revision 675.
$ svn cp -m 'Creating branch of OS/Net build 61 for ksh93-integration
prototype005' svn://svn.genunix.org/on/tags/b61/usr
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype005/
Committed revision 676.
mkdir tmp
cd tmp
svn diff -r 500:676
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype004 >xxx.diff
cd ..
svn checkout
svn://svn.genunix.org/on/branches/ksh93/gisburn/prototype005/usr
cd usr
# 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
(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"
2 out of 2 hunks ignored -- saving rejects to file
usr/src/pkgdefs/SUNWarc/prototype_com.rej
2 out of 2 hunks ignored -- saving rejects to file
usr/src/pkgdefs/SUNWarc/prototype_sparc.rej
2 out of 2 hunks ignored -- saving rejects to file
usr/src/pkgdefs/SUNWarc/prototype_i386.rej
4 out of 4 hunks ignored -- saving rejects to file
usr/src/pkgdefs/SUNWcsl/prototype_com.rej
4 out of 4 hunks ignored -- saving rejects to file
usr/src/pkgdefs/SUNWcsl/prototype_sparc.rej
4 out of 4 hunks ignored -- saving rejects to file
usr/src/pkgdefs/SUNWcsl/prototype_i386.rej
2 out of 2 hunks ignored -- saving rejects to file
usr/src/pkgdefs/SUNWcsr/prototype_com.rej
2 out of 2 hunks ignored -- saving rejects to file
usr/src/pkgdefs/etc/exception_list_sparc.rej
2 out of 2 hunks ignored -- saving rejects to file
usr/src/pkgdefs/etc/exception_list_i386.rej
3 out of 3 hunks ignored -- saving rejects to file
usr/src/tools/findunref/exception_list.rej
3 out of 9 hunks FAILED -- saving rejects to file
usr/src/lib/libc/port/regex/wordexp.c.rej
2 out of 2 hunks ignored -- saving rejects to file
usr/src/lib/libc/amd64/Makefile.rej
2 out of 8 hunks FAILED -- saving rejects to file
usr/src/lib/Makefile.rej
3 out of 3 hunks ignored -- saving rejects to file
usr/src/Targetdirs.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;)