how to test for linux base version? (googleearth)

Juergen Lock nox at jelal.kn-bremen.de
Sun Oct 18 20:32:17 UTC 2009


On Mon, Oct 19, 2009 at 12:13:20AM +0400, Boris Samorodov wrote:
> 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.
> 
Oh I was more thinking of f8 since we have nonbase ports for that too...

> 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).
> 
 Ok so `someone' would need to test this...

> >> > 	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.

 Ok.  Maybe I should just commit it like that, I guess it's kinda
unlikely someone who's running a FreeBSD _desktop_ still uses something
as old as 7.0 anyway.

 Thanx,
	Juergen


More information about the freebsd-emulation mailing list