cvs commit: ports/dns/c-ares Makefile distinfo pkg-plist ports/dns/c-ares/files ares-config-info.patch patch-Makefile.in

Peter Pentchev roam at ringlet.net
Mon Mar 29 07:46:37 UTC 2010


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 <roam at 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.

[roam at straylight /usr/ports/dns/c-ares]$ make -V OPTIONSFILE
/var/db/ports/c-ares/options
[roam at straylight /usr/ports/dns/c-ares]$ ls -l "`make -V OPTIONSFILE`"
ls: /var/db/ports/c-ares/options: No such file or directory
[roam at straylight /usr/ports/dns/c-ares]$ make -V WITH_HIDE_SYMBOLS
true
[roam at straylight /usr/ports/dns/c-ares]$ make BATCH=yes -V WITH_HIDE_SYMBOLS
true
[roam at straylight /usr/ports/dns/c-ares]$ make PACKAGE_BUILDING=yes -V WITH_HIDE_SYMBOLS
true
[roam at straylight /usr/ports/dns/c-ares]$ make BATCH=yes PACKAGE_BUILDING=yes -V WITH_HIDE_SYMBOLS
true
[roam at 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
[roam at 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	roam at ringlet.net    roam at space.bg    roam at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-ports/attachments/20100329/3580628f/attachment.pgp


More information about the cvs-ports mailing list