All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Hatle <mark.hatle@windriver.com>
To: <yocto@yoctoproject.org>
Subject: Re: Best way to "freeze" Yocto for production
Date: Wed, 11 Jun 2014 09:48:08 -0500	[thread overview]
Message-ID: <53986C28.9000701@windriver.com> (raw)
In-Reply-To: <1402421465.2402.11.camel@marlon-Z68X-UD3H-B3>

On 6/10/14, 12:31 PM, Marlon Smith wrote:
> Hi everyone,
>
> We've decided to use Yocto in our company's product!  And I have a question:
>
> Since Yocto is updated pretty frequently, at some point we'll need to freeze
> everything and keep a permanent copy so that we can make small changes/bug fixes
> without having to worry about anything being changed outside of our control.  My
> current theory is that we'll do a bitbake -c fetchall, then zip up the entire
> Yocto directory and save it somewhere so we'll always have a static copy.  We'll

This is really the first step.  Take you Yocto Project sources, and related 
downloads and store them for retrieval later.  You can use the:

    BB_NO_NETWORK = "1"

to ensure that the system will use your local copy and not attempt to go to the 
network for downloads.

> place our application and custom bsp layer under a separate Git repository, and
> then to do a build we'll just combine everything together and run bitbake on the
> whole thing.

This pretty much is the standard way to do it.  If your BSP is based off of 
another git tree, you can enable networking just for that one item if necessary.

> Is there a better or recommended way of doing this?

I think you have the basics down.  When it comes to upgrading and bug fixing, 
this is where doing very management resources come into play.

One way to do it is just track the Yocto Project until your product release. 
This way you get all of the latest fixes for the branch you choose.

Another mechanism (what I'd recommend for after product release, but some do it 
during development) is to watch the changes from your starting location, to the 
current state of development (either in the branch, or even master).  Using this 
information, you can determine if any of the items are fixes that you believe 
your product will require.  Use the git 'cherry-pick' option to pull down only 
the fixes you are interested in.  This dramatically slows the rate-of-change of 
your local tree.

One thing to keep in mind, you will -always- end up with some local fix that 
does not exist upstream.  You should limit these as much as possible.  For a 
single project, it's not all that painful to carry and support your changes, but 
when you start working on the next product, it's nice to be able to start with a 
newer version of the Yocto Project.  If you have a lot of local changes that 
have not gone back to the community, you'll then have to abandon them -- or 
carry them forward.  This can be time consuming, and the usual reaction is to 
stick with the older version to avoid this additional work.

You should always budget the time to get the fixes ready and send them back to 
the community, it will save you (and others) time when getting ready for the 
next project.

> Thanks again, and I'm excited to start working with Yocto!
>
> Marlon
>
>



  parent reply	other threads:[~2014-06-11 14:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-10 17:31 Best way to "freeze" Yocto for production Marlon Smith
2014-06-10 18:22 ` Philip Balister
2014-06-10 18:57 ` Burton, Ross
2014-06-10 20:37 ` Flanagan, Elizabeth
2014-06-11 14:48 ` Mark Hatle [this message]
2014-06-11 15:10 ` Cliff Brake

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=53986C28.9000701@windriver.com \
    --to=mark.hatle@windriver.com \
    --cc=yocto@yoctoproject.org \
    /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.