Switching from building ports to packages

Chad J. Milios milios at ccsys.com
Mon Sep 15 03:06:00 UTC 2014


On 09/14/14 16:34, Matt Reimer wrote:
> I'd like to switch from building everything from source using ports to
> using packages as much as possible. This requires identifying which ports
> I'm currently building use the same port knobs as the binary packages that
> FreeBSD builds. Is there an easy way of showing how my port configs differ
> from the defaults that are used to build binary packages?
>
> Thanks in advance.
>
> Matt
>
this script below will do exactly that from the port building machine if 
you built them all in one place. (it gathers from 
/var/db/ports/*/options but does not mine the data from 
/var/db/pkg/local.sqlite.) if you'd like to extract options out of your 
installed binary pkg ng's or pkg_og's or dir of .txz's or .tbz's laying 
around somewhere and compare those to the current ports tree, let me 
know. it's slightly more difficult but not terrible.

in case of mail munging and for your convenience this script is posted 
to https://cargobay.net/LpYDhX3U with SHA256 (LpYDhX3U) = 
4ef3dae564d861fd32efad267bb3e360a498d4688bb86fca7e2a0a195e58a34f

#!/bin/sh
_=/dev/null
cd /usr/ports
_a="PORT_DBDIR=/var/empty"
for p in /var/db/ports/*; do
	p=${p#/*/*/*/}
	c=${p%%_*}
	d=${p#*_}
	if cd $c/$d; then
		for z in a b; do
			eval make \$_$z showconfig 2>$_ > /tmp/$$.$z
		done
		if ! diff /tmp/$$.[ab] >$_; then
			echo $c/$d
			diff /tmp/$$.[ab] | grep "^>" | cut -c 2-
		fi
		cd ../..
	fi
done
rm /tmp/$$.[ab]



More information about the freebsd-ports mailing list