A source control for custom recipes


john.mattsd@gmail.com
 

Hi All,

I am newbie, and I am wondering what is the accepted way of using git (source control) for custom recipes in Yocto?

My recipes are very custom that now one except my team needs them, and I am wondering what is the suggested way of managing custom recipes? We are using Yocto .2.5.

Thanks in advance,
J.


Bob Cochran
 

On 12/11/18 5:39 PM, John Matt wrote:
Hi All,

I am newbie, and I am wondering what is the accepted way of using git (source control) for custom recipes in Yocto?

My recipes are very custom that now one except my team needs them, and I am wondering what is the suggested way of managing custom recipes? We are using Yocto .2.5.

Thanks in advance,
J.

Hi John,

We have lots of internal recipes for our own projects and plenty of customizations (e.g., bbappend).  We manage these by maintaining our own layer and keeping a bare repo of the layer on a shared drive that everyone / all machines pull from and push to. 

Bob


john.mattsd@gmail.com
 

Hi Bob,

Thanks for the response. 

I am wondering if people use repo tool or gitsubmodules?  Currently, I am debating if I need to copy the YOCTO repo to my local git (we have an internal git), or use the YOCTO repo externally, and only manage my recipes in my internal git in my organization?


Regards,
Janarbek.


On Tue, Dec 11, 2018 at 8:28 PM Bob Cochran <yocto@...> wrote:
On 12/11/18 5:39 PM, John Matt wrote:
Hi All,

I am newbie, and I am wondering what is the accepted way of using git (source control) for custom recipes in Yocto?

My recipes are very custom that now one except my team needs them, and I am wondering what is the suggested way of managing custom recipes? We are using Yocto .2.5.

Thanks in advance,
J.

Hi John,

We have lots of internal recipes for our own projects and plenty of customizations (e.g., bbappend).  We manage these by maintaining our own layer and keeping a bare repo of the layer on a shared drive that everyone / all machines pull from and push to. 

Bob


Otavio Salvador <otavio.salvador@...>
 

On Wed, Dec 12, 2018 at 8:36 PM John Matt <john.mattsd@...> wrote:
I am wondering if people use repo tool or gitsubmodules? Currently, I am debating if I need to copy the YOCTO repo to my local git (we have an internal git), or use the YOCTO repo externally, and only manage my recipes in my internal git in my organization?
We use repo for most projects here at O.S. Systems. Please take a look at:

https://doc.ossystems.com.br/managing-platforms.html

It explains how we usually do.

--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750


Bob Cochran
 

On 12/12/18 5:35 PM, John Matt wrote:
Hi Bob,

Thanks for the response. 

I am wondering if people use repo tool or gitsubmodules?  Currently, I am debating if I need to copy the YOCTO repo to my local git (we have an internal git), or use the YOCTO repo externally, and only manage my recipes in my internal git in my organization?

We set up a poky folder on each build machine and then clone all the Yocto related repos under it (e.g., meta-openembedded, meta-raspberrypi, etc.). 

We use our own Python script to manage all our the repos that we work with (e..g, run multiple git pull or checkout <branch> / <commit>).  It was a pretty simple thing to write (still a work in progress). 

Repo (by Google?) seemed a lot heavier than what we needed, so writing our own script gave us the control we needed & we could understand everything it does. 

Bob






Regards,
Janarbek.

On Tue, Dec 11, 2018 at 8:28 PM Bob Cochran <yocto@...> wrote:
On 12/11/18 5:39 PM, John Matt wrote:
Hi All,

I am newbie, and I am wondering what is the accepted way of using git (source control) for custom recipes in Yocto?

My recipes are very custom that now one except my team needs them, and I am wondering what is the suggested way of managing custom recipes? We are using Yocto .2.5.

Thanks in advance,
J.

Hi John,

We have lots of internal recipes for our own projects and plenty of customizations (e.g., bbappend).  We manage these by maintaining our own layer and keeping a bare repo of the layer on a shared drive that everyone / all machines pull from and push to. 

Bob



Bas Mevissen
 

On 2018-12-17 04:14, Bob Cochran wrote:

On 12/12/18 5:35 PM, John Matt wrote:

Hi Bob,
Thanks for the response.
I am wondering if people use repo tool or gitsubmodules?
Repo, git submodules or something like kas is a matter of taste and preference. Biggest advantage of repo is that a single small XML file can define a complete build or set of builds. Submodules are standard Git functionality. So you don't need to distribute or maintain an extra tool.

I changed from repo to submodules to be able to organize the top level project the way I want. For me, the custom layer(s) could be the main git project with the mirrors of the external ones added as submodules. This makes maintaining small projects with relatively static use of external ones more convenient. Maybe I will try kas as well to compare it with the other two I used.

I would always recommend to have a local mirror of all sources for availability and archival purposes. You cannot be sure that someone for example does a forced commit in a public repository, removing the commit your release was pointing to.

Currently, I am debating if I need to copy the YOCTO repo to my local git (we have an internal git), or use the YOCTO repo externally, and only manage my recipes in my internal git in my organization?
We set up a poky folder on each build machine and then clone all the Yocto related repos under it (e.g., meta-openembedded, meta-raspberrypi, etc.).
We use our own Python script to manage all our the repos that we work with (e..g, run multiple git pull or checkout <branch> / <commit>). It was a pretty simple thing to write (still a work in progress).
Repo (by Google?) seemed a lot heavier than what we needed, so writing our own script gave us the control we needed & we could understand everything it does.
I try to avoid all too much custom scripts. They cost a lot of time to create and debug, especially when used by multiple persons. However, in a complex setup good tooling might even be helpful to perform most common use cases without too much training or explanation.

Regards,

Bas.


Bob
Regards,
Janarbek.
On Tue, Dec 11, 2018 at 8:28 PM Bob Cochran <yocto@...> wrote:
On 12/11/18 5:39 PM, John Matt wrote:
Hi All,
I am newbie, and I am wondering what is the accepted way of using git (source control) for custom recipes in Yocto?
My recipes are very custom that now one except my team needs them, and I am wondering what is the suggested way of managing custom recipes? We are using Yocto .2.5.
Thanks in advance,
J.
Hi John,
We have lots of internal recipes for our own projects and plenty of customizations (e.g., bbappend). We manage these by maintaining our own layer and keeping a bare repo of the layer on a shared drive that everyone / all machines pull from and push to.
Bob


john.mattsd@gmail.com
 

Thanks Octavio and Bob and Bas,

After doing some research, I decided to settle down with what Octavio purposed because it looks like more flat similar.

Thank you all again for a great response

Thanks,
John.


On Thu, Dec 13, 2018 at 5:50 AM Otavio Salvador <otavio.salvador@...> wrote:
On Wed, Dec 12, 2018 at 8:36 PM John Matt <john.mattsd@...> wrote:
> I am wondering if people use repo tool or gitsubmodules?  Currently, I am debating if I need to copy the YOCTO repo to my local git (we have an internal git), or use the YOCTO repo externally, and only manage my recipes in my internal git in my organization?

We use repo for most projects here at O.S. Systems. Please take a look at:

https://doc.ossystems.com.br/managing-platforms.html

It explains how we usually do.

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854          Mobile: +1 (347) 903-9750