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

Reply via email to