Date: Thu, 14 Feb 2013 18:06:37 -0800 From: Jeremy Chadwick <jdc@koitsu.org> To: Adam McDougall <mcdouga9@egr.msu.edu> Cc: "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>, Rainer Duffner <rainer@ultra-secure.de> Subject: Re: Why does poudriere always rebuild nginx and GraphicsMagick13? Message-ID: <20130215020637.GA97558@icarus.home.lan> In-Reply-To: <20130215012919.GW36563@egr.msu.edu> References: <E0D1E20F-8FF1-45D1-8E09-C856FA0E88D6@ultra-secure.de> <20130212221103.GG12760@ithaqua.etoilebsd.net> <6088089D-3E61-4C82-94D4-319E48CF718B@ultra-secure.de> <20130215012919.GW36563@egr.msu.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 14, 2013 at 08:29:19PM -0500, Adam McDougall wrote: > On Fri, Feb 15, 2013 at 12:37:19AM +0100, Rainer Duffner wrote: > > Am 12.02.2013 um 23:11 schrieb Baptiste Daroussin <bapt@freebsd.org>: > > > On Tue, Feb 12, 2013 at 10:59:28PM +0100, Rainer Duffner wrote: > >> Hi, > >> > >> poudriere 2.2 here, running on 9.1-amd64 > >> > >> Of the 730-ish ports, whenever I run a build, it always rebuilds the above two ports. > >> Even if nothing changed. > > ====>> Options changed, deleting: GraphicsMagick-nox11-1.3.16_1.txz > ====>> Options changed, deleting: nginx-1.2.6,1.txz > > Somehow, it thinks the options have changed. > Maybe, the options-file has an error? > > Regards, > Rainer > > Try deleting the options file for each and run poudriere twice to test. > I had the same problem with mailman and it turned out I was missing a > required but not enforced option due to another option I had selected. Note: I have no familiarity with this tool or its code. *sigh* Oh look, more shell hell... :-) Here's the code for what causes the "Options changed" logic to get called (I did not include pkg_get_options() nor pkg_cache_dir() definitions, i.e. functions used within src/poudriere.d/common.sh): 1355 # Check if the compiled options match the current options from make.conf and /var/db/options 1356 if [ "${CHECK_CHANGED_OPTIONS:-no}" != "no" ]; then 1357 current_options=$(injail make -C /usr/ports/${o} pretty-print-config | tr ' ' '\n' | sed -n 's/^\+\(.*\)/\1/p' | sort | tr '\n' ' ') 1358 compiled_options=$(pkg_get_options ${pkg}) 1359 1360 if [ "${compiled_options}" != "${current_options}" ]; then 1361 msg "Options changed, deleting: ${pkg##*/}" 1362 if [ "${CHECK_CHANGED_OPTIONS}" = "verbose" ]; then 1363 msg "Pkg: ${compiled_options}" 1364 msg "New: ${current_options}" 1365 fi 1366 delete_pkg ${pkg} 1367 return 0 1368 fi 1369 fi Note what the comment says. I have no idea what /var/db/options is, but possibly it's referring to /var/db/ports/*/options. You might try setting CHECK_CHANGED_OPTIONS=verbose (wherever it gets that from). It should print something helpful to you which you can use to work backwards. -- | Jeremy Chadwick jdc@koitsu.org | | UNIX Systems Administrator http://jdc.koitsu.org/ | | Mountain View, CA, US | | Making life hard for others since 1977. PGP 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130215020637.GA97558>