Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Dec 2002 13:35:14 -0800
From:      George Hartzell <hartzell@kestrel.alerce.com>
To:        freebsd-ports@freebsd.org
Subject:   NFS mounting the ports tree.
Message-ID:  <15855.50834.811514.388015@rosebud.alerce.com>

next in thread | raw e-mail | index | archive | help

I have a group of machines, one that is big and powerful, and others
which are lighter weight.  I'd like to maintain a central repository
of stuff on the big machine and let the littler guys take advantage of
it.

Everything is currently FreeBSD 4.7p2.

I have successfully mounted /usr/src and /usr/obj onto the client and
used "make installkernel KERNCONF=FOOBAR" and "make installworld" w/
mergemaster to update the lighter weight machines.

I want to track the ports tree.  If anyone out there is living this
way, I'd love to hear how you do it.  I have a few points of confusion
in my stumbling around:

  1) I found the section of the freebsd handbook that explains how to
     set up the distfiles directory and the workdirectory.  This
     still seems to require that the client actually build the thing,
     which is what I'm trying to avoid.
     (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/small-lan.html)

  2) I've tried just mounting /usr/ports, cd'ing into the directory of
     interest, and doing a "make install".  This fails quickly, since
     the INSTALLCOOKIE is there.

     Doing a "make deinstall" then a "make install" works for simple
     ports, but sometimes causes recompilation.

  3) Metaports really break the approach described in 2) above.  "make
     deinstall" predictably enough doesn't do much.  "make
     deinstall-dependencies" seems to work, but some things seem to
     end up being recompiled even though everythings all ready to go.

     And sometimes the deinstall seems to do more than just remove the
     cookies, but actually rips out something that's already there.

     And sometimes there are dependencies which don't seem to be
     supported.  For example, the gnome2 metaport wants freetype,
     which in turn needs gmake.  And someone somewhere else in the
     metaport (didn't write the details down) needed unzip.  It's not
     clear to me if these are bugs in the dependency lists for the
     gnome2 metaport or if it's caused by the broken thing I'm trying
     to do. 

The best alternative that I've found seems to be to have the server
build packages from the ports, put them in a common place, and install
from there.

Is this what people are doing?  Does it work right in the context of
metaports (e.g. do the ports recursively make packages?, do they get
the dependencies correct)?  [Some of these I can beat on empirically]

Is it possible for the server to build and package a port that it
wants to share out, w/out actually installing it itself?

I've had trouble trying to do a "make package" when I've already done
a "make install".  It shows the same behaviour that I get when I
repeat a "make install".  Are "package" and "install" mutually
exclusive?

g.

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




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