Date: Sun, 18 Oct 2009 14:30:43 +0400 From: Boris Samorodov <bsam@ipt.ru> To: Juergen Lock <nox@jelal.kn-bremen.de> Cc: freebsd-emulation@FreeBSD.org Subject: Re: how to test for linux base version? (googleearth) Message-ID: <99413628@ipt.ru> In-Reply-To: <20091017154404.GA80599@triton8.kn-bremen.de> (Juergen Lock's message of "Sat\, 17 Oct 2009 17\:44\:04 %2B0200") References: <20091017154404.GA80599@triton8.kn-bremen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Juergen Lock <nox@jelal.kn-bremen.de> writes: > I just got reminded to add a linux base version check to astro/google-earth > (It now needs recent linux libstdc++.so.6 with GLIBCXX_3.4.9 that only > is in f9 or f10, you can do First of, I'd recommend leaving f9 alone (I'm going to deprecate all linux base ports except fc4 and f10 soon). > objdump -T /compat/linux/usr/lib/libstdc++.so.6 |grep 'ABS.*GLIBCXX' > to check) - and was wondering how to best check for that in a port. > This is what I came up with so far: > > Index: Makefile > =================================================================== > RCS file: /home/pcvs/ports/astro/google-earth/Makefile,v > retrieving revision 1.35 > diff -u -p -r1.35 Makefile > --- Makefile 24 Sep 2009 21:01:36 -0000 1.35 > +++ Makefile 17 Oct 2009 15:32:22 -0000 > @@ -38,6 +38,14 @@ RUN_DEPENDS+= ${LINUXBASE}/usr/lib/libGL > USE_LINUX_APPS+= dri > .endif > > +.if (${OSVERSION} < 800076 && \ > + !defined(OVERRIDE_LINUX_BASE_PORT)) || \ > + (defined(OVERRIDE_LINUX_BASE_PORT) && \ > + !(${OVERRIDE_LINUX_BASE_PORT} == f10) || \ > + ${OVERRIDE_LINUX_BASE_PORT} == f9) > +IGNORE= needs at least f9 Linux base > +.endif > + > do-extract: > @${MKDIR} ${WRKSRC} > @${CP} ${DISTDIR}/${DIST_SUBDIR}/${DISTFILES} ${WRKSRC} > > Anyone have a better idea? :) I'm not sure if it's better but just an other idea: ----- .if ${OSVERSION}<7000XX /*** XX should be find out ***/ IGNORE FreeBSD>=7.X is needed with Linux emulation 2.6.x. .elif ${OSVERSION}<800076 && \ ! defined (OVERRIDE_LINUX_NONBASE_PORTS) || ! (${OVERRIDE_LINUX_NONBASE_PORTS} == f10) IGNORE= you need to use non-default linux ports (define OVERRIDE_LINUX_BASE_PORT=f10 and OVERRIDE_LINUX_NONBASE_PORTS=f10) .endif ----- This check is not strict either. The thing is that both BASE and NONBASE variables should be defined and have f10 value for OSVERSION<800076. I have an item at my TODO list to switch to using USE_LINUX=f10[+] or similar but it's not the highest priority and ENOTIME now... -- WBR, bsam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?99413628>