1: <pre>
2: Description of LON-CAPA Makefile
3:
4: Scott Harrison
5:
6: 1. What is it and where is it?
7: ------------------------------
8: LON-CAPA's Makefile is in CVS:loncom/build.
9: The Makefile controls compilation
10: of the CVS source tree and subsequent installation
11: onto the target filesystem.
12:
13: The most commands to run are:
14: make build
15: and
16: make install
17:
18: There are additional targets for producing
19: status reports related to files and software
20: packages present on your system.
21:
22: 2. How and when are files backed up during "make install"?
23: ----------------------------------------------------------
24: LON-CAPA groups files into different categories according
25: to CVS:doc/loncapafiles.lpml. There are 'conf' files
26: which are configuration files, and there are about six other
27: categories. "make install" operates differently depending on
28: the category of file to install.
29:
30: * CATEGORY='conf' and .lpmlnew
31: 'conf' files are NEVER overwritten. When there are changes
32: in the CVS source repository, the user is notified, and
33: a TARGETFILENAME.lpmlnew file is made instead of overwriting
34: the current TARGETFILENAME. The user must then
35:
36: * CATEGORY=non-'conf' and .lpmlsave
37: non-'conf' files are ALWAYS overwritten (if there is a md5sum
38: change). If the target file is both different than the source file
39: and suspiciously newer than the last CVS/Entries date, a
40: TARGETFILENAME.lpmlsave file is made and the user is WARNED.
41:
42: 3. What if I can't remember all of this?
43: ----------------------------------------
44: LON-CAPA's make targets now log messages in a WARNINGS file
45: and, at the end, outputs a synopsis of things for the user to take a look
46: at (conf file changes, file permissions and ownership alterations,
47: unexpectedly new non-conf target files, etc).
48:
49: You should be able to run these commands, look at
50: the WARNINGS file, and be confident as to the preservation and
51: status of files BEFORE and AFTER the upgrade.
52: </pre>
53:
54:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>