Peter Memishian wrote:
>  > No, no no.  No.  Put the goddam thing in the source tree.  If you want
>  > to quote precedent, quote the stuff under the perl
>  > usr/src/cmd/perl/5.8.4/utils directory.  As long as it's clearly
>  > separate from the source that gets built, and there's a README that says
>  > what it's for, I can't see there is a problem.
> 
> Maybe I've misunderstood what this stuff is.  Is it random notes and
> "might be useful for next time"

No, replace "might be usefull" with "must be used" ...

> scripts that were used during the initial
> integration of ksh93 into ON?  Or scripts with clear instructions that
> could be reused during the next integration?

Both the *.diff files and "buildksh93.ksh" are used for _every_ update
and are expected to _change_ for each update.

"buildksh93.ksh" is used for each single update to build and test the
upstream sources with a stable build configuration which is independent
from the users environment or other settings (the script contains some
"tweaks" to the build configuration like enforcing XPG6+C99 to make sure
the includes are generated for the requested standard
level+conformance). Once the code has been build and tested the
generated includes in arch/<arch>/include/ast/* and arch/<arch>/src/*
are moved over into the matching locations within the OS/Net tree (the
procedure is repeated for both 32bit and 64bit).

The *.diff files are used to backout any modification to the upstream
sources in the OS/Net tree and are re-applied after the source update in
OS/Net is complete, restoring the Solaris-specific modifications. The
*.diff files are expected to be updated and maintained for each update
and their removal is expected to restore the exact status of the
original AST sources except that we distributed the AST library sources
into their matching locations in OS/Net (e.g. the source paths are
different).

The prodecure more or less works like this:
1. Unpack new upstream sources
2. Unpack old upstream sources
3. Make a diff between old and new upstream sources
4. Adjust paths in the diff file to match the source locations within
OS/Net
5. Backout the Solaris-specific modifications using the *.diff files in
usr/src/lib/libshell/misc/
6. Apply source patch to OS/Net
7. Re-apply the Solaris-specific modifications, update the  *.diff files
in usr/src/lib/libshell/misc/ if they do not apply cleanly anymore. Make
sure the *.diff files can be backed-out (e.g. $ gpatch -R -p0 ... #)
cleanly.

8. Unpack new upstream sources
9. Build upstream code for 32bit using "buildksh93.ksh"
10. Test the sources using "buildksh93.ksh"
11. Copy the files in arch/<arch>/include/ast/* and arch/<arch>/src/*
over to their matching locations in OS/Net

12. Repeat steps [8]-[11] for 64bit
13. Adjust OS/Net Makefiles (on demand)

14. Recompile the tree.
15. Test the shell using $ cd usr/src/cmd/ksh ; make testshell #

----

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