tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: devel/libevent/buildlink3.mk | builtin.mk outdated?



Hi again,

On Oct 9, 2014, at 13:45 , Jonathan Perkin <jperkin%joyent.com@localhost> wrote:
> * On 2014-10-09 at 12:30 BST, Fredrik Pettai wrote:
> 
>> Then I make use of devel/libevent/buildlink3.mk in for instance
>> net/nsd/Makefile, installing net/nsd will lead to the installation
>> of libevent from pkgsrc on NetBSD-current. This is even thought
>> NetBSD-current (and NetBSD-7.0_BETA) both have the same version of
>> libevent in base.
>> 
>> Where did it go wrong?
> 
> The general checks to perform in these cases are:
> 
>  1. Make sure pkgsrc is recognising that you do have a working
>     builtin version, regardless of whether it will be used.
> 
>       $ bmake show-var VARNAME=IS_BUILTIN.libevent

$ make show-var VARNAME=IS_BUILTIN.libevent
yes (valid)

>  2. Verify whether the builtin or pkgsrc will be used.
> 
>       $ bmake show-var VARNAME=USE_BUILTIN.libevent

$ make show-var VARNAME=USE_BUILTIN.libevent
no (doh!)

>  3. If you believe #2 to be incorrect, first check the PREFER_*
>     setting:
> 
>       $ bmake show-var VARNAME=PREFER.libevent

$ make show-var VARNAME=PREFER.libevent
native (as it should be...)

>  4. If this isn't what you desire, and the IS_BUILTIN output shows it
>     is possible to use the builtin version, set it in mk.conf:
> 
>       PREFER_NATIVE= libevent
> 
>  5. If that still doesn't work then there is some reason the builtin
>     cannot be used, and you must go to the builtin file itself to
>     determine why.  For libevent, this means checking things such as:
> 
>      $ bmake show-var VARNAME=BUILTIN_VERSION.libevent

$ make show-var VARNAME=BUILTIN_VERSION.libevent
0.5 (doh!)

So, devel/libevent/builtin.mk doesn't recognise that the native version is 2.0.21-stable, and fallback all the way to version 0.5 (near the end of builtin.mk) on NetBSD 7.0_BETA and later…

I thought something like this (below) would correct the behaviour of #2:

$ cvs diff -u
Index: builtin.mk
===================================================================
RCS file: /cvsroot/pkgsrc/devel/libevent/builtin.mk,v
retrieving revision 1.12
diff -u -u -r1.12 builtin.mk
--- builtin.mk  23 Nov 2013 11:29:35 -0000      1.12
+++ builtin.mk  31 Oct 2014 22:41:24 -0000
@@ -32,7 +32,11 @@
        ${GREP} -c 1.4.11-stable ${H_LIBEVENTCONFIG} || ${TRUE}
 _BLTN_EVENT_1_4_12!= \
        ${GREP} -c 1.4.12-stable ${H_LIBEVENTCONFIG} || ${TRUE}
-.    if ${_BLTN_EVENT_1_4_12} == "1"
+_BLTN_EVENT_2_0_21!= \
+       ${GREP} -c 2.0.21-stable ${H_LIBEVENTCONFIG} || ${TRUE}
+.    if ${_BLTN_EVENT_2_0_21} == "1"
+BUILTIN_VERSION.libevent=      2.0.21
+.    elif ${_BLTN_EVENT_1_4_12} == "1"
 BUILTIN_VERSION.libevent=      1.4.12
 .    elif ${_BLTN_EVENT_1_4_11} == "1"
 BUILTIN_VERSION.libevent=      1.4.11

…but it didn't do the trick. Any clues?

>     and checking them against the required version from its
>     buildlink3.mk.
> 
> Hope that helps,

Yes, it nailed the problem :)
/P

> -- 
> Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com



Home | Main Index | Thread Index | Old Index