(2019-11-23, 16:40)crash.log Wrote: Hi all,
can someone tell me the git(hub) repo link and branch of this build? I can't find it in the first post.
Thank you!
There isn't a github branch, as the build is generated dynamically.
At the start of each build there are additional build scripts that prepare the LibreELEC repository environment by reading a configuration file then integrating the latest environment specific PRs, commits and patches from multiple sources. It then repackages various key upstream repositories so that the latest tarballs are built. Finally, a second configuration file is used to integrate project-specific PRs, commits and patches (ignoring any that may have already merged in a repackaged tarball, converting Kodi depends patches - for example ffmpeg - to external patches, and ignoring incompatible or duplicate patches). Reverting PRs, commits and patches, and blacklisting (aka ignoring) individual patches from an entire PR or commits from an upstream branch, is also supported (and used frequently).
The scripts are briefly discussed
here.
I don't think it would be possible to produce these builds from a traditional, static, tree given that some of the upstream packages that have been repackaged don't actually exist online (eg. bcm2835-driver/bcm2835-bootloader), and the dynamic nature of the build system allows me far more flexibility for a lot less effort - I can filter PRs, commits, packages and more just from the build command line. Reverting or ignoring a PR or commit is a one line configuration change, which I can choose to control with a filter if necessary (eg. revert a PR for rpi but not for x86). I can automatically revert individual github, gitlab, patchwork, ix.io, pastebin.com etc. commits without having to download the repo (if there's a repo) and manually prepare the revert commit. I suspect I'd have gone mad trying to maintain these builds using a static tree!
My build scripts also dispense with the
PROJECT=Generic ARCH=x86_64
etc. mantra, instead using
PROFILE
s allowing me to manage multiple repositories, multiple projects (with different characteristics - eg. debug and non-debug, current kernel or next kernel - or from different branches eg. master and stable/libreelec-9.2) and to build multiple profiles concurrently with a single build command.
If you want to reproduce my builds then use the same build scripts, otherwise everything included in each build is documented in the relevant release note. Included inside each tar file is another tar file that contains the build scripts, configs, and patches used to create that exact build so that it should be possible to recreate the same build even months later.