From owner-freebsd-ports@FreeBSD.ORG Mon Sep 15 03:06:00 2014 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A827B858 for ; Mon, 15 Sep 2014 03:06:00 +0000 (UTC) Received: from cargobay.net (cargobay.net [174.136.100.98]) by mx1.freebsd.org (Postfix) with ESMTP id 9435CC8B for ; Mon, 15 Sep 2014 03:05:59 +0000 (UTC) Received: from naruto.ccsys.com (unknown [70.127.245.68]) by cargobay.net (Postfix) with ESMTPSA id 38696677; Mon, 15 Sep 2014 03:05:52 +0000 (UTC) Message-ID: <5416587D.6040306@ccsys.com> Date: Mon, 15 Sep 2014 03:09:49 +0000 From: "Chad J. Milios" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: Matt Reimer , freebsd-ports Subject: Re: Switching from building ports to packages References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Sep 2014 03:06:00 -0000 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]