Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Mar 1998 19:44:39 -0800 (PST)
From:      Thomas Dean <tomdean@ix.netcom.com>
To:        freebsd-questions@FreeBSD.ORG
Subject:   Two Source Trees for Several Machines
Message-ID:  <199803160344.TAA05037@ix.netcom.com>

next in thread | raw e-mail | index | archive | help
I seem to remember a brief discussion of this in the past, but, could
not find it in the archives.  Most likely, I searched for the wrong
string.

I have several systems that I want to support from a pair of local
source trees.  I want to keep several machines at the -stable level.

My systems are connected:

---ppp------ SMP ----------+------ -stable
                           |
                           +------ -stable
                           |
                          ...
                           |
                           +------ -stable

The SMP machine is faster and has lots of disk space.  The -stable
machines have limited disk space.  I plan to have two trees of source
code:

    /usr/src/...                  for the SMP machine
and
    /usr/FreeBSD-stable/src/...   for the other machines

And, two trees of obj's:

    /usr/obj/...                  for the SMP machine
and
    /usr/FreeBSD-stable/obj/...   for the other machines

I plan to cvsup -current (bi-weekly?) and -stable (monthly?)  into the
respective trees.  In the supfile, for base and prefix, instead of
using '/usr', I will use '/usr/FreeBSD-stable' for -stable.

Will this work?  Are there any other changes necessary to the cvsup
process?  Are all the paths in the cvsup process relative?  Are all
the paths in the Makefiles relative?

On one of the -stable machines, I will do a 
  'mount -w SMP:/usr/FreeBSD-stable/src/ /usr/src'
and
  'mount -w SMP:/usr/FreeBSD-stable/obj /usr/obj'.

On the SMP machine, I will clean the /usr/FreeBSD-stable/src tree. I
want to do it here because it is much faster, and should work.

On one of the -stable machines, I will do a 'make world'.

After this, 'make installworld' should work on each of the other -stable
machines.

Will I may have to have 2 ports trees?  Are there other things that I
have to split?

Has anyone tried this?

I have tried parts of this with ports.  I exported ports and mounted
it on one of the -stable machines.  After doing a 'make clean' on the
SMP machine, I did a 'make' and 'make install' on one of the -stable
machines and it worked.

I tried this with the -current tree.  I was able to make a new kernel
on for one of the -stable machines and install it.  Then, I did a
'make clean' in the SMP /usr/src and did a make world on one of the
-stable machines.  The make failed late in the game.  However, enough
of it worked that I was able to boot -current on one of the -stable
machines.  But, some things like nfs were screwed and I reverted to
2.2.5.

Are there any gotcha's in this?

I hate to burn all the network time if someone sees an obvious gotcha.

tomdean

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803160344.TAA05037>