Binary Addon Version Question

  • Thanks in advance for anyone with insight here.

    I'm making a custom build of LibreELEC to incorporate some features from the Kodi RetroPlayer branch. The build is working fine but I have an issue when compiling the game.libretro addon. I'm using the 10.0.0 branch of LibreELEC. The package file for game.libretro states that it's pulling the 19.0.0 release, which has a version number of 19.0.0 in theaddon.xml file. When I build the package, both with the make image command for a full image, or using create_addon game.libretro; the project builds but has 19.0.0.3 as the version number in the addon.xml file.

    I've confirmed in the build directory that it's pulling the right files and building the right project. For some reason the final files have that weird version number though. This wouldn't generally be an issue but Kodi doesn't like that version number as it has too many digits. I've manually changed it back and things work fine in the build but it's really bothering me why the .3 is being added. As a test I tried to build the pvr.mythtv addon as well an noticed it added a .1 to the end of that version.

    Any insight into why this might be happening? I can provide more info if needed. I think I've linked to the relevant files.

  • The .1/.3/... at the end is nothing you need to worry about, it's simply the PKG_REV added to the original addon version - see eg here https://github.com/LibreELEC/Libr…o/package.mk#L7

    Most of the time PKG_REV will be .1, sometimes when we need to roll out new versions of the addons (eg when important underlying dependencies have changed) we increment PKG_REV so kodi sees it as a new addon version.

    so long,

    Hias

  • Well that definitely helps - thanks. I knew that had to be inserted from somewhere but the exact spot wasn't clear.

    One thing I'm wondering about though is the fact that Kodi seems to not like these addons with the additional version number added. I think it's because the original version already has 3 places to it, ie 19.0.0 so it becomes a 4 digit revision - 19.0.0.3. I get invalid version warnings when Kodi tries to load them. For addons that only have two places, like 19.0 to 19.0.3 it's not big deal. Based on the information in the Kodi wiki about versioning it looks like 3 (major.minor.patch) is the expected format. This seems to be confirmed in the Kodi sourceas they refer to "debian style" versioning.

    Is there a way to make the extra package version as "19.0.0~1 (tilde, not a dash)" instead? Kodi seems to like this better.

  • Can you please post some detailed log where kodi didn't like the addon version? We've been using that scheme for ages and haven't seen any issues so far.

    so long,

    Hias

  • I'll try and get something. The GUI popped up something about "not compatible with this version of Kodi" but when I changed the version number back to "19.0.0" it accepted it just fine.

    I'll uninstall the libretro addon and try to re-create it.

  • After some playing around with this in a VM I think I've discovered that I can manually install the compiled game.libretro addon without issue in a custom build. So that's good.

    I think my overall issue, and question, is whycan't I install the addon from the LibreELEC repository directly from within the custom build? When I browse the LibreELEC repo after a clean install of my custom build the Libretro Compatibility addon is hidden from view, guessing that it's deemed "incompatible". I'm thinking this is what initially broke it on my production media center as I installed it over a regular LibreELEC build and the addon was immediately disabled after reboot and I couldn't re-install from the repo at that point either. I had to compile and manually install. The versioning, as pointed out above, didn't have anything to do with it.

    So I guess to summarize my question - is there something about a custom build that would filter out binary addons (Libretro specifically) when browsing the LibreELEC repository? Is this filter based on the OS version or something provided by Kodi? Ultimately if I can install from the main repo I'd prefer that to compiling addons.