From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Subject: Re: [9fans] bug fix to oct 14 release From: "rob pike" MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20001019154715.63AB2199DF@mail> Date: Thu, 19 Oct 2000 11:47:13 -0400 Topicbox-Message-UUID: 1795159e-eac9-11e9-9e20-41e7f4b1d025 The previous, 1995 release was put together by an elaborate script that pulled things out of the main tree. It was difficult to maintain and required people to stop working as we neared the release date. We can't just tar up our tree because much of the stuff in our system is proprietary or unreleasable for one reason or another; we must do an intricate slice of the tree, eliminating some parts, adding others, and making substitutions for still others. This round, we tried a different and I think ultimately more satisfactory method: we built a complete tree on the side, in the final form for the distribution, and copied stuff over as it developed. Once it's ready, we just bundle it up and ship it. This has several advantages: it's easy; people can work in the main tree while the distribution is being built; once the distribution tree is ready, it is preserved in its final form; we can do full builds in the test tree to make sure the distribution builds itself (very difficult to do with the old method without installing the distribution package from scratch on a private system); and so on. The biggest advantage of all is that this method makes it much much easier to update the distribution; the prior method works well only for a one-off. Scripts check the contents of the distribution tree with the main tree, modulo various modifications, and catch most things that need updating. However, newly created stuff in the main tree must be copied by hand, which is why most of the glitches you see are for minor aspects of the system that are embodied in new files. (The tcp25 error was just sloppy.) Building the newest update from the July one took maybe two hours of my time to assemble and another 6 or so to test. Compared to the previous method, that's instantaneous. -rob