[Buildroot] [PATCH v2 2/2] package/kodi: add Kconfig options to remove default skins

Yann E. MORIN yann.morin.1998 at free.fr
Mon May 1 08:09:42 UTC 2017


Bernd, All,

On 2017-04-29 22:36 +0200, Bernd Kuhls spake thusly:
> The skins estuary and estouchy are new in Kodi 17-Krypton and replace
> the skin confluence, used until Kodi 16-Jarvis.
> 
> This patch allows to disable one or both of the new skins, it also takes
> care that at least one skin needs to be enabled. With this patch Kodi
> can be used only with skin confluence.
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls at t-online.de>

Tested-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>

Regards,
Yann E. MORIN.

> ---
> v2: no changes
> v1: Sending as v1 the unchanged patch from Kodi series v5.
> 
>  package/kodi-skin-confluence/Config.in |  1 +
>  package/kodi/Config.in                 | 35 ++++++++++++++++++++
>  package/kodi/kodi.mk                   | 58 ++++++++++++++++++++++++++++++++++
>  3 files changed, 94 insertions(+)
> 
> diff --git a/package/kodi-skin-confluence/Config.in b/package/kodi-skin-confluence/Config.in
> index 08b656808..a623b03da 100644
> --- a/package/kodi-skin-confluence/Config.in
> +++ b/package/kodi-skin-confluence/Config.in
> @@ -1,5 +1,6 @@
>  config BR2_PACKAGE_KODI_SKIN_CONFLUENCE
>  	bool "kodi-skin-confluence"
> +	select BR2_PACKAGE_KODI_SKIN_ENABLED
>  	help
>  	  Kodi confluence skin
>  
> diff --git a/package/kodi/Config.in b/package/kodi/Config.in
> index cc747e816..dfe92d2d1 100644
> --- a/package/kodi/Config.in
> +++ b/package/kodi/Config.in
> @@ -55,6 +55,7 @@ menuconfig BR2_PACKAGE_KODI
>  	select BR2_PACKAGE_FFMPEG_SWSCALE
>  	select BR2_PACKAGE_FONTCONFIG
>  	select BR2_PACKAGE_FREETYPE
> +	select BR2_PACKAGE_KODI_SKIN_ESTUARY if !BR2_PACKAGE_KODI_SKIN_ENABLED
>  	select BR2_PACKAGE_LIBASS
>  	select BR2_PACKAGE_LIBCDIO
>  	select BR2_PACKAGE_LIBCROSSGUID
> @@ -327,6 +328,40 @@ menu "Screensavers"
>  endmenu
>  
>  menu "Skins"
> +
> +config BR2_PACKAGE_KODI_SKIN_ENABLED
> +	bool
> +
> +choice
> +	prompt "Default skin"
> +
> +config BR2_PACKAGE_KODI_SKIN_DEFAULT_ESTUARY
> +	bool "kodi-skin-estuary"
> +	depends on BR2_PACKAGE_KODI_SKIN_ESTUARY
> +
> +config BR2_PACKAGE_KODI_SKIN_DEFAULT_ESTOUCHY
> +	bool "kodi-skin-estouchy"
> +	depends on BR2_PACKAGE_KODI_SKIN_ESTOUCHY
> +
> +config BR2_PACKAGE_KODI_SKIN_DEFAULT_CONFLUENCE
> +	bool "kodi-skin-confluence"
> +	depends on BR2_PACKAGE_KODI_SKIN_CONFLUENCE
> +
> +endchoice
> +
> +config BR2_PACKAGE_KODI_SKIN_ESTUARY
> +	bool "kodi-skin-estuary"
> +	default y
> +	help
> +	  Default skin Estuary
> +
> +config BR2_PACKAGE_KODI_SKIN_ESTOUCHY
> +	bool "kodi-skin-estouchy"
> +	default y
> +	select BR2_PACKAGE_KODI_SKIN_ENABLED
> +	help
> +	  Default skin Estouchy
> +
>  	source "package/kodi-skin-confluence/Config.in"
>  endmenu
>  
> diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
> index 0b89bdd86..73e44f861 100644
> --- a/package/kodi/kodi.mk
> +++ b/package/kodi/kodi.mk
> @@ -355,6 +355,64 @@ define KODI_CLEAN_UNUSED_ADDONS
>  endef
>  KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_UNUSED_ADDONS
>  
> +# Skins estuary and estouchy are installed by default and need to be
> +# removed if they are disabled in buildroot
> +ifeq ($(BR2_PACKAGE_KODI_SKIN_ESTUARY),y)
> +define KODI_CLEAN_SKIN_ESTUARY
> +	find $(TARGET_DIR)/usr/share/kodi/addons/skin.estuary/media -name *.gif -delete
> +	find $(TARGET_DIR)/usr/share/kodi/addons/skin.estuary/media -name *.jpg -delete
> +	find $(TARGET_DIR)/usr/share/kodi/addons/skin.estuary/media -name *.png -delete
> +endef
> +KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_SKIN_ESTUARY
> +else
> +define KODI_REMOVE_SKIN_ESTUARY
> +	rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/skin.estuary
> +	$(HOST_DIR)/usr/bin/xml ed -L \
> +		-d "/addons/addon[text()='skin.estuary']" \
> +		$(KODI_ADDON_MANIFEST)
> +endef
> +KODI_POST_INSTALL_TARGET_HOOKS += KODI_REMOVE_SKIN_ESTUARY
> +endif
> +
> +ifeq ($(BR2_PACKAGE_KODI_SKIN_ESTOUCHY),y)
> +define KODI_CLEAN_SKIN_ESTOUCHY
> +	find $(TARGET_DIR)/usr/share/kodi/addons/skin.estouchy/media -name *.gif -delete
> +	find $(TARGET_DIR)/usr/share/kodi/addons/skin.estouchy/media -name *.jpg -delete
> +	find $(TARGET_DIR)/usr/share/kodi/addons/skin.estouchy/media -name *.png -delete
> +endef
> +KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_SKIN_ESTOUCHY
> +else
> +define KODI_REMOVE_SKIN_ESTOUCHY
> +	rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/skin.estouchy
> +	$(HOST_DIR)/usr/bin/xml ed -L \
> +		-d "/addons/addon[text()='skin.estouchy']" \
> +		$(KODI_ADDON_MANIFEST)
> +endef
> +KODI_POST_INSTALL_TARGET_HOOKS += KODI_REMOVE_SKIN_ESTOUCHY
> +endif
> +
> +# The default value 'skin.estuary' is stored in
> +# xbmc/system/settings/settings.xml.
> +# If skin estuary is disabled this value needs to be changed to avoid
> +# https://github.com/xbmc/xbmc/blob/32a6916059a0b14ab5fc65cedb17b2615c039918/xbmc/Application.cpp#L1124
> +
> +define KODI_SET_DEFAULT_SKIN_ESTOUCHY
> +	$(SED) 's/skin.estuary/skin.estouchy/#g' $(TARGET_DIR)/usr/share/kodi/system/settings/settings.xml
> +endef
> +
> +define KODI_SET_DEFAULT_SKIN_CONFLUENCE
> +	$(SED) 's/skin.estuary/skin.confluence/#g' $(TARGET_DIR)/usr/share/kodi/system/settings/settings.xml
> +	$(HOST_DIR)/usr/bin/xml ed -L -O --subnode "/addons" \
> +		-t elem -n "addon" -v "skin.confluence" \
> +		$(KODI_ADDON_MANIFEST)
> +endef
> +
> +ifeq ($(BR2_PACKAGE_KODI_SKIN_DEFAULT_ESTOUCHY),y)
> +KODI_POST_INSTALL_TARGET_HOOKS += KODI_SET_DEFAULT_SKIN_ESTOUCHY
> +else ifeq ($(BR2_PACKAGE_KODI_SKIN_DEFAULT_CONFLUENCE),y)
> +KODI_POST_INSTALL_TARGET_HOOKS += KODI_SET_DEFAULT_SKIN_CONFLUENCE
> +endif
> +
>  define KODI_INSTALL_BR_WRAPPER
>  	$(INSTALL) -D -m 0755 package/kodi/br-kodi \
>  		$(TARGET_DIR)/usr/bin/br-kodi
> -- 
> 2.11.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list