Path: utzoo!mnetor!uunet!husc6!hao!ames!pasteur!ucbvax!ulysses!ggs From: ggs@ulysses.homer.nj.att.com (Griff Smith) Newsgroups: comp.unix.questions Subject: Re: maintaining UNIX system source code Message-ID: <10158@ulysses.homer.nj.att.com> Date: 13 Mar 88 23:51:26 GMT References: <874@hsi.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 31 Keywords: RCS, BSD Summary: we use the file system instead of RCS In article <874@hsi.UUCP>, stevens@hsi.UUCP (Richard Stevens) writes: > How do you maintain the source code files for your UNIX ?? > > We're running 4.3 BSD on a VAX and use RCS. What we've been doing > for the last 4 years is to leave the BSD directories (/usr/src/...) > exactly as-is from the release tape. When we modify something, say > tar, we've been copying /usr/src/bin/tar.c into /usr/local/src/tar.c, > RCS'ing it and modifying it. > ... > Any ideas or comments as to how you're doing this ?? > > Richard Stevens > Health Systems International, New Haven, CT > { uunet | ihnp4 } ! hsi ! stevens We read the source distribution tape into a separate filesystem, which we call /source; it contains src and sys. After cleaning up any objectionable ownerships and permissions, we mount the filesystem read-only. We then create directory trees called /usr/src and /usr/sys where all type 'f' files are replaced by symbolic links to the real files in /source. The first time we want to modify a file, we remove the link, copy the file into the working source tree, then edit the copy. This strategy satisfies a vocal "let freedom ring" contingent who would otherwise hack at the original source without leaving traces, and it simplifies audits for the rest of us. Whenever I want a summary of all local edits, I just use "diff -r /source/src/... /usr/src/...". -- Griff Smith AT&T (Bell Laboratories), Murray Hill Phone: 1-201-582-7736 UUCP: {allegra|ihnp4}!ulysses!ggs Internet: ggs@ulysses.att.com