Date: Mon, 19 Oct 2009 00:13:20 +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: <99401887@ipt.ru> In-Reply-To: <20091018174157.GB99191@triton8.kn-bremen.de> (Juergen Lock's message of "Sun\, 18 Oct 2009 19\:41\:57 %2B0200") References: <20091017154404.GA80599@triton8.kn-bremen.de> <99413628@ipt.ru> <20091018174157.GB99191@triton8.kn-bremen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Juergen Lock <nox@jelal.kn-bremen.de> writes: > On Sun, Oct 18, 2009 at 02:30:43PM +0400, Boris Samorodov wrote: >> 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). >> > Ah Ok. (Does f10 work well enough on 7.x yet?) Well, there is no choice anyway. We do have fc4 and f10 infractructure ports. I think it's wise to use apropriate base ports. I don't think there is any difference between f9 and f10 linux base ports. If someone shows a difference (i.e. possibility to use f9 but not f10 linux base port under 7.x I may change my mind). >> > 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 >> ----- > > In the meantime I found emulators/linux-systemsimcell does something > similar, and it uses ${OSVERSION}<700055 for the first check. Does > that look alright? (seems to be the last OSVERSION before 7.0-R from > looking at > http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#FREEBSD-VERSIONS > ) We discussed those checks with the maintainer and his checks were good (for his software). I can't say more than that, sorry. -- WBR, bsam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?99401887>