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>
