Date: Wed, 17 Jan 1996 14:52:47 +0100 From: "Julian H. Stacey" <jhs@vector.jhs.local> To: Poul-Henning Kamp <phk@critter.tfs.com> Cc: hackers@freebsd.org, "Jordan K. Hubbard" <jkh@time.cdrom.com>, Ollivier Robert <roberto@keltia.freenix.fr>, joerg@freebsd.org Subject: Re: Building a "custom" release of 2.1.0 Message-ID: <199601171352.OAA02448@vector.jhs.local> In-Reply-To: Your message of "Tue, 16 Jan 1996 09:02:18 %2B0100." <423.821779338@critter.tfs.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Reference: > From: Poul-Henning Kamp <phk@critter.tfs.com> > Subject: Re: Building a "custom" release of 2.1.0 > Date: Tue, 16 Jan 1996 09:02:18 +0100 > Message-id: <423.821779338@critter.tfs.com> Hackers, Poul-Henning wrote a private reply to my mail-list posting, The main thread & some of his reply are appended, + my follow-up. Intervening "> ...." sequences represent text from phk that politicians generally class as "a robust & frank exchange of views" ;-) > > Jordan, > > What was the rationale for FreeBSD going over to requiring CVS just to > > produce a release ? FreeBSD didn't use to do it that way. > ..... > > Involving CVS takes longer, uses more disc, so why ? > > Is it because the process becomes less stable, more likely to break, > > & thus is some kind of sensitivity/stability test ? > ..... > No, it's because it becomes more reliable and reproducible and it saves > a complete reinstall of a machine to make a sterile environment for the > release building process. I'm familiar with sterile OS builds, & techniques to build a new bin/ tree & use that for the next build etc, & checking such as gcc stage3 comparisons etc, it's just the CVS inclusion I'm puzzled by. If FreeBSD were doing a 2 stage {make all , install, chroot, remake } I wouldn't be querying the time taken, it's just the mandatory inbuilt CVS that's not obvious. > It's been this way since 2.0 actually so > ...... I know, I didn't ask 'till now, as now more people will be investigating the mechanism, it's interesting to know what extra benefits was obtained from the extra inconvenience of a slower build & more disk required. > We have actually had a lot > less build failures and botched release candidates since then. Yes, I understand how a CVS can offer us tracing, rollback, etc, but _Why_ does an automatic process that necessitates inbuilt CVS help the process, rather than leaving CVS unbundled from the process, & just manually running a command to extract the tree out of cvs into a /usr/src/ & then taking it from there ? > The prime focus of src/release/Makefile is to be a reliable process. > It's not intended to conserve rain-forest nor diskspace, and user- > friendliness is not even in the dictionary. > > If you don't have 1GB of disk to play on I recall Jordan told a respondent his ~600 M should do ? > and plenty of days to do so, Yes, releases are never easy. > then don't bother even thinking about it. > .............. I assumed it was done for a good reason, I just want to know _what_ the reason was (& if the reason will apply to other folks who'd like to try running the release build mechanism). > .......... I'm just interested to know why you do it the way you do :-) > .............. In 85/86 I automated the Siemens production of Sinix (+ some packages), to 2 or more releases, 2 architectures & 7 European languages. I never found it necessary to slow or bloat the process with SCCS (our base then didn't use CVS); so I'm interested to know what the embedded mandatory CVS has given us (that a manual pre-extract would not have)) . In the FreeBSD-1.* series we didnt incur the bloat & drag of CVS so I'm merely asking: _why_, what did it gain us (& is it still essential, & unavoidable ) ? Naturally reading release/Makefile provides details, but that just directs anyone interested to analyse the Makefile for complex current methodology. What I originally asked, (& I suspect a few others might be interested in), was a simple brief explanation of not _how_ CVS is called, but _why_ CVS is integrated in the build ? ( I have been under the impression CVS in FreeBSD release production is used for more than a simple checkout prior to make world ? ) This is not a criticism of the mechanism, just a simple wish to hear it's basics, in a few succinct words from whoever knows it. Julian -- Julian H. Stacey jhs@freebsd.org http://www.freebsd.org/~jhs/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601171352.OAA02448>