Skip site navigation (1)Skip section navigation (2)
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>