Kodi binary and game addons always reference branches in the addon
repo. The only exception is the kodi-platform package which references
a githash.
This allows us to simplify remote repo fetch and tag / branch HEAD
resolving: we don't need named branches in the working copy but can
simply query remote branches or use a detached branch if we need the
actual contents.
With this change the same (out-of-tree) directory containing cloned
repos can be used to update both kodi Leia and master addon versions,
without needing another clone.
Also refactor the package update code, drop update_to_latest_tag from
common functions (it was only used by update_binary-addons,
update_retroplayer-addons needs slightly different logic) and use
update_pkg function. update_retroplayer-addons now also uses update_pkg
instead of duplicating nearly identical code.
Several variable names have been cleaned up to follow a common naming
pattern.
Signed-off-by: Matthias Reichl <hias@horus.com>
When updating versioned / tagged addons reset PKG_REV to 1.
When updating unversioned / untagged addons always bump PKG_REV
as we don't know if the version has been changed or not.
If the "-b/--bump-pkg-rev" option is used PKG_REV will be bumped
on all addons that weren't updated. Use this to ensure all addons
will have a newer version than before.
Signed-off-by: Matthias Reichl <hias@horus.com>
Use command line options to select PKG_REV bump and deleting
cloned git dis after update. git dirs are now kept by default,
deleting them has to be explicitly enabled via "-d".
Signed-off-by: Matthias Reichl <hias@horus.com>
initramfs is currently built from within linux:target which is a problem
yet to be solved as it should be built as separately scheduled processes
just like everything else.
As we build initramfs from within linux:target, once initramfs is
finished it emits an "UNLOCK" event which is the last event for the
linux:target package until it too finishes, perhaps 5 or 10 minutes later.
During this 5-10 minute period the dashboard gives the impression that
initramfs is "stuck" in an UNLOCKed state when in fact processing continues
within linux:target, which is now the "ACTIVE" package for the process slot.
Until the initramfs scheduling problem is resolved, emit an extra "ACTIVE"
event upon returning to linux:target correcting the dashboard (and also
tools/mtstats.py elapsed time accumulation).
The unpack folder will be a temporary (isolated) unpack folder for
pre_unpack() and unpack(), but by the time of post_unpack() the folder will
have been moved into the main ${BUILD} "public" folder.
This change ensures that PKG_BUILD always references the correct folder at all times.