]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/openbsm/FREEBSD-upgrade
This commit was generated by cvs2svn to compensate for changes in r161863,
[FreeBSD/FreeBSD.git] / contrib / openbsm / FREEBSD-upgrade
1 Upgrade Instructions for OpenBSM
2 --------------------------------
3
4 OpenBSM integrates into the FreeBSD source tree in several places:
5
6 src/contrib/openbsm        The OpenBSM distribution itself
7 src/sys/bsm                Modified versions of some bsm/ include files
8 src/sys/security/audit     Kernel audit framework, some OpenBSM-based files
9 src/usr.sbin/*audit*       Makefiles for various OpenBSM tools
10 src/etc/Makefile           Installation of /etc OpenBSM files
11 src/lib/libbsm/*           Build for OpenBSM library
12
13 OpenBSM is normally built using an integrated autoconf/automake build
14 system.  For the purposes of tight integration with FreeBSD, we use an
15 adapted BSD make (bmake) build system loosely based on the automake
16 setup.  We also rely on a static config.h generated when OpenBSM is
17 imported, rather than re-configuring every build.  This leads to a
18 more reproduceable build environment, and avoids dependence on things
19 not in the base tree (i.e., autoconf, automake, GNU make, etc).  An
20 upgrade of OpenBSM generally involves the following steps:
21
22 - Vendor import of OpenBSM into src/contrib.
23 - Run configure, commit src/contrib/openbsm/config/config.h.
24 - Replication of src/contrib/openbsm/bsm changes into src/sys/bsm.
25 - Possible updates to src/sys/security/audit, especially relating to
26   audit_bsm_token.c.
27 - Update any library, tool, or etc BSD Makefiles to add new files,
28   defines, or other generally useful or necessary things.
29
30 Normally, the CVS vendor import goes along the following lines:
31
32   cd ~/p4/projects/trustedbsd/openbsm
33   cvs -n -d rwatson@repoman.FreeBSD.org:/home/ncvs -q import \
34         src/contrib/openbsm TrustedBSD OPENBSM_1_0_ALPHA_1
35
36 Replacing the version string as required.  Remove the "-n" argument once
37 the import is tested in order to perform the actual import.
38
39 Propagation of changes to src/sys/{bsm,security/audit} is something that
40 requires careful coordination and attention to detail.  These files are
41 not on CVS vendor branches, but do have the same local vs. vendor merge
42 issues.  Remember that contrib/openbsm (and the rest of the system) will
43 be built with the version of the bsm/ include files in src/sys/bsm, not
44 the version in contrib/openbsm/bsm, so buildworld tests before committing
45 are necessary, and the commits to various parts of the system must be
46 made in close succession.
47
48 $FreeBSD$