Why does poudriere always rebuild nginx and GraphicsMagick13?
Jeremy Chadwick
jdc at koitsu.org
Fri Feb 15 02:06:38 UTC 2013
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 at 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 at koitsu.org |
| UNIX Systems Administrator http://jdc.koitsu.org/ |
| Mountain View, CA, US |
| Making life hard for others since 1977. PGP 4BD6C0CB |
More information about the freebsd-stable
mailing list