2014-05-21, 13:55
(2014-05-21, 13:10)regnets Wrote: Hi Milhouse,
is it possible that we can get your buildscript?
I am really interested in how you automate those things.
I set up a Jenkins CI Server by myself and would like how to customize your openelec distro.
Best regards
Andreas
I've got nothing fancy like that, I just fire off a build whenever I feel like it.
My build process is pretty much standard as per their Wiki, the big difference (I guess) is the collection of patches that I lay "on top" of the OpenELEC repository. This is pretty simple - just drop all the patches into projects/RPi/patches.
The most difficult and time consuming aspect of the whole build is actually acquiring the patches, which is why I've automated it (to a very large extent).
I have uploaded the files I use for this process here.
"./lsPatches.sh -i" will read ipatches.dat and generate patches.dat.
"./getPatches.sh" will read patches.dat and download directly from github.com the patch details into the OpenELEC.tv repository (projects/RPi/patches). It is assumed the OpenELEC.tv folder is below the folder in which getPatches.sh is stored.
getPatches.sh can also look in a folder called ./keep/patches for certain "local" patches (ie. spinner.patch, rss_disabled.patch etc.). It will also create a cache folder called ".pcache" to minimise hits against github.com.
The scripts are just hacked together, they're not pretty and they just about work (most of the time).
A typical build "session" would go something like:
Code:
1. Refresh OpenELEC.tv (git pull)
2. Optionally refresh xbmc package (see OpenELEC.tv/tools/mkpkg/mkpkg_xbmc-helix)
3. Optionally refresh firmware package (see OpenELEC.tv/tools/mkpkg/mkpkg_bcm2835-driver)
4. ./lsPatches.sh -i
5. ./getPatches.sh
6. cd OpenELEC.tv
7. XBMC=master PROJECT=RPi ARCH=ARM make clean
8. XBMC=master PROJECT=RPi ARCH=ARM make -j8 release
I can't really offer much if the way of support. If you can work out how they work, I'll try to answer any basic questions, and you find them useful, great. If not then you probably need to find a better solution.