Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jan 2008 12:26:20 -0500
From:      "Chris Haulmark" <chris@sigd.net>
To:        "Andy Greenwood" <greenwood.andy@gmail.com>, <freebsd-ports@freebsd.org>
Subject:   RE: create ports from list
Message-ID:  <6FC9F9894A9F8C49A722CF9F2132FC2210193899@ms05.mailstreet2003.net>
In-Reply-To: <47976EE9.108@gmail.com>
References:  <20080122151037.316850@gmx.net>	<20080122184553.GD30918@leia.lambermont.dyndns.org><44wsq0wyam.fsf@Lowell-Desk.lan> <47976EE9.108@gmail.com>

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


> Lowell Gilbert wrote:
> > hans@lambermont.dyndns.org (Hans Lambermont) writes:
> >
> >
> >> c.mm@gmx.net wrote:
> >>
> >>
> >>> I have a server with round about 200 installed Ports. I need
> >>> to setup a second server with the same, but slightly newer,
> >>> ports recompiled from source.
> >>>
> >>> Is there an easy way to crate a port list
> >>>
> >> Use the Root and Leaf sections from 'portmaster -l'
> >> (ports-mgmt/portmaster) and skip the Trunk and Branch sections.
> >>
> >
> > Or just take the output from pkg_info directly; portmaster will
> figure
> > out the dependencies on its own, so including the non-leaf ports is
> no
> > problem.  The other tools (e.g., portupgrade) will do the same
thing.
> >
> >
> >>> with compile options
> >>>
> >> I try to use ports.conf (ports-mgmt/portconf) for this, but it does
> not
> >> include the OPTIONS framework (/var/db/ports/*/options) .
> >>
> >> Maybe someone else can help further on this point, and
> >>
> >
> > Seems like a one-liner of a shell script.  Maybe something like;
> > # cd /usr/ports; for portname in `cat /path/to/port/list` ; do (cd
> $portname; make config) ; done
> > (untested)
> >
> >
> >>> and feed a build command on the second server with it?
> >>>
> >> on this one as well. (I use my own script portsinstall.sh for this,
> it
> >> uses a list like x11/xorg x11/kde3 devel/glib20 ...)
> >>
> >
> > My one-liner assumes a similar list.
> >
> > A brute force approach is to feed the whole list into portinstall
(or
> > portmaster, etc.).
> > _______________________________________________
> > freebsd-ports@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> > To unsubscribe, send any mail to "freebsd-ports-
> unsubscribe@freebsd.org"
> >
> couldn't you just
>=20
> #existing server
> cd /var/db/ports
> find . -name options -print0 | xargs -0 tar cf options.tar
>=20
> Then copy the options.tar file to the new server and extract it into
> the
> /var/db/ports directory? Then building the ports should see the
options
> files, and assume that you've already run make config, right?


Why not create packages on the first server from those installed ports
after
all those outdated ports were upgraded.  They should already have those
options applied in when the packages are created.

Something like this:

http://lists.freebsd.org/pipermail/freebsd-questions/2005-February/07751
8.html

Then you can move the packages over to the other machine and do:
pkg_add /path/to/all/the/ports/*

Chris

> _______________________________________________
> freebsd-ports@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-
> unsubscribe@freebsd.org"



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