From 482eaffcb261d44efb75ba253de77daa103260f1 Mon Sep 17 00:00:00 2001 From: vpeter4 Date: Wed, 6 Feb 2013 20:26:27 +0100 Subject: [PATCH 01/26] linux: support Opera1 DVB-S USB2.0 receiver, this fix #1734 --- projects/ARCTIC_MC/linux/linux.x86_64.conf | 2 +- projects/ATV/linux/linux.i386.conf | 2 +- projects/Fusion/linux/linux.i386.conf | 2 +- projects/Fusion/linux/linux.x86_64.conf | 2 +- projects/Generic/linux/linux.i386.conf | 2 +- projects/Generic_OSS/linux/linux.i386.conf | 2 +- projects/ION/linux/linux.i386.conf | 2 +- projects/ION/linux/linux.x86_64.conf | 2 +- projects/Intel/linux/linux.i386.conf | 2 +- projects/Intel/linux/linux.x86_64.conf | 2 +- projects/RPi/linux/linux.arm.conf | 2 +- projects/Ultra/linux/linux.x86_64.conf | 2 +- projects/Virtual/linux/linux.i386.conf | 2 +- projects/Virtual/linux/linux.x86_64.conf | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/projects/ARCTIC_MC/linux/linux.x86_64.conf b/projects/ARCTIC_MC/linux/linux.x86_64.conf index 1974941d1a..66229f86a3 100644 --- a/projects/ARCTIC_MC/linux/linux.x86_64.conf +++ b/projects/ARCTIC_MC/linux/linux.x86_64.conf @@ -1843,7 +1843,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index 5570292849..abc2a3d5cc 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -1799,7 +1799,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index 83f5c49acd..68e2578810 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -2033,7 +2033,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Fusion/linux/linux.x86_64.conf b/projects/Fusion/linux/linux.x86_64.conf index c555c3ec4d..301d786f9e 100644 --- a/projects/Fusion/linux/linux.x86_64.conf +++ b/projects/Fusion/linux/linux.x86_64.conf @@ -1986,7 +1986,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index 1946a92c6e..6d69ca937a 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -2118,7 +2118,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Generic_OSS/linux/linux.i386.conf b/projects/Generic_OSS/linux/linux.i386.conf index 7a850c37ae..aff1b26e5b 100644 --- a/projects/Generic_OSS/linux/linux.i386.conf +++ b/projects/Generic_OSS/linux/linux.i386.conf @@ -2116,7 +2116,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index 2c81c67b34..4d342f7204 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -1987,7 +1987,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index c88c50f7b7..eb5210db53 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -1924,7 +1924,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf index 9e50109638..004377e15b 100644 --- a/projects/Intel/linux/linux.i386.conf +++ b/projects/Intel/linux/linux.i386.conf @@ -2004,7 +2004,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf index af57a14d86..190ce1ced0 100644 --- a/projects/Intel/linux/linux.x86_64.conf +++ b/projects/Intel/linux/linux.x86_64.conf @@ -1942,7 +1942,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/RPi/linux/linux.arm.conf b/projects/RPi/linux/linux.arm.conf index 0f0b78147a..ef2cd3f575 100644 --- a/projects/RPi/linux/linux.arm.conf +++ b/projects/RPi/linux/linux.arm.conf @@ -1538,7 +1538,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Ultra/linux/linux.x86_64.conf b/projects/Ultra/linux/linux.x86_64.conf index f2e3e58381..7de2ef00f3 100644 --- a/projects/Ultra/linux/linux.x86_64.conf +++ b/projects/Ultra/linux/linux.x86_64.conf @@ -1843,7 +1843,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Virtual/linux/linux.i386.conf b/projects/Virtual/linux/linux.i386.conf index ad75b2f3f8..0be1af7db7 100644 --- a/projects/Virtual/linux/linux.i386.conf +++ b/projects/Virtual/linux/linux.i386.conf @@ -2006,7 +2006,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m diff --git a/projects/Virtual/linux/linux.x86_64.conf b/projects/Virtual/linux/linux.x86_64.conf index 1127dbf4fb..ff0b54a0ca 100644 --- a/projects/Virtual/linux/linux.x86_64.conf +++ b/projects/Virtual/linux/linux.x86_64.conf @@ -1943,7 +1943,7 @@ CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m -# CONFIG_DVB_USB_OPERA1 is not set +CONFIG_DVB_USB_OPERA1=m CONFIG_DVB_USB_AF9005=m CONFIG_DVB_USB_AF9005_REMOTE=m CONFIG_DVB_USB_PCTV452E=m From 6f41b37996add7ec9179ccf4e45c5237697015c0 Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Wed, 6 Feb 2013 22:16:12 +0100 Subject: [PATCH 02/26] When init starts daemons through a shell script, replace the shell altogether A few daemons are being started from init through a shell script. Since the daemon does not "deamonizes" properly, it's been put in the background from the shell by using ( ... ) &, however this leaves a lingering shell that serves no purpose. This patch improves this situation. The situation before this change looked like: init-+-Xorg |-avahi-daemon |-console-kit-dae-+-62*[{console-kit-da}] | `-{gdbus} |-dbus-daemon |-eventlircd |-klogd : |-init---atvclient |-init---connmand : |-init---ratpoison : |-init---udevadm |-polkitd---{gdbus} |-rpcbind |-sshd---sshd---sh---pstree |-syslogd |-systemd-udevd : |-tvheadend.start---tvheadend---12*[{tvheadend}] |-udisks-daemon-+-udisks-daemon | |-{gdbus} | `-{gmain} |-upowerd-+-{gdbus} | `-{gmain} |-wpa_supplicant `-xbmc.bin---17*[{xbmc.bin}] After this change, it looks like: init-+-Xorg : |-atvclient |-avahi-daemon |-console-kit-dae-+-62*[{console-kit-da}] | `-{gdbus} |-dbus-daemon |-eventlircd |-init---connmand |-klogd |-polkitd---{gdbus} : |-ratpoison |-rpcbind |-sshd---sshd---sh---pstree |-syslogd |-systemd-udevd : |-tvheadend---12*[{tvheadend}] : |-udevadm |-udisks-daemon-+-udisks-daemon | |-{gdbus} | `-{gmain} |-upowerd-+-{gdbus} | `-{gmain} |-wpa_supplicant `-xbmc.bin---17*[{xbmc.bin}] Only for connmand this is not easily done since the shell loops and restarts connmand. In different circumstances /etc/inittab would respawn the process. --- .../service/multimedia/tvheadend/source/bin/tvheadend.start | 4 ++-- packages/sysutils/remote/atvclient/init.d/63_atvclient | 4 ++-- packages/sysutils/systemd/init.d/12_udev-monitor | 2 +- packages/x11/other/ratpoison/init.d/73_ratpoison | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start index d39b22dc8f..3fa1dbfec5 100755 --- a/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start +++ b/packages/addons/service/multimedia/tvheadend/source/bin/tvheadend.start @@ -134,9 +134,9 @@ mkdir -p $ADDON_HOME fi if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then logger -t Tvheadend "### Preloading capmt_ca.so library ###" - LD_PRELOAD=$ADDON_DIR/bin/capmt_ca.so $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE + LD_PRELOAD=$ADDON_DIR/bin/capmt_ca.so exec $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE else - $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE + exec $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE fi done & fi diff --git a/packages/sysutils/remote/atvclient/init.d/63_atvclient b/packages/sysutils/remote/atvclient/init.d/63_atvclient index 38d772f563..07f22742e2 100644 --- a/packages/sysutils/remote/atvclient/init.d/63_atvclient +++ b/packages/sysutils/remote/atvclient/init.d/63_atvclient @@ -24,6 +24,6 @@ ( progress "starting ATVclient" - mkdir -p /storage/.cache - atvclient -m > /dev/null 2>&1 + mkdir -p /storage/.cache + exec atvclient -m > /dev/null 2>&1 )& \ No newline at end of file diff --git a/packages/sysutils/systemd/init.d/12_udev-monitor b/packages/sysutils/systemd/init.d/12_udev-monitor index f380489255..77d3d77b0b 100644 --- a/packages/sysutils/systemd/init.d/12_udev-monitor +++ b/packages/sysutils/systemd/init.d/12_udev-monitor @@ -25,5 +25,5 @@ ( progress "monitoring udev events" - udevadm monitor -e > /dev/udev.log + exec udevadm monitor -e > /dev/udev.log )& diff --git a/packages/x11/other/ratpoison/init.d/73_ratpoison b/packages/x11/other/ratpoison/init.d/73_ratpoison index c4846ace6e..7954754d97 100644 --- a/packages/x11/other/ratpoison/init.d/73_ratpoison +++ b/packages/x11/other/ratpoison/init.d/73_ratpoison @@ -30,8 +30,8 @@ # starting ratpoison if [ -f /storage/.config/ratpoisonrc ]; then - DISPLAY=:0.0 ratpoison -f /storage/.config/ratpoisonrc > /dev/null 2>&1 + exec ratpoison -f /storage/.config/ratpoisonrc -d :0.0 > /dev/null 2>&1 else - DISPLAY=:0.0 ratpoison > /dev/null 2>&1 + exec ratpoison -d :0.0 > /dev/null 2>&1 fi )& From 8672ac5b63d99d26ce0eb9181d5e3c9d1a08b7c3 Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Wed, 6 Feb 2013 22:36:53 +0100 Subject: [PATCH 03/26] Allow syslog.conf to be locally customized from /storage/.config/syslog.conf Since I would like to remotely log whatever goes on on my AppleTV devices, I need a way to modify the syslog.conf that is used, or need to provide options to syslogd. This was the easiest pick of the two :) --- packages/sysutils/busybox/init.d/08_syslogd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/sysutils/busybox/init.d/08_syslogd b/packages/sysutils/busybox/init.d/08_syslogd index e27f74db16..524c77d8cd 100644 --- a/packages/sysutils/busybox/init.d/08_syslogd +++ b/packages/sysutils/busybox/init.d/08_syslogd @@ -25,7 +25,11 @@ ( progress "Starting Syslog daemon" + if [ -f /storage/.config/syslog.conf ]; then + syslogd -f /storage/.config/syslog.conf + else syslogd + fi progress "Starting Kernellog daemon" klogd From 12df4db25cdb2d4f41ef71b87dc9de9a26836189 Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Wed, 6 Feb 2013 22:54:27 +0100 Subject: [PATCH 04/26] new package: add package 'dmidecode' This packages adds the dmidecode tools when enabled. --- packages/sysutils/dmidecode/build | 30 ++++++++++++++++++++++++ packages/sysutils/dmidecode/install | 26 +++++++++++++++++++++ packages/sysutils/dmidecode/meta | 36 +++++++++++++++++++++++++++++ projects/ATV/options | 3 +++ scripts/image | 3 +++ 5 files changed, 98 insertions(+) create mode 100755 packages/sysutils/dmidecode/build create mode 100755 packages/sysutils/dmidecode/install create mode 100644 packages/sysutils/dmidecode/meta diff --git a/packages/sysutils/dmidecode/build b/packages/sysutils/dmidecode/build new file mode 100755 index 0000000000..2469835fca --- /dev/null +++ b/packages/sysutils/dmidecode/build @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +make PREFIX=/usr \ + CC="$TARGET_CC" \ + AR="$TARGET_AR" \ + CFLAGS="$TARGET_CFLAGS" \ + CPPFLAGS="$TARGET_CPPFLAGS" \ diff --git a/packages/sysutils/dmidecode/install b/packages/sysutils/dmidecode/install new file mode 100755 index 0000000000..943dbb7dcc --- /dev/null +++ b/packages/sysutils/dmidecode/install @@ -0,0 +1,26 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/bin/ +cp $PKG_BUILD/{biosdecode,dmidecode,ownership,vpddecode} $INSTALL/usr/bin/ diff --git a/packages/sysutils/dmidecode/meta b/packages/sysutils/dmidecode/meta new file mode 100644 index 0000000000..2d90c38cb1 --- /dev/null +++ b/packages/sysutils/dmidecode/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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="dmidecode" +PKG_VERSION="2.11" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.nongnu.org/dmidecode/" +PKG_URL="http://download.savannah.gnu.org/releases/dmidecode/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="system" +PKG_SHORTDESC="dmidecode: report DMI information" +PKG_LONGDESC="Dmidecode reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI standard (see a sample output). This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details of varying level of interest and reliability depending on the manufacturer. This will often include usage status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory module slots, and the list of I/O ports (e.g. serial, parallel, USB)." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/projects/ATV/options b/projects/ATV/options index 5432431588..c8748d5b22 100755 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -309,6 +309,9 @@ # build with lm_sensors hardware monitoring support (yes / no) SENSOR_SUPPORT="yes" +# build with dmidecode support (yes / no) + DMIDECODE_SUPPORT="yes" + # build with swap support (yes / no) SWAP_SUPPORT="yes" diff --git a/scripts/image b/scripts/image index dd46401e7a..ed70c69dce 100755 --- a/scripts/image +++ b/scripts/image @@ -135,6 +135,9 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION" # Sensors support [ "$SENSOR_SUPPORT" = "yes" ] && $SCRIPTS/install lm_sensors +# dmidecode support + [ "$DMIDECODE_SUPPORT" = "yes" ] && $SCRIPTS/install dmidecode + # Update support [ "$UPDATE_SUPPORT" = "yes" ] && $SCRIPTS/install autoupdate From 0b84f525f8b421e6fc5a9ef82046d328c985de1b Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Wed, 6 Feb 2013 23:00:17 +0100 Subject: [PATCH 05/26] new packages: add package 'pmtools' and 'acpica' These packages add the necessary tools to debug and disassemble ACPI tables in order to understand and fix ACPI problems. --- packages/sysutils/acpica/build | 31 ++++++++++++++++++++++++++ packages/sysutils/acpica/install | 26 ++++++++++++++++++++++ packages/sysutils/acpica/meta | 36 +++++++++++++++++++++++++++++++ packages/sysutils/pmtools/build | 30 ++++++++++++++++++++++++++ packages/sysutils/pmtools/install | 28 ++++++++++++++++++++++++ packages/sysutils/pmtools/meta | 36 +++++++++++++++++++++++++++++++ 6 files changed, 187 insertions(+) create mode 100755 packages/sysutils/acpica/build create mode 100755 packages/sysutils/acpica/install create mode 100644 packages/sysutils/acpica/meta create mode 100755 packages/sysutils/pmtools/build create mode 100755 packages/sysutils/pmtools/install create mode 100644 packages/sysutils/pmtools/meta diff --git a/packages/sysutils/acpica/build b/packages/sysutils/acpica/build new file mode 100755 index 0000000000..03721d7a32 --- /dev/null +++ b/packages/sysutils/acpica/build @@ -0,0 +1,31 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +make PREFIX=/usr \ + CC="$TARGET_CC" \ + AR="$TARGET_AR" \ + BITS="32" \ + YACC=$ROOT/$TOOLCHAIN/bin/bison + CWARNINGFLAGS="-O2 $TARGET_CFLAGS" \ diff --git a/packages/sysutils/acpica/install b/packages/sysutils/acpica/install new file mode 100755 index 0000000000..95d2fd4e36 --- /dev/null +++ b/packages/sysutils/acpica/install @@ -0,0 +1,26 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/bin/ +cp $PKG_BUILD/generate/unix/bin32/* $INSTALL/usr/bin/ diff --git a/packages/sysutils/acpica/meta b/packages/sysutils/acpica/meta new file mode 100644 index 0000000000..4086abf04d --- /dev/null +++ b/packages/sysutils/acpica/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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="acpica-unix2" +PKG_VERSION="20130117" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.acpica.org/" +PKG_URL="https://www.acpica.org/download/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain flex bison" +PKG_PRIORITY="optional" +PKG_SECTION="system" +PKG_SHORTDESC="acpica: A set of tools to disassemble ACPI tables" +PKG_LONGDESC="acpica is a set of tools from Intel to disassemble ACPI tables." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/sysutils/pmtools/build b/packages/sysutils/pmtools/build new file mode 100755 index 0000000000..4f255b7072 --- /dev/null +++ b/packages/sysutils/pmtools/build @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +make PREFIX=/usr \ + CC="$TARGET_CC" \ + AR="$TARGET_AR" \ + CFLAGS="$TARGET_CFLAGS -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Os -s -D_LINUX -DDEFINE_ALTERNATE_TYPES -I../include" \ + CPPFLAGS="$TARGET_CPPFLAGS" \ diff --git a/packages/sysutils/pmtools/install b/packages/sysutils/pmtools/install new file mode 100755 index 0000000000..403b128126 --- /dev/null +++ b/packages/sysutils/pmtools/install @@ -0,0 +1,28 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/bin/ +cp $PKG_BUILD/acpidump/acpidump $INSTALL/usr/bin/ +cp $PKG_BUILD/acpixtract/acpixtract $INSTALL/usr/bin/ +cp $PKG_BUILD/madt/madt $INSTALL/usr/bin/ diff --git a/packages/sysutils/pmtools/meta b/packages/sysutils/pmtools/meta new file mode 100644 index 0000000000..6e7bc25a7b --- /dev/null +++ b/packages/sysutils/pmtools/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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="pmtools" +PKG_VERSION="20071116" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="https://lesswatts.org/projects/acpi/utilities.php" +PKG_URL="https://lesswatts.org/patches/linux_acpi/pmtools-20071116.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="system" +PKG_SHORTDESC="pmtools: ACPI debugging utilities" +PKG_LONGDESC="The pmtools package contains tools to debug ACPI DSDT tables" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From c5b63fe01a10949cef37abe4e9af39b093213aea Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Wed, 6 Feb 2013 23:04:56 +0100 Subject: [PATCH 06/26] new package: add package 'i2c-tools' This package adds the necessary tools to debug i2c hardware. --- packages/sysutils/i2c-tools/build | 30 ++++++++++++++++++++++++ packages/sysutils/i2c-tools/install | 27 ++++++++++++++++++++++ packages/sysutils/i2c-tools/meta | 36 +++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100755 packages/sysutils/i2c-tools/build create mode 100755 packages/sysutils/i2c-tools/install create mode 100644 packages/sysutils/i2c-tools/meta diff --git a/packages/sysutils/i2c-tools/build b/packages/sysutils/i2c-tools/build new file mode 100755 index 0000000000..2469835fca --- /dev/null +++ b/packages/sysutils/i2c-tools/build @@ -0,0 +1,30 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +make PREFIX=/usr \ + CC="$TARGET_CC" \ + AR="$TARGET_AR" \ + CFLAGS="$TARGET_CFLAGS" \ + CPPFLAGS="$TARGET_CPPFLAGS" \ diff --git a/packages/sysutils/i2c-tools/install b/packages/sysutils/i2c-tools/install new file mode 100755 index 0000000000..e9559d61ac --- /dev/null +++ b/packages/sysutils/i2c-tools/install @@ -0,0 +1,27 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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 +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/bin/ +cp $PKG_BUILD/tools/{i2cdetect,i2cdump,i2cget,i2cset} $INSTALL/usr/bin/ +cp $PKG_BUILD/stub/i2c-stub-from-dump $INSTALL/usr/bin/ diff --git a/packages/sysutils/i2c-tools/meta b/packages/sysutils/i2c-tools/meta new file mode 100644 index 0000000000..f0e780b64b --- /dev/null +++ b/packages/sysutils/i2c-tools/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2013 Dag Wieers (dag@wieers.com) +# +# 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="i2c-tools" +PKG_VERSION="3.1.0" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.lm-sensors.org/wiki/I2CTools" +PKG_URL="http://dl.lm-sensors.org/i2c-tools/releases/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="system" +PKG_SHORTDESC="i2c-tools: bus probing tool, eeprom decoding/programming and SMBus python interface" +PKG_LONGDESC="The i2c-tools package contains a heterogeneous set of I2C tools for Linux: a bus probing tool, a chip dumper, register-level SMBus access helpers, EEPROM decoding scripts, EEPROM programming tools, and a python module for SMBus access." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 9912f0635ebb8ba976c3867bb851f1798529216d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:12:19 +0100 Subject: [PATCH 07/26] dmidecode: move to debug tools Signed-off-by: Stephan Raue --- packages/{sysutils => debug}/dmidecode/build | 0 packages/{sysutils => debug}/dmidecode/install | 0 packages/{sysutils => debug}/dmidecode/meta | 0 packages/debug/meta | 2 +- projects/ATV/options | 3 --- scripts/image | 3 --- 6 files changed, 1 insertion(+), 7 deletions(-) rename packages/{sysutils => debug}/dmidecode/build (100%) rename packages/{sysutils => debug}/dmidecode/install (100%) rename packages/{sysutils => debug}/dmidecode/meta (100%) diff --git a/packages/sysutils/dmidecode/build b/packages/debug/dmidecode/build similarity index 100% rename from packages/sysutils/dmidecode/build rename to packages/debug/dmidecode/build diff --git a/packages/sysutils/dmidecode/install b/packages/debug/dmidecode/install similarity index 100% rename from packages/sysutils/dmidecode/install rename to packages/debug/dmidecode/install diff --git a/packages/sysutils/dmidecode/meta b/packages/debug/dmidecode/meta similarity index 100% rename from packages/sysutils/dmidecode/meta rename to packages/debug/dmidecode/meta diff --git a/packages/debug/meta b/packages/debug/meta index f3b70eef15..1415d6fb10 100644 --- a/packages/debug/meta +++ b/packages/debug/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" -PKG_DEPENDS="strace gdb" +PKG_DEPENDS="strace gdb dmidecode" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="debug" diff --git a/projects/ATV/options b/projects/ATV/options index c8748d5b22..5432431588 100755 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -309,9 +309,6 @@ # build with lm_sensors hardware monitoring support (yes / no) SENSOR_SUPPORT="yes" -# build with dmidecode support (yes / no) - DMIDECODE_SUPPORT="yes" - # build with swap support (yes / no) SWAP_SUPPORT="yes" diff --git a/scripts/image b/scripts/image index ed70c69dce..dd46401e7a 100755 --- a/scripts/image +++ b/scripts/image @@ -135,9 +135,6 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION" # Sensors support [ "$SENSOR_SUPPORT" = "yes" ] && $SCRIPTS/install lm_sensors -# dmidecode support - [ "$DMIDECODE_SUPPORT" = "yes" ] && $SCRIPTS/install dmidecode - # Update support [ "$UPDATE_SUPPORT" = "yes" ] && $SCRIPTS/install autoupdate From 3490780d1d8ecc07c16c084aa30cb55ab68b714c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:13:44 +0100 Subject: [PATCH 08/26] i2c-tools: move to debug tools Signed-off-by: Stephan Raue --- packages/{sysutils => debug}/i2c-tools/build | 0 packages/{sysutils => debug}/i2c-tools/install | 0 packages/{sysutils => debug}/i2c-tools/meta | 0 packages/debug/meta | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) rename packages/{sysutils => debug}/i2c-tools/build (100%) rename packages/{sysutils => debug}/i2c-tools/install (100%) rename packages/{sysutils => debug}/i2c-tools/meta (100%) diff --git a/packages/sysutils/i2c-tools/build b/packages/debug/i2c-tools/build similarity index 100% rename from packages/sysutils/i2c-tools/build rename to packages/debug/i2c-tools/build diff --git a/packages/sysutils/i2c-tools/install b/packages/debug/i2c-tools/install similarity index 100% rename from packages/sysutils/i2c-tools/install rename to packages/debug/i2c-tools/install diff --git a/packages/sysutils/i2c-tools/meta b/packages/debug/i2c-tools/meta similarity index 100% rename from packages/sysutils/i2c-tools/meta rename to packages/debug/i2c-tools/meta diff --git a/packages/debug/meta b/packages/debug/meta index 1415d6fb10..7a5045691c 100644 --- a/packages/debug/meta +++ b/packages/debug/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" -PKG_DEPENDS="strace gdb dmidecode" +PKG_DEPENDS="strace gdb dmidecode i2c-tools" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="debug" From 1daaba248f2dd5b26d6ab85b91b655846745daa0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:15:24 +0100 Subject: [PATCH 09/26] acpica: move to debug tools Signed-off-by: Stephan Raue --- packages/{sysutils => debug}/acpica/build | 0 packages/{sysutils => debug}/acpica/install | 0 packages/{sysutils => debug}/acpica/meta | 0 packages/debug/meta | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) rename packages/{sysutils => debug}/acpica/build (100%) rename packages/{sysutils => debug}/acpica/install (100%) rename packages/{sysutils => debug}/acpica/meta (100%) diff --git a/packages/sysutils/acpica/build b/packages/debug/acpica/build similarity index 100% rename from packages/sysutils/acpica/build rename to packages/debug/acpica/build diff --git a/packages/sysutils/acpica/install b/packages/debug/acpica/install similarity index 100% rename from packages/sysutils/acpica/install rename to packages/debug/acpica/install diff --git a/packages/sysutils/acpica/meta b/packages/debug/acpica/meta similarity index 100% rename from packages/sysutils/acpica/meta rename to packages/debug/acpica/meta diff --git a/packages/debug/meta b/packages/debug/meta index 7a5045691c..ab50261315 100644 --- a/packages/debug/meta +++ b/packages/debug/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" -PKG_DEPENDS="strace gdb dmidecode i2c-tools" +PKG_DEPENDS="acpica strace gdb dmidecode i2c-tools" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="debug" From f2a987ab77e45439b287bef520496452389ae8fb Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:16:29 +0100 Subject: [PATCH 10/26] pmtools: move to debug tools Signed-off-by: Stephan Raue --- packages/debug/meta | 2 +- packages/{sysutils => debug}/pmtools/build | 0 packages/{sysutils => debug}/pmtools/install | 0 packages/{sysutils => debug}/pmtools/meta | 0 4 files changed, 1 insertion(+), 1 deletion(-) rename packages/{sysutils => debug}/pmtools/build (100%) rename packages/{sysutils => debug}/pmtools/install (100%) rename packages/{sysutils => debug}/pmtools/meta (100%) diff --git a/packages/debug/meta b/packages/debug/meta index ab50261315..84414e6177 100644 --- a/packages/debug/meta +++ b/packages/debug/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" -PKG_DEPENDS="acpica strace gdb dmidecode i2c-tools" +PKG_DEPENDS="acpica strace gdb dmidecode i2c-tools pmtools" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="debug" diff --git a/packages/sysutils/pmtools/build b/packages/debug/pmtools/build similarity index 100% rename from packages/sysutils/pmtools/build rename to packages/debug/pmtools/build diff --git a/packages/sysutils/pmtools/install b/packages/debug/pmtools/install similarity index 100% rename from packages/sysutils/pmtools/install rename to packages/debug/pmtools/install diff --git a/packages/sysutils/pmtools/meta b/packages/debug/pmtools/meta similarity index 100% rename from packages/sysutils/pmtools/meta rename to packages/debug/pmtools/meta From 460e578997698d1d76d0d8280c9d57ec0cefe8a4 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:29:53 +0100 Subject: [PATCH 11/26] acpica: add 64bit support, prevent install for ARM Signed-off-by: Stephan Raue --- packages/debug/acpica/build | 5 ++++- packages/debug/acpica/install | 5 ++++- packages/debug/acpica/meta | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/debug/acpica/build b/packages/debug/acpica/build index 03721d7a32..ccd0723ccd 100755 --- a/packages/debug/acpica/build +++ b/packages/debug/acpica/build @@ -22,10 +22,13 @@ . config/options $1 +[ "$TARGET_ARCH" = "i386" ] && ACPICA_BITS="32" +[ "$TARGET_ARCH" = "x86_64" ] && ACPICA_BITS="64" + cd $PKG_BUILD make PREFIX=/usr \ CC="$TARGET_CC" \ AR="$TARGET_AR" \ - BITS="32" \ + BITS=$ACPICA_BITS \ YACC=$ROOT/$TOOLCHAIN/bin/bison CWARNINGFLAGS="-O2 $TARGET_CFLAGS" \ diff --git a/packages/debug/acpica/install b/packages/debug/acpica/install index 95d2fd4e36..827676fbd9 100755 --- a/packages/debug/acpica/install +++ b/packages/debug/acpica/install @@ -22,5 +22,8 @@ . config/options $1 +[ "$TARGET_ARCH" = "i386" ] && ACPICA_BIN="bin32" +[ "$TARGET_ARCH" = "x86_64" ] && ACPICA_BIN="bin64" + mkdir -p $INSTALL/usr/bin/ -cp $PKG_BUILD/generate/unix/bin32/* $INSTALL/usr/bin/ + cp $PKG_BUILD/generate/unix/$ACPICA_BIN/* $INSTALL/usr/bin/ diff --git a/packages/debug/acpica/meta b/packages/debug/acpica/meta index 4086abf04d..f294094e9a 100644 --- a/packages/debug/acpica/meta +++ b/packages/debug/acpica/meta @@ -21,7 +21,7 @@ PKG_NAME="acpica-unix2" PKG_VERSION="20130117" PKG_REV="1" -PKG_ARCH="any" +PKG_ARCH="i386 x86_64" PKG_LICENSE="GPL" PKG_SITE="http://www.acpica.org/" PKG_URL="https://www.acpica.org/download/$PKG_NAME-$PKG_VERSION.tar.gz" From 98a19be4c75d8342b413cd6ea4e22ee455250fd4 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:35:21 +0100 Subject: [PATCH 12/26] dmidecode: prevent install for ARM Signed-off-by: Stephan Raue --- packages/debug/dmidecode/install | 2 +- packages/debug/dmidecode/meta | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/debug/dmidecode/install b/packages/debug/dmidecode/install index 943dbb7dcc..7302a5b8c2 100755 --- a/packages/debug/dmidecode/install +++ b/packages/debug/dmidecode/install @@ -23,4 +23,4 @@ . config/options $1 mkdir -p $INSTALL/usr/bin/ -cp $PKG_BUILD/{biosdecode,dmidecode,ownership,vpddecode} $INSTALL/usr/bin/ + cp $PKG_BUILD/{biosdecode,dmidecode,ownership,vpddecode} $INSTALL/usr/bin/ diff --git a/packages/debug/dmidecode/meta b/packages/debug/dmidecode/meta index 2d90c38cb1..f231370af1 100644 --- a/packages/debug/dmidecode/meta +++ b/packages/debug/dmidecode/meta @@ -21,7 +21,7 @@ PKG_NAME="dmidecode" PKG_VERSION="2.11" PKG_REV="1" -PKG_ARCH="any" +PKG_ARCH="i386 x86_64" PKG_LICENSE="GPL" PKG_SITE="http://www.nongnu.org/dmidecode/" PKG_URL="http://download.savannah.gnu.org/releases/dmidecode/$PKG_NAME-$PKG_VERSION.tar.bz2" From ad9106620135a8d38c03cec2bff5c282d176a068 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:36:15 +0100 Subject: [PATCH 13/26] i2c-tools: cosmetics Signed-off-by: Stephan Raue --- packages/debug/i2c-tools/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/debug/i2c-tools/install b/packages/debug/i2c-tools/install index e9559d61ac..e8235dd6bc 100755 --- a/packages/debug/i2c-tools/install +++ b/packages/debug/i2c-tools/install @@ -23,5 +23,5 @@ . config/options $1 mkdir -p $INSTALL/usr/bin/ -cp $PKG_BUILD/tools/{i2cdetect,i2cdump,i2cget,i2cset} $INSTALL/usr/bin/ -cp $PKG_BUILD/stub/i2c-stub-from-dump $INSTALL/usr/bin/ + cp $PKG_BUILD/tools/{i2cdetect,i2cdump,i2cget,i2cset} $INSTALL/usr/bin/ + cp $PKG_BUILD/stub/i2c-stub-from-dump $INSTALL/usr/bin/ From 06d902745dcd24f393e6ceb5114bd3e79c102e65 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 00:38:13 +0100 Subject: [PATCH 14/26] pmtools: prevent install for ARM Signed-off-by: Stephan Raue --- packages/debug/pmtools/install | 6 +++--- packages/debug/pmtools/meta | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/debug/pmtools/install b/packages/debug/pmtools/install index 403b128126..382020d6e3 100755 --- a/packages/debug/pmtools/install +++ b/packages/debug/pmtools/install @@ -23,6 +23,6 @@ . config/options $1 mkdir -p $INSTALL/usr/bin/ -cp $PKG_BUILD/acpidump/acpidump $INSTALL/usr/bin/ -cp $PKG_BUILD/acpixtract/acpixtract $INSTALL/usr/bin/ -cp $PKG_BUILD/madt/madt $INSTALL/usr/bin/ + cp $PKG_BUILD/acpidump/acpidump $INSTALL/usr/bin/ + cp $PKG_BUILD/acpixtract/acpixtract $INSTALL/usr/bin/ + cp $PKG_BUILD/madt/madt $INSTALL/usr/bin/ diff --git a/packages/debug/pmtools/meta b/packages/debug/pmtools/meta index 6e7bc25a7b..0631939995 100644 --- a/packages/debug/pmtools/meta +++ b/packages/debug/pmtools/meta @@ -21,10 +21,10 @@ PKG_NAME="pmtools" PKG_VERSION="20071116" PKG_REV="1" -PKG_ARCH="any" +PKG_ARCH="i386 x86_64" PKG_LICENSE="GPL" PKG_SITE="https://lesswatts.org/projects/acpi/utilities.php" -PKG_URL="https://lesswatts.org/patches/linux_acpi/pmtools-20071116.tar.gz" +PKG_URL="https://lesswatts.org/patches/linux_acpi/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS="" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" From c691a33edd1441cb2843752a8c4f6c21c2188616 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 01:43:40 +0100 Subject: [PATCH 15/26] eventlircd, add more cypress remotes, this fixes #1347 Signed-off-by: Stephan Raue --- .../eventlircd/evmap/{03_04b4_0101.evmap => cypress.evmap} | 0 .../sysutils/remote/eventlircd/udev.d/98-eventlircd.rules | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) rename packages/sysutils/remote/eventlircd/evmap/{03_04b4_0101.evmap => cypress.evmap} (100%) diff --git a/packages/sysutils/remote/eventlircd/evmap/03_04b4_0101.evmap b/packages/sysutils/remote/eventlircd/evmap/cypress.evmap similarity index 100% rename from packages/sysutils/remote/eventlircd/evmap/03_04b4_0101.evmap rename to packages/sysutils/remote/eventlircd/evmap/cypress.evmap diff --git a/packages/sysutils/remote/eventlircd/udev.d/98-eventlircd.rules b/packages/sysutils/remote/eventlircd/udev.d/98-eventlircd.rules index 8d401b350a..04a232d878 100644 --- a/packages/sysutils/remote/eventlircd/udev.d/98-eventlircd.rules +++ b/packages/sysutils/remote/eventlircd/udev.d/98-eventlircd.rules @@ -95,9 +95,13 @@ ENV{ID_VENDOR_ID}=="046e", ENV{ID_MODEL_ID}=="5578", \ ENV{eventlircd_enable}="true", \ ENV{eventlircd_evmap}="topseed.evmap" +ENV{ID_VENDOR_ID}=="04b4", ENV{ID_MODEL_ID}=="0100", \ + ENV{eventlircd_enable}="true", \ + ENV{eventlircd_evmap}="cypress.evmap" + ENV{ID_VENDOR_ID}=="04b4", ENV{ID_MODEL_ID}=="0101", \ ENV{eventlircd_enable}="true", \ - ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap" + ENV{eventlircd_evmap}="cypress.evmap" ENV{ID_VENDOR_ID}=="04f2", ENV{ID_MODEL_ID}=="0618", \ ENV{eventlircd_enable}="true", \ From 6f03b497c309f45bb007a8da502edfb66dbefe5d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 02:18:47 +0100 Subject: [PATCH 16/26] xbmc: add watchdog support Signed-off-by: Stephan Raue --- .../xbmc/patches/xbmc-801-watchdog.patch | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 packages/mediacenter/xbmc/patches/xbmc-801-watchdog.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-801-watchdog.patch b/packages/mediacenter/xbmc/patches/xbmc-801-watchdog.patch new file mode 100644 index 0000000000..f563d6691b --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-801-watchdog.patch @@ -0,0 +1,171 @@ +commit 2349687bee7a4b01cd8f17c81ed5d77ee95449f6 +Author: Lars Op den Kamp +Date: Wed Jan 16 02:11:19 2013 +0100 + + ODK: watchdog for linux, 30 second timeout by default + +diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp +index b453e9f..8471e3b 100644 +--- a/xbmc/Application.cpp ++++ b/xbmc/Application.cpp +@@ -18,6 +18,11 @@ + * + */ + ++#if defined(_LINUX) ++#include ++#include ++#endif ++ + #include "network/Network.h" + #include "threads/SystemClock.h" + #include "system.h" +@@ -436,6 +441,7 @@ CApplication::CApplication(void) + m_lastFrameTime = 0; + m_lastRenderTime = 0; + m_bTestMode = false; ++ m_iWatchdogFD = -1; + } + + CApplication::~CApplication(void) +@@ -565,6 +571,51 @@ void CApplication::Preflight() + #endif + } + ++void CApplication::WDOpen(void) ++{ ++#if defined(_LINUX) ++ m_iWatchdogFD = open("/dev/watchdog", O_WRONLY); ++ if (m_iWatchdogFD == -1) ++ { ++ CLog::Log(LOGWARNING, "could not open /dev/watchdog"); ++ return; ++ } ++ ++ if (ioctl(m_iWatchdogFD, WDIOC_SETTIMEOUT, &g_advancedSettings.m_iWatchdogTimeoutSeconds)) ++ { ++ CLog::Log(LOGERROR, "ioctl on /dev/watchdog failed"); ++ WDClose(); ++ } ++ ++ CLog::Log(LOGINFO, "watchdog started, %d second timeout", g_advancedSettings.m_iWatchdogTimeoutSeconds); ++#endif ++} ++ ++void CApplication::WDClose(void) ++{ ++#if defined(_LINUX) ++ if (m_iWatchdogFD != -1) ++ { ++ struct watchdog_info watchdogInfo; ++ if (!ioctl(m_iWatchdogFD, WDIOC_GETSUPPORT, &watchdogInfo) && ++ (WDIOF_MAGICCLOSE & watchdogInfo.options)) ++ write(m_iWatchdogFD, "V", 1); ++ close(m_iWatchdogFD); ++ m_iWatchdogFD = -1; ++ ++ CLog::Log(LOGINFO, "watchdog stopped"); ++ } ++#endif ++} ++ ++void CApplication::WDAlive(void) ++{ ++#if defined(_LINUX) ++ if (m_iWatchdogFD != -1) ++ ioctl(m_iWatchdogFD, WDIOC_KEEPALIVE, NULL); ++#endif ++} ++ + bool CApplication::Create() + { + #if defined(HAS_LINUX_NETWORK) +@@ -776,6 +827,8 @@ bool CApplication::Create() + + g_mediaManager.Initialize(); + ++ WDOpen(); ++ + m_lastFrameTime = XbmcThreads::SystemClockMillis(); + m_lastRenderTime = m_lastFrameTime; + return true; +@@ -3641,6 +3694,8 @@ void CApplication::Stop(int exitCode) + // so we may never get to Destroy() in CXBApplicationEx::Run(), we call it here. + Destroy(); + ++ WDClose(); ++ + // + Sleep(200); + } +@@ -5232,6 +5287,8 @@ void CApplication::ProcessSlow() + CAddonInstaller::Get().UpdateRepos(); + + CAEFactory::GarbageCollect(); ++ ++ WDAlive(); + } + + // Global Idle Time in Seconds +diff --git a/xbmc/Application.h b/xbmc/Application.h +index 69609fa..de04517 100644 +--- a/xbmc/Application.h ++++ b/xbmc/Application.h +@@ -458,6 +458,10 @@ protected: + bool InitDirectoriesWin32(); + void CreateUserDirs(); + ++ void WDOpen(void); ++ void WDClose(void); ++ void WDAlive(void); ++ + CSeekHandler *m_seekHandler; + CInertialScrollingHandler *m_pInertialScrollingHandler; + CNetwork *m_network; +@@ -469,6 +473,7 @@ protected: + std::map > m_lastAxisMap; + #endif + ++ int m_iWatchdogFD; + }; + + XBMC_GLOBAL_REF(CApplication,g_application); +diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp +index 16800b7..3b0cc5a 100644 +--- a/xbmc/settings/AdvancedSettings.cpp ++++ b/xbmc/settings/AdvancedSettings.cpp +@@ -322,6 +322,8 @@ void CAdvancedSettings::Initialize() + m_databaseVideo.Reset(); + + m_logLevelHint = m_logLevel = LOG_LEVEL_NORMAL; ++ ++ m_iWatchdogTimeoutSeconds = 30; + } + + bool CAdvancedSettings::Load() +@@ -990,6 +992,12 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file) + XMLUtils::GetInt(pPVR, "numericchannelswitchtimeout", m_iPVRNumericChannelSwitchTimeout, 50, 60000); + } + ++ TiXmlElement *pWD = pRootElement->FirstChildElement("watchdog"); ++ if (pWD) ++ { ++ XMLUtils::GetInt(pWD, "timeout", m_iWatchdogTimeoutSeconds, 1, 6000); ++ } ++ + XMLUtils::GetBoolean(pRootElement, "measurerefreshrate", m_measureRefreshrate); + + TiXmlElement* pDatabase = pRootElement->FirstChildElement("videodatabase"); +diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h +index 27887d4..a155369 100644 +--- a/xbmc/settings/AdvancedSettings.h ++++ b/xbmc/settings/AdvancedSettings.h +@@ -365,6 +365,8 @@ class CAdvancedSettings + bool m_initialized; + + void SetDebugMode(bool debug); ++ ++ int m_iWatchdogTimeoutSeconds; + }; + + XBMC_GLOBAL(CAdvancedSettings,g_advancedSettings); From adf452c2342c5be5fccb1740cfc985a8eb020dff Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Thu, 7 Feb 2013 10:54:20 +0200 Subject: [PATCH 17/26] oscam: daemonize on start. thanks dag- --- packages/addons/service/softcam/oscam/source/bin/oscam.start | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/service/softcam/oscam/source/bin/oscam.start b/packages/addons/service/softcam/oscam/source/bin/oscam.start index c46241aad8..c694418545 100755 --- a/packages/addons/service/softcam/oscam/source/bin/oscam.start +++ b/packages/addons/service/softcam/oscam/source/bin/oscam.start @@ -91,7 +91,7 @@ if [ ! "$(pidof oscam)" ]; then # use ". " because of variable export . $driver_dvb done - LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" oscam $OSCAM_ARG > /dev/null 2>&1 + LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" exec oscam $OSCAM_ARG > /dev/null 2>&1 sleep 1 done & fi From 2b1b614564ac9f5ac5bee76b7592350d5e9d3fb7 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Thu, 7 Feb 2013 10:55:10 +0200 Subject: [PATCH 18/26] oscam: oscam.stop: send TERM signal, not KILL --- packages/addons/service/softcam/oscam/source/bin/oscam.stop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/service/softcam/oscam/source/bin/oscam.stop b/packages/addons/service/softcam/oscam/source/bin/oscam.stop index c18b32f63f..b0168693b0 100755 --- a/packages/addons/service/softcam/oscam/source/bin/oscam.stop +++ b/packages/addons/service/softcam/oscam/source/bin/oscam.stop @@ -30,6 +30,6 @@ mkdir -p "$LOCKDIR" touch "$LOCKDIR/$LOCKFILE" if [ "$(pidof oscam)" ];then - killall -9 oscam + killall oscam fi From b5eaf5897cbe2f0afd62c069055311a7f54304e2 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 15:51:03 +0100 Subject: [PATCH 19/26] projects/*/linux: add watchdog support Signed-off-by: Stephan Raue --- projects/ARCTIC_MC/linux/linux.x86_64.conf | 59 +++++++++++++++++- projects/ATV/linux/linux.i386.conf | 71 +++++++++++++++++----- projects/Fusion/linux/linux.i386.conf | 8 +-- projects/Fusion/linux/linux.x86_64.conf | 8 +-- projects/Generic/linux/linux.i386.conf | 11 ++-- projects/Generic_OSS/linux/linux.i386.conf | 11 ++-- projects/ION/linux/linux.i386.conf | 60 +++++++++++++++++- projects/ION/linux/linux.x86_64.conf | 59 +++++++++++++++++- projects/Intel/linux/linux.i386.conf | 60 +++++++++++++++++- projects/Intel/linux/linux.x86_64.conf | 59 +++++++++++++++++- projects/Ultra/linux/linux.x86_64.conf | 59 +++++++++++++++++- projects/Virtual/linux/linux.i386.conf | 60 +++++++++++++++++- projects/Virtual/linux/linux.x86_64.conf | 59 +++++++++++++++++- 13 files changed, 534 insertions(+), 50 deletions(-) diff --git a/projects/ARCTIC_MC/linux/linux.x86_64.conf b/projects/ARCTIC_MC/linux/linux.x86_64.conf index 66229f86a3..9874cb61d1 100644 --- a/projects/ARCTIC_MC/linux/linux.x86_64.conf +++ b/projects/ARCTIC_MC/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.7.5 Kernel Configuration +# Linux/x86_64 3.7.6 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -883,6 +883,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1641,6 +1642,8 @@ CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1672,7 +1675,59 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index abc2a3d5cc..a387d5154a 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.3 Kernel Configuration +# Linux/i386 3.7.6 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -508,7 +508,6 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y # CONFIG_X86_ACPI_CPUFREQ is not set # CONFIG_X86_POWERNOW_K6 is not set # CONFIG_X86_POWERNOW_K7 is not set -# CONFIG_X86_POWERNOW_K8 is not set # CONFIG_X86_GX_SUSPMOD is not set # CONFIG_X86_SPEEDSTEP_CENTRINO is not set CONFIG_X86_SPEEDSTEP_ICH=y @@ -927,6 +926,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1310,15 +1310,6 @@ CONFIG_CARL9170_LEDS=y CONFIG_CARL9170_WPC=y # CONFIG_ATH6KL is not set # CONFIG_B43 is not set -# CONFIG_B43_SSB is not set -# CONFIG_B43_PCI_AUTOSELECT is not set -# CONFIG_B43_PCICORE_AUTOSELECT is not set -# CONFIG_B43_PIO is not set -# CONFIG_B43_PHY_N is not set -# CONFIG_B43_PHY_LP is not set -# CONFIG_B43_PHY_HT is not set -# CONFIG_B43_LEDS is not set -# CONFIG_B43_DEBUG is not set # CONFIG_B43LEGACY is not set # CONFIG_BRCMFMAC is not set # CONFIG_HOSTAP is not set @@ -1629,7 +1620,60 @@ CONFIG_POWER_SUPPLY=y # CONFIG_HWMON is not set CONFIG_THERMAL=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_SBC7240_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # @@ -1637,10 +1681,9 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_SSB=y CONFIG_SSB_SPROM=y -CONFIG_SSB_BLOCKIO=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y -CONFIG_SSB_B43_PCI_BRIDGE=y +# CONFIG_SSB_B43_PCI_BRIDGE is not set # CONFIG_SSB_SILENT is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index 68e2578810..ff376aa409 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.5 Kernel Configuration +# Linux/i386 3.7.6 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1811,18 +1811,18 @@ CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_NOWAYOUT=y # # Watchdog Device Drivers # -# CONFIG_SOFT_WATCHDOG is not set +CONFIG_SOFT_WATCHDOG=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM7101_WDT is not set # CONFIG_F71808E_WDT is not set -CONFIG_SP5100_TCO=m +# CONFIG_SP5100_TCO is not set # CONFIG_SC520_WDT is not set # CONFIG_SBC_FITPC2_WATCHDOG is not set # CONFIG_EUROTECH_WDT is not set diff --git a/projects/Fusion/linux/linux.x86_64.conf b/projects/Fusion/linux/linux.x86_64.conf index 301d786f9e..2bae30e5f4 100644 --- a/projects/Fusion/linux/linux.x86_64.conf +++ b/projects/Fusion/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.7.5 Kernel Configuration +# Linux/x86_64 3.7.6 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -1765,18 +1765,18 @@ CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_NOWAYOUT=y # # Watchdog Device Drivers # -# CONFIG_SOFT_WATCHDOG is not set +CONFIG_SOFT_WATCHDOG=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM7101_WDT is not set # CONFIG_F71808E_WDT is not set -CONFIG_SP5100_TCO=m +# CONFIG_SP5100_TCO is not set # CONFIG_SC520_WDT is not set # CONFIG_SBC_FITPC2_WATCHDOG is not set # CONFIG_EUROTECH_WDT is not set diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index 6d69ca937a..75a4dd5a4c 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.3 Kernel Configuration +# Linux/i386 3.7.6 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1895,18 +1895,18 @@ CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_NOWAYOUT=y # # Watchdog Device Drivers # -# CONFIG_SOFT_WATCHDOG is not set +CONFIG_SOFT_WATCHDOG=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM7101_WDT is not set # CONFIG_F71808E_WDT is not set -CONFIG_SP5100_TCO=m +# CONFIG_SP5100_TCO is not set # CONFIG_SC520_WDT is not set # CONFIG_SBC_FITPC2_WATCHDOG is not set # CONFIG_EUROTECH_WDT is not set @@ -1918,8 +1918,7 @@ CONFIG_SP5100_TCO=m # CONFIG_ITCO_WDT is not set # CONFIG_IT8712F_WDT is not set # CONFIG_IT87_WDT is not set -CONFIG_HP_WATCHDOG=m -CONFIG_HPWDT_NMI_DECODING=y +# CONFIG_HP_WATCHDOG is not set # CONFIG_SC1200_WDT is not set # CONFIG_PC87413_WDT is not set # CONFIG_NV_TCO is not set diff --git a/projects/Generic_OSS/linux/linux.i386.conf b/projects/Generic_OSS/linux/linux.i386.conf index aff1b26e5b..26d7633674 100644 --- a/projects/Generic_OSS/linux/linux.i386.conf +++ b/projects/Generic_OSS/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.3 Kernel Configuration +# Linux/i386 3.7.6 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1893,18 +1893,18 @@ CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_NOWAYOUT=y # # Watchdog Device Drivers # -# CONFIG_SOFT_WATCHDOG is not set +CONFIG_SOFT_WATCHDOG=y # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM7101_WDT is not set # CONFIG_F71808E_WDT is not set -CONFIG_SP5100_TCO=m +# CONFIG_SP5100_TCO is not set # CONFIG_SC520_WDT is not set # CONFIG_SBC_FITPC2_WATCHDOG is not set # CONFIG_EUROTECH_WDT is not set @@ -1916,8 +1916,7 @@ CONFIG_SP5100_TCO=m # CONFIG_ITCO_WDT is not set # CONFIG_IT8712F_WDT is not set # CONFIG_IT87_WDT is not set -CONFIG_HP_WATCHDOG=m -CONFIG_HPWDT_NMI_DECODING=y +# CONFIG_HP_WATCHDOG is not set # CONFIG_SC1200_WDT is not set # CONFIG_PC87413_WDT is not set # CONFIG_NV_TCO is not set diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index 4d342f7204..167387f8b1 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.3 Kernel Configuration +# Linux/i386 3.7.6 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -938,6 +938,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1783,6 +1784,8 @@ CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1814,7 +1817,60 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_SBC7240_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index eb5210db53..1e082abdb0 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.7.3 Kernel Configuration +# Linux/x86_64 3.7.6 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -887,6 +887,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1720,6 +1721,8 @@ CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1751,7 +1754,59 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf index 004377e15b..2154a68c67 100644 --- a/projects/Intel/linux/linux.i386.conf +++ b/projects/Intel/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.3 Kernel Configuration +# Linux/i386 3.7.6 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -940,6 +940,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1800,6 +1801,8 @@ CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1831,7 +1834,60 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_SBC7240_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf index 190ce1ced0..181db8c402 100644 --- a/projects/Intel/linux/linux.x86_64.conf +++ b/projects/Intel/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.7.3 Kernel Configuration +# Linux/x86_64 3.7.6 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -890,6 +890,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1738,6 +1739,8 @@ CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1769,7 +1772,59 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # diff --git a/projects/Ultra/linux/linux.x86_64.conf b/projects/Ultra/linux/linux.x86_64.conf index 7de2ef00f3..54096f440a 100644 --- a/projects/Ultra/linux/linux.x86_64.conf +++ b/projects/Ultra/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.7.3 Kernel Configuration +# Linux/x86_64 3.7.6 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -882,6 +882,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1643,6 +1644,8 @@ CONFIG_SENSORS_CORETEMP=y # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1674,7 +1677,59 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # diff --git a/projects/Virtual/linux/linux.i386.conf b/projects/Virtual/linux/linux.i386.conf index 0be1af7db7..3ccacfae4f 100644 --- a/projects/Virtual/linux/linux.i386.conf +++ b/projects/Virtual/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.7.3 Kernel Configuration +# Linux/i386 3.7.6 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -938,6 +938,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1802,6 +1803,8 @@ CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1833,7 +1836,60 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_SBC7240_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # diff --git a/projects/Virtual/linux/linux.x86_64.conf b/projects/Virtual/linux/linux.x86_64.conf index ff0b54a0ca..7723fb6ec2 100644 --- a/projects/Virtual/linux/linux.x86_64.conf +++ b/projects/Virtual/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.7.3 Kernel Configuration +# Linux/x86_64 3.7.6 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -887,6 +887,7 @@ CONFIG_EEPROM_93CX6=m # Altera FPGA firmware download module # CONFIG_ALTERA_STAPL=m +# CONFIG_INTEL_MEI is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1739,6 +1740,8 @@ CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set # CONFIG_SENSORS_SCH56XX_COMMON is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set # CONFIG_SENSORS_ADS1015 is not set # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_AMC6821 is not set @@ -1770,7 +1773,59 @@ CONFIG_SENSORS_W83627EHF=y CONFIG_THERMAL=y CONFIG_THERMAL_HWMON=y CONFIG_CPU_THERMAL=y -# CONFIG_WATCHDOG is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_NOWAYOUT=y + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=y +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_ITCO_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_60XX_WDT is not set +# CONFIG_SBC8360_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83697HF_WDT is not set +# CONFIG_W83697UG_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set CONFIG_SSB_POSSIBLE=y # From d72ec96fea7a3712faf6b2b5c80c09717013ac96 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 7 Feb 2013 15:53:08 +0100 Subject: [PATCH 20/26] projects/RPi/xbmc: enable xbmc splash Signed-off-by: Stephan Raue --- projects/RPi/xbmc/advancedsettings.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/projects/RPi/xbmc/advancedsettings.xml b/projects/RPi/xbmc/advancedsettings.xml index 80b7e6c1c6..0c6ebd89aa 100644 --- a/projects/RPi/xbmc/advancedsettings.xml +++ b/projects/RPi/xbmc/advancedsettings.xml @@ -1,7 +1,5 @@ - - false cputemp cputemp false From 9eee489036761f9d0560fc719fce129e91d7edd3 Mon Sep 17 00:00:00 2001 From: vpeter4 Date: Thu, 7 Feb 2013 16:14:58 +0100 Subject: [PATCH 21/26] acpica: crosscompile patch fix when building 64bit target on 32bit host --- packages/debug/acpica/build | 5 +++-- .../acpica-unix2-20130117-01-crosscompile.patch | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 packages/debug/acpica/patches/acpica-unix2-20130117-01-crosscompile.patch diff --git a/packages/debug/acpica/build b/packages/debug/acpica/build index ccd0723ccd..532219afe5 100755 --- a/packages/debug/acpica/build +++ b/packages/debug/acpica/build @@ -26,9 +26,10 @@ [ "$TARGET_ARCH" = "x86_64" ] && ACPICA_BITS="64" cd $PKG_BUILD + make PREFIX=/usr \ CC="$TARGET_CC" \ AR="$TARGET_AR" \ BITS=$ACPICA_BITS \ - YACC=$ROOT/$TOOLCHAIN/bin/bison - CWARNINGFLAGS="-O2 $TARGET_CFLAGS" \ + YACC=$ROOT/$TOOLCHAIN/bin/bison \ + CWARNINGFLAGS="-O2 $TARGET_CFLAGS" diff --git a/packages/debug/acpica/patches/acpica-unix2-20130117-01-crosscompile.patch b/packages/debug/acpica/patches/acpica-unix2-20130117-01-crosscompile.patch new file mode 100644 index 0000000000..f91366a39b --- /dev/null +++ b/packages/debug/acpica/patches/acpica-unix2-20130117-01-crosscompile.patch @@ -0,0 +1,12 @@ +diff -uNr acpica-unix2-20130117-orig/generate/unix/Makefile.common acpica-unix2-20130117/generate/unix/Makefile.common +--- acpica-unix2-20130117-orig/generate/unix/Makefile.common 2013-01-17 20:47:44.000000000 +0100 ++++ acpica-unix2-20130117/generate/unix/Makefile.common 2013-02-07 15:13:59.000000000 +0100 +@@ -6,7 +6,7 @@ + # Get the OS machine architecture. Anything with a "64" in the returned + # string will be treated as a 64-bit OS. Otherwise, the default is 32-bit. + # +-HARDWARE_NAME := $(shell uname -m) ++HARDWARE_NAME=$(BITS) + BITS=0 + + # From f70bb0b4b9d597eebae5f745f84474f8f8b0b2e3 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 8 Feb 2013 00:57:18 +0100 Subject: [PATCH 22/26] xbmc: update to xbmc-12.0.1 Signed-off-by: Stephan Raue --- packages/mediacenter/xbmc-theme-Confluence/meta | 2 +- packages/mediacenter/xbmc/meta | 2 +- tools/mkpkg/mkpkg_xbmc-frodo | 15 +++++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/mediacenter/xbmc-theme-Confluence/meta b/packages/mediacenter/xbmc-theme-Confluence/meta index 2c3582cd78..23ff36811a 100644 --- a/packages/mediacenter/xbmc-theme-Confluence/meta +++ b/packages/mediacenter/xbmc-theme-Confluence/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc-theme-Confluence" -PKG_VERSION="12.0" +PKG_VERSION="12.0.1" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/xbmc/meta b/packages/mediacenter/xbmc/meta index fe0b65c3b0..4938f18068 100644 --- a/packages/mediacenter/xbmc/meta +++ b/packages/mediacenter/xbmc/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="12.0" +PKG_VERSION="12.0.1" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/tools/mkpkg/mkpkg_xbmc-frodo b/tools/mkpkg/mkpkg_xbmc-frodo index 9e10af5008..f6a20125aa 100755 --- a/tools/mkpkg/mkpkg_xbmc-frodo +++ b/tools/mkpkg/mkpkg_xbmc-frodo @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="" +PKG_VERSION="12.0.1" GIT_REPO="-b Frodo git://github.com/xbmc/xbmc.git" DEST_DIR="$PKG_NAME-frodo" @@ -32,16 +32,19 @@ echo "getting sources..." cd $DEST_DIR-latest git pull -echo "getting version..." - GIT_REV=`git log -n1 --format=%h` - echo $GIT_REV + echo "getting version..." + GIT_REV=`git log -n1 --format=%h` + echo $GIT_REV cd .. - PKG_VERSION="$GIT_REV" + + if [ -z "$PKG_VERSION" ]; then + PKG_VERSION="$GIT_REV" + fi echo "copying sources..." rm -rf $PKG_NAME-$PKG_VERSION cp -R $DEST_DIR-latest $PKG_NAME-$PKG_VERSION - echo "$GIT_REV" > $PKG_NAME-$PKG_VERSION/git.version + echo "$GIT_REV" > $PKG_NAME-$PKG_VERSION/VERSION echo "cleaning sources..." rm -rf $PKG_NAME-$PKG_VERSION/.git From 09ecf7bec772cf5caa68efc1f1bca67661cd8de2 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 8 Feb 2013 01:06:09 +0100 Subject: [PATCH 23/26] xbmc: add PR1934 and PR2193 upstream patches Signed-off-by: Stephan Raue --- packages/mediacenter/xbmc/build | 1 - ...1-add_support_to_specify_GIT_REV-0.1.patch | 39 -------- .../xbmc/patches/xbmc-990.04-PR1934.patch | 55 ++++++++++++ .../xbmc/patches/xbmc-990.05-PR2193.patch | 88 +++++++++++++++++++ 4 files changed, 143 insertions(+), 40 deletions(-) delete mode 100644 packages/mediacenter/xbmc/patches/xbmc-001-add_support_to_specify_GIT_REV-0.1.patch create mode 100644 packages/mediacenter/xbmc/patches/xbmc-990.04-PR1934.patch create mode 100644 packages/mediacenter/xbmc/patches/xbmc-990.05-PR2193.patch diff --git a/packages/mediacenter/xbmc/build b/packages/mediacenter/xbmc/build index 8771e01746..7f13c7eca9 100755 --- a/packages/mediacenter/xbmc/build +++ b/packages/mediacenter/xbmc/build @@ -265,7 +265,6 @@ cd $PKG_BUILD --exec-prefix=/usr \ --sysconfdir=/etc \ --datadir=/usr/share \ - GIT_REV=`cat git.version` \ --disable-debug \ --disable-optimizations \ $XBMC_OPENGL \ diff --git a/packages/mediacenter/xbmc/patches/xbmc-001-add_support_to_specify_GIT_REV-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-001-add_support_to_specify_GIT_REV-0.1.patch deleted file mode 100644 index c013e0ae3a..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-001-add_support_to_specify_GIT_REV-0.1.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Naur xbmc-9389dc8/configure.in xbmc-9389dc8.patch/configure.in ---- xbmc-9389dc8/configure.in 2011-09-01 17:21:47.000000000 +0200 -+++ xbmc-9389dc8.patch/configure.in 2011-09-01 23:30:40.419399392 +0200 -@@ -428,6 +428,14 @@ - esac - AC_SUBST([ARCH]) - -+AC_CHECK_PROG(HAVE_GIT,git,"yes","no",) -+if test "$HAVE_GIT" = "yes" -a "$GIT_REV" = ""; then -+ GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}') -+elif test "$GIT_REV" = ""; then -+ GIT_REV="Unknown" -+fi -+final_message="$final_message\n git Rev.:\t${GIT_REV}" -+ - # platform debug flags - if test "$use_debug" = "yes"; then - final_message="$final_message\n Debugging:\tYes" -@@ -1177,7 +1185,6 @@ - fi - fi - --AC_CHECK_PROG(HAVE_GIT,git,"yes","no",) - - # Checks for header files. - AC_HEADER_DIRENT -@@ -1408,12 +1415,6 @@ - final_message="$final_message\n Avahi:\tNo" - fi - --if test "$HAVE_GIT" = "yes"; then -- GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}') --fi --if test "$GIT_REV" = ""; then -- GIT_REV="Unknown" --fi - if test "$host_vendor" = "apple"; then - echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h - else diff --git a/packages/mediacenter/xbmc/patches/xbmc-990.04-PR1934.patch b/packages/mediacenter/xbmc/patches/xbmc-990.04-PR1934.patch new file mode 100644 index 0000000000..8079f1049a --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-990.04-PR1934.patch @@ -0,0 +1,55 @@ +From 1704ff69ba704bf53505f7f9ac51ec06f93401ee Mon Sep 17 00:00:00 2001 +From: wsnipex +Date: Sun, 9 Dec 2012 14:37:21 +0100 +Subject: [PATCH 1/2] configure: allow GIT_REV to be read from VERSION file + needed for building outside of a git repo + +--- + configure.in | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index d8c7804..ac1445c 100644 +--- a/configure.in ++++ b/configure.in +@@ -2160,7 +2160,12 @@ if test "$HAVE_GIT" = "yes"; then + GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}') + fi + if test "$GIT_REV" = ""; then +- GIT_REV="Unknown" ++ if test -f VERSION ; then ++ GIT_REV=$(awk 'END{print substr($1,1,16)}' VERSION) ++ if test -z $GIT_REV ; then GIT_REV="Unknown" ; fi ++ else ++ GIT_REV="Unknown" ++ fi + fi + if test "$host_vendor" = "apple"; then + echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h +-- +1.7.10 + + +From 4377a985c7e4e4d1f1c0abba68c2367d33ddab03 Mon Sep 17 00:00:00 2001 +From: wsnipex +Date: Sun, 16 Dec 2012 17:46:12 +0100 +Subject: [PATCH 2/2] release-source script needs bash on some systems /bin/sh + is a simplistic posix shell + +--- + tools/mk-release-source | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/mk-release-source b/tools/mk-release-source +index 7964665..68bdfa1 100755 +--- a/tools/mk-release-source ++++ b/tools/mk-release-source +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + REVISION="${1}" + COMPRESS="gzip" + WORKDIR="xbmc-${REVISION}" +-- +1.7.10 + diff --git a/packages/mediacenter/xbmc/patches/xbmc-990.05-PR2193.patch b/packages/mediacenter/xbmc/patches/xbmc-990.05-PR2193.patch new file mode 100644 index 0000000000..ab619e9a67 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-990.05-PR2193.patch @@ -0,0 +1,88 @@ +From 1e3abea7b9a4212005b11dbb5a9542ca9cbcd21a Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Thu, 7 Feb 2013 18:27:08 +0100 +Subject: [PATCH] configure.in: change check for 'VERSION' file: - first check + if this file exist and use the content from there - if it + not exist check with 'git log' - if this fails set to + 'Unknown' + +This patch also shows the GIT_REV in the configure summary message. To display This message on top of the messages we move the whole block a bit above +--- + configure.in | 40 ++++++++++++++++++++-------------------- + 1 file changed, 20 insertions(+), 20 deletions(-) + +diff --git a/configure.in b/configure.in +index ac1445c..869fd29 100644 +--- a/configure.in ++++ b/configure.in +@@ -687,6 +687,25 @@ case $use_platform in + ;; + esac + ++# check for GIT_REV ++AC_CHECK_PROG(HAVE_GIT,git,"yes","no",) ++if test "$GIT_REV" = ""; then ++ if test -f VERSION ; then ++ GIT_REV=$(awk 'END{print substr($1,1,16)}' VERSION) ++ elif test "$HAVE_GIT" = "yes"; then ++ GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}') ++ else ++ GIT_REV="Unknown" ++ fi ++fi ++final_message="$final_message\n git Rev.:\t${GIT_REV}" ++ ++if test "$host_vendor" = "apple"; then ++ echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h ++else ++ SDL_DEFINES="$SDL_DEFINES -D'GIT_REV=\"$GIT_REV\"'" ++fi ++ + if test "$build_shared_lib" = "yes"; then + final_message="$final_message\n Shared lib\tYes" + AC_SUBST(USE_LIBXBMC,1) +@@ -1886,8 +1905,6 @@ if test "$ARCH" = "i486-linux" || test "$ARCH" = "x86-freebsd"; then + fi + fi + +-AC_CHECK_PROG(HAVE_GIT,git,"yes","no",) +- + # Checks for header files. + AC_HEADER_DIRENT + AC_HEADER_STDC +@@ -1943,7 +1960,7 @@ else + USE_OPENGL=1 + else + final_message="$final_message\n OpenGL:\tNo (Very Slow)" +- SDL_DEFINES="-DHAS_SDL_2D" ++ SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_2D" + USE_OPENGL=0 + fi + fi +@@ -2156,23 +2173,6 @@ else + final_message="$final_message\n Avahi:\tNo" + fi + +-if test "$HAVE_GIT" = "yes"; then +- GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}') +-fi +-if test "$GIT_REV" = ""; then +- if test -f VERSION ; then +- GIT_REV=$(awk 'END{print substr($1,1,16)}' VERSION) +- if test -z $GIT_REV ; then GIT_REV="Unknown" ; fi +- else +- GIT_REV="Unknown" +- fi +-fi +-if test "$host_vendor" = "apple"; then +- echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h +-else +- SDL_DEFINES="$SDL_DEFINES -D'GIT_REV=\"$GIT_REV\"'" +-fi +- + if test "$use_nonfree" = "yes"; then + final_message="$final_message\n Non-free:\tYes" + HAVE_XBMC_NONFREE=1 +-- +1.7.10 + From cf3f73fc657ed00663e49f04e8eb1d8b395fa1ad Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 8 Feb 2013 01:09:34 +0100 Subject: [PATCH 24/26] dmidecode: fix install script Signed-off-by: Stephan Raue --- packages/debug/dmidecode/install | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/debug/dmidecode/install b/packages/debug/dmidecode/install index 7302a5b8c2..49ca3fe566 100755 --- a/packages/debug/dmidecode/install +++ b/packages/debug/dmidecode/install @@ -23,4 +23,7 @@ . config/options $1 mkdir -p $INSTALL/usr/bin/ - cp $PKG_BUILD/{biosdecode,dmidecode,ownership,vpddecode} $INSTALL/usr/bin/ + cp $PKG_BUILD/biosdecode $INSTALL/usr/bin/ + cp $PKG_BUILD/dmidecode $INSTALL/usr/bin/ + cp $PKG_BUILD/ownership $INSTALL/usr/bin/ + cp $PKG_BUILD/vpddecode $INSTALL/usr/bin/ From 27d4ab02144ac3b741866d87babe7e9fb2c442cf Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 8 Feb 2013 01:11:27 +0100 Subject: [PATCH 25/26] i2c-tools: fix install script, this fixes #1866, this fixes #1869 Signed-off-by: Stephan Raue --- packages/debug/i2c-tools/install | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/debug/i2c-tools/install b/packages/debug/i2c-tools/install index e8235dd6bc..724e139a02 100755 --- a/packages/debug/i2c-tools/install +++ b/packages/debug/i2c-tools/install @@ -23,5 +23,8 @@ . config/options $1 mkdir -p $INSTALL/usr/bin/ - cp $PKG_BUILD/tools/{i2cdetect,i2cdump,i2cget,i2cset} $INSTALL/usr/bin/ + cp $PKG_BUILD/tools/i2cdetect $INSTALL/usr/bin/ + cp $PKG_BUILD/tools/i2cdump $INSTALL/usr/bin/ + cp $PKG_BUILD/tools/i2cget $INSTALL/usr/bin/ + cp $PKG_BUILD/tools/i2cset $INSTALL/usr/bin/ cp $PKG_BUILD/stub/i2c-stub-from-dump $INSTALL/usr/bin/ From 7f2c5787dbfb7024c5031c10434b57c55b0953ba Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 8 Feb 2013 01:37:26 +0100 Subject: [PATCH 26/26] xbmc: add PR2152 upstream patch Signed-off-by: Stephan Raue --- .../xbmc-464-fix-no-devices-found.patch | 276 ------- .../xbmc/patches/xbmc-990.06-PR2152.patch | 766 ++++++++++++++++++ 2 files changed, 766 insertions(+), 276 deletions(-) delete mode 100644 packages/mediacenter/xbmc/patches/xbmc-464-fix-no-devices-found.patch create mode 100644 packages/mediacenter/xbmc/patches/xbmc-990.06-PR2152.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-464-fix-no-devices-found.patch b/packages/mediacenter/xbmc/patches/xbmc-464-fix-no-devices-found.patch deleted file mode 100644 index 2a3d2ca95f..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-464-fix-no-devices-found.patch +++ /dev/null @@ -1,276 +0,0 @@ -From ac29de2eff8fe144fdbe0330dc38036cf546a372 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Thu, 31 Jan 2013 21:27:56 +0100 -Subject: [PATCH 1/2] AE: make forced enumeration possible - this can be used - to delay startup when now devices are present - ---- - xbmc/cores/AudioEngine/AESinkFactory.cpp | 10 +++++----- - xbmc/cores/AudioEngine/AESinkFactory.h | 2 +- - xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 11 +++++++++++ - xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 4 ++-- - xbmc/cores/AudioEngine/Sinks/AESinkALSA.h | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkOSS.h | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 2 +- - xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h | 4 ++-- - 13 files changed, 29 insertions(+), 18 deletions(-) - -diff --git a/xbmc/cores/AudioEngine/AESinkFactory.cpp b/xbmc/cores/AudioEngine/AESinkFactory.cpp -index b066ecd..9917f11 100644 ---- a/xbmc/cores/AudioEngine/AESinkFactory.cpp -+++ b/xbmc/cores/AudioEngine/AESinkFactory.cpp -@@ -129,15 +129,15 @@ IAESink *CAESinkFactory::Create(std::string &device, AEAudioFormat &desiredForma - return NULL; - } - --#define ENUMERATE_SINK(SINK) { \ -+#define ENUMERATE_SINK(SINK, force) { \ - AESinkInfo info; \ - info.m_sinkName = #SINK; \ -- CAESink ##SINK::EnumerateDevicesEx(info.m_deviceInfoList); \ -+ CAESink ##SINK::EnumerateDevicesEx(info.m_deviceInfoList, force); \ - if(!info.m_deviceInfoList.empty()) \ - list.push_back(info); \ - } - --void CAESinkFactory::EnumerateEx(AESinkInfoList &list) -+void CAESinkFactory::EnumerateEx(AESinkInfoList &list, bool force) - { - #if defined(TARGET_WINDOWS) - ENUMERATE_SINK(DirectSound); -@@ -147,10 +147,10 @@ void CAESinkFactory::EnumerateEx(AESinkInfoList &list) - ENUMERATE_SINK(AUDIOTRACK); - #elif defined(TARGET_LINUX) || defined(TARGET_FREEBSD) - #if defined(HAS_ALSA) -- ENUMERATE_SINK(ALSA); -+ ENUMERATE_SINK(ALSA, force); - #endif - -- ENUMERATE_SINK(OSS); -+ ENUMERATE_SINK(OSS, force); - #endif - - } -diff --git a/xbmc/cores/AudioEngine/AESinkFactory.h b/xbmc/cores/AudioEngine/AESinkFactory.h -index 99c53f9..6f8a4e5 100644 ---- a/xbmc/cores/AudioEngine/AESinkFactory.h -+++ b/xbmc/cores/AudioEngine/AESinkFactory.h -@@ -40,6 +40,6 @@ class CAESinkFactory - public: - static void ParseDevice(std::string &device, std::string &driver); - static IAESink *Create(std::string &device, AEAudioFormat &desiredFormat, bool rawPassthrough); -- static void EnumerateEx(AESinkInfoList &list); -+ static void EnumerateEx(AESinkInfoList &list, bool force = false); - }; - -diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp -index 410e20c..8a19ac4 100644 ---- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp -+++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp -@@ -39,6 +39,7 @@ - #include "Interfaces/AESink.h" - #include "Utils/AEUtil.h" - #include "Encoders/AEEncoderFFmpeg.h" -+#include - - using namespace std; - -@@ -74,7 +75,17 @@ - m_outputStageFn (NULL ), - m_streamStageFn (NULL ) - { -+ unsigned int c_retry = 5; - CAESinkFactory::EnumerateEx(m_sinkInfoList); -+ while(m_sinkInfoList.size() == 0 && c_retry > 0) -+ { -+ CLog::Log(LOGNOTICE, "No Devices found - retry: %d", c_retry); -+ usleep(2000000); -+ c_retry--; -+ // retry the enumeration -+ CAESinkFactory::EnumerateEx(m_sinkInfoList, true); -+ } -+ CLog::Log(LOGNOTICE, "Found %lu Lists of Devices", m_sinkInfoList.size()); - for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt) - { - CLog::Log(LOGNOTICE, "Enumerated %s devices:", itt->m_sinkName.c_str()); -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp -index 91218a4..b0d6bb1 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp -@@ -676,11 +676,11 @@ bool CAESinkALSA::OpenPCMDevice(const std::string &name, const std::string ¶ - return false; - } - --void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list) -+void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) - { - /* ensure that ALSA has been initialized */ - snd_lib_error_set_handler(sndLibErrorHandler); -- if(!snd_config) -+ if(!snd_config || force) - snd_config_update(); - - snd_config_t *config; -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h -index db1ba80..c1b1c76 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h -@@ -50,7 +50,7 @@ class CAESinkALSA : public IAESink - virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); - virtual void Drain (); - -- static void EnumerateDevicesEx(AEDeviceInfoList &list); -+ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); - private: - CAEChannelInfo GetChannelLayout(AEAudioFormat format); - void GetAESParams(const AEAudioFormat format, std::string& params); -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp -index e8a7876..8f23b41 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp -@@ -236,7 +236,7 @@ void CAESinkAUDIOTRACK::SetVolume(float volume) - m_volume_changed = true; - } - --void CAESinkAUDIOTRACK::EnumerateDevicesEx(AEDeviceInfoList &list) -+void CAESinkAUDIOTRACK::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) - { - m_info.m_channels.Reset(); - m_info.m_dataFormats.clear(); -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h -index 46b3551..bbb7856 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h -@@ -43,7 +43,7 @@ class CAESinkAUDIOTRACK : public CThread, public IAESink - virtual void Drain (); - virtual bool HasVolume (); - virtual void SetVolume (float volume); -- static void EnumerateDevicesEx(AEDeviceInfoList &list); -+ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); - - private: - virtual void Process(); -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp -index 4d3d41e..c9680e7 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp -@@ -464,7 +464,7 @@ double CAESinkDirectSound::GetCacheTotal() - return (double)m_dwBufferLen / (double)m_AvgBytesPerSec; - } - --void CAESinkDirectSound::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList) -+void CAESinkDirectSound::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList, bool force) - { - CAEDeviceInfo deviceInfo; - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h -index 9f54090..2e6209b 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h -@@ -43,7 +43,7 @@ class CAESinkDirectSound : public IAESink - virtual double GetCacheTime (); - virtual double GetCacheTotal (); - virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); -- static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList); -+ static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList, bool force = false); - private: - void AEChannelsFromSpeakerMask(DWORD speakers); - DWORD SpeakerMaskFromAEChannels(const CAEChannelInfo &channels); -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -index 06b9a7f..970e236 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp -@@ -427,7 +427,7 @@ void CAESinkOSS::Drain() - // ??? - } - --void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list) -+void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) - { - int mixerfd; - const char * mixerdev = "/dev/mixer"; -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h -index aa8a9f8..7e2db8b 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h -@@ -43,7 +43,7 @@ class CAESinkOSS : public IAESink - virtual double GetCacheTotal () { return 0.0; } /* FIXME */ - virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); - virtual void Drain (); -- static void EnumerateDevicesEx(AEDeviceInfoList &list); -+ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); - private: - int m_fd; - std::string m_device; -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -index 8475d60..f238d75 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp -@@ -559,7 +559,7 @@ bool CAESinkWASAPI::SoftResume() - return false; - } - --void CAESinkWASAPI::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList) -+void CAESinkWASAPI::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList, bool force) - { - IMMDeviceEnumerator* pEnumerator = NULL; - IMMDeviceCollection* pEnumDevices = NULL; -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -index a0c567a..7111ea9 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h -@@ -45,7 +45,7 @@ class CAESinkWASAPI : public IAESink - virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); - virtual bool SoftSuspend (); - virtual bool SoftResume (); -- static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList); -+ static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList, bool force = false); - private: - bool InitializeExclusive(AEAudioFormat &format); - void AEChannelsFromSpeakerMask(DWORD speakers); -@@ -78,4 +78,4 @@ class CAESinkWASAPI : public IAESink - unsigned int m_uiBufferLen; /* wasapi endpoint buffer size, in frames */ - double m_avgTimeWaiting; /* time between next buffer of data from SoftAE and driver call for data */ - double m_sinkLatency; /* time in seconds of total duration of the two WASAPI buffers */ --}; -\ No newline at end of file -+}; --- -1.7.10 - - -From b236f0a78079f522f8f9743098820e6301e27625 Mon Sep 17 00:00:00 2001 -From: fritsch -Date: Fri, 1 Feb 2013 13:05:24 +0100 -Subject: [PATCH 2/2] AE: recreate alsa source tree to find new devices - ---- - xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp -index b0d6bb1..61848a1 100644 ---- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp -+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp -@@ -681,7 +681,13 @@ void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) - /* ensure that ALSA has been initialized */ - snd_lib_error_set_handler(sndLibErrorHandler); - if(!snd_config || force) -+ { -+ if(force) -+ snd_config_update_free_global(); -+ - snd_config_update(); -+ } -+ - - snd_config_t *config; - snd_config_copy(&config, snd_config); --- -1.7.10 - diff --git a/packages/mediacenter/xbmc/patches/xbmc-990.06-PR2152.patch b/packages/mediacenter/xbmc/patches/xbmc-990.06-PR2152.patch new file mode 100644 index 0000000000..f9d3f01434 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-990.06-PR2152.patch @@ -0,0 +1,766 @@ +From 76c77d69ad5c08ee3dd0713201d263f50d6593ca Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Fri, 1 Feb 2013 15:33:19 +0100 +Subject: [PATCH 1/5] AE: introduce force flag into interface + +--- + xbmc/cores/AudioEngine/AESinkFactory.cpp | 10 +++++----- + xbmc/cores/AudioEngine/AESinkFactory.h | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkALSA.h | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkOSS.h | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp | 2 +- + xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h | 4 ++-- + 12 files changed, 17 insertions(+), 17 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/AESinkFactory.cpp b/xbmc/cores/AudioEngine/AESinkFactory.cpp +index b066ecd..9917f11 100644 +--- a/xbmc/cores/AudioEngine/AESinkFactory.cpp ++++ b/xbmc/cores/AudioEngine/AESinkFactory.cpp +@@ -129,15 +129,15 @@ IAESink *CAESinkFactory::Create(std::string &device, AEAudioFormat &desiredForma + return NULL; + } + +-#define ENUMERATE_SINK(SINK) { \ ++#define ENUMERATE_SINK(SINK, force) { \ + AESinkInfo info; \ + info.m_sinkName = #SINK; \ +- CAESink ##SINK::EnumerateDevicesEx(info.m_deviceInfoList); \ ++ CAESink ##SINK::EnumerateDevicesEx(info.m_deviceInfoList, force); \ + if(!info.m_deviceInfoList.empty()) \ + list.push_back(info); \ + } + +-void CAESinkFactory::EnumerateEx(AESinkInfoList &list) ++void CAESinkFactory::EnumerateEx(AESinkInfoList &list, bool force) + { + #if defined(TARGET_WINDOWS) + ENUMERATE_SINK(DirectSound); +@@ -147,10 +147,10 @@ void CAESinkFactory::EnumerateEx(AESinkInfoList &list) + ENUMERATE_SINK(AUDIOTRACK); + #elif defined(TARGET_LINUX) || defined(TARGET_FREEBSD) + #if defined(HAS_ALSA) +- ENUMERATE_SINK(ALSA); ++ ENUMERATE_SINK(ALSA, force); + #endif + +- ENUMERATE_SINK(OSS); ++ ENUMERATE_SINK(OSS, force); + #endif + + } +diff --git a/xbmc/cores/AudioEngine/AESinkFactory.h b/xbmc/cores/AudioEngine/AESinkFactory.h +index 99c53f9..185f562 100644 +--- a/xbmc/cores/AudioEngine/AESinkFactory.h ++++ b/xbmc/cores/AudioEngine/AESinkFactory.h +@@ -40,6 +40,6 @@ class CAESinkFactory + public: + static void ParseDevice(std::string &device, std::string &driver); + static IAESink *Create(std::string &device, AEAudioFormat &desiredFormat, bool rawPassthrough); +- static void EnumerateEx(AESinkInfoList &list); ++ static void EnumerateEx(AESinkInfoList &list, bool force = false); /* The force flag can be used to indicate the rescan devices */ + }; + +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +index 91218a4..df4098e 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +@@ -676,7 +676,7 @@ bool CAESinkALSA::OpenPCMDevice(const std::string &name, const std::string ¶ + return false; + } + +-void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list) ++void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) + { + /* ensure that ALSA has been initialized */ + snd_lib_error_set_handler(sndLibErrorHandler); +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h +index db1ba80..c1b1c76 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h +@@ -50,7 +50,7 @@ class CAESinkALSA : public IAESink + virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); + virtual void Drain (); + +- static void EnumerateDevicesEx(AEDeviceInfoList &list); ++ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); + private: + CAEChannelInfo GetChannelLayout(AEAudioFormat format); + void GetAESParams(const AEAudioFormat format, std::string& params); +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp +index e8a7876..8f23b41 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp +@@ -236,7 +236,7 @@ void CAESinkAUDIOTRACK::SetVolume(float scale) + m_volume_changed = true; + } + +-void CAESinkAUDIOTRACK::EnumerateDevicesEx(AEDeviceInfoList &list) ++void CAESinkAUDIOTRACK::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) + { + m_info.m_channels.Reset(); + m_info.m_dataFormats.clear(); +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h +index 46b3551..bbb7856 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.h +@@ -43,7 +43,7 @@ class CAESinkAUDIOTRACK : public CThread, public IAESink + virtual void Drain (); + virtual bool HasVolume (); + virtual void SetVolume (float volume); +- static void EnumerateDevicesEx(AEDeviceInfoList &list); ++ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); + + private: + virtual void Process(); +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp +index 4d3d41e..c9680e7 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.cpp +@@ -464,7 +464,7 @@ double CAESinkDirectSound::GetCacheTotal() + return (double)m_dwBufferLen / (double)m_AvgBytesPerSec; + } + +-void CAESinkDirectSound::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList) ++void CAESinkDirectSound::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList, bool force) + { + CAEDeviceInfo deviceInfo; + +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h +index 9f54090..2e6209b 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkDirectSound.h +@@ -43,7 +43,7 @@ class CAESinkDirectSound : public IAESink + virtual double GetCacheTime (); + virtual double GetCacheTotal (); + virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); +- static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList); ++ static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList, bool force = false); + private: + void AEChannelsFromSpeakerMask(DWORD speakers); + DWORD SpeakerMaskFromAEChannels(const CAEChannelInfo &channels); +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp +index 06b9a7f..970e236 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp +@@ -427,7 +427,7 @@ void CAESinkOSS::Drain() + // ??? + } + +-void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list) ++void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) + { + int mixerfd; + const char * mixerdev = "/dev/mixer"; +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h +index aa8a9f8..7e2db8b 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkOSS.h +@@ -43,7 +43,7 @@ class CAESinkOSS : public IAESink + virtual double GetCacheTotal () { return 0.0; } /* FIXME */ + virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); + virtual void Drain (); +- static void EnumerateDevicesEx(AEDeviceInfoList &list); ++ static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); + private: + int m_fd; + std::string m_device; +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp +index 8475d60..f238d75 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.cpp +@@ -559,7 +559,7 @@ bool CAESinkWASAPI::SoftResume() + return false; + } + +-void CAESinkWASAPI::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList) ++void CAESinkWASAPI::EnumerateDevicesEx(AEDeviceInfoList &deviceInfoList, bool force) + { + IMMDeviceEnumerator* pEnumerator = NULL; + IMMDeviceCollection* pEnumDevices = NULL; +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h +index a0c567a..7111ea9 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkWASAPI.h +@@ -45,7 +45,7 @@ class CAESinkWASAPI : public IAESink + virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); + virtual bool SoftSuspend (); + virtual bool SoftResume (); +- static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList); ++ static void EnumerateDevicesEx (AEDeviceInfoList &deviceInfoList, bool force = false); + private: + bool InitializeExclusive(AEAudioFormat &format); + void AEChannelsFromSpeakerMask(DWORD speakers); +@@ -78,4 +78,4 @@ class CAESinkWASAPI : public IAESink + unsigned int m_uiBufferLen; /* wasapi endpoint buffer size, in frames */ + double m_avgTimeWaiting; /* time between next buffer of data from SoftAE and driver call for data */ + double m_sinkLatency; /* time in seconds of total duration of the two WASAPI buffers */ +-}; +\ No newline at end of file ++}; +-- +1.7.10 + + +From 6064764b619a51d5d234d9c83023af6820277dce Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Fri, 1 Feb 2013 15:25:35 +0100 +Subject: [PATCH 2/5] AE: (Alsa) Wait for at least one audio output device + when starting up for max 10 seconds + +--- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 10 ++++++++++ + xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 7 ++++++- + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +index 410e20c..30da558 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +@@ -74,7 +74,17 @@ + m_outputStageFn (NULL ), + m_streamStageFn (NULL ) + { ++ unsigned int c_retry = 5; + CAESinkFactory::EnumerateEx(m_sinkInfoList); ++ while(m_sinkInfoList.size() == 0 && c_retry > 0) ++ { ++ CLog::Log(LOGNOTICE, "No Devices found - retry: %d", c_retry); ++ Sleep(2000); ++ c_retry--; ++ // retry the enumeration ++ CAESinkFactory::EnumerateEx(m_sinkInfoList, true); ++ } ++ CLog::Log(LOGNOTICE, "Found %lu Lists of Devices", m_sinkInfoList.size()); + for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt) + { + CLog::Log(LOGNOTICE, "Enumerated %s devices:", itt->m_sinkName.c_str()); +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +index df4098e..bc91096 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +@@ -680,8 +680,13 @@ void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) + { + /* ensure that ALSA has been initialized */ + snd_lib_error_set_handler(sndLibErrorHandler); +- if(!snd_config) ++ if(!snd_config || force) ++ { ++ if(force) ++ snd_config_update_free_global(); ++ + snd_config_update(); ++ } + + snd_config_t *config; + snd_config_copy(&config, snd_config); +-- +1.7.10 + + +From 066769f4dd4128232bbcbeb645376ffa8886d263 Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Sat, 2 Feb 2013 11:46:22 +0100 +Subject: [PATCH 3/5] AE: Fix suspend / resume with alsa - (Warning: Race + condition AddPackets still to fix) + +--- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 138 +++++++++++++++++----- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h | 5 + + xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 1 - + 3 files changed, 111 insertions(+), 33 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +index 30da558..36c4d57 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +@@ -59,6 +59,8 @@ + m_audiophile (true ), + m_running (false ), + m_reOpen (false ), ++ m_closeSink (false ), ++ m_realSuspend (false ), + m_isSuspended (false ), + m_softSuspend (false ), + m_softSuspendTimer (0 ), +@@ -85,20 +87,7 @@ + CAESinkFactory::EnumerateEx(m_sinkInfoList, true); + } + CLog::Log(LOGNOTICE, "Found %lu Lists of Devices", m_sinkInfoList.size()); +- for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt) +- { +- CLog::Log(LOGNOTICE, "Enumerated %s devices:", itt->m_sinkName.c_str()); +- int count = 0; +- for (AEDeviceInfoList::iterator itt2 = itt->m_deviceInfoList.begin(); itt2 != itt->m_deviceInfoList.end(); ++itt2) +- { +- CLog::Log(LOGNOTICE, " Device %d", ++count); +- CAEDeviceInfo& info = *itt2; +- std::stringstream ss((std::string)info); +- std::string line; +- while(std::getline(ss, line, '\n')) +- CLog::Log(LOGNOTICE, " %s", line.c_str()); +- } +- } ++ PrintSinks(); + } + + CSoftAE::~CSoftAE() +@@ -189,6 +178,20 @@ void CSoftAE::OpenSink() + m_wake.Set(); + } + ++void CSoftAE::InternalCloseSink() ++{ ++ /* close the old sink if it was open */ ++ if (m_sink) ++ { ++ CExclusiveLock sinkLock(m_sinkLock); ++ m_sink->Drain(); ++ m_sink->Deinitialize(); ++ delete m_sink; ++ m_sink = NULL; ++ } ++ m_closeSink = false; ++ m_closeEvent.Set(); ++} + /* this must NEVER be called from outside the main thread or Initialization */ + void CSoftAE::InternalOpenSink() + { +@@ -315,15 +318,8 @@ void CSoftAE::InternalOpenSink() + CExclusiveLock sinkLock(m_sinkLock); + + reInit = true; +- +- /* we are going to open, so close the old sink if it was open */ +- if (m_sink) +- { +- m_sink->Drain(); +- m_sink->Deinitialize(); +- delete m_sink; +- m_sink = NULL; +- } ++ //close the sink cause it gets reinited ++ InternalCloseSink(); + + /* get the display name of the device */ + GetDeviceFriendlyName(device); +@@ -877,10 +873,19 @@ IAEStream *CSoftAE::FreeStream(IAEStream *stream) + RemoveStream(m_playingStreams, (CSoftAEStream*)stream); + RemoveStream(m_streams , (CSoftAEStream*)stream); + lock.Leave(); +- +- /* if it was the master stream we need to reopen before deletion */ +- if (m_masterStream == stream) +- OpenSink(); ++ // Close completely when we go to suspend, reopen as it was old behaviour ++ // m_realSuspend is currently only used on Linux Systems as it is needed ++ // for suspend and resume. Not opening when masterstream stops means ++ // clipping on S/PDIF. ++ if(m_realSuspend) ++ { ++ m_closeEvent.Reset(); ++ m_closeSink = true; ++ m_closeEvent.Wait(); ++ m_wake.Set(); ++ } ++ else if (m_masterStream == stream) ++ OpenSink(); + + delete (CSoftAEStream*)stream; + return NULL; +@@ -986,14 +991,52 @@ bool CSoftAE::Suspend() + CSoftAEStream *stream = *itt; + stream->Flush(); + } ++ #if defined(TARGET_LINUX) ++ /*workaround sinks not playing sound after resume */ ++ StopAllSounds(); ++ CExclusiveLock sinkLock(m_sinkLock); ++ for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt) ++ { ++ itt->m_deviceInfoList.pop_back(); ++ } ++ if(m_sink) ++ { ++ /* Deinitialize and delete current m_sink */ ++ // we don't want that Run reopens our device. ++ // This is the only place m_realSuspend gets set true. ++ // If you find another one - please call for help. ++ // First thing when rewriting: kill this flag and make it generic again. ++ m_realSuspend = true; ++ m_sink->Drain(); ++ m_sink->Deinitialize(); ++ delete m_sink; ++ m_sink = NULL; ++ } ++ // The device list is now empty and must be reenumerated afterwards. ++ m_sinkInfoList.clear(); ++ #endif + + return true; + } + + bool CSoftAE::Resume() + { ++#if defined(TARGET_LINUX) ++ // We must make sure, that we don't return empty. ++ if(m_realSuspend || m_sinkInfoList.empty()) ++ { ++ CLog::Log(LOGDEBUG, "CSoftAE::Resume - Re Enumerating Sinks"); ++ CExclusiveLock sinkLock(m_sinkLock); ++ // Forced enumeration - we are sure that we start completely fresh. ++ CAESinkFactory::EnumerateEx(m_sinkInfoList, true); ++ m_realSuspend = false; ++ sinkLock.Leave(); // we leave here explicitly to not lock while printing new sinks ++ PrintSinks(); ++ } ++#endif + CLog::Log(LOGDEBUG, "CSoftAE::Resume - Resuming AE processing"); + m_isSuspended = false; ++ // we flag reopen + m_reOpen = true; + + return true; +@@ -1030,6 +1073,12 @@ void CSoftAE::Run() + restart = true; + } + ++ //we are told to close the sink ++ if(m_closeSink) ++ { ++ InternalCloseSink(); ++ } ++ + /* Handle idle or forced suspend */ + ProcessSuspend(); + +@@ -1040,6 +1089,7 @@ void CSoftAE::Run() + InternalOpenSink(); + m_isSuspended = false; // exit Suspend state + } ++ + #if defined(TARGET_ANDROID) + else if (m_playingStreams.empty() + && m_playing_sounds.empty() +@@ -1290,6 +1340,24 @@ int CSoftAE::RunTranscodeStage(bool hasAudio) + return encodedFrames; + } + ++void CSoftAE::PrintSinks() ++{ ++ for (AESinkInfoList::iterator itt = m_sinkInfoList.begin(); itt != m_sinkInfoList.end(); ++itt) ++ { ++ CLog::Log(LOGNOTICE, "Enumerated %s devices:", itt->m_sinkName.c_str()); ++ int count = 0; ++ for (AEDeviceInfoList::iterator itt2 = itt->m_deviceInfoList.begin(); itt2 != itt->m_deviceInfoList.end(); ++itt2) ++ { ++ CLog::Log(LOGNOTICE, " Device %d", ++count); ++ CAEDeviceInfo& info = *itt2; ++ std::stringstream ss((std::string)info); ++ std::string line; ++ while(std::getline(ss, line, '\n')) ++ CLog::Log(LOGNOTICE, " %s", line.c_str()); ++ } ++ } ++} ++ + unsigned int CSoftAE::RunRawStreamStage(unsigned int channelCount, void *out, bool &restart) + { + StreamList resumeStreams; +@@ -1424,14 +1492,14 @@ inline void CSoftAE::ProcessSuspend() + /* idle while in Suspend() state until Resume() called */ + /* idle if nothing to play and user hasn't enabled */ + /* continuous streaming (silent stream) in as.xml */ +- while ((m_isSuspended || (m_softSuspend && (curSystemClock > m_softSuspendTimer))) && +- m_running && !m_reOpen) ++ while (m_realSuspend || ((m_isSuspended || (m_softSuspend && (curSystemClock > m_softSuspendTimer))) && ++ m_running && !m_reOpen)) + { +- if (m_sink && !sinkIsSuspended) ++ if (!m_realSuspend && m_sink && !sinkIsSuspended) + { + /* put the sink in Suspend mode */ + CExclusiveLock sinkLock(m_sinkLock); +- if (!m_sink->SoftSuspend()) ++ if (m_sink && !m_sink->SoftSuspend()) + { + sinkIsSuspended = false; //sink cannot be suspended + m_softSuspend = false; //break suspend loop +@@ -1442,11 +1510,17 @@ inline void CSoftAE::ProcessSuspend() + sinkLock.Leave(); + } + ++ // make sure that a outer thread does not have to wait forever ++ if(m_closeSink) ++ { ++ InternalCloseSink(); ++ } ++ + /* idle for platform-defined time */ + m_wake.WaitMSec(SOFTAE_IDLE_WAIT_MSEC); + + /* check if we need to resume for stream or sound */ +- if (!m_isSuspended && (!m_playingStreams.empty() || !m_playing_sounds.empty())) ++ if (!m_realSuspend && !m_isSuspended && (!m_playingStreams.empty() || !m_playing_sounds.empty())) + { + m_reOpen = !m_sink->SoftResume(); // sink returns false if it requires reinit + sinkIsSuspended = false; //sink processing data +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h +index 56fb417..f3787c9 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h +@@ -116,6 +116,7 @@ class CSoftAE : public IThreadedAE + void OpenSink(); + + void InternalOpenSink(); ++ void InternalCloseSink(); + void ResetEncoder(); + bool SetupEncoder(AEAudioFormat &format); + void Deinitialize(); +@@ -136,11 +137,14 @@ class CSoftAE : public IThreadedAE + + /* internal vars */ + bool m_running, m_reOpen; ++ bool m_closeSink; ++ bool m_realSuspend; /* this flag is needed to unload a sink without calling OpenInternal again */ + bool m_isSuspended; /* engine suspended by external function to release audio context */ + bool m_softSuspend; /* latches after last stream or sound played for timer below for idle */ + unsigned int m_softSuspendTimer; /* time in milliseconds to hold sink open before soft suspend for idle */ + CEvent m_reOpenEvent; + CEvent m_wake; ++ CEvent m_closeEvent; + + CCriticalSection m_runningLock; /* released when the thread exits */ + CCriticalSection m_streamLock; /* m_streams lock */ +@@ -242,5 +246,6 @@ class CSoftAE : public IThreadedAE + void RunNormalizeStage (unsigned int channelCount, void *out, unsigned int mixed); + + void RemoveStream(StreamList &streams, CSoftAEStream *stream); ++ void PrintSinks(); + }; + +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +index bc91096..328593c 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +@@ -426,7 +426,6 @@ void CAESinkALSA::Deinitialize() + + if (m_pcm) + { +- snd_pcm_drop (m_pcm); + snd_pcm_close(m_pcm); + m_pcm = NULL; + } +-- +1.7.10 + + +From bf5dd9592078037faf5a12e1437c8ef3e8eea1d7 Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Tue, 5 Feb 2013 21:17:10 +0100 +Subject: [PATCH 4/5] AE: Enable SoftSuspend on Linux (Stop h0gg1ng the sound + device) + +--- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 8 +++++--- + xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 21 +++++++++++++++++++++ + xbmc/cores/AudioEngine/Sinks/AESinkALSA.h | 2 ++ + 3 files changed, 28 insertions(+), 3 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +index 36c4d57..ae8a0e4 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +@@ -1475,8 +1475,7 @@ inline void CSoftAE::ProcessSuspend() + { + bool sinkIsSuspended = false; + unsigned int curSystemClock = 0; +- +-#if defined(TARGET_WINDOWS) ++#if defined(TARGET_WINDOWS) || defined(TARGET_LINUX) + if (!m_softSuspend && m_playingStreams.empty() && m_playing_sounds.empty() && + !g_advancedSettings.m_streamSilence) + { +@@ -1488,7 +1487,6 @@ inline void CSoftAE::ProcessSuspend() + if (m_softSuspend) + curSystemClock = XbmcThreads::SystemClockMillis(); + #endif +- + /* idle while in Suspend() state until Resume() called */ + /* idle if nothing to play and user hasn't enabled */ + /* continuous streaming (silent stream) in as.xml */ +@@ -1506,7 +1504,10 @@ inline void CSoftAE::ProcessSuspend() + break; + } + else ++ { ++ CLog::Log(LOGDEBUG, "Suspended the Sink"); + sinkIsSuspended = true; //sink has suspended processing ++ } + sinkLock.Leave(); + } + +@@ -1525,6 +1526,7 @@ inline void CSoftAE::ProcessSuspend() + m_reOpen = !m_sink->SoftResume(); // sink returns false if it requires reinit + sinkIsSuspended = false; //sink processing data + m_softSuspend = false; //break suspend loop ++ CLog::Log(LOGDEBUG, "Resumed the Sink"); + break; + } + } +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +index 328593c..647be04 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +@@ -1129,6 +1129,27 @@ bool CAESinkALSA::GetELD(snd_hctl_t *hctl, int device, CAEDeviceInfo& info, bool + return true; + } + ++bool CAESinkALSA::SoftSuspend() ++{ ++ if(m_pcm) // it is still there ++ Deinitialize(); ++ ++ return true; ++} ++bool CAESinkALSA::SoftResume() ++{ ++ // reinit all the clibber ++ if(!m_pcm) ++ { ++ if (!snd_config) ++ snd_config_update(); ++ ++ Initialize(m_initFormat, m_initDevice); ++ } ++ //we want that AE loves us again ++ return false; // force reinit ++} ++ + void CAESinkALSA::sndLibErrorHandler(const char *file, int line, const char *function, int err, const char *fmt, ...) + { + va_list arg; +diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h +index c1b1c76..c60f840 100644 +--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h ++++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.h +@@ -49,6 +49,8 @@ class CAESinkALSA : public IAESink + virtual double GetCacheTotal (); + virtual unsigned int AddPackets (uint8_t *data, unsigned int frames, bool hasAudio); + virtual void Drain (); ++ virtual bool SoftSuspend(); ++ virtual bool SoftResume(); + + static void EnumerateDevicesEx(AEDeviceInfoList &list, bool force = false); + private: +-- +1.7.10 + + +From 03be1460010107832a63d53f8d3fd539255ec1ac Mon Sep 17 00:00:00 2001 +From: fritsch +Date: Wed, 6 Feb 2013 09:03:34 +0100 +Subject: [PATCH 5/5] AE: Wait until we are in a safe state before further + deinitializing the sink (care for deadlocks) + +--- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 39 +++++++++++++++++----- + xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h | 1 + + 2 files changed, 31 insertions(+), 9 deletions(-) + +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +index ae8a0e4..343758c 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +@@ -1006,11 +1006,18 @@ bool CSoftAE::Suspend() + // This is the only place m_realSuspend gets set true. + // If you find another one - please call for help. + // First thing when rewriting: kill this flag and make it generic again. ++ m_saveSuspend.Reset(); + m_realSuspend = true; ++ // wait until we are looping in ProcessSuspend() ++ m_saveSuspend.Wait(); + m_sink->Drain(); + m_sink->Deinitialize(); + delete m_sink; + m_sink = NULL; ++ // signal anybody, that the sink is closed now ++ // this should help us not to run into deadlocks ++ if(m_closeSink) ++ m_closeEvent.Set(); + } + // The device list is now empty and must be reenumerated afterwards. + m_sinkInfoList.clear(); +@@ -1086,6 +1093,13 @@ void CSoftAE::Run() + if (m_reOpen || restart || !m_sink) + { + CLog::Log(LOGDEBUG, "CSoftAE::Run - Sink restart flagged"); ++ // ProcessSuspending() cannot guarantee that we get our sink back softresumed ++ if(m_sink && m_softSuspend) ++ { ++ m_sink->SoftResume(); ++ m_softSuspend = false; ++ CLog::Log(LOGDEBUG, "CSoftAE::Run - Soft resumed the sink outside"); ++ } + InternalOpenSink(); + m_isSuspended = false; // exit Suspend state + } +@@ -1510,22 +1524,29 @@ inline void CSoftAE::ProcessSuspend() + } + sinkLock.Leave(); + } +- +- // make sure that a outer thread does not have to wait forever +- if(m_closeSink) +- { +- InternalCloseSink(); +- } ++ // Signal that the realSuspend can go on now. ++ // Idea: Outer thread calls Suspend() - but ++ // because of AddPackets does not care about locks, we must make ++ // sure, that our school bus (AE::Run) is currently driving through ++ // some gas station, before we move away the sink. ++ if(m_realSuspend) ++ m_saveSuspend.Set(); + + /* idle for platform-defined time */ + m_wake.WaitMSec(SOFTAE_IDLE_WAIT_MSEC); + +- /* check if we need to resume for stream or sound */ ++ /* check if we need to resume for stream or sound or somebody wants to open us ++ * the suspend checks are only there to: ++ * a) not run out of softSuspend directly when we are sleeping ++ * b) nail(!) the thread during real Suspend into this method ++ * Note: It is not enough to check the streams buffer, cause it might not be filled yet ++ * We have to check after ProcessSuspending() if the sink is still in softsleep and resume it ++ */ + if (!m_realSuspend && !m_isSuspended && (!m_playingStreams.empty() || !m_playing_sounds.empty())) + { +- m_reOpen = !m_sink->SoftResume(); // sink returns false if it requires reinit ++ m_reOpen = m_reOpen || !m_sink->SoftResume(); // sink returns false if it requires reinit + sinkIsSuspended = false; //sink processing data +- m_softSuspend = false; //break suspend loop ++ m_softSuspend = false; //break suspend loop (under some conditions) + CLog::Log(LOGDEBUG, "Resumed the Sink"); + break; + } +diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h +index f3787c9..9d6399e 100644 +--- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h ++++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.h +@@ -145,6 +145,7 @@ class CSoftAE : public IThreadedAE + CEvent m_reOpenEvent; + CEvent m_wake; + CEvent m_closeEvent; ++ CEvent m_saveSuspend; + + CCriticalSection m_runningLock; /* released when the thread exits */ + CCriticalSection m_streamLock; /* m_streams lock */ +-- +1.7.10 +