create ports from list

Chris Haulmark chris at sigd.net
Thu Jan 24 09:25:49 PST 2008



> Lowell Gilbert wrote:
> > hans at lambermont.dyndns.org (Hans Lambermont) writes:
> >
> >
> >> c.mm at 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 at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> > To unsubscribe, send any mail to "freebsd-ports-
> unsubscribe at freebsd.org"
> >
> couldn't you just
> 
> #existing server
> cd /var/db/ports
> find . -name options -print0 | xargs -0 tar cf options.tar
> 
> 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-
> unsubscribe at freebsd.org"


More information about the freebsd-ports mailing list