Date: Fri, 18 Apr 2008 18:39:55 +0100 From: RW <fbsd06@mlists.homeunix.com> To: freebsd-questions@freebsd.org Subject: Re: overnight upgrade interrupted by questions Message-ID: <20080418183955.2a6ac178@gumby.homeunix.com.> In-Reply-To: <200804152002.20097.fbsd.questions@rachie.is-a-geek.net> References: <200804151245.03033.lists-fbsd@shadypond.com> <4804A46B.20307@otenet.gr> <919383240804150626xe343795l84d99cfaad68435@mail.gmail.com> <200804152002.20097.fbsd.questions@rachie.is-a-geek.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 15 Apr 2008 20:02:19 +0200 Mel <fbsd.questions@rachie.is-a-geek.net> wrote: > If you wanted to script the first case, you'd do the following in > every origin that needs updating: I have a similar script, that works globally, recursing down from each out-of-date port through any missing origins. If you call it with "-a" it runs over all installed ports - useful if you want to clear everything and start again. # cat /root/bin/portsconf #!/bin/sh IFS=" " : ${PORTSDIR:=/usr/ports} if [ "${1}x" = "-ax" ] ; then pvflags='-oq' else pvflags="-oql\<\>" fi visited_origins= recurse_origins(){ cd "${PORTSDIR}/${1}" # need to configure before recursing in case dependencies change make config-conditional for d in `make build-depends-list run-depends-list | grep -Eo "[^/]+/[^/]+$"` ;do installed=`pkg_info -qO ${d}` if [ -z "$installed" ] ;then if ! echo "$visited_origins" | grep "$d" >/dev/null ; then visited_origins="$visited_origins $d" recurse_origins $d fi fi done } for orig in `pkg_version ${pvflags} ` ; do recurse_origins $orig done
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080418183955.2a6ac178>