Skip to contentSkip to conversation

xbmc: new package

PATCH Superseded Maxime Hadjinlian 3 participants 6 messages Feb 23, 2014 – Mar 20, 2014

v8 of 11 Superseded Latest is v11 →

lore
Share & tools
lore
#0 lore raw

PATCH v8 1/1 xbmc: new package

XBMC 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 v7 -> v8:
- Fix comments and dependencies on components (Thomas Petazzoni)
- Change name for options (Thomas Petazzoni)
- Remove depends on external toolchain (Martin Bark)
- Fix various indent issues (Thomas Petazzoni)
- Fix hook placement (Thomas Petazzoni)
- Add host-gperf (Martin Bark)
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                             | 191 +++++++++++++++++++++
 package/xbmc/S50xbmc                               |  41 +++++
 package/xbmc/xbmc-0001-Fixup-include-path.patch    |  81 +++++++++
 .../xbmc-0002-RaspberryPi-Default-Settings.patch   | 168 ++++++++++++++++++
 package/xbmc/xbmc.mk                               | 163 ++++++++++++++++++
 package/xbmc/xbmc.service                          |  12 ++
 7 files changed, 657 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
index 087e5f4..69db17c 100644
@@ -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 +191 -0

191 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 +163 -0

163 lines not on this page · raw message

package/xbmc/xbmc.service new file +12 -0
new file mode 100644
index 0000000..3fe5895
@@ -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
#1 lore raw

PATCH v8 1/1 xbmc: new package

Maxime,

I tested out this patch. It all build fine for me and i was able to run xbmc on the raspberry pi. I used the yatse android app to control xmbc and i was able to watch some youtube videos with no issue :)

I have a few comments below.

On 23/02/14 12:29, Maxime Hadjinlian wrote:

-- snip --

Quoted 9 lines
package/xbmc/S50xbmc new file +3 -0
new file mode 100755
index 0000000..ce51f7e
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Starts XBMC.

package/xbmc/S50xbmc line 13

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

I had to add -b to the start-stop-daemon options to background xbmc.bin otherwise the startup halted on this script. Also i added -m so start-stop-daemon would create the pid file. Without the -m option the stop command fails because the pid file does not exist.

Quoted 18 lines
package/xbmc/S50xbmc new file +18 -0
+	[ $? == 0 ] && echo "OK" || echo "FAIL"
+}
+stop() {
+	echo -n "Stopping XBMC: "
+	start-stop-daemon -K -q -p $PIDFILE
+	[ $? == 0 ] && echo "OK" || echo "FAIL"
+}
+restart() {
+	stop
+	start
+}
+
+case "$1" in
+	start)
+		start
+	;;
+	stop)
+		stop

package/xbmc/S50xbmc line 41

Quoted 10 lines
package/xbmc/S50xbmc new file +10 -0
+	;;
+	restart|reload)
+		restart
+	;;
+	*)
+		echo "Usage: $0 {start|stop|restart}"
+	exit 1
+esac
+
+exit $?

-- snip --

Quoted 6 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +0 -0
new file mode 100644
index 0000000..43960e6

package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch line 10

Quoted 10 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +10 -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.
+
+Signed-off-by: Maxime Hadjinlian <[email protected]>

I thought you were going to remove this patch and instead include a default advandcedsettings.xml for the raspberry pi.

Quoted 148 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +148 -0
+---
+ xbmc/settings/AdvancedSettings.cpp          |   31 +++++++++++++++++++++++++++
+ xbmc/settings/GUISettings.cpp               |    8 +++----
+ xbmc/settings/GUIWindowSettingsCategory.cpp |    4 ++--
+ 3 files changed, 37 insertions(+), 6 deletions(-)
+
+diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
+index 2cbbf98..42ccabd 100644
+--- a/xbmc/settings/AdvancedSettings.cpp
++++ b/xbmc/settings/AdvancedSettings.cpp
+@@ -72,7 +72,11 @@ void CAdvancedSettings::Initialize()
+   m_karaokeAlwaysEmptyOnCdgs = 1;
+   m_karaokeUseSongSpecificBackground = 0;
+
++  #if defined(TARGET_RASPBERRY_PI)
++  m_audioDefaultPlayer = "omxplayer";
++  #else
+   m_audioDefaultPlayer = "paplayer";
++  #endif
+   m_audioPlayCountMinimumPercent = 90.0f;
+   m_audioHost = "default";
+
+@@ -93,8 +97,14 @@ void CAdvancedSettings::Initialize()
+   m_videoBlackBarColour = 0;
+   m_videoPPFFmpegDeint = "linblenddeint";
+   m_videoPPFFmpegPostProc = "ha:128:7,va,dr";
++
++  #if defined(TARGET_RASPBERRY_PI)
++  m_videoDefaultPlayer = "omxplayer";
++  m_videoDefaultDVDPlayer = "omxplayer";
++  #else
+   m_videoDefaultPlayer = "dvdplayer";
+   m_videoDefaultDVDPlayer = "dvdplayer";
++  #endif
+   m_videoIgnoreSecondsAtStart = 3*60;
+   m_videoIgnorePercentAtEnd   = 8.0f;
+   m_videoPlayCountMinimumPercent = 90.0f;
+@@ -287,7 +297,11 @@ void CAdvancedSettings::Initialize()
+   m_alwaysOnTop = false;
+ #endif
+
++  #if defined(TARGET_RASPBERRY_PI)
++  m_bgInfoLoaderMaxThreads = 2;
++  #else
+   m_bgInfoLoaderMaxThreads = 5;
++  #endif
+
+   m_iPVRTimeCorrection             = 0;
+   m_iPVRInfoToggleInterval         = 3000;
+@@ -299,7 +313,12 @@ void CAdvancedSettings::Initialize()
+
+   m_measureRefreshrate = false;
+
++  #if defined(TARGET_RASPBERRY_PI)
++  m_cacheMemBufferSize = 1024 * 1024 * 10;
++  #else
+   m_cacheMemBufferSize = 1024 * 1024 * 20;
++  #endif
++
+   m_addonPackageFolderSize = 200;
+
+   m_jsonOutputCompact = true;
+@@ -509,11 +528,17 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
+         RefreshOverride override = {0};
+
+         float fps;
++        #if defined(TARGET_RASPBERRY_PI)
++          fps = 23.976;
++          override.fpsmin = fps - 0.01f;
++          override.fpsmax = fps + 0.01f;
++        #else
+         if (XMLUtils::GetFloat(pRefreshOverride, "fps", fps))
+         {
+           override.fpsmin = fps - 0.01f;
+           override.fpsmax = fps + 0.01f;
+         }
++        #endif
+
+         float fpsmin, fpsmax;
+         if (XMLUtils::GetFloat(pRefreshOverride, "fpsmin", fpsmin) &&
+@@ -524,11 +549,17 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
+         }
+
+         float refresh;
++        #if defined(TARGET_RASPBERRY_PI)
++          refresh = 24.0;
++          override.refreshmin = refresh - 0.01f;
++          override.refreshmax = refresh + 0.01f;
++        #else
+         if (XMLUtils::GetFloat(pRefreshOverride, "refresh", refresh))
+         {
+           override.refreshmin = refresh - 0.01f;
+           override.refreshmax = refresh + 0.01f;
+         }
++        #endif
+
+         float refreshmin, refreshmax;
+         if (XMLUtils::GetFloat(pRefreshOverride, "refreshmin", refreshmin) &&
+diff --git a/xbmc/settings/GUISettings.cpp b/xbmc/settings/GUISettings.cpp
+index c1820a7..c00fb18 100644
+--- a/xbmc/settings/GUISettings.cpp
++++ b/xbmc/settings/GUISettings.cpp
+@@ -537,11 +537,11 @@ void CGUISettings::Initialize()
+   AddInt(NULL, "input.appleremotesequencetime", 13603, 500, 50, 50, 1000, SPIN_CONTROL_INT_PLUS, MASK_MS, TEXT_OFF);
+   AddSeparator(in, "input.sep1");
+ #endif
+-  AddBool(in, "input.remoteaskeyboard", 21449, false);
++  AddBool(in, "input.remoteaskeyboard", 21449, true);
+ #if defined(TARGET_DARWIN_IOS)
+   AddBool(NULL, "input.enablemouse", 21369, true);
+ #else
+-  AddBool(in, "input.enablemouse", 21369, true);
++  AddBool(in, "input.enablemouse", 21369, false);
+ #endif
+ #if defined(HAS_SDL_JOYSTICK)
+   AddBool(in, "input.enablejoystick", 35100, true);
+@@ -831,7 +831,7 @@ void CGUISettings::Initialize()
+
+ #ifdef HAS_WEB_SERVER
+   CSettingsCategory* srvWeb = AddCategory(SETTINGS_SERVICE, "webserver", 33101);
+-  AddBool(srvWeb,  "services.webserver",        263, false);
++  AddBool(srvWeb,  "services.webserver",        263, true);
+   AddString(srvWeb,"services.webserverport",    730, CUtil::CanBindPrivileged()?"80":"8080", EDIT_CONTROL_NUMBER_INPUT, false, 730);
+   AddString(srvWeb,"services.webserverusername",1048, "xbmc", EDIT_CONTROL_INPUT);
+   AddString(srvWeb,"services.webserverpassword",733, "", EDIT_CONTROL_HIDDEN_INPUT, true, 733);
+@@ -881,7 +881,7 @@ void CGUISettings::Initialize()
+   AddInt(laf, "lookandfeel.startupwindow",512,1, WINDOW_HOME, 1, WINDOW_PYTHON_END, SPIN_CONTROL_TEXT);
+   AddString(laf, "lookandfeel.soundskin",15108,"SKINDEFAULT", SPIN_CONTROL_TEXT);
+   AddSeparator(laf, "lookandfeel.sep2");
+-  AddBool(laf, "lookandfeel.enablerssfeeds",13305,  true);
++  AddBool(laf, "lookandfeel.enablerssfeeds",13305,  false);
+   AddString(laf, "lookandfeel.rssedit", 21450, "", BUTTON_CONTROL_STANDARD);
+
+   CSettingsCategory* loc = AddCategory(SETTINGS_APPEARANCE, "locale", 14090);
+diff --git a/xbmc/settings/GUIWindowSettingsCategory.cpp b/xbmc/settings/GUIWindowSettingsCategory.cpp
+index b4cee69..a9bcb7a 100644
+--- a/xbmc/settings/GUIWindowSettingsCategory.cpp
++++ b/xbmc/settings/GUIWindowSettingsCategory.cpp
+@@ -1271,7 +1271,7 @@ void CGUIWindowSettingsCategory::OnSettingChanged(CBaseSettingControl *pSettingC
+       if (!g_application.StartWebServer())
+       {
+         CGUIDialogOK::ShowAndGetInput(g_localizeStrings.Get(33101), "", g_localizeStrings.Get(33100), "");
+-        g_guiSettings.SetBool("services.webserver", false);
++        g_guiSettings.SetBool("services.webserver", true);
+       }
+   }
+   else if (strSetting.Equals("services.webserverusername") || strSetting.Equals("services.webserverpassword"))
+@@ -1292,7 +1292,7 @@ void CGUIWindowSettingsCategory::OnSettingChanged(CBaseSettingControl *pSettingC

package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch line 168

Quoted 10 lines
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +10 -0
+     else
+     {
+       g_application.StopAirplayServer(true);
+-      g_guiSettings.SetBool("services.airplay", false);
++      g_guiSettings.SetBool("services.airplay", true);
+       CZeroconf::GetInstance()->Stop();
+     }
+ #endif
+--
+1.7.10.4

-- snip --

Thanks

Martin

#2 lore raw

PATCH v8 1/1 xbmc: new package

In reply to Maxime Hadjinlian

Maxime, All,

On 2014-02-23 13:29 +0100, Maxime Hadjinlian spake thusly:

Quoted 2 lines

XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.

[--SNIP--]

package/xbmc/Config.in

Quoted 6 lines
package/xbmc/Config.in new file +0 -0
new file mode 100644
index 0000000..c38f82b
@@ -0,0 +1,191 @@

[--SNIP--]

package/xbmc/Config.in line 8

Quoted 2 lines
package/xbmc/Config.in new file +2 -0
+menuconfig BR2_PACKAGE_XBMC
+	bool "xbmc"

[--SNIP--]

package/xbmc/Config.in line 56

Quoted 1 line
package/xbmc/Config.in new file +1 -0
+	depends on BR2_TOOLCHAIN_USES_GLIBC && BR2_INSTALL_LIBSTDCPP

[--SNIP--]

package/xbmc/Config.in line 70

Quoted 6 lines
package/xbmc/Config.in new file +6 -0
+	depends on BR2_PACKAGE_HAS_OPENGL_EGL || BR2_PACKAGE_HAS_OPENGL_ES
+config BR2_PACKAGE_XBMC_AVAHI
+	bool "avahi"
+	# libdaemon uses fork()
+	depends on BR2_USE_MMU
+	depends on BR2_TOOLCHAIN_HAS_THREADS

Are those two 'depends' really needed? XBMC depends on glibc, which always has threads, and is only available for architectures with an MMU.

(Note: as discussed with Gustavo on IRC, glibc is not marked 'depends on MMU', but should be. Patch in the pipe...)

So:
- no depends on MMU, THREADS, IPv6, LARGEFILES
- no comment stating so

Ditto for all the options, of course...

[--SNIP--]

package/xbmc/Config.in line 131

Quoted 5 lines
package/xbmc/Config.in new file +5 -0
+config BR2_PACKAGE_XBMC_LIBNFS
+	bool "nfs"
+	select BR2_PACKAGE_LIBNFS
+	depends on BR2_LARGEFILE
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC

Does it work with libtirpc?
If not, could it be easily made to?

[--SNIP--]

Quoted 6 lines
package/xbmc/S50xbmc new file +0 -0
new file mode 100755
index 0000000..ce51f7e

package/xbmc/S50xbmc line 9

Quoted 9 lines
package/xbmc/S50xbmc new file +9 -0
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Starts XBMC.
+#
+
+BIN_NAME=xbmc.bin
+XBMC=/usr/lib/xbmc/$BIN_NAME
+XBMC_ARGS="--standalone -fs -n"
+PIDFILE=/var/run/xbmc.pid

If here you'd add something like:

    [ -f /etc/defaults/xbmc ] && . /etc/defaults/xbmc

Then you'd be able to provide a /etc/defaults/xbmc that, for the RPi, would contain:
export LD_PRELOAD=/usr/lib/libcoffi.so

And install that in the if-rpi block below.

package/xbmc/S50xbmc line 13

Quoted 3 lines
package/xbmc/S50xbmc new file +3 -0
+start() {
+	echo -n "Starting XBMC: "
+	start-stop-daemon -S -q -p $PIDFILE --exec $XBMC -- $XBMC_ARGS

Don't forget the comment from Martin Bark about going to background and writing the PID file.

package/xbmc/S50xbmc line 41

Quoted 1 line
package/xbmc/S50xbmc new file +1 -0
+exit $?

Unneeded, that's always the behaviour of a shell script.

[--SNIP two patches--]

Quoted 40 lines
package/xbmc/xbmc.mk new file +34 -0
new file mode 100644
index 0000000..d05c2f5
@@ -0,0 +1,163 @@
+################################################################################
+#
+# xbmc
+#
+################################################################################
+
+XBMC_VERSION = 12.3-Frodo
+XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION))
+XBMC_LICENSE = GPLv2
+XBMC_LICENSE_FILES = LICENSE.GPL
+XBMC_DEPENDENCIES = host-gperf 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)" \
+	PYTHON_LDFLAGS="-lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm" \
+	PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" \
+	PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" \
+	PYTHON_NOVERSIONCHECK="no-check" \
+	TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
+
+XBMC_CONF_OPT +=  \
+	--disable-alsa \
+	--disable-crystalhd \
+	--disable-debug \
+	--disable-dvdcss \
+	--disable-gl \
+	--disable-hal \
+	--disable-joystick \
+	--disable-mysql \
+	--disable-openmax \

package/xbmc/xbmc.mk line 44

Quoted 10 lines
package/xbmc/xbmc.mk new file +10 -0
+	--disable-optical-drive \
+	--disable-projectm \
+	--disable-pulse \
+	--disable-sdl \
+	--disable-ssh \
+	--disable-vaapi \
+	--disable-vdpau \
+	--disable-vtbdecoder \
+	--disable-x11 \
+	--disable-xrandr \

Do you plan on sending a follow-up patch to add support for the currently-disabled options (alsa, dvdcss, hal...), or is it set-in-stone?

package/xbmc/xbmc.mk line 52

Quoted 8 lines
package/xbmc/xbmc.mk new file +8 -0
+	--enable-gles \
+	--enable-optimizations
+
+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"

Here, create/append to /etc/defaults/xbmc to use libcoffi.so.

Or as part of a new if-libcoffi block, maybe.

package/xbmc/xbmc.mk line 128

Quoted 3 lines
package/xbmc/xbmc.mk new file +3 -0
+# Add HOST_DIR to PATH for codegenerator.mk to find swig
+define XBMC_BOOTSTRAP
+	cd $(@D) && PATH=$(HOST_PATH) ./bootstrap

Be prepared to adapt when Samuel's PATH rework is applied. ;-)

package/xbmc/xbmc.mk line 138

Quoted 10 lines
package/xbmc/xbmc.mk new file +10 -0
+endef
+XBMC_PRE_CONFIGURE_HOOKS += XBMC_BOOTSTRAP
+
+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
+XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_UNUSED_ADDONS

Why do you forcibly disable those add-ons? Can it be a config option?

package/xbmc/xbmc.mk line 144

Quoted 5 lines
package/xbmc/xbmc.mk new file +5 -0
+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
+XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_CONFLUENCE_SKIN

Are they not needed at all?

[--SNIP--]

package/xbmc/xbmc.service

Quoted 6 lines
package/xbmc/xbmc.service new file +0 -0
new file mode 100644
index 0000000..3fe5895
@@ -0,0 +1,12 @@

Of course, for systemd, you'd have to use a different way to pass use of libcoffi.so. Is it possible to add extra env in a unit file? :-/

package/xbmc/xbmc.service line 12

Quoted 12 lines
package/xbmc/xbmc.service new file +12 -0
+[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
+

No trailing line if not needed.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH v8 1/1 xbmc: new package

In reply to Maxime Hadjinlian

Maxime, All,

On 2014-02-23 13:29 +0100, Maxime Hadjinlian spake thusly:

Quoted 2 lines

XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.

Are you still working on this?

If that can help you, I've started accumulating a few of the suggested changes in a branch in my tree:
git://gitorious.org/buildroot/buildroot.git yem/xbmc

091d9b6 xbmc: new package
6547d40 package/xbmc: background XBMC and store PID in startup script 296d6b8 package/xbmc: cleanup dependencies

I've made separate patches so we can keep track of the changes on top of your initial patch, but they should of course all be eventually folded in a single patch before final submission (or you can do it now in your tree if you want; just keep the SoB tags, please.)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH v8 1/1 xbmc: new package

Hi Yann, all

Quoted 7 lines · Yann E. MORIN

Maxime, All,

On 2014-02-23 13:29 +0100, Maxime Hadjinlian spake thusly:

Quoted 2 lines

XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.

Are you still working on this?

Yup, I am truly sorry with the lack of communication. I have been under an ocean of work and as such have really no energy left to hack (and my wife would literally murder me at this point). *BUT* I was thinking of working on this either during my lunch hour or friday night since I have the whole evening to myself.

Quoted 5 lines

If that can help you, I've started accumulating a few of the suggested changes in a branch in my tree:
git://gitorious.org/buildroot/buildroot.git yem/xbmc

Quoted 8 lines

091d9b6 xbmc: new package
6547d40 package/xbmc: background XBMC and store PID in startup script 296d6b8 package/xbmc: cleanup dependencies

I've made separate patches so we can keep track of the changes on top of your initial patch, but they should of course all be eventually folded in a single patch before final submission (or you can do it now in your tree if you want; just keep the SoB tags, please.)

Oh shiny ! I'll have a look at them and merge them. I had already cleanup the dependency but I'll look at your patch to check if I didn't forgot anything.

From my point of view, I have left to do :
- The removal of the patch regarding the RPi specific settings
- Add them thought and advancedsettings.xml which will be
installed with XBMC if we are building for an RPi.

Have I missed anything ?

Quoted 11 lines

Regards,
Yann E. MORIN.

--
.-----------------.--------------------.------------------.--------------------.

|  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.  |

'------------------------------^-------^------------------^--------------------'

Again sorry for the lack of communication and sudden disappearance.

#5 lore raw

PATCH v8 1/1 xbmc: new package

Maxime, All,

On 2014-03-20 09:25 +0100, Maxime Hadjinlian spake thusly:

Quoted 9 lines · Yann E. MORIN
Quoted 5 lines

On 2014-02-23 13:29 +0100, Maxime Hadjinlian spake thusly:

Quoted 2 lines

XBMC is an award-winning free and open source (GPL) software media player and entertainment hub for digital media.

Are you still working on this?

Yup, I am truly sorry with the lack of communication. I have been under an ocean of work and as such have really no energy left to hack (and my wife would literally murder me at this point).

Hey, no problem. We all have real lives to deal with. ;-)

Quoted 2 lines

*BUT* I was thinking of working on this either during my lunch hour or friday night since I have the whole evening to myself.

Do not feel like this should be a burden on your shoulders. Take it along when you can and want. Doing something because you feel you have to is the best way to get burnt.

Quoted 3 lines
Quoted 3 lines

If that can help you, I've started accumulating a few of the suggested changes in a branch in my tree:
git://gitorious.org/buildroot/buildroot.git yem/xbmc

[--SNIP--]

Quoted 6 lines

From my point of view, I have left to do :
- The removal of the patch regarding the RPi specific settings
- Add them thought and advancedsettings.xml which will be
installed with XBMC if we are building for an RPi.

Have I missed anything ?

No, this is basically the review you had so far.

I can see improvements, but that can easily go in followup patches.

Quoted 1 line

Again sorry for the lack of communication and sudden disappearance.

No problem! Just ensure you enjoy doing that, and not feel compelled to.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'