FREEBSD-upgrade revision 156288
1155310SrwatsonUpgrade Instructions for OpenBSM
2155310Srwatson--------------------------------
3155310Srwatson
4156288SrwatsonOpenBSM integrates into the FreeBSD source tree in several places:
5155310Srwatson
6156288Srwatsonsrc/contrib/openbsm        The OpenBSM distribution itself
7156288Srwatsonsrc/sys/bsm                Modified versions of some bsm/ include files
8156288Srwatsonsrc/sys/security/audit     Kernel audit framework, some OpenBSM-based files
9156288Srwatsonsrc/usr.sbin/*audit*       Makefiles for various OpenBSM tools
10156288Srwatsonsrc/etc/Makefile           Installation of /etc OpenBSM files
11156288Srwatsonsrc/lib/libbsm/*           Build for OpenBSM library
12156288Srwatson
13156288SrwatsonOpenBSM is normally built using an integrated autoconf/automake build
14156288Srwatsonsystem.  For the purposes of tight integration with FreeBSD, we use an
15156288Srwatsonadapted BSD make (bmake) build system loosely based on the autmake
16156288Srwatsonsetup.  We also rely on a static config.h generated when OpenBSM is
17156288Srwatsonimported, rather than re-configuring every build.  This leads to a
18156288Srwatsonmore reproduceable build environment, and avoids dependence on things
19156288Srwatsonnot in the base tree (i.e., autoconf, automake, GNU make, etc).  An
20156288Srwatsonupgrade of OpenBSM generally involves the following steps:
21156288Srwatson
22156288Srwatson- Vendor import of OpenBSM into src/contrib.
23156288Srwatson- Run configure, commit src/contrib/openbsm/config/config.h.
24156288Srwatson- Replication of src/contrib/openbsm/bsm changes into src/sys/bsm.
25156288Srwatson- Possible updates to src/sys/security/audit, especially relating to
26156288Srwatson  bsm_token.c.
27156288Srwatson- Update any library, tool, or etc BSD Makefiles to add new files,
28156288Srwatson  defines, or other generally useful or necessary things.
29156288Srwatson
30156288SrwatsonNormally, the CVS vendor import goes along the following lines:
31156288Srwatson
32155310Srwatson  cd ~/p4/projects/trustedbsd/openbsm
33155363Srwatson  cvs -d rwatson@repoman.FreeBSD.org:/home/ncvs -q import src/contrib/openbsm \
34155310Srwatson        TrustedBSD OPENBSM_1_0_ALPHA_1
35155310Srwatson
36155310SrwatsonReplacing the version string as required.  Use the "-n" argument to CVS to
37155310Srwatsondo a test run.
38155310Srwatson
39156288SrwatsonPropagation of changes to src/sys/{bsm,security/audit} is something that
40156288Srwatsonrequires careful coordination and attention to detail.  These files are
41156288Srwatsonnot on CVS vendor branches, but do have the same local vs. vendor merge
42156288Srwatsonissues.
43155310Srwatson
44155310Srwatson$FreeBSD: head/contrib/openbsm/FREEBSD-upgrade 156288 2006-03-04 16:50:04Z rwatson $
45