All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Evade Flow <evadeflow@gmail.com>, bitbake-devel@lists.openembedded.org
Subject: Re: Conditionally inherit own-mirrors and set SOURCE_MIRROR_URL?
Date: Fri, 02 Sep 2016 12:57:45 +0100	[thread overview]
Message-ID: <1472817465.29583.164.camel@linuxfoundation.org> (raw)
In-Reply-To: <CAMAb8ZNGCbyo+49tXBPZJy-jvSbwgShfbFjZ18OU4kARRLqVNw@mail.gmail.com>

On Thu, 2016-09-01 at 11:29 -0400, Evade Flow wrote:
> This might be an 'X-Y' problem, so I should explain what I'm trying
> to achieve. We have a somewhat beefy build server with 32 cores that
> most of my team likes to `ssh` into to do builds of our Yocto/OE
> -based BSP. But a few of us build on different machines often enough
> that I recently spun up a web server—on the 32-core build machine—to
> act as a 'pre-mirror' to statically serve  our dependencies for
> remote builds. The web server is serving the exact same folder that
> I've been pointing `SOURCE_MIRROR_URL` at, as described at: https://w
> iki.yoctoproject.org/wiki/How_do_I#Q:_How_do_I_create_my_own_source_d
> ownload_mirror_.3F
> 
> When I went to integrate support for the HTTP pre-mirror, I ran into
> the following problem: if I assign `SOURCE_MIRROR_URL` and the
> specified folder doesn't exist (as will be the case for remote
> builds), the build *fails*. I had hoped that bitbake would 'fall
> through' to searching other pre-mirrors, but that doesn't appear to
> be the case(?)
> 
> IIs there some way I can use a specific (and *invariant*) local
> source mirror folder *only if it exists*, and use our internal HTTP
> pre-mirror otherwise?

You could do something like:

def testislocal(d):
    if os.path.exists("xxxx")
        return "local"
 
  return ""

LOCALBUILD = "${@testislocal(d)}"

SOURCE_MIRROR_URL ?= "{@base_contains('LOCALBUILD', 'local', 'file://xxx', 'http://xxx', d)}"

I'm sure there are ways to neaten this up but you get the idea...

Cheers,

Richard





  parent reply	other threads:[~2016-09-02 11:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-01 15:29 Conditionally inherit own-mirrors and set SOURCE_MIRROR_URL? Evade Flow
2016-09-01 21:03 ` Evade Flow
2016-09-02 11:57 ` Richard Purdie [this message]
2016-09-02 19:26   ` Evade Flow
2016-09-02 21:46     ` Richard Purdie
2016-09-02 22:56       ` Evade Flow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1472817465.29583.164.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=evadeflow@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.