From c0b06386e5eaa7789b7a1c76c8168723cd712c04 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 31 Aug 2013 14:01:05 +0300 Subject: [PATCH 1/7] xbmc: show all removable disks mounted under media this fixes external usb drives with fs label set not showing up in xbmc after the switch to udevil --- ...-removable-disks-mounted-under-media.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch b/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch new file mode 100644 index 0000000000..7dd4bb8b2c --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch @@ -0,0 +1,25 @@ +From 6d64d70a46b8f238d2706017a084f30bd681f291 Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Sat, 31 Aug 2013 13:44:53 +0300 +Subject: [PATCH] show all removable disks mounted under /media + +--- + xbmc/storage/linux/UDevProvider.cpp | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/xbmc/storage/linux/UDevProvider.cpp b/xbmc/storage/linux/UDevProvider.cpp +index c20facc..c1044c8 100644 +--- a/xbmc/storage/linux/UDevProvider.cpp ++++ b/xbmc/storage/linux/UDevProvider.cpp +@@ -151,7 +151,7 @@ void CUDevProvider::GetDisks(VECSOURCES& disks, bool removable) + if (removable && + ((bus && strstr(bus, "usb")) || + (cdrom && strstr(cdrom,"1")) || +- (mountpoint && strstr(mountpoint, "usb")))) ++ (mountpoint))) + { + const char *label = udev_device_get_property_value(device, "ID_FS_LABEL"); + if (!label) +-- +1.7.2.5 + From b13cc326060a7fdd97fadbfc6a2ba32464f04198 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 31 Aug 2013 14:15:16 +0300 Subject: [PATCH 2/7] xbmc: fix 'remove safely' with udevil --- ...context-menu-remove-safely-selection.patch | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-04-fixed-context-menu-remove-safely-selection.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-04-fixed-context-menu-remove-safely-selection.patch b/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-04-fixed-context-menu-remove-safely-selection.patch new file mode 100644 index 0000000000..bdb266bbd0 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-04-fixed-context-menu-remove-safely-selection.patch @@ -0,0 +1,66 @@ +From 35400b9a93e5c2c9aa6dc389736af293fc623a5b Mon Sep 17 00:00:00 2001 +From: davilla +Date: Thu, 3 Jan 2013 11:20:22 -0500 +Subject: [PATCH] [aml] fixed context menu 'remove safely' selection + +--- + xbmc/linux/PosixMountProvider.cpp | 10 ++++++++++ + xbmc/linux/PosixMountProvider.h | 2 +- + xbmc/storage/linux/UDevProvider.cpp | 7 ++++++- + 3 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/xbmc/linux/PosixMountProvider.cpp b/xbmc/linux/PosixMountProvider.cpp +index 2420491..27d639e 100644 +--- a/xbmc/linux/PosixMountProvider.cpp ++++ b/xbmc/linux/PosixMountProvider.cpp +@@ -127,6 +127,16 @@ void CPosixMountProvider::GetDrives(VECSOURCES &drives) + return result; + } + ++bool CPosixMountProvider::Eject(CStdString mountpath) ++{ ++ // just go ahead and try to umount the disk ++ // if it does umount, life is good, if not, no loss. ++ std::string cmd = "umount " + mountpath; ++ system(cmd.c_str()); ++ ++ return true; ++} ++ + bool CPosixMountProvider::PumpDriveChangeEvents(IStorageEventsCallback *callback) + { + VECSOURCES drives; +diff --git a/xbmc/linux/PosixMountProvider.h b/xbmc/linux/PosixMountProvider.h +index da0506c..02ff302 100644 +--- a/xbmc/linux/PosixMountProvider.h ++++ b/xbmc/linux/PosixMountProvider.h +@@ -34,7 +34,7 @@ class CPosixMountProvider : public IStorageProvider + + virtual std::vector GetDiskUsage(); + +- virtual bool Eject(CStdString mountpath) { return false; } ++ virtual bool Eject(CStdString mountpath); + + virtual bool PumpDriveChangeEvents(IStorageEventsCallback *callback); + private: +diff --git a/xbmc/storage/linux/UDevProvider.cpp b/xbmc/storage/linux/UDevProvider.cpp +index 21b6b50..d9e6a4f 100644 +--- a/xbmc/storage/linux/UDevProvider.cpp ++++ b/xbmc/storage/linux/UDevProvider.cpp +@@ -179,7 +179,12 @@ void CUDevProvider::GetRemovableDrives(VECSOURCES &removableDrives) + + bool CUDevProvider::Eject(CStdString mountpath) + { +- return false; ++ // just go ahead and try to umount the disk ++ // if it does umount, life is good, if not, no loss. ++ std::string cmd = "umount " + mountpath; ++ system(cmd.c_str()); ++ ++ return true; + } + + std::vector CUDevProvider::GetDiskUsage() +-- +1.8.4 + From 4cbf689f0ad9130370fff8364ef0ec8484d03c44 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 31 Aug 2013 15:02:26 +0300 Subject: [PATCH 3/7] new package: 'libdvbcsa' --- packages/3rdparty/lib/libdvbcsa/build | 14 ++++++++++ packages/3rdparty/lib/libdvbcsa/meta | 37 +++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100755 packages/3rdparty/lib/libdvbcsa/build create mode 100644 packages/3rdparty/lib/libdvbcsa/meta diff --git a/packages/3rdparty/lib/libdvbcsa/build b/packages/3rdparty/lib/libdvbcsa/build new file mode 100755 index 0000000000..1f6818b173 --- /dev/null +++ b/packages/3rdparty/lib/libdvbcsa/build @@ -0,0 +1,14 @@ +#!/bin/sh + +. config/options $1 + +cd $PKG_BUILD + +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --disable-shared \ + --enable-static \ + --with-sysroot=$SYSROOT_PREFIX \ + +$MAKEINSTALL diff --git a/packages/3rdparty/lib/libdvbcsa/meta b/packages/3rdparty/lib/libdvbcsa/meta new file mode 100644 index 0000000000..e8ac53f622 --- /dev/null +++ b/packages/3rdparty/lib/libdvbcsa/meta @@ -0,0 +1,37 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="libdvbcsa" +PKG_VERSION="1.1.0" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="LGPL" +PKG_SITE="http://www.videolan.org/developers/libdvbcsa.html" +PKG_URL="http://download.videolan.org/pub/videolan/libdvbcsa/${PKG_VERSION}/libdvbcsa-${PKG_VERSION}.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="lib" +PKG_SHORTDESC="libdvbcsa is a free implementation of the DVB Common Scrambling Algorithm - DVB/CSA - with encryption and decryption capabilities" +PKG_LONGDESC="libdvbcsa is a free implementation of the DVB Common Scrambling Algorithm - DVB/CSA - with encryption and decryption capabilities" + +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" From 208f0bd687807e42d6b26506ac414011022d150a Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 31 Aug 2013 15:03:17 +0300 Subject: [PATCH 4/7] vdr-plugin-dvbapi: switch to libdvbcsa closes #2554 --- packages/3rdparty/multimedia/vdr-plugin-dvbapi/build | 1 + packages/3rdparty/multimedia/vdr-plugin-dvbapi/meta | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/3rdparty/multimedia/vdr-plugin-dvbapi/build b/packages/3rdparty/multimedia/vdr-plugin-dvbapi/build index a0dd55baa4..5ec4a893df 100755 --- a/packages/3rdparty/multimedia/vdr-plugin-dvbapi/build +++ b/packages/3rdparty/multimedia/vdr-plugin-dvbapi/build @@ -36,5 +36,6 @@ cd $PKG_BUILD VDRSRC="../$VDR_DIR" \ LIBDIR="." \ LOCALEDIR="./locale" \ + LIBDVBCSA=1 \ CSAFLAGS="$CFLAGS -Wall -fomit-frame-pointer -fexpensive-optimizations -funroll-loops" diff --git a/packages/3rdparty/multimedia/vdr-plugin-dvbapi/meta b/packages/3rdparty/multimedia/vdr-plugin-dvbapi/meta index a78b12de11..31ebfa56b1 100644 --- a/packages/3rdparty/multimedia/vdr-plugin-dvbapi/meta +++ b/packages/3rdparty/multimedia/vdr-plugin-dvbapi/meta @@ -26,7 +26,7 @@ PKG_LICENSE="GPL" PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS="vdr openssl" -PKG_BUILD_DEPENDS="toolchain vdr openssl" +PKG_BUILD_DEPENDS="toolchain vdr openssl libdvbcsa" PKG_PRIORITY="optional" PKG_SECTION="multimedia" PKG_SHORTDESC="TV" From 7c840e84917c95fb70cca2d67cf9301b0baf02eb Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 31 Aug 2013 15:03:43 +0300 Subject: [PATCH 5/7] vdr-addon: bump --- packages/addons/service/multimedia/vdr-addon/changelog.txt | 3 +++ packages/addons/service/multimedia/vdr-addon/meta | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/addons/service/multimedia/vdr-addon/changelog.txt b/packages/addons/service/multimedia/vdr-addon/changelog.txt index db7d1d141f..dc50ea3399 100644 --- a/packages/addons/service/multimedia/vdr-addon/changelog.txt +++ b/packages/addons/service/multimedia/vdr-addon/changelog.txt @@ -1,3 +1,6 @@ +3.1.4 +- vdr-plugin-dvbapi: switch to libdvbcsa + 3.1.3 - rebuild diff --git a/packages/addons/service/multimedia/vdr-addon/meta b/packages/addons/service/multimedia/vdr-addon/meta index bb45e5a858..dc773653b2 100644 --- a/packages/addons/service/multimedia/vdr-addon/meta +++ b/packages/addons/service/multimedia/vdr-addon/meta @@ -21,7 +21,7 @@ PKG_NAME="vdr-addon" PKG_VERSION="3.1" -PKG_REV="3" +PKG_REV="4" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" From 121b7f502a32cd177592eba315f71cad9c19d66b Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 31 Aug 2013 16:38:54 +0300 Subject: [PATCH 6/7] xbmc: UDevProvider: mountpoint should contain "/media/" / (dev/loop0) is considered "removable" but should not be shown as (empty) media source --- ...295c3f-03-show-all-removable-disks-mounted-under-media.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch b/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch index 7dd4bb8b2c..17619f8ec2 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-AML-XB9295c3f-03-show-all-removable-disks-mounted-under-media.patch @@ -16,7 +16,7 @@ index c20facc..c1044c8 100644 ((bus && strstr(bus, "usb")) || (cdrom && strstr(cdrom,"1")) || - (mountpoint && strstr(mountpoint, "usb")))) -+ (mountpoint))) ++ (mountpoint && strstr(mountpoint, "/media/")))) { const char *label = udev_device_get_property_value(device, "ID_FS_LABEL"); if (!label) From f75a994a2a2f7bbfce98c2aa9cb215c0f6ea600b Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 31 Aug 2013 17:12:54 +0300 Subject: [PATCH 7/7] bump unofficial --- packages/unofficial | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/unofficial b/packages/unofficial index 3f2135d24d..91337e2a39 160000 --- a/packages/unofficial +++ b/packages/unofficial @@ -1 +1 @@ -Subproject commit 3f2135d24d9c65513e387156164aef95958e298d +Subproject commit 91337e2a39c4cd84eaad4b74cf4562aa82e17d7c