On Fri, Mar 26, 2010 at 07:23:00PM -0700, Stanislav Sedov wrote: > On Mon, 22 Mar 2010 10:56:04 +0000 (UTC) > Peter Pentchev <r...@freebsd.org> mentioned: > > > roam 2010-03-22 10:56:04 UTC > > > > FreeBSD ports repository > > > > Modified files: > > dns/c-ares Makefile distinfo pkg-plist > > dns/c-ares/files ares-config-info.patch patch-Makefile.in > > Log: > > Update to c-ares-1.7.0. In the process: [snip] > > | + HIDE_SYMBOLS "Hide internal library symbols" ON \ > > | OPTIMIZED_CFLAGS "Build with compiler optimizations" OFF [snip] > > | +.if defined(WITH_HIDE_SYMBOLS) > > | +CONFIGURE_ARGS+= --enable-symbol-hiding > > | +.else > > | +CONFIGURE_ARGS+= --disable-symbol-hiding > > | +.endif > > You have HIDE_SYMBOLS "on" by default, so the check should look like > .if !defined(WITHOUT_HIDE_SYMBOLS) > > Otherwise the behaviour of the port is inconsistent wrt. to the batch builds. > Now the package built from the port include library symbols which > is not default.
Hmmm, apologies if I'm missing something here - and it would not be a big surprise to me if I was, even about such an important thing about the package building cluster :\ However, IMHO the need to check for WITHOUT_* in the case of "default to on" is somewhat a thing of the past - I think that the current options handling code will define the WITH_* symbol if there is no options file and this is an automated build. [r...@straylight /usr/ports/dns/c-ares]$ make -V OPTIONSFILE /var/db/ports/c-ares/options [r...@straylight /usr/ports/dns/c-ares]$ ls -l "`make -V OPTIONSFILE`" ls: /var/db/ports/c-ares/options: No such file or directory [r...@straylight /usr/ports/dns/c-ares]$ make -V WITH_HIDE_SYMBOLS true [r...@straylight /usr/ports/dns/c-ares]$ make BATCH=yes -V WITH_HIDE_SYMBOLS true [r...@straylight /usr/ports/dns/c-ares]$ make PACKAGE_BUILDING=yes -V WITH_HIDE_SYMBOLS true [r...@straylight /usr/ports/dns/c-ares]$ make BATCH=yes PACKAGE_BUILDING=yes -V WITH_HIDE_SYMBOLS true [r...@straylight /usr/ports/dns/c-ares]$ make BATCH=yes PACKAGE_BUILDING=yes -V WITH_HIDE_SYMBOLS -V CONFIGURE_ARGS:M'*symbol*' true --enable-symbol-hiding [r...@straylight /usr/ports/dns/c-ares]$ Am I wrong in assuming that any automatically-built packages would have BATCH and/or PACKAGE_BUILDING defined at build time, and that the code in bsd.port(.pre).mk would use the default value for all options in that case? Or is there some defined symbol - or some other combination of symbols - that would result in WITH_HIDE_SYMBOLS *not* being defined, even though the option's default is "yes"? Of course, I could be missing something, in which case I'd be thankful for a correction in my worldview :) G'luck, Peter -- Peter Pentchev r...@ringlet.net r...@space.bg r...@freebsd.org PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13 If there were no counterfactuals, this sentence would not have been paradoxical.
pgpuqIOzL86WU.pgp
Description: PGP signature