Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Sep 2005 12:46:49 +0400
From:      "Andrew P." <infofarmer@gmail.com>
To:        Gordon Ross <freebsd@gordonross.org.uk>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Sharing /usr/ports
Message-ID:  <cb5206420509270146304e67f0@mail.gmail.com>
In-Reply-To: <Pine.BSO.4.61.0509241657210.31419@openbsd36-1.gordonross.me.uk>
References:  <Pine.BSO.4.61.0509241657210.31419@openbsd36-1.gordonross.me.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 9/24/05, Gordon Ross <freebsd@gordonross.org.uk> wrote:
> I've got two FreeBSD 5.4 machines. One is a server, the other is a
> desktop.
>
> I've mounted on the desktop the /usr/ports directory from the server. My
> idea being that I could share the one /usr/ports directory amongst my
> machines and save disc space, and also save having to recompile everythin=
g
> whenever I install a port.
>
> My problem is that, if I do a "make" on one machine, I can't then do a
> "make install" on the other machine. (When I try, nothing happens)
>
> I haven't mounted any of the directories from under /var/db (e.g. pkg,
> ports)
>
> Is what I'm trying to do possible ?
> If so, what am I missing or doing wrong ?
>

Like others have already told you here, the best solution
is packaging. There is a problem though - you can't make
a package without installing the port first.

If you're using portupgrade the whole thing is very simple.
You mount /usr/ports from your file server on every client
machine, and 'setenv WRKDIRPREFIX /usr/local/mywrk'.

Then you just always run portupgrade with the -p switch
on your fast machines, and use -PP (double P) switch
on your slow machines. If they are all of single architecture
and you don't put some very custom stuff in /etc/make.conf,
it'll all work completely hassle-free.

You'll also want to ensure that portupgrade uses the same
ports db driver on all machines. dbm_hash is probably the
most portable one, so you can place
    ENV['PORTS_DBDRIVER'] =3D 'dbm_hash'
in /usr/local/etc/pkgtools.conf on every machine.

>From then on you can "portsnap fetch && portsnap update \
&& portsdb -uUF && portupgrade -arRF" every morning,
"portupgrade -aprR" on your build boxes, "portupgrade -arRPP"
on your other boxes - and then just relax sit back and enjoy
the magical feeling of being up-to-date.


Cheerz,
Andrew P.



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