gmacario/easy-build

build-yocto-genivi: Some improvements and discussion

gunnarx opened this issue · 3 comments

I have a few updates and thoughts for the build-yocto-genivi part -- see my fork at https://github.com/gunnarx/easy-build/

  • Updating to 16.04 based base image (still gocd -- see below)
  • There are some bugfixes - some might be because of 16.04 - they seem like good changes anyway.
  • One new package needed by bitbake: "cpio" - might be because GDP is now on newer poky version?
  • Overall I'm not really seeing the need for the GoCD setup since all the current agents are set up with the
    https://github.com/genivigo/gocd-setup project, and if someone runs it I think I would not want to accept it into the build cloud for the risk that something is different (and you know it's just a pain to have local differences when analyzing problems). That said, for now I still use the gocd base image like you did, but I'm thinking a plain Ubuntu might make more sense. The purpose, as I see it, for build-yocto-genivi is to give users a setup that is guaranteed to work for a local build. Before GoCD you had an incremental setup, using build-yocto as a base image for build-yocto-genivi I think? So yocto prerequisites were defined in one place only. On the other hand, for me it makes a lot of sense that users that build GDP have the exact same setup as the Go Agents, so I might want to take it in that direction instead.

Users should have one single way to set up a compatible Go agent and I think your project is very well documented. Maybe at some point we can consolidate this into one, but now it's too much work (for me) to change the setup of the agents we already have, so for now it will be based on gocd-setup and that makes me want to optimize build-yocto-genivi for a local user use-case.

  • I wanted a helper script that will run the GDP build in a container, basically just encoding the steps described in README. So a single one-liner will do everything from building and running the container with a default setup. I added that script in my repo. It needs some work to allow for setting different TARGET though. Your script runs init.sh but I think it would be better to point it to run the scripts/ci-build.sh since that is a very comprehensive script that we keep up to date, and it is very capable for modifying the build settings through environment variables.

  • That script does docker build, and then run. It also clones the project if it isn't already, so I can run stand-alone, with something like this:

curl https://raw.githubusercontent.com/gunnarx/easy-build/master/build-yocto-genivi/docker-build-gdp.sh | 

Now, docker build is not strictly necessary if it can be downloaded from hub instead, just as your README also explains. Can we trust that the gmacario/build-yocto-genivi container is automatically updated on docker Hub, so that it can be immediately run by docker-run (which will download it)?
Clicking on this badge, taken from the README inside build-yocto-genivi seems to fail: https://imagelayers.io/?images=gmacario%2Fbuild-yocto-genivi:latest
Is the automatic update of the hub container working or does that need some bugfix?

  • Overall I'm wondering, do you want these first commits and shall I send a PR? I think at least some (like 16.04 update and add cpio) should go to your master.

As you can see, I've not tested baseline build but there should be a similar setup. Once that is done I expect #209 can be covered. #247 should definitely be fixed by now (baseline has been upgraded since), but also that can be easily confirmed if we have a single-script setup to launch a build.

Hi @gunnarx,
Sorry I missed this thread for soo long.
How are things going at GENIVI?

As I explained in a separate email to you, due to my current job I am no longer working with build-yocto-genivi therefore I cannot test it.

Maybe the best way to proceed is for me to remove this subproject from https://github.com/gmacario/easy-build and concentrate from build-yocto instead, for which I am looking forward to accepting issues and pull requests!

I have tracked my intentions in #271, so as soon as I hear of any volunteers to take over build-yocto-genivi I will simply remove it from https://github.com/gmacario/easy-build

Discussion via email to better understand #271. Closing this.