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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19971028100248.36060>
