[oe] [meta-networking][PATCH 1/1] net-snmp: Fix host contamination

Khem Raj raj.khem at gmail.com
Sat Jun 16 15:43:08 UTC 2018


Hi Ovidiu

On 6/15/18 1:22 AM, Ovidiu Panait wrote:
> If "/usr/local/ssl/include" directory exists on the host machine, net-snmp will
> also search the host openssl headers:
> 
> build/net-snmp/temp$ grep -i "/usr/local/ssl/include" log.do_compile
> x86_64-wrs-linux-libtool: compile: x86_64-wrs-linux-gcc ... -I/usr/local/ssl/include
> 
> Fix this by selecting the proper sysroot headers using
> --with-openssl=${STAGING_EXECPREFIXDIR}
> 
> Signed-off-by: Ovidiu Panait <ovidiu.panait at windriver.com>
> ---
>   meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
> index 5c827bb86..6f6f19ac9 100644
> --- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
> +++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
> @@ -66,7 +66,8 @@ EXTRA_OECONF = "--enable-shared \
>                   --with-install-prefix=${D} \
>                   --with-persistent-directory=${localstatedir}/lib/net-snmp \
>                   ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \
> -"
> +                --with-openssl=${STAGING_EXECPREFIXDIR} \
> +                "
>   
>   # net-snmp needs to have mib-modules=smux enabled to enable quagga to support snmp
>   EXTRA_OECONF += "--with-mib-modules=smux"
> @@ -121,8 +122,10 @@ do_install_append() {
>       install -m 0644 ${WORKDIR}/snmpd.service ${D}${systemd_unitdir}/system
>       install -m 0644 ${WORKDIR}/snmptrapd.service ${D}${systemd_unitdir}/system
>       sed    -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=. at g" \
> +           -e "s@${STAGING_DIR_TARGET}@@g" \

this change here and similar change below is causing build failures 
since we are removing tags which are used to replace target sysroot 
especially for crossscripts which exposes the host paths e.g. -L/usr/lib 
into net-snmp-config files. This shows up later in dependent packages 
which fail to detect net-snmp features due to this host contamination 
e.g corosync, ntop, keepalived this is worse on x86_64 where it might 
still work but for musl targets you get straight errors everywhere.

If you can explain what these changes are fixing. May be we can come up 
with alternatives which dont cause the above said regression. Please 
rework through this patch

>           -i ${D}${bindir}/net-snmp-create-v3-user
>       sed    -e "s@^NSC_SRCDIR=.*@NSC_SRCDIR=. at g" \
> +           -e "s@${STAGING_DIR_TARGET}@@g" \
>              -e "s@\([^ ]*-fdebug-prefix-map=[^ ]*\)\1*@@g" \
>              -e "s@\([^ ]*--sysroot=[^ ]*\)\1*@@g" \
>              -e "s@\([^ ]*--with-libtool-sysroot=[^ ]*\)\1*@@g" \
> 



More information about the Openembedded-devel mailing list