Date: Tue, 28 Oct 1997 10:02:48 +0000 From: nik@iii.co.uk To: Christopher Allen <gmfangs@asmrb.org> Cc: freebsd-doc@freebsd.org Subject: Re: Problem with make install in modula-3-lib-3.6 Message-ID: <19971028100248.36060@iii.co.uk> In-Reply-To: <v03110703b07ab7b21c36@dynamic-addr-115.consensus.com>; from Christopher Allen on Mon, Oct 27, 1997 at 02:41:04PM -0700 References: <v03110700b0780cf82dc1@lr8e1-port6.zocalo.net>; <v0311071eb076ebcb87cc@dynamic-addr-115.consensus.com>; <v0311070bb07693f4dfc8@dynamic-addr-115.consensus.com> <199710241919.MAA16170@austin.polstra.com> <v0311071eb076ebcb87cc@dynamic-addr-115.consensus.com> <19971025113557.59209@iii.co.uk> <v03110700b0780cf82dc1@lr8e1-port6.zocalo.net> <19971026112422.00542@iii.co.uk> <v03110703b07ab7b21c36@dynamic-addr-115.consensus.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 27, 1997 at 02:41:04PM -0700, Christopher Allen wrote: > At 4:24 AM -0700 10/26/97, nik@iii.co.uk wrote: > >The specific aim is for it to take someone who has version 'n' of FreeBSD > >installed, and the source code for version 'n+x' in /usr/src, and how to > >use that source code to upgrade their system. > > I think there should be a document that gets a relative novice from the > CD-ROM distribution to a net-distributed distribution. It is 80% similar to > your document, but your document has to do so much more as someone could be > upgrading from any version. So could someone going from a CD-ROM to a version downloaded from the 'net. At home at the moment I have versions of FreeBSD 2.1.7, 2.2 and 2.2.2 on CD-ROM. I could install any of those and then download the src from the 'net over the top. What I probably need to do is split the existing document into 'n' sections. Section 1 covers the general theory behind 'make world', and all the version independent information, and sections 'n+1 through n+x' go through the bits that are different for each version of FreeBSD that I know about. I'm not sure (yet) how to go about this, since there are a number of changes to the build system that I'm not overly familiar with (the 'buildworld' and 'installworld' targets, for example) I need a 32 hour day, with 8 days a week (and 256 days a year). > At 4:24 AM -0700 10/26/97, nik@iii.co.uk wrote: > >It doesn't really care what method you're using to get the latest source > >code, whether it's CTM, CVS, copying-from-a-CD-you've-just-bought or some > >other distribution method. > > I just think a quick link should be there in your tutorial. Your tutorial > is in an entirely different section then the handbook, and is fairly close > to the top, thus I found it first. You have to read the handbook to find > the updating source code stuff. True enough. I'll put it on the TODO list. > >For example, /usr/src/etc/etc.i386 contains rc.i386, which should go into > >/etc, disktab, which should go into /etc, and MAKEDEV, which should go into > >/dev. If you just copy from /usr/src/etc to /etc you'll get a /etc/etc.i386 > >directory, which is very wrong. > > I didn't realize this, and they /etc.i386/ files were not properly moved in > my system. I made *exactly* the same mistake 6 months ago (or thereabouts). That's what made me write the tutorial in the first place. And that's why you need to go through the "make distribution" step in /usr/src/etc. > Worse is the issue of removing files -- ouch, that is hard, as there are so > many files in /etc that are not put in by the 2.2-stable release, so it is > hard to tell which ones are "old" and should be removed, vs. added by > something else. Even your tutorial doesn't help much there. This section > really could use some help to make it easier. Assuming you followed the steps in the tutorial, it's basically a case of foreach file in /var/tmp/root/etc/ if the file also exists in /etc * Examine both files, and merge in any changes else Copy the file to /etc end if end for foreach file in /etc if the file does not exist in /var/tmp/root/etc * if the file is not used by a port/package remove it, possibly merging it's functionality into another file end if end if end for The difficult bit is the two lines marked with an asterisk. I wouldn't trust any piece of software to be able to merge in the changes without my intervention, and there's no way for a piece of software to know that (for example) /etc/amanda.conf is used by the AMANDA port, and should be kept, but that /etc/sysconfig has been obsolete by /etc/rc.conf, and can be safely removed. To an extent, it depends how well you know your system. I'm the only admin on my FreeBSD systems, so I know what's installed and what files it uses. If you've got multiple admins working on a bunch of systems then it's up to them to make sure their documentation is kept up to date so they know what files go where. > >If you haven't changed your kernel from the original GENERIC then that will > >also work. If you have done then you will need to go through the steps > >outlined in the tutorial to make sure that everything still works, and has > >the same syntax. > > I do believe that the above at minimum should be in your tutorial, as the > build kernel stuff you refer to is more than what most new people need. Hmm. No offence intended, but if people can't follow the instructions to build a new kernel then they probably shouldn't be running 'make world'. Screwing up your kernel just makes it slightly trickier to boot (since you can just enter /kernel.old and get your old kernel if you make a mistake). Screwing up 'make world' can leave your system in a very stuffed state. It also puts text in the tutorial that shouldn't (IMHO) be there. That sort of 'kernel build quick start' really belongs in the "Building a new kernel" part of the handbook. N -- --+==[ Nik Clayton is Just Another Perl Hacker at Interactive Investor ]==+-- The only use I have for IE4 is to keep the mug from staining the desk
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19971028100248.36060>