Introducing XBMC
v7 cover Introducing XBMC
Here we go again with a new round.
Again most of the changes are located within the XBMC patch.
Maxime Hadjinlian (4):
sdl: add host version
sdl_image: add host version
infra: Introduce BR2_HOST_NEEDS_JAVA
xbmc: new package
Config.in | 5 + package/Config.in | 1 + package/sdl/sdl.mk | 4 +- package/sdl_image/sdl_image.mk | 11 ++ package/xbmc/Config.in | 165 ++++++++++++++++++++ package/xbmc/S50xbmc | 41 +++++ package/xbmc/xbmc-0001-Fixup-include-path.patch | 81 ++++++++++ .../xbmc-0002-RaspberryPi-Default-Settings.patch | 168 +++++++++++++++++++++ package/xbmc/xbmc.mk | 149 ++++++++++++++++++ package/xbmc/xbmc.service | 12 ++ support/dependencies/dependencies.sh | 8 + 11 files changed, 644 insertions(+), 1 deletion(-) create mode 100644 package/xbmc/Config.in create mode 100755 package/xbmc/S50xbmc create mode 100644 package/xbmc/xbmc-0001-Fixup-include-path.patch create mode 100644 package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch create mode 100644 package/xbmc/xbmc.mk create mode 100644 package/xbmc/xbmc.service
--
1.8.5.3
PATCH v7 1/4 sdl: add host version
Host version is needed to build xbmc
---
Changes v6 -> v7:
- Add one empty line for clarity
Changes v5 -> v6:
- None
Changes v4 -> v5:
- None
Changes v3 -> v4:
- None
Changes v2 -> v3:
- None
Changes v1 -> v2:
- None
--- package/sdl/sdl.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
package/sdl/sdl.mk +3 -1
@@ -18,8 +18,9 @@ define SDL_RUN_AUTOGEN endef SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN -SDL_DEPENDENCIES += host-automake host-autoconf host-libtool +HOST_SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN +SDL_DEPENDENCIES += host-automake host-autoconf host-libtool ifeq ($(BR2_PACKAGE_SDL_FBCON),y) SDL_CONF_OPT += --enable-video-fbcon=yes
@@ -80,3 +81,4 @@ endef SDL_POST_INSTALL_STAGING_HOOKS += SDL_FIXUP_SDL_CONFIG $(eval $(autotools-package)) +$(eval $(host-autotools-package))
Signature · 1 line
1.8.5.3
PATCH v7 1/4 sdl: add host version
Dear Maxime Hadjinlian,
package/sdl/sdl.mk define SDL_RUN_AUTOGEN · line 21
Quoted 10 lines · Maxime Hadjinlian
package/sdl/sdl.mk +1
-1@@ -18,8 +18,9 @@ define SDL_RUN_AUTOGEN endef SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN -SDL_DEPENDENCIES += host-automake host-autoconf host-libtool +HOST_SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN
This should be a pre-configure hook, as we discussed recently on the list.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 1/4 sdl: add host version
Quoted 11 lines · Thomas Petazzoni
Dear Maxime Hadjinlian,
Quoted 7 lines · Maxime Hadjinlian
package/sdl/sdl.mk +0
-0@@ -18,8 +18,9 @@ define SDL_RUN_AUTOGEN endef
Quoted 6 lines
package/sdl/sdl.mk define SDL_RUN_AUTOGEN · line 21
Quoted 3 lines
package/sdl/sdl.mk +1
-1SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN -SDL_DEPENDENCIES += host-automake host-autoconf host-libtool +HOST_SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGENThis should be a pre-configure hook, as we discussed recently on the list.
Argh. Forgot to change this...will do !
Quoted 6 lines
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
PATCH v7 1/4 sdl: add host version
In reply to Maxime HadjinlianQuoted 27 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Maxime" == Maxime Hadjinlian <[email protected]> writes:
Host version is needed to build xbmc
Signed-off-by Maxime Hadjinlian <[email protected]>Reviewed-by "Yann E. MORIN" <[email protected]>---
Changes v6 -> v7:
- Add one empty line for clarity
Changes v5 -> v6:
- None
Changes v4 -> v5:
- None
Changes v3 -> v4:
- None
Changes v2 -> v3:
- None
Changes v1 -> v2:
- None--- package/sdl/sdl.mk | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)package/sdl/sdl.mk +0
-0
package/sdl/sdl.mk define SDL_RUN_AUTOGEN · line 21
Quoted 5 lines
package/sdl/sdl.mk +1
-1@@ -18,8 +18,9 @@ define SDL_RUN_AUTOGEN endef SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN -SDL_DEPENDENCIES += host-automake host-autoconf host-libtool +HOST_SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN
Committed to next with this fixed up to use PRE_CONFIGURE_HOOKS instead, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v7 2/4 sdl_image: add host version
In reply to Maxime HadjinlianHost version is needed to build xbmc
---
Changes v6 -> v7:
- None
Changes v5 -> v6:
- None
Changes v4 -> v5:
- None
Changes v3 -> v4:
- None
Changes v2 -> v3:
- None
Changes v1 -> v2:
- None
--- package/sdl_image/sdl_image.mk | 11 +++++++++++ 1 file changed, 11 insertions(+)
package/sdl_image/sdl_image.mk +11 -0
@@ -38,4 +38,15 @@ SDL_IMAGE_DEPENDENCIES = sdl \ $(if $(BR2_PACKAGE_SDL_IMAGE_TIFF),tiff) \ $(if $(BR2_PACKAGE_SDL_IMAGE_WEBP),webp) +HOST_SDL_IMAGE_CONF_OPT = --with-sdl-prefix=$(HOST_DIR)/usr \ + --with-sdl-exec-prefix=$(HOST_DIR)/usr \ + --disable-sdltest \ + --disable-static \ + --disable-jpg-shared \ + --disable-png-shared \ + --disable-tif-shared \ + +HOST_SDL_IMAGE_DEPENDENCIES = host-libjpeg host-libpng host-sdl + $(eval $(autotools-package)) +$(eval $(host-autotools-package))
Signature · 1 line
1.8.5.3
PATCH v7 2/4 sdl_image: add host version
Dear Maxime Hadjinlian,
Quoted 5 lines · Maxime Hadjinlian
package/sdl_image/sdl_image.mk +0
-0
package/sdl_image/sdl_image.mk SDL_IMAGE_DEPENDENCIES = sdl \ · line 47
Quoted 10 lines
package/sdl_image/sdl_image.mk +7
-0@@ -38,4 +38,15 @@ SDL_IMAGE_DEPENDENCIES = sdl \ $(if $(BR2_PACKAGE_SDL_IMAGE_TIFF),tiff) \ $(if $(BR2_PACKAGE_SDL_IMAGE_WEBP),webp) +HOST_SDL_IMAGE_CONF_OPT = --with-sdl-prefix=$(HOST_DIR)/usr \ + --with-sdl-exec-prefix=$(HOST_DIR)/usr \ + --disable-sdltest \ + --disable-static \ + --disable-jpg-shared \ + --disable-png-shared \ + --disable-tif-shared \
This is nitpicking, but we normally intend this with one tab, do not have a backslash on the last line, and also intend the first line. So, something like:
HOST_SDL_IMAGE_CONF_OPT = \ --with-sdl-prefix=... \ --foo \ --bar \ --baz
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 2/4 sdl_image: add host version
Quoted 25 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Dear Maxime Hadjinlian,
Quoted 5 lines · Maxime Hadjinlian
package/sdl_image/sdl_image.mk +0
-0package/sdl_image/sdl_image.mk SDL_IMAGE_DEPENDENCIES = sdl \ · line 47
Quoted 10 lines
package/sdl_image/sdl_image.mk +7
-0@@ -38,4 +38,15 @@ SDL_IMAGE_DEPENDENCIES = sdl \ $(if $(BR2_PACKAGE_SDL_IMAGE_TIFF),tiff) \ $(if $(BR2_PACKAGE_SDL_IMAGE_WEBP),webp) +HOST_SDL_IMAGE_CONF_OPT = --with-sdl-prefix=$(HOST_DIR)/usr \ + --with-sdl-exec-prefix=$(HOST_DIR)/usr \ + --disable-sdltest \ + --disable-static \ + --disable-jpg-shared \ + --disable-png-shared \ + --disable-tif-shared \This is nitpicking, but we normally intend this with one tab, do not have a backslash on the last line, and also intend the first line. So, something like:
Quoted 5 lines
HOST_SDL_IMAGE_CONF_OPT = \ --with-sdl-prefix=... \ --foo \ --bar \ --baz
True, but this atleast matches what is done just above for the target version. With that being said, a followup patch to cleanup both would be nice.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v7 2/4 sdl_image: add host version
In reply to Maxime HadjinlianQuoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Maxime" == Maxime Hadjinlian <[email protected]> writes:
Host version is needed to build xbmc
Signed-off-by Maxime Hadjinlian <[email protected]>Reviewed-by "Yann E. MORIN" <[email protected]>
Committed to next, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v7 3/4 infra: Introduce BR2_HOST_NEEDS_JAVA
In reply to Maxime HadjinlianXBMC needs Java on the host in order to build, because it uses a code-generator which is build in two phases:
In the first phase SWIG is used to parse C++ header files that define the API. SWIG outputs an XML file that contains a complete description of the structure of the API.
In the second phase, the XML file is ingested by a Groovy (Java) program that then creates C++ code that forms the bridge to the scripting language (Python).
The second phase is why we need java on the host.
You can learn more at the XBMC's wiki:
http://wiki.xbmc.org/index.php?title=Codegeneration#How_it_works
In order to check that, this patch introduce this mechanism in dependencies.sh
It also defines the variable in Config.in
---
Changes v6 -> v7:
- Fixes old use of BUILDROOT_CONFIG instead of BR2_CONFIG
- Add definition of the variable to Config.in
Changes v5 -> v6:
- Remove useless loop (Thomas Petazzoni)
- Thanks to Martin Bark idea, change this patch to have a non package specific variable.
Changes v1 -> v5:
- Patch non existant before
--- Config.in | 5 +++++ support/dependencies/dependencies.sh | 8 ++++++++ 2 files changed, 13 insertions(+)
Config.in +5 -0
@@ -18,6 +18,11 @@ config BR2_EXTERNAL string option env="BR2_EXTERNAL" +# Hidden boolean selected by packages in need of Java in order to build +# (example: xbmc) +config BR2_HOST_NEEDS_JAVA + bool + # Hidden boolean selected by pre-built packages for x86, when they # need to run on x86-64 machines (example: pre-built external # toolchains, binary tools like SAM-BA, etc.).
support/dependencies/dependencies.sh +8 -0
@@ -191,6 +191,14 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then done fi +if grep -q ^BR2_HOST_NEEDS_JAVA=y $BR2_CONFIG ; then + if ! which java > /dev/null ; then + echo >&2 + echo "You must install '$prog' on your build machine" >&2 + exit 1 + fi +fi + if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then if test ! -f /lib/ld-linux.so.2 ; then echo
Signature · 1 line
1.8.5.3
PATCH v7 3/4 infra: Introduce BR2_HOST_NEEDS_JAVA
Dear Maxime Hadjinlian,
Quoted 9 lines · Maxime Hadjinlian
XBMC needs Java on the host in order to build, because it uses a code-generator which is build in two phases:
In the first phase SWIG is used to parse C++ header files that define the API. SWIG outputs an XML file that contains a complete description of the structure of the API.
In the second phase, the XML file is ingested by a Groovy (Java) program that then creates C++ code that forms the bridge to the scripting language (Python).The second phase is why we need java on the host.
People inventing such horrible code generation flows really have a problem. They should probably talk to M-x doctor.
Config.in config BR2_EXTERNAL · line 24
Quoted 4 lines
Config.in +4
-0+# Hidden boolean selected by packages in need of Java in order to build +# (example: xbmc) +config BR2_HOST_NEEDS_JAVA + bool
Do we need a kconfig bool for this? We have the same situation for classpath, and we haven't introduced a specific kconfig bool for it.
Moreover, I am not sure BR2_HOST_NEEDS_JAVA is the right name. It's not really the host that needs Java, it's the compilation process that requires a host Java. So BR2_NEEDS_HOST_JAVA is probably more technically correct.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 3/4 infra: Introduce BR2_HOST_NEEDS_JAVA
Hi Thomas, all
Quoted 11 lines · Thomas Petazzoni
Dear Maxime Hadjinlian,
Quoted 8 lines · Maxime Hadjinlian
XBMC needs Java on the host in order to build, because it uses a code-generator which is build in two phases:
In the first phase SWIG is used to parse C++ header files that define the API. SWIG outputs an XML file that contains a complete description of the structure of the API.
In the second phase, the XML file is ingested by a Groovy (Java) program that then creates C++ code that forms the bridge to the scripting language (Python).
Quoted 4 lines
Quoted 1 line
The second phase is why we need java on the host.
People inventing such horrible code generation flows really have a problem. They should probably talk to M-x doctor.
What can I say ? :)
Quoted 8 lines
Config.in config BR2_EXTERNAL · line 24
Quoted 5 lines
Config.in +4
-0+# Hidden boolean selected by packages in need of Java in order to build +# (example: xbmc) +config BR2_HOST_NEEDS_JAVA + boolDo we need a kconfig bool for this? We have the same situation for classpath, and we haven't introduced a specific kconfig bool for it.
Yes, I had two patches:
- One to introduce kconfig bool option for JAVAC and JAR
- The second to make classpath uses them and remove the specific independencies.sh
It seems cleaner and if another package has the same needs, it's already there.
Quoted 5 lines
Moreover, I am not sure
BR2_HOST_NEEDS_JAVAis the right name. It's not really the host that needs Java, it's the compilation process that requires a host Java. SoBR2_NEEDS_HOST_JAVAis probably more technically correct.
True, I'll fix that.
Quoted 4 lines
Thanks,
Thomas
Thanks
Quoted 4 lines
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
PATCH v7 3/4 infra: Introduce BR2_HOST_NEEDS_JAVA
Dear Maxime Hadjinlian,
Quoted 7 lines · Maxime Hadjinlian
Quoted 7 lines
Config.in config BR2_EXTERNAL · line 24
Quoted 4 lines
Config.in +4
-0+# Hidden boolean selected by packages in need of Java in order to build +# (example: xbmc) +config BR2_HOST_NEEDS_JAVA + boolDo we need a kconfig bool for this? We have the same situation for classpath, and we haven't introduced a specific kconfig bool for it.
Quoted 6 lines
Yes, I had two patches:
- One to introduce kconfig bool option for JAVAC and JAR
- The second to make classpath uses them and remove the specific independencies.shIt seems cleaner and if another package has the same needs, it's already there.
Right, but when it's needed for just one package, it's maybe not needed to have a generic solution. When it starts to be needed by a few packages, then it is time to refactor things and have a generic solution such as the one you propose.
But oh well, since you already wrote the code, I'm fine with it.
Quoted 5 lines
Quoted 4 lines
Moreover, I am not sure
BR2_HOST_NEEDS_JAVAis the right name. It's not really the host that needs Java, it's the compilation process that requires a host Java. SoBR2_NEEDS_HOST_JAVAis probably more technically correct.True, I'll fix that.
Cool, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 3/4 infra: Introduce BR2_HOST_NEEDS_JAVA
In reply to Maxime HadjinlianQuoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Maxime" == Maxime Hadjinlian <[email protected]> writes:
XBMC needs Java on the host in order to build, because it uses a code-generator which is build in two phases:
In the first phase SWIG is used to parse C++ header files that define the API. SWIG outputs an XML file that contains a complete description of the structure of the API.
In the second phase, the XML file is ingested by a Groovy (Java) program that then creates C++ code that forms the bridge to the scripting language (Python).
Quoted 8 lines
The second phase is why we need java on the host.
You can learn more at the XBMC's wiki:
http://wiki.xbmc.org/index.php?title=Codegeneration#How_it_worksIn order to check that, this patch introduce this mechanism in
dependencies.sh
It also defines the variable in Config.in
The commit message is wrapped kind of strange.
support/dependencies/dependencies.sh if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then · line 197
Quoted 9 lines
+++
b/support/dependencies/dependencies.shsupport/dependencies/dependencies.sh +4
-0@@ -191,6 +191,14 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then done fi +if grep -q ^BR2_HOST_NEEDS_JAVA=y $BR2_CONFIG ; then + if ! which java > /dev/null ; then + echo >&2 + echo "You must install '$prog' on your build machine" >&2
And it should use 'java' instead of '$prog' here.
Committed to next with that fixed, thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH v7 4/4 xbmc: new package
In reply to Maxime HadjinlianXBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.
This package was originally found at : https://github.com/huceke/buildroot-rbp
By gimli <[email protected]>
---
Changes v6 -> v7:
- Fix various capitalization issue (Thomas De Schampheleire)
- Changes depends on !uclibc to a depends on glibc (Thomas De Schampheleire)
- Remove TIFF being selected twice (Jerzy Grzegorek)
Changes v5 -> v6:
- Fix missing depends on OpenGL (Yann E. Morin)
- Remove LIBCEC_RBP Config option (Yann E. Morin)
- Fix dependency that were, in the end, not optionnal (Martin Bark)
- Fix OpenGL check (Martin Bark)
- Uses BR2_HOST_NEEDS_JAVA (Martin Bark)
Changes v4 -> v5:
- Remove MAKE1, seems to work fine with parallel build.
Changes v3 -> v4:
- Rework init script
- Add systemd startup service
Changes v2 -> v3:
- Fix indent
- Change librtmp to rtmpdump
Changes v1 -> v2:
- Fix header (Yann E. Morin)
- Fix comment on toolchain option (Peter Korsgaard)
--- package/Config.in | 1 + package/xbmc/Config.in | 165 ++++++++++++++++++++ package/xbmc/S50xbmc | 41 +++++ package/xbmc/xbmc-0001-Fixup-include-path.patch | 81 ++++++++++ .../xbmc-0002-RaspberryPi-Default-Settings.patch | 168 +++++++++++++++++++++ package/xbmc/xbmc.mk | 149 ++++++++++++++++++ package/xbmc/xbmc.service | 12 ++ 7 files changed, 617 insertions(+) create mode 100644 package/xbmc/Config.in create mode 100755 package/xbmc/S50xbmc create mode 100644 package/xbmc/xbmc-0001-Fixup-include-path.patch create mode 100644 package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch create mode 100644 package/xbmc/xbmc.mk create mode 100644 package/xbmc/xbmc.service
package/Config.in +1 -0
@@ -26,6 +26,7 @@ source "package/tstools/Config.in" source "package/vlc/Config.in" source "package/vorbis-tools/Config.in" source "package/wavpack/Config.in" +source "package/xbmc/Config.in" source "package/yavta/Config.in" endmenu
package/xbmc/Config.in new file +165 -0
165 lines not on this page · raw message
package/xbmc/S50xbmc new file +41 -0
41 lines not on this page · raw message
package/xbmc/xbmc-0001-Fixup-include-path.patch new file +81 -0
81 lines not on this page · raw message
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +168 -0
168 lines not on this page · raw message
package/xbmc/xbmc.mk new file +149 -0
149 lines not on this page · raw message
package/xbmc/xbmc.service new file +12 -0
@@ -0,0 +1,12 @@ +[Unit] +Description = XBMC media center +After = network.target + +[Service] +Type = simple +ExecStart = /usr/lib/xbmc/xbmc.bin --standalone -fs -n +Restart = on-failure + +[Install] +WantedBy = multi-user.target +
Signature · 1 line
1.8.5.3
PATCH v7 4/4 xbmc: new package
Dear Maxime Hadjinlian,
package/xbmc/Config.in line 2
Quoted 8 lines · Maxime Hadjinlian
package/xbmc/Config.in new file +2
-0@@ -0,0 +1,165 @@ +comment "xbmc requires an OpenGL-capable backend" + depends on !(BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)
I would make the comment more specific:
comment "xbmc requires an OpenGL ES and EGL backend"
package/xbmc/Config.in line 6
Quoted 3 lines
package/xbmc/Config.in new file +3
-0+# External toolchain are required because of a missing bitdefs.h +comment "xbmc needs an (e)glibc external toolchain w/ C++, wchar" + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_BUILDROOT
This dependency does not make much sense to me. Your comment mentions "external toolchain", but it is not reflected by the dependencies. Moreover, we now have glibc/eglibc support in the internal backend, so I don't really see how there could be a difference between internal and external here. Additionally, if the C library is glibc or eglibc, then you are guaranteed to have wchar support. So if what you need is eglibc/glibc, then please do:
comment "xbmc needs an (e)glibc toolchain w/ C++"
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP
Quoted 39 lines
package/xbmc/Config.in new file +39
-0+menuconfig BR2_PACKAGE_XBMC + bool "xbmc" + select BR2_HOST_NEEDS_JAVA + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_THREAD + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_FLAC + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_JASPER + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBASS + select BR2_PACKAGE_LIBCDIO + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBFRIBIDI + select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBID3TAG + select BR2_PACKAGE_LIBMAD + select BR2_PACKAGE_LIBMODPLUG + select BR2_PACKAGE_LIBMPEG2 + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBPLIST + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_LIBSAMPLERATE + select BR2_PACKAGE_LIBUNGIF + select BR2_PACKAGE_LIBVORBIS + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LZO + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_BSDDB + select BR2_PACKAGE_PYTHON_BZIP2 + select BR2_PACKAGE_PYTHON_CURSES + select BR2_PACKAGE_PYTHON_PYEXPAT + select BR2_PACKAGE_PYTHON_READLINE + select BR2_PACKAGE_PYTHON_SQLITE
package/xbmc/Config.in line 56
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ select BR2_PACKAGE_PYTHON_SSL + select BR2_PACKAGE_PYTHON_UNICODEDATA + select BR2_PACKAGE_PYTHON_ZLIB + select BR2_PACKAGE_READLINE + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_TAGLIB + select BR2_PACKAGE_TIFF + select BR2_PACKAGE_TINYXML + select BR2_PACKAGE_YAJL + select BR2_PACKAGE_ZLIB
Wow! None of these dependencies are optional?
package/xbmc/Config.in line 57
Quoted 1 line
package/xbmc/Config.in new file +1
-0+ depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && BR2_TOOLCHAIN_USES_GLIBC
Please update according to the discussion above.
package/xbmc/Config.in line 59
Quoted 2 lines
package/xbmc/Config.in new file +2
-0+ depends on BR2_PACKAGE_HAS_OPENGL_EGL || BR2_PACKAGE_HAS_OPENGL_ES + depends on !BR2_TOOLCHAIN_BUILDROOT
Ditto.
package/xbmc/Config.in line 71
Quoted 12 lines
package/xbmc/Config.in new file +12
-0+ help + XBMC is an award-winning free and open source (GPL) software + media player and entertainment hub for digital media. + + http://xbmc.org + +if BR2_PACKAGE_XBMC + +config BR2_PACKAGE_XBMC_AVAHI + bool "avahi" + select BR2_PACKAGE_AVAHI + select BR2_PACKAGE_AVAHI_DAEMON
Missing MMU + thread dependency.
package/xbmc/Config.in line 78
Quoted 7 lines
package/xbmc/Config.in new file +7
-0+ help + Enable Avahi support. + Select this if you want XBMC to support Bonjour protocol. + +config BR2_PACKAGE_XBMC_DBUS + bool "dbus" + select BR2_PACKAGE_DBUS
Missing MMU + thread dependency.
package/xbmc/Config.in line 84
Quoted 6 lines
package/xbmc/Config.in new file +6
-0+ help + Enable D-Bus support + +config BR2_PACKAGE_XBMC_LIBBLURAY + bool "libbluray" + select BR2_PACKAGE_LIBBLURAY
Missing thread dependency.
package/xbmc/Config.in line 93
Quoted 9 lines
package/xbmc/Config.in new file +9
-0+ help + Enable Blu-ray input support. + Select this if you want to play back Blu-ray content. + +config BR2_PACKAGE_XBMC_LIBCEC + bool "libcec" + select BR2_PACKAGE_LIBCEC + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR
I think we should chose: either we replicate the toolchain dependencies of the packages we select (as you're doing here for libcec), or we do not. For example, in the Avahi example above, you did not replicate the MMU and thread dependencies of Avahi.
Even though those dependencies are not needed now (because glibc is only available on MMU-capable platforms, always provides thread support), they might be needed later on, for example once XBMC becomes buildable with uClibc. Our policy is therefore to always replicate those dependencies, though I admit for this package, it's a little bit annoying because we know that XBMC as a whole will never build on non-MMU platforms, or without thread support.
Maybe others could comment on this?
package/xbmc/Config.in line 102
Quoted 9 lines
package/xbmc/Config.in new file +9
-0+ help + Enable CEC (Consumer Electronics Control) support. + Select this if you want XBMC to support HDMI CEC. + +comment "libcec requires a toolchain w/ C++, wchar support" + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) + +config BR2_PACKAGE_XBMC_LIBMICROHTTPD + bool "libmicrohttpd"
Shouldn't this be named "web server" or something like this? What the user really cares about is not the name of the library needed to enable the feature, but rather the feature itself: the fact that this is going to enable a web server in XBMC, to do something.
I guess the other sub-options should be reviewed in the light of this.
package/xbmc/Config.in line 103
Quoted 1 line
package/xbmc/Config.in new file +1
-0+ select BR2_PACKAGE_LIBMICROHTTPD
Missing thread dependency.
Quoted 21 lines
package/xbmc/Config.in new file +21
-0+ help + Enable webserver feature + +config BR2_PACKAGE_XBMC_LIBNFS + bool "libnfs" + select BR2_PACKAGE_LIBNFS + depends on BR2_LARGEFILE + depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC + help + Enable NFS server support. + +comment "libnfs support requires a toolchain w/ largefile, RPC support" + depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_NATIVE_RPC) + +config BR2_PACKAGE_XBMC_RTMPDUMP + bool "librtmp" + select BR2_PACKAGE_RTMPDUMP + help + Enable RTMP input support. + Select this if you want to play back rtmp stream. +
package/xbmc/Config.in line 134
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY + bool "libshairport" + select BR2_PACKAGE_LIBSHAIRPLAY + depends on BR2_INET_IPV6 + help + Enable Shairport support. + Select this if you want to stream content from an Apple device. + +comment "libshairport support requires a toolchain w/ IPv6 support" + depends on !(BR2_INET_IPV6)
Parenthesis not needed.
package/xbmc/Config.in line 139
Quoted 5 lines
package/xbmc/Config.in new file +5
-0+ +config BR2_PACKAGE_XBMC_LIBSMBCLIENT + bool "libsmbclient" + select BR2_PACKAGE_SAMBA + select BR2_PACKAGE_SAMBA_LIBSMBCLIENT
Missing MMU and thread dependencies.
Quoted 36 lines
package/xbmc/Config.in new file +26
-0+ help + Enable Samba support + +config BR2_PACKAGE_XBMC_LIBTHEORA + bool "libtheora" + select BR2_PACKAGE_LIBTHEORA + help + Enable Theora input support. + Select this if you want to play back OGG/OGV files (Video). + +config BR2_PACKAGE_XBMC_LIBUSB + bool "libusb" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT + help + Enable libusb support. + +config BR2_PACKAGE_XBMC_WAVPACK + bool "wavpack" + select BR2_PACKAGE_WAVPACK + help + Enable WAV input support. + Select this if you want to play back WV files. + +endifpackage/xbmc/S50xbmc new file +4
-0@@ -0,0 +1,41 @@ +#!/bin/sh +# +# Starts XBMC. +#
package/xbmc/S50xbmc line 14
Quoted 10 lines
package/xbmc/S50xbmc new file +10
-0+ +BIN_NAME=xbmc.bin +XBMC=/usr/lib/xbmc/$BIN_NAME +XBMC_ARGS="--standalone -fs -n" +PIDFILE=/var/run/xbmc.pid + +start() { + echo -n "Starting XBMC: " + start-stop-daemon -S -q -p $PIDFILE --exec $XBMC -- $XBMC_ARGS + [ $? == 0 ] && echo "OK" || echo "FAIL"
We use tab for indentation in our init scripts usually.
Quoted 6 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +0
-0
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch line 8
Quoted 8 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +8
-0@@ -0,0 +1,168 @@ +From 2541772a3ed71402a620466feb6a337b40f08880 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian <[email protected]> +Date: Sat, 15 Dec 2012 23:41:06 +0100 +Subject: [PATCH] RaspberryPi Default Settings + +Add some default settings if the target platform is the RaspberryPi. +Avoid the fact that the user _MUST_ have an advandcedsettings.xml to be able +to use XBMC properly.
Is this patch something that is going to be merged upstream by XBMC ? If not, I would very much prefer if Buildroot would ship this advancedsettings.xml, and would install if the target platform is RasberryPi. This would be more in line with what upstream does, no?
Quoted 14 lines
package/xbmc/xbmc.mk new file +8
-0@@ -0,0 +1,149 @@ +################################################################################ +# +# xbmc +# +################################################################################ + +XBMC_VERSION = 12.3-Frodo +XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION))
package/xbmc/xbmc.mk line 18
Quoted 10 lines
package/xbmc/xbmc.mk new file +10
-0+XBMC_LICENSE = GPLv2 +XBMC_LICENSE_FILES = LICENSE.GPL +XBMC_DEPENDENCIES = host-lzo host-sdl_image host-swig +XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \ + libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \ + libogg libplist libpng libsamplerate libungif libvorbis libxml2 lzo ncurses \ + openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib + +XBMC_CONF_ENV += PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" +XBMC_CONF_ENV += PYTHON_LDFLAGS="-L$(STAGING_DIR)/usr/lib/ -lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm"
Passing -L$(STAGING_DIR)/usr/lib should not be needed, since the cross compiler looks there by default for libraries.
package/xbmc/xbmc.mk line 22
Quoted 4 lines
package/xbmc/xbmc.mk new file +4
-0+XBMC_CONF_ENV += PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" +XBMC_CONF_ENV += PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" +XBMC_CONF_ENV += PYTHON_NOVERSIONCHECK="no-check" +XBMC_CONF_ENV += TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
Only one line:
XBMC_CONF_ENV = \ PYTHON_VERSION=... \ PYTHON_LDFLAGS=... \ ... \ TEXTUREPACKER=...
package/xbmc/xbmc.mk line 29
Quoted 7 lines
package/xbmc/xbmc.mk new file +7
-0+ +XBMC_CONF_OPT += --disable-alsa --disable-crystalhd --disable-debug \ + --disable-dvdcss --disable-gl --disable-hal --disable-joystick \ + --disable-mysql --disable-openmax --disable-optical-drive \ + --disable-projectm --disable-pulse --disable-sdl --disable-ssh \ + --disable-vaapi --disable-vdpau --disable-vtbdecoder --disable-x11 \ + --disable-xrandr --enable-gles --enable-optimizations
We usually do one per line.
Quoted 71 lines
package/xbmc/xbmc.mk new file +71
-0+ +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +XBMC_DEPENDENCIES += rpi-userland +XBMC_CONF_OPT += --with-platform=raspberry-pi --enable-player=omxplayer +XBMC_CONF_ENV += INCLUDES="-I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ + -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" +endif + +ifeq ($(BR2_PACKAGE_DBUS),y) +XBMC_DEPENDENCIES += dbus +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y) +XBMC_DEPENDENCIES += libusb-compat +XBMC_CONF_OPT += --enable-libusb +else +XBMC_CONF_OPT += --disable-libusb +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBMICROHTTPD),y) +XBMC_DEPENDENCIES += libmicrohttpd +XBMC_CONF_OPT += --enable-webserver +else +XBMC_CONF_OPT += --disable-webserver +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBSMBCLIENT),y) +XBMC_DEPENDENCIES += samba +XBMC_CONF_OPT += --enable-samba +else +XBMC_CONF_OPT += --disable-samba +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBNFS),y) +XBMC_DEPENDENCIES += libnfs +XBMC_CONF_OPT += --enable-nfs +else +XBMC_CONF_OPT += --disable-nfs +endif + +ifeq ($(BR2_PACKAGE_XBMC_RTMPDUMP),y) +XBMC_DEPENDENCIES += rtmpdump +XBMC_CONF_OPT += --enable-rtmp +else +XBMC_CONF_OPT += --disable-rtmp +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBBLURAY),y) +XBMC_DEPENDENCIES += libbluray +XBMC_CONF_OPT += --enable-libbluray +else +XBMC_CONF_OPT += --disable-libbluray +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBSHAIRPLAY),y) +XBMC_DEPENDENCIES += libshairplay +XBMC_CONF_OPT += --enable-airplay +else +XBMC_CONF_OPT += --disable-airplay +endif + +ifeq ($(BR2_PACKAGE_XBMC_AVAHI),y) +XBMC_DEPENDENCIES += avahi +XBMC_CONF_OPT += --enable-avahi +else +XBMC_CONF_OPT += --disable-avahi +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBCEC),y) +XBMC_DEPENDENCIES += libcec +XBMC_CONF_OPT += --enable-libcec
package/xbmc/xbmc.mk line 110
Quoted 10 lines
package/xbmc/xbmc.mk new file +10
-0+else +XBMC_CONF_OPT += --disable-libcec +endif + +ifeq ($(BR2_PACKAGE_XBMC_WAVPACK),y) +XBMC_DEPENDENCIES += wavpack +endif + +# Add HOST_DIR to PATH for codegenerator.mk to find swig +# TODO: java binary from user's machine is currently used...
This TODO can be removed I believe, due to your BR2_HOST_NEEDS_JAVA patch.
package/xbmc/xbmc.mk line 112
Quoted 2 lines
package/xbmc/xbmc.mk new file +2
-0+define XBMC_BOOTSTRAP + cd $(@D) && PATH="$(HOST_DIR)/usr/bin/:$(PATH)" ./bootstrap
PATH=$(HOST_PATH).
Quoted 23 lines
package/xbmc/xbmc.mk new file +23
-0+endef + +define XBMC_CLEAN_UNUSED_ADDONS + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/screensaver.rsxs.plasma + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.milkdrop + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.projectm + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.itunes +endef + +define XBMC_CLEAN_CONFLUENCE_SKIN + find $(TARGET_DIR)/usr/share/xbmc/addons/skin.confluence/media -name *.png -delete + find $(TARGET_DIR)/usr/share/xbmc/addons/skin.confluence/media -name *.jpg -delete +endef + +define XBMC_INSTALL_INIT_SYSV + [ -f $(TARGET_DIR)/etc/init.d/S50xbmc ] || \ + $(INSTALL) -D -m 755 package/xbmc/S50xbmc \ + $(TARGET_DIR)/etc/init.d/S50xbmc +endef + +define XBMC_INSTALL_INIT_SYSTEMD + [ -f $(TARGET_DIR)/etc/systemd/system/xbmc.service ] || \ + $(INSTALL) -D -m 644 package/xbmc/xbmc.service \
package/xbmc/xbmc.mk line 145
Quoted 10 lines
package/xbmc/xbmc.mk new file +10
-0+ $(TARGET_DIR)/etc/systemd/system/xbmc.service + + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + + ln -fs ../xbmc.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/xbmc.service +endef + +XBMC_PRE_CONFIGURE_HOOKS += XBMC_BOOTSTRAP +XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_INSTALL_ETC
XBMC_INSTALL_ETC no longer exists it seems.
package/xbmc/xbmc.mk line 147
Quoted 2 lines
package/xbmc/xbmc.mk new file +2
-0+XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_UNUSED_ADDONS +XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_CONFLUENCE_SKIN
I'd prefer to have those hook registrations near each of the hook declarations, i.e:
define HOOK1
endef
FOOBAR_POST_INSTALL_TARGET_HOOKS += HOOK1
define HOOK2
endef
FOOBAR_POST_INSTALL_TARGET_HOOKS += HOOK2
Thanks a lot for the great work! The XBMC package is certainly not an easy one, but it will be a very welcome addition in Buildroot.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v7 4/4 xbmc: new package
Hi Thomas, all
Quoted 29 lines · Thomas Petazzoni
Dear Maxime Hadjinlian,
package/xbmc/Config.in line 2
Quoted 8 lines · Maxime Hadjinlian
package/xbmc/Config.in new file +2
-0@@ -0,0 +1,165 @@ +comment "xbmc requires an OpenGL-capable backend" + depends on !(BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)I would make the comment more specific:
comment "xbmc requires an OpenGL ES and EGL backend"
package/xbmc/Config.in line 6
Quoted 3 lines
package/xbmc/Config.in new file +3
-0+# External toolchain are required because of a missing bitdefs.h +comment "xbmc needs an (e)glibc external toolchain w/ C++, wchar" + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_BUILDROOTThis dependency does not make much sense to me. Your comment mentions "external toolchain", but it is not reflected by the dependencies. Moreover, we now have glibc/eglibc support in the internal backend, so I don't really see how there could be a difference between internal and external here. Additionally, if the C library is glibc or eglibc, then you are guaranteed to have wchar support. So if what you need is eglibc/glibc, then please do:
Quoted 3 lines
comment "xbmc needs an (e)glibc toolchain w/ C++"
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP
The problem I had with internal toolchain, {X}libc was that, the bitdefs.h is missing, and XBMC needs it.
I'll look at it another time as maybe my tests were not thorough enough.
Quoted 50 lines
Quoted 39 lines
package/xbmc/Config.in new file +39
-0+menuconfig BR2_PACKAGE_XBMC + bool "xbmc" + select BR2_HOST_NEEDS_JAVA + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_THREAD + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_FLAC + select BR2_PACKAGE_FONTCONFIG + select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_JASPER + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBASS + select BR2_PACKAGE_LIBCDIO + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBFRIBIDI + select BR2_PACKAGE_LIBGCRYPT + select BR2_PACKAGE_LIBID3TAG + select BR2_PACKAGE_LIBMAD + select BR2_PACKAGE_LIBMODPLUG + select BR2_PACKAGE_LIBMPEG2 + select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBPLIST + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_LIBSAMPLERATE + select BR2_PACKAGE_LIBUNGIF + select BR2_PACKAGE_LIBVORBIS + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_LZO + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_BSDDB + select BR2_PACKAGE_PYTHON_BZIP2 + select BR2_PACKAGE_PYTHON_CURSES + select BR2_PACKAGE_PYTHON_PYEXPAT + select BR2_PACKAGE_PYTHON_READLINE + select BR2_PACKAGE_PYTHON_SQLITEpackage/xbmc/Config.in line 56
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ select BR2_PACKAGE_PYTHON_SSL + select BR2_PACKAGE_PYTHON_UNICODEDATA + select BR2_PACKAGE_PYTHON_ZLIB + select BR2_PACKAGE_READLINE + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_TAGLIB + select BR2_PACKAGE_TIFF + select BR2_PACKAGE_TINYXML + select BR2_PACKAGE_YAJL + select BR2_PACKAGE_ZLIB
Quoted 1 line
Wow! None of these dependencies are optional?
Nop, but keep in mind that XBMC is a full featured media center, it does picture, video, streaming, and so on...
Also, I have voluntarily omitted some of the optional dependency in order to add them little by little and have an "easier" first patch.
Quoted 59 lines
package/xbmc/Config.in line 57
Quoted 2 lines
package/xbmc/Config.in new file +1
-0+ depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && BR2_TOOLCHAIN_USES_GLIBCPlease update according to the discussion above.
package/xbmc/Config.in line 59
Quoted 2 lines
package/xbmc/Config.in new file +2
-0+ depends on BR2_PACKAGE_HAS_OPENGL_EGL || BR2_PACKAGE_HAS_OPENGL_ES + depends on !BR2_TOOLCHAIN_BUILDROOTDitto.
package/xbmc/Config.in line 71
Quoted 12 lines
package/xbmc/Config.in new file +12
-0+ help + XBMC is an award-winning free and open source (GPL) software + media player and entertainment hub for digital media. + + http://xbmc.org + +if BR2_PACKAGE_XBMC + +config BR2_PACKAGE_XBMC_AVAHI + bool "avahi" + select BR2_PACKAGE_AVAHI + select BR2_PACKAGE_AVAHI_DAEMONMissing MMU + thread dependency.
package/xbmc/Config.in line 78
Quoted 7 lines
package/xbmc/Config.in new file +7
-0+ help + Enable Avahi support. + Select this if you want XBMC to support Bonjour protocol. + +config BR2_PACKAGE_XBMC_DBUS + bool "dbus" + select BR2_PACKAGE_DBUSMissing MMU + thread dependency.
package/xbmc/Config.in line 84
Quoted 6 lines
package/xbmc/Config.in new file +6
-0+ help + Enable D-Bus support + +config BR2_PACKAGE_XBMC_LIBBLURAY + bool "libbluray" + select BR2_PACKAGE_LIBBLURAYMissing thread dependency.
package/xbmc/Config.in line 93
Quoted 9 lines
package/xbmc/Config.in new file +9
-0+ help + Enable Blu-ray input support. + Select this if you want to play back Blu-ray content. + +config BR2_PACKAGE_XBMC_LIBCEC + bool "libcec" + select BR2_PACKAGE_LIBCEC + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHARI think we should chose: either we replicate the toolchain dependencies of the packages we select (as you're doing here for libcec), or we do not. For example, in the Avahi example above, you did not replicate the MMU and thread dependencies of Avahi.
Quoted 8 lines
Even though those dependencies are not needed now (because glibc is only available on MMU-capable platforms, always provides thread support), they might be needed later on, for example once XBMC becomes buildable with uClibc. Our policy is therefore to always replicate those dependencies, though I admit for this package, it's a little bit annoying because we know that XBMC as a whole will never build on non-MMU platforms, or without thread support.
Well.. They could always be specified, it doesn't really hurt, does it ?
Quoted 17 lines
Maybe others could comment on this?
package/xbmc/Config.in line 102
Quoted 9 lines
package/xbmc/Config.in new file +9
-0+ help + Enable CEC (Consumer Electronics Control) support. + Select this if you want XBMC to support HDMI CEC. + +comment "libcec requires a toolchain w/ C++, wchar support" + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) + +config BR2_PACKAGE_XBMC_LIBMICROHTTPD + bool "libmicrohttpd"Shouldn't this be named "web server" or something like this? What the user really cares about is not the name of the library needed to enable the feature, but rather the feature itself: the fact that this is going to enable a web server in XBMC, to do something.
Quoted 1 line
I guess the other sub-options should be reviewed in the light of this.
I fully agree, the current name are not user friendly at all.
Quoted 107 lines
package/xbmc/Config.in line 103
Quoted 2 lines
package/xbmc/Config.in new file +1
-0+ select BR2_PACKAGE_LIBMICROHTTPDMissing thread dependency.
Quoted 21 lines
package/xbmc/Config.in new file +21
-0+ help + Enable webserver feature + +config BR2_PACKAGE_XBMC_LIBNFS + bool "libnfs" + select BR2_PACKAGE_LIBNFS + depends on BR2_LARGEFILE + depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC + help + Enable NFS server support. + +comment "libnfs support requires a toolchain w/ largefile, RPC support" + depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_NATIVE_RPC) + +config BR2_PACKAGE_XBMC_RTMPDUMP + bool "librtmp" + select BR2_PACKAGE_RTMPDUMP + help + Enable RTMP input support. + Select this if you want to play back rtmp stream. +package/xbmc/Config.in line 134
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY + bool "libshairport" + select BR2_PACKAGE_LIBSHAIRPLAY + depends on BR2_INET_IPV6 + help + Enable Shairport support. + Select this if you want to stream content from an Apple device. + +comment "libshairport support requires a toolchain w/ IPv6 support" + depends on !(BR2_INET_IPV6)Parenthesis not needed.
package/xbmc/Config.in line 139
Quoted 5 lines
package/xbmc/Config.in new file +5
-0+ +config BR2_PACKAGE_XBMC_LIBSMBCLIENT + bool "libsmbclient" + select BR2_PACKAGE_SAMBA + select BR2_PACKAGE_SAMBA_LIBSMBCLIENTMissing MMU and thread dependencies.
Quoted 36 lines
package/xbmc/Config.in new file +26
-0+ help + Enable Samba support + +config BR2_PACKAGE_XBMC_LIBTHEORA + bool "libtheora" + select BR2_PACKAGE_LIBTHEORA + help + Enable Theora input support. + Select this if you want to play back OGG/OGV files (Video). + +config BR2_PACKAGE_XBMC_LIBUSB + bool "libusb" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_LIBUSB_COMPAT + help + Enable libusb support. + +config BR2_PACKAGE_XBMC_WAVPACK + bool "wavpack" + select BR2_PACKAGE_WAVPACK + help + Enable WAV input support. + Select this if you want to play back WV files. + +endifpackage/xbmc/S50xbmc new file +4
-0@@ -0,0 +1,41 @@ +#!/bin/sh +# +# Starts XBMC. +#package/xbmc/S50xbmc line 14
Quoted 10 lines
package/xbmc/S50xbmc new file +10
-0+ +BIN_NAME=xbmc.bin +XBMC=/usr/lib/xbmc/$BIN_NAME +XBMC_ARGS="--standalone -fs -n" +PIDFILE=/var/run/xbmc.pid + +start() { + echo -n "Starting XBMC: " + start-stop-daemon -S -q -p $PIDFILE --exec $XBMC -- $XBMC_ARGS + [ $? == 0 ] && echo "OK" || echo "FAIL"We use tab for indentation in our init scripts usually.
Quoted 11 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +5
-0@@ -0,0 +1,168 @@ +From 2541772a3ed71402a620466feb6a337b40f08880 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian <[email protected]> +Date: Sat, 15 Dec 2012 23:41:06 +0100 +Subject: [PATCH] RaspberryPi Default Settings +
Quoted 8 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch line 8
Quoted 3 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +3
-0+Add some default settings if the target platform is the RaspberryPi. +Avoid the fact that the user _MUST_ have an advandcedsettings.xml to be able +to use XBMC properly.Is this patch something that is going to be merged upstream by XBMC ? If not, I would very much prefer if Buildroot would ship this advancedsettings.xml, and would install if the target platform is RasberryPi. This would be more in line with what upstream does, no?
It will never be merged mainline. We can ship the xml file, that's what I did at first but I thought it would not be well welcomed, but if it's the preferred way, even better :)
Quoted 190 lines
Quoted 15 lines
package/xbmc/xbmc.mk new file +8
-0@@ -0,0 +1,149 @@ +################################################################################ +# +# xbmc +# +################################################################################ + +XBMC_VERSION = 12.3-Frodo +XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION))package/xbmc/xbmc.mk line 18
Quoted 10 lines
package/xbmc/xbmc.mk new file +10
-0+XBMC_LICENSE = GPLv2 +XBMC_LICENSE_FILES = LICENSE.GPL +XBMC_DEPENDENCIES = host-lzo host-sdl_image host-swig +XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \ + libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \ + libogg libplist libpng libsamplerate libungif libvorbis libxml2 lzo ncurses \ + openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib + +XBMC_CONF_ENV += PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" +XBMC_CONF_ENV += PYTHON_LDFLAGS="-L$(STAGING_DIR)/usr/lib/ -lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm"Passing -L$(STAGING_DIR)/usr/lib should not be needed, since the cross compiler looks there by default for libraries.
package/xbmc/xbmc.mk line 22
Quoted 4 lines
package/xbmc/xbmc.mk new file +4
-0+XBMC_CONF_ENV += PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" +XBMC_CONF_ENV += PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" +XBMC_CONF_ENV += PYTHON_NOVERSIONCHECK="no-check" +XBMC_CONF_ENV += TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"Only one line:
XBMC_CONF_ENV = \ PYTHON_VERSION=... \ PYTHON_LDFLAGS=... \ ... \ TEXTUREPACKER=...package/xbmc/xbmc.mk line 29
Quoted 7 lines
package/xbmc/xbmc.mk new file +7
-0+ +XBMC_CONF_OPT += --disable-alsa --disable-crystalhd --disable-debug \ + --disable-dvdcss --disable-gl --disable-hal --disable-joystick \ + --disable-mysql --disable-openmax --disable-optical-drive \ + --disable-projectm --disable-pulse --disable-sdl --disable-ssh \ + --disable-vaapi --disable-vdpau --disable-vtbdecoder --disable-x11 \ + --disable-xrandr --enable-gles --enable-optimizationsWe usually do one per line.
Quoted 71 lines
package/xbmc/xbmc.mk new file +71
-0+ +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +XBMC_DEPENDENCIES += rpi-userland +XBMC_CONF_OPT += --with-platform=raspberry-pi --enable-player=omxplayer +XBMC_CONF_ENV += INCLUDES="-I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \ + -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" +endif + +ifeq ($(BR2_PACKAGE_DBUS),y) +XBMC_DEPENDENCIES += dbus +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y) +XBMC_DEPENDENCIES += libusb-compat +XBMC_CONF_OPT += --enable-libusb +else +XBMC_CONF_OPT += --disable-libusb +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBMICROHTTPD),y) +XBMC_DEPENDENCIES += libmicrohttpd +XBMC_CONF_OPT += --enable-webserver +else +XBMC_CONF_OPT += --disable-webserver +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBSMBCLIENT),y) +XBMC_DEPENDENCIES += samba +XBMC_CONF_OPT += --enable-samba +else +XBMC_CONF_OPT += --disable-samba +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBNFS),y) +XBMC_DEPENDENCIES += libnfs +XBMC_CONF_OPT += --enable-nfs +else +XBMC_CONF_OPT += --disable-nfs +endif + +ifeq ($(BR2_PACKAGE_XBMC_RTMPDUMP),y) +XBMC_DEPENDENCIES += rtmpdump +XBMC_CONF_OPT += --enable-rtmp +else +XBMC_CONF_OPT += --disable-rtmp +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBBLURAY),y) +XBMC_DEPENDENCIES += libbluray +XBMC_CONF_OPT += --enable-libbluray +else +XBMC_CONF_OPT += --disable-libbluray +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBSHAIRPLAY),y) +XBMC_DEPENDENCIES += libshairplay +XBMC_CONF_OPT += --enable-airplay +else +XBMC_CONF_OPT += --disable-airplay +endif + +ifeq ($(BR2_PACKAGE_XBMC_AVAHI),y) +XBMC_DEPENDENCIES += avahi +XBMC_CONF_OPT += --enable-avahi +else +XBMC_CONF_OPT += --disable-avahi +endif + +ifeq ($(BR2_PACKAGE_XBMC_LIBCEC),y) +XBMC_DEPENDENCIES += libcec +XBMC_CONF_OPT += --enable-libcecpackage/xbmc/xbmc.mk line 110
Quoted 10 lines
package/xbmc/xbmc.mk new file +10
-0+else +XBMC_CONF_OPT += --disable-libcec +endif + +ifeq ($(BR2_PACKAGE_XBMC_WAVPACK),y) +XBMC_DEPENDENCIES += wavpack +endif + +# Add HOST_DIR to PATH for codegenerator.mk to find swig +# TODO: java binary from user's machine is currently used...This TODO can be removed I believe, due to your
BR2_HOST_NEEDS_JAVApatch.package/xbmc/xbmc.mk line 112
Quoted 2 lines
package/xbmc/xbmc.mk new file +2
-0+define XBMC_BOOTSTRAP + cd $(@D) && PATH="$(HOST_DIR)/usr/bin/:$(PATH)" ./bootstrapPATH=$(HOST_PATH).
Quoted 23 lines
package/xbmc/xbmc.mk new file +23
-0+endef + +define XBMC_CLEAN_UNUSED_ADDONS + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/screensaver.rsxs.plasma + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.milkdrop + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.projectm + rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.itunes +endef + +define XBMC_CLEAN_CONFLUENCE_SKIN + find $(TARGET_DIR)/usr/share/xbmc/addons/skin.confluence/media -name *.png -delete + find $(TARGET_DIR)/usr/share/xbmc/addons/skin.confluence/media -name *.jpg -delete +endef + +define XBMC_INSTALL_INIT_SYSV + [ -f $(TARGET_DIR)/etc/init.d/S50xbmc ] || \ + $(INSTALL) -D -m 755 package/xbmc/S50xbmc \ + $(TARGET_DIR)/etc/init.d/S50xbmc +endef + +define XBMC_INSTALL_INIT_SYSTEMD + [ -f $(TARGET_DIR)/etc/systemd/system/xbmc.service ] || \ + $(INSTALL) -D -m 644 package/xbmc/xbmc.service \package/xbmc/xbmc.mk line 145
Quoted 10 lines
package/xbmc/xbmc.mk new file +10
-0+ $(TARGET_DIR)/etc/systemd/system/xbmc.service + + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + + ln -fs ../xbmc.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/xbmc.service +endef + +XBMC_PRE_CONFIGURE_HOOKS += XBMC_BOOTSTRAP +XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_INSTALL_ETC
XBMC_INSTALL_ETCno longer exists it seems.package/xbmc/xbmc.mk line 147
Quoted 2 lines
package/xbmc/xbmc.mk new file +2
-0+XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_UNUSED_ADDONS +XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_CONFLUENCE_SKINI'd prefer to have those hook registrations near each of the hook declarations, i.e:
define HOOK1
endef
FOOBAR_POST_INSTALL_TARGET_HOOKS+= HOOK1
Quoted 8 lines
define HOOK2
endef
FOOBAR_POST_INSTALL_TARGET_HOOKS+= HOOK2Thanks a lot for the great work! The XBMC package is certainly not an easy one, but it will be a very welcome addition in Buildroot.
Thank you for the lengthy review, I will fix what you commented on and go for another round.
Can't wait to have it merged :).
Quoted 6 lines
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
PATCH v7 4/4 xbmc: new package
Maxime, Thomas,
Quoted 32 lines · Maxime Hadjinlian
Hi Thomas, all
Quoted 29 lines · Thomas Petazzoni
Dear Maxime Hadjinlian,
package/xbmc/Config.in line 2
Quoted 8 lines · Maxime Hadjinlian
package/xbmc/Config.in new file +2
-0@@ -0,0 +1,165 @@ +comment "xbmc requires an OpenGL-capable backend" + depends on !(BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)I would make the comment more specific:
comment "xbmc requires an OpenGL ES and EGL backend"
package/xbmc/Config.in line 6
Quoted 3 lines
package/xbmc/Config.in new file +3
-0+# External toolchain are required because of a missing bitdefs.h +comment "xbmc needs an (e)glibc external toolchain w/ C++, wchar" + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_BUILDROOTThis dependency does not make much sense to me. Your comment mentions "external toolchain", but it is not reflected by the dependencies. Moreover, we now have glibc/eglibc support in the internal backend, so I don't really see how there could be a difference between internal and external here. Additionally, if the C library is glibc or eglibc, then you are guaranteed to have wchar support. So if what you need is eglibc/glibc, then please do:
Quoted 7 lines
Quoted 3 lines
comment "xbmc needs an (e)glibc toolchain w/ C++"
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPPThe problem I had with internal toolchain, {X}libc was that, the
bitdefs.his missing, and XBMC needs it.
I'll look at it another time as maybe my tests were not thorough enough.
locally i tried this change and the following defconfig
BR2_arm=y
BR2_arm1176jzf_s=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_RPI_USERLAND=y
and it all built ok. I also tried with eglibc and it build ok too.
Thanks
PATCH v7 4/4 xbmc: new package
Hi Martin, all
Quoted 59 lines · Martin Bark
Maxime, Thomas,
Quoted 38 lines · Maxime Hadjinlian
Hi Thomas, all
Quoted 34 lines · Thomas Petazzoni
Dear Maxime Hadjinlian,
Quoted 9 lines · Maxime Hadjinlian
package/xbmc/Config.in new file +2
-0@@ -0,0 +1,165 @@ +comment "xbmc requires an OpenGL-capable backend" + depends on !(BR2_PACKAGE_HAS_OPENGL_EGL &&
BR2_PACKAGE_HAS_OPENGL_ES)I would make the comment more specific:
comment "xbmc requires an OpenGL ES and EGL backend"
Quoted 4 lines
package/xbmc/Config.in new file +3
-0+# External toolchain are required because of a missing bitdefs.h +comment "xbmc needs an (e)glibc external toolchain w/ C++, wchar" + depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_INSTALL_LIBSTDCPP &&
BR2_USE_WCHAR) ||BR2_TOOLCHAIN_BUILDROOTThis dependency does not make much sense to me. Your comment mentions "external toolchain", but it is not reflected by the dependencies. Moreover, we now have glibc/eglibc support in the internal backend, so I don't really see how there could be a difference between internal and external here. Additionally, if the C library is glibc or eglibc, then you are guaranteed to have wchar support. So if what you need is eglibc/glibc, then please do:
Quoted 7 lines
Quoted 3 lines
comment "xbmc needs an (e)glibc toolchain w/ C++"
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPPThe problem I had with internal toolchain, {X}libc was that, the
bitdefs.his missing, and XBMC needs it.
I'll look at it another time as maybe my tests were not thorough enough.locally i tried this change and the following defconfig
BR2_arm=y
BR2_arm1176jzf_s=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_RPI_USERLAND=y
Quoted 3 lines
and it all built ok. I also tried with eglibc and it build ok too.
Thanks
That's really nice to know. I'll do some tests on my own. But it would mean I could lift the restriction on using external toolchain to only using one with glibc/eglibc, when Gotham is ready we could lift this restriction altogether !
Thanks a lot for testing this !
v7 cover Introducing XBMC
In reply to Maxime HadjinlianMaxime,
I retested this v7 patch set using this minimal defconfig
BR2_arm=y
BR2_arm1176jzf_s=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_RPI_USERLAND=y
and i can confirm it now builds (once i add host-gperf to xbmc.mk). I also tested enabling all the xbmc options and that builds too. I have not tested it runs on the raspberry pi yet.
Thanks
Quoted 36 lines · Maxime Hadjinlian
Here we go again with a new round.
Again most of the changes are located within the XBMC patch.Maxime Hadjinlian (4):
sdl: add host version
sdl_image: add host version
infra: IntroduceBR2_HOST_NEEDS_JAVA
xbmc: new packageConfig.in | 5 + package/Config.in | 1 + package/sdl/sdl.mk | 4 +- package/sdl_image/sdl_image.mk | 11 ++ package/xbmc/Config.in | 165 ++++++++++++++++++++ package/xbmc/S50xbmc | 41 +++++ package/xbmc/xbmc-0001-Fixup-include-path.patch | 81 ++++++++++ .../xbmc-0002-RaspberryPi-Default-Settings.patch | 168 +++++++++++++++++++++ package/xbmc/xbmc.mk | 149 ++++++++++++++++++ package/xbmc/xbmc.service | 12 ++ support/dependencies/dependencies.sh | 8 + 11 files changed, 644 insertions(+), 1 deletion(-)create mode 100644 package/xbmc/Config.in
create mode 100755 package/xbmc/S50xbmc
create mode 100644package/xbmc/xbmc-0001-Fixup-include-path.patchcreate mode 100644package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patchcreate mode 100644package/xbmc/xbmc.mk
create mode 100644 package/xbmc/xbmc.service--
1.8.5.3_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
v7 cover Introducing XBMC
Quoted 10 lines · Martin Bark
Maxime,
I retested this v7 patch set using this minimal defconfig
BR2_arm=y
BR2_arm1176jzf_s=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_RPI_USERLAND=y
Quoted 3 lines
and i can confirm it now builds (once i add host-gperf to xbmc.mk). I also tested enabling all the xbmc options and that builds too. I have not tested it runs on the raspberry pi yet.
Nice to know, thanks for your tests :)
I did the same test myself, maybe I should change then so we find more problems.
Quoted 47 lines
Thanks
Quoted 41 lines · Maxime Hadjinlian
Here we go again with a new round.
Again most of the changes are located within the XBMC patch.Maxime Hadjinlian (4):
sdl: add host version
sdl_image: add host version
infra: IntroduceBR2_HOST_NEEDS_JAVA
xbmc: new packageConfig.in | 5 + package/Config.in | 1 + package/sdl/sdl.mk | 4 +- package/sdl_image/sdl_image.mk | 11 ++ package/xbmc/Config.in | 165 ++++++++++++++++++++ package/xbmc/S50xbmc | 41 +++++ package/xbmc/xbmc-0001-Fixup-include-path.patch | 81 ++++++++++ .../xbmc-0002-RaspberryPi-Default-Settings.patch | 168 +++++++++++++++++++++ package/xbmc/xbmc.mk | 149 ++++++++++++++++++ package/xbmc/xbmc.service | 12 ++ support/dependencies/dependencies.sh | 8 + 11 files changed, 644 insertions(+), 1 deletion(-)create mode 100644 package/xbmc/Config.in
create mode 100755 package/xbmc/S50xbmc
create mode 100644package/xbmc/xbmc-0001-Fixup-include-path.patchcreate mode 100644package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
create mode 100644package/xbmc/xbmc.mk
create mode 100644 package/xbmc/xbmc.service--
1.8.5.3_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot