how to test for linux base version? (googleearth)

Boris Samorodov bsam at ipt.ru
Sun Oct 18 20:11:02 UTC 2009


Juergen Lock <nox at jelal.kn-bremen.de> writes:
> On Sun, Oct 18, 2009 at 02:30:43PM +0400, Boris Samorodov wrote:
>> Juergen Lock <nox at 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


More information about the freebsd-emulation mailing list