Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Jun 2004 14:02:46 -0400
From:      "Dan Langille" <dan@langille.org>
To:        "Cyrille Lefevre" <clefevre-lists@9online.fr>
Cc:        ports@freebsd.org
Subject:   Re: HEADS UP - master/slave ports
Message-ID:  <40D1A486.30848.7BFCFF11@localhost>
In-Reply-To: <04b701c4547a$68a0d2d0$7890a8c0@dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 17 Jun 2004 at 16:50, Cyrille Lefevre wrote:

> "Roman Neuhauser" <neuhauser@chello.cz> wrote:
> >     Ugh, I see; I was confusing this with another feature... That would
> >     make it
> > 
> >     _REALPORTSDIR!=     ${REALPATH} "${PORTSDIR}"
> >     _REALMASTERDIR!=    ${REALPATH} "${MASTERDIR}"
> >     MASTERPORT=     ${_REALMASTERDIR:S,^${_REALPORTSDIR}/,,}
> > 
> >     and I'm not sure that's any better than what you had originally.
> > 
> >     But, what will both versions output in databases/mysql40-client?
> 
> there is no need to fork any sub-processes :
> 
> # Try to determine if we are a slave port.  These variables are used by
> # FreshPorts and portsmon, but not yet by the ports framework itself.
> _MASTERDIR=   ${MASTERDIR:C,/([^/]+)/\.\.,,:C,/([^/]+)/\.\.,,}
> 
> .if ${_MASTERDIR} != ${.CURDIR}
> IS_SLAVE_PORT?=        yes
> # take your pick :
> # _PORTSDIR=    ${_MASTERDIR:C|([^/]+/[^/]+)/?$||}
> # MASTERPORT=   ${_MASTERDIR:C|${_PORTSDIR}||}

real    15m24.018s
user    10m39.785s
sys     4m35.054s

> # or
> MASTERPORT=     ${_MASTERDIR:H:T}/${_MASTERDIR:T}

real    15m23.343s
user    10m39.088s
sys     4m34.888s

> .else
> IS_SLAVE_PORT?=        no
> MASTERPORT=
> .endif

These appear to be slightly faster than the previous stats I posted.  
Everything is pratically identical in user time.  sys is where the 
savings are being made. 
-- 
Dan Langille : http://www.langille.org/
BSDCan - http://www.bsdcan.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40D1A486.30848.7BFCFF11>