[arch-commits] Commit in xbmc/trunk (2 files)

Ike Devolder idevolder at nymeria.archlinux.org
Sun May 11 14:59:58 UTC 2014


    Date: Sunday, May 11, 2014 @ 16:59:58
  Author: idevolder
Revision: 110974

xbmc :: 13.0-3

cleaned up dependencies

FIXES:
FS#40257 - [xbmc] java is not a runtime dependency
FS#40264 - [xbmc] polkit rules should be in /usr/share/polkit-1/rules.d/
FS#40265 - [xbmc] Internet Streams bring xbmc to crash

Added:
  xbmc/trunk/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
Modified:
  xbmc/trunk/PKGBUILD

-----------------------------------------------------------------+
 0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch |   75 +++++++
 PKGBUILD                                                        |  102 +++++-----
 2 files changed, 136 insertions(+), 41 deletions(-)

Added: 0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch
===================================================================
--- 0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch	                        (rev 0)
+++ 0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch	2014-05-11 14:59:58 UTC (rev 110974)
@@ -0,0 +1,75 @@
+From a58bcbb0a35ac8e26a880be477705d833330ecc5 Mon Sep 17 00:00:00 2001
+From: Jonathan Marshall <jmarshall at xbmc.org>
+Date: Tue, 6 May 2014 19:40:17 +1200
+Subject: [PATCH 1/7] [rtmp] check m_rtmp for non-NULL - fixes crashes with
+ missing librtmp
+
+---
+ .../dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp     | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+index b02792a..93fc6f0 100644
+--- a/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
++++ b/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+@@ -104,7 +104,8 @@ CDVDInputStreamRTMP::~CDVDInputStreamRTMP()
+   m_sStreamPlaying = NULL;
+ 
+   Close();
+-  m_libRTMP.Free(m_rtmp);
++  if (m_rtmp)
++    m_libRTMP.Free(m_rtmp);
+   m_rtmp = NULL;
+   m_bPaused = false;
+ }
+@@ -139,7 +140,7 @@ bool CDVDInputStreamRTMP::Open(const char* strFile, const std::string& content)
+     m_sStreamPlaying = NULL;
+   }
+ 
+-  if (!CDVDInputStream::Open(strFile, "video/x-flv"))
++  if (!m_rtmp || !CDVDInputStream::Open(strFile, "video/x-flv"))
+     return false;
+ 
+   CSingleLock lock(m_RTMPSection);
+@@ -181,7 +182,8 @@ void CDVDInputStreamRTMP::Close()
+   CSingleLock lock(m_RTMPSection);
+   CDVDInputStream::Close();
+ 
+-  m_libRTMP.Close(m_rtmp);
++  if (m_rtmp)
++    m_libRTMP.Close(m_rtmp);
+ 
+   m_optionvalues.clear();
+   m_eof = true;
+@@ -190,6 +192,9 @@ void CDVDInputStreamRTMP::Close()
+ 
+ int CDVDInputStreamRTMP::Read(uint8_t* buf, int buf_size)
+ {
++  if (!m_rtmp)
++    return -1;
++
+   int i = m_libRTMP.Read(m_rtmp, (char *)buf, buf_size);
+   if (i < 0)
+     m_eof = true;
+@@ -210,7 +215,7 @@ bool CDVDInputStreamRTMP::SeekTime(int iTimeInMsec)
+   CLog::Log(LOGNOTICE, "RTMP Seek to %i requested", iTimeInMsec);
+   CSingleLock lock(m_RTMPSection);
+ 
+-  if (m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
++  if (m_rtmp && m_libRTMP.SendSeek(m_rtmp, iTimeInMsec))
+     return true;
+ 
+   return false;
+@@ -229,7 +234,8 @@ bool CDVDInputStreamRTMP::Pause(double dTime)
+ 
+   CLog::Log(LOGNOTICE, "RTMP Pause %s requested", m_bPaused ? "TRUE" : "FALSE");
+ 
+-  m_libRTMP.Pause(m_rtmp, m_bPaused);
++  if (m_rtmp)
++    m_libRTMP.Pause(m_rtmp, m_bPaused);
+ 
+   return true;
+ }
+-- 
+1.9.1
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-05-11 14:44:29 UTC (rev 110973)
+++ PKGBUILD	2014-05-11 14:59:58 UTC (rev 110974)
@@ -4,52 +4,66 @@
 # Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
 # Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
 # Contributor: BlackIkeEagle < ike DOT devolder AT gmail DOT com >
+# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
 
 _prefix=/usr
 
 pkgname=xbmc
 pkgver=13.0
-_codename=Gotham
-pkgrel=2
+_codename=Gotham_r2
+pkgrel=3
 pkgdesc="A software media player and entertainment hub for digital media"
 arch=('i686' 'x86_64')
 url="http://xbmc.org"
 license=('GPL' 'custom')
-depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva'
-         'libpng' 'libcdio' 'yajl' 'libmysqlclient' 'libjpeg-turbo' 'libsamplerate'
-         'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image'
-         'python2' 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump'
-         'unzip' 'mesa-demos' 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng'
-         'avahi' 'bluez-libs' 'tinyxml' 'libcap' 'swig' 'taglib' 'libpulse'
-         'java-runtime-headless' 'glu' 'mesa' 'shairplay' 'libxslt' 'ffmpeg')
-makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec'
-      'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment')
-optdepends=('libcec: support for Pulse-Eight USB-CEC adapter'
-      'lirc: remote controller support'
-      'udisks: automount external drives'
-      'upower: used to trigger power management functionality'
-      'unrar: access compressed files without unpacking them'
-      'xorg-xinit: autostart xbmc'
-      'pulseaudio: for pulseaudio support')
+depends=(
+'avahi' 'ffmpeg' 'hicolor-icon-theme' 'libcdio' 'libmad' 'libmicrohttpd'
+'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libssh' 'libxrandr' 'libxslt'
+'lzo2' 'mesa' 'mesa-demos' 'python2' 'sdl_image' 'sdl_mixer' 'smbclient'
+'taglib' 'tinyxml' 'unzip' 'xorg-xdpyinfo' 'yajl'
+)
+makedepends=(
+'afpfs-ng' 'libnfs' 'libplist' 'shairplay' 'libcec' 'boost' 'cmake' 'doxygen'
+'gperf' 'jasper' 'java-runtime-headless' 'nasm' 'swig' 'taglib' 'udisks'
+'upower' 'zip'
+)
+optdepends=(
+'afpfs-ng: Apple File Protocol suport'
+'libnfs: NFS Share support'
+'libplist: AirPlay support'
+'shairplay: AirPlay support'
+'libcec: Pulse-Eight USB-CEC adapter support'
+'pulseaudio: for pulseaudio support'
+'lirc: remote controller support'
+'unrar: access compressed files without unpacking them'
+'xorg-xinit: autostart xbmc'
+'udisks: automount external drives'
+'upower: used to trigger power management functionality'
+)
 install="${pkgname}.install"
 source=(
-  "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/13.0-Gotham.tar.gz"
-  "xbmc.service"
-  "polkit.rules"
-  "enable-external-ffmpeg.patch"
-  )
-md5sums=('54fafd985b5209859ba6faeb50b8f142'
-         'de331663cc8adc94f2fe44a262cfff58'
-         '02f7951824ee13103344f36009c0ef2a'
-         '9f9b41cfc1e21b1e7d0bb10d6e85b3c6')
+  "xbmc-$pkgver.tar.gz::https://github.com/xbmc/xbmc/archive/$pkgver-$_codename.tar.gz"
+  'xbmc.service'
+  'polkit.rules'
+  'enable-external-ffmpeg.patch'
+  '0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch'
+)
+sha256sums=(
+  '663b99f3e196ead51d90f06ccfa864b4e5ade385dfc5972acb0f854d525f2903'
+  'f83097388e6c9b301cac78de95cf1797d4aaa11e4021734c28d643320e76d919'
+  '4ea78374a08e13a64dcf6a424b111b8bfc11de03ed5829744fc6d9b5fc1ec96e'
+  '0239e33e87292c7340ed2092f2b5f1e82f5e283b1f763fb125b3aee78f50c355'
+  '4d643f1bc5a0f9a6bba36c8c2c2d220351acb58172c57d86417b67c02d39fa2b'
+)
 
 prepare() {
-  cd "${srcdir}/xbmc-$pkgver-$_codename"
-  patch -p1 -i ../enable-external-ffmpeg.patch
+  cd "$srcdir/xbmc-$pkgver-$_codename"
+  patch -p1 -i "$srcdir/enable-external-ffmpeg.patch"
+  patch -p1 -i "$srcdir/0001-rtmp-check-m_rtmp-for-non-NULL-fixes-crashes-with-mi.patch"
 }
 
 build() {
-  cd "${srcdir}/xbmc-$pkgver-$_codename"
+  cd "$srcdir/xbmc-$pkgver-$_codename"
 
   # Bootstrapping XBMC
   ./bootstrap
@@ -94,28 +108,34 @@
 }
 
 package() {
-  cd "${srcdir}/xbmc-$pkgver-$_codename"
+  cd "$srcdir/xbmc-$pkgver-$_codename"
   # Running make install
-  make DESTDIR="${pkgdir}" install
+  make DESTDIR="$pkgdir" install
 
-  # run feh with python2
-  sed -i -e 's/python/python2/g' ${pkgdir}${_prefix}/bin/xbmc
+  # Python2
+  sed 's/python/python2/g' -i \
+    "$pkgdir"/usr/{bin/xbmc,share/xbmc/addons/service.xbmc.versioncheck/service.py}
 
   # Tools
   msg2 "Tools"
-  install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
-  install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"
+  install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/xbmc-xrandr" \
+    "${pkgdir}$_prefix/lib/xbmc/xbmc-xrandr"
+  install -D -m 0755 "$srcdir/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" \
+    "${pkgdir}$_prefix/lib/xbmc/"
 
   # Licenses
   msg2 "Copy licenses"
-  install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
+  install -dm755 "${pkgdir}$_prefix/share/licenses/$pkgname"
   for licensef in LICENSE.GPL copying.txt; do
-    mv ${pkgdir}${_prefix}/share/doc/xbmc/${licensef} \
-      ${pkgdir}${_prefix}/share/licenses/${pkgname}
+    mv "${pkgdir}$_prefix/share/doc/xbmc/$licensef" \
+      "${pkgdir}$_prefix/share/licenses/$pkgname"
   done
 
   # install systemd service
-  install -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service
-  install -Dm0644 $srcdir/polkit.rules $pkgdir/etc/polkit-1/rules.d/10-xbmc.rules
+  install -Dm0644 "$srcdir/xbmc.service" "$pkgdir/usr/lib/systemd/system/xbmc.service"
+
+  # install polkit rules
+  install -dm700 "$pkgdir/user/share/polkit-1/rules.d"
+  install -Dm0644 "$srcdir/polkit.rules" "$pkgdir/user/share/polkit-1/rules.d/10-xbmc.rules"
 }
 # vim:set ts=2 sw=2 et:




More information about the arch-commits mailing list