diff --git a/config/optimize b/config/optimize
index ff78ec361e..a5e6548643 100644
--- a/config/optimize
+++ b/config/optimize
@@ -38,6 +38,7 @@ fi
if [ "$LTO_SUPPORT" = yes ];then
GCC_OPTIM="$GCC_OPTIM -flto"
+ LD_OPTIM="$LD_OPTIM -flto"
fi
if [ "$GOLD_SUPPORT" = yes ];then
@@ -57,7 +58,7 @@ fi
TARGET_CPPFLAGS=
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $PROJECT_CFLAGS"
TARGET_CXXFLAGS="$TARGET_CFLAGS"
-TARGET_LDFLAGS="$TARGET_LDFLAGS $GCC_OPTIM $LD_OPTIM"
+TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM"
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"
diff --git a/packages/debug/gdb/meta b/packages/debug/gdb/meta
index fddc89422f..f19a5cf0dc 100644
--- a/packages/debug/gdb/meta
+++ b/packages/debug/gdb/meta
@@ -19,12 +19,12 @@
################################################################################
PKG_NAME="gdb"
-PKG_VERSION="7.3"
+PKG_VERSION="7.3.1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/gdb/"
-PKG_URL="http://ftp.gnu.org/gnu/gdb/$PKG_NAME-${PKG_VERSION}a.tar.bz2"
+PKG_URL="http://ftp.gnu.org/gnu/gdb/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS="ncurses expat"
PKG_BUILD_DEPENDS="toolchain ncurses expat"
PKG_PRIORITY="optional"
diff --git a/packages/debug/gdb/patches/gdb-7.3-10-uclibc_conf.patch b/packages/debug/gdb/patches/gdb-7.3.1-10-uclibc_conf.patch
similarity index 100%
rename from packages/debug/gdb/patches/gdb-7.3-10-uclibc_conf.patch
rename to packages/debug/gdb/patches/gdb-7.3.1-10-uclibc_conf.patch
diff --git a/packages/initramfs/sysutils/busybox-initramfs/scripts/init b/packages/initramfs/sysutils/busybox-initramfs/scripts/init
index 036de2928d..59ee0c0253 100755
--- a/packages/initramfs/sysutils/busybox-initramfs/scripts/init
+++ b/packages/initramfs/sysutils/busybox-initramfs/scripts/init
@@ -200,6 +200,7 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay"
mount_part "$boot" "/flash" "ro,noatime"
show_splash
+<<<<<<< HEAD
if [ -n "$disk" ]; then
mount_part "$disk" "/storage" "rw,noatime"
@@ -239,6 +240,12 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay"
fi
# unmount all other filesystems
+=======
+# move /flash to /sysroot
+ /bin/busybox mount --move /flash /sysroot/flash
+
+# unmount all other filesystems
+>>>>>>> upstream/master
/bin/busybox umount /dev
/bin/busybox umount /proc
/bin/busybox umount /sys
diff --git a/packages/linux/init.d/01_cpupower b/packages/linux/init.d/02_cpupower
similarity index 86%
rename from packages/linux/init.d/01_cpupower
rename to packages/linux/init.d/02_cpupower
index 314c7a8592..3a23f724de 100644
--- a/packages/linux/init.d/01_cpupower
+++ b/packages/linux/init.d/02_cpupower
@@ -23,6 +23,12 @@
#
# runlevels: openelec, textmode
-progress "set cpu's to full power"
+case $RUNLEVEL in
+ boot)
+ progress "set cpu's to full power"
+ cpupower frequency-set -g performance > /dev/null 2>&1
+ ;;
- cpupower frequency-set -g performance
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/linux/init.d/15_modules b/packages/linux/init.d/15_modules
index 72155f6e93..2a0dcdc197 100644
--- a/packages/linux/init.d/15_modules
+++ b/packages/linux/init.d/15_modules
@@ -23,13 +23,19 @@
#
# runlevels: openelec, textmode
-(
- progress "loading kernel modules"
+case $RUNLEVEL in
+ boot)
+ (
+ progress "loading kernel modules"
- IFS='
-'
- for module in `cat /etc/modules|grep "^[^#]"`; do
- eval "modprobe $module" >/dev/null 2>&1
- done
+ IFS='
+ '
+ for module in `cat /etc/modules|grep "^[^#]"`; do
+ eval "modprobe $module" >/dev/null 2>&1
+ done
+ )&
+ ;;
-)&
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/mediacenter/xbmc/init.d/91_setup-addons b/packages/mediacenter/xbmc/init.d/91_setup-addons
new file mode 100644
index 0000000000..9f22b212cd
--- /dev/null
+++ b/packages/mediacenter/xbmc/init.d/91_setup-addons
@@ -0,0 +1,44 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+#
+# setup XBMC addons
+#
+# runlevels: openelec, textmode
+
+case $RUNLEVEL in
+ boot)
+ progress "setup XBMC addons"
+
+ # hack: add addons to $PATH
+ for i in `find /storage/.xbmc/addons/* -name bin -type d`; do
+ PATH="$PATH:$i"
+ done
+ export PATH
+
+ # hack: make addon-bins executable
+ chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
+
+
diff --git a/packages/mediacenter/xbmc/init.d/92_setup-xbmc b/packages/mediacenter/xbmc/init.d/92_setup-xbmc
index 1344840f82..b7a9fcabeb 100644
--- a/packages/mediacenter/xbmc/init.d/92_setup-xbmc
+++ b/packages/mediacenter/xbmc/init.d/92_setup-xbmc
@@ -22,21 +22,23 @@
#
# runlevels: openelec
-progress "setup XBMC"
+case $RUNLEVEL in
+ boot)
+ progress "setup XBMC"
-#
-# clean temp dir
-#
- rm -rf $HOME/.xbmc/temp/*
+ #
+ # clean temp dir
+ #
+ rm -rf $HOME/.xbmc/temp/*
-#
-# add some default settings
-#
- mkdir -p $HOME/.xbmc/userdata
+ #
+ # add some default settings
+ #
+ mkdir -p $HOME/.xbmc/userdata
-# use dds fanarts by default
- if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then
- cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF
+ # use dds fanarts by default
+ if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then
+ cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF
true
false
@@ -47,21 +49,21 @@ progress "setup XBMC"
EOF
- fi
+ fi
-#
-# setup directories for XBMC sources
-#
+ #
+ # setup directories for XBMC sources
+ #
- [ ! -d "$HOME/music" ] && mkdir -p $HOME/music
- [ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
- [ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
- [ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
+ [ ! -d "$HOME/music" ] && mkdir -p $HOME/music
+ [ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
+ [ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
+ [ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
- mkdir -p $HOME/.xbmc/userdata
+ mkdir -p $HOME/.xbmc/userdata
- if [ ! -f $HOME/.xbmc/userdata/sources.xml ] ; then
- cat > $HOME/.xbmc/userdata/sources.xml << EOF
+ if [ ! -f $HOME/.xbmc/userdata/sources.xml ] ; then
+ cat > $HOME/.xbmc/userdata/sources.xml << EOF
EOF
- fi
+ fi
-#
-# common setup guisettings
-#
+ #
+ # common setup guisettings
+ #
- mkdir -p $HOME/.xbmc/userdata
+ mkdir -p $HOME/.xbmc/userdata
- [ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
+ [ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
- if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
- echo "" > $HOME/.xbmc/userdata/guisettings.xml
+ if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
+ echo "" > $HOME/.xbmc/userdata/guisettings.xml
- cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
+ cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
$HOME/screenshots/
EOF
-#
-# include project specific options
-#
+ #
+ # include project specific options
+ #
- if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
- cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
- fi
+ if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
+ cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
+ fi
-#
-# common setup for amd and nvidia graphic
-#
+ #
+ # common setup for amd and nvidia graphic
+ #
- # Always sync to vblank
- if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then
- cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
+ # Always sync to vblank
+ if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then
+ cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
2
EOF
- fi
- echo "" >> $HOME/.xbmc/userdata/guisettings.xml
- fi
+ fi
+ echo "" >> $HOME/.xbmc/userdata/guisettings.xml
+ fi
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/mediacenter/xbmc/init.d/93_xbmc b/packages/mediacenter/xbmc/init.d/93_xbmc
index 49f1162175..1db77b91b2 100644
--- a/packages/mediacenter/xbmc/init.d/93_xbmc
+++ b/packages/mediacenter/xbmc/init.d/93_xbmc
@@ -22,66 +22,70 @@
#
# runlevels: openelec
-LIRCDEV="/var/run/lirc/lircd"
-[ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans"
-XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV"
+case $RUNLEVEL in
+ boot)
+ LIRCDEV="/var/run/lirc/lircd"
+ [ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans"
+ XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV"
-progress "starting XBMC"
+ progress "starting XBMC"
-# hack for Boxee Remote
-if $(cat /proc/bus/input/devices | grep Vendor=0471 | grep -q Product=20d9);then
- export SDL_MOUSE_RELATIVE=0
-fi
+ # hack for Boxee Remote
+ if $(cat /proc/bus/input/devices | grep Vendor=0471 | grep -q Product=20d9);then
+ export SDL_MOUSE_RELATIVE=0
+ fi
-# hack: make addon-bins executable
- chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
+ # starting autostart script (will be removed later again, dont use it!!!)
+ AUTOSTART="/storage/.config/autostart.sh"
+ if [ -f $AUTOSTART ]; then
+ echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
+ cat "$AUTOSTART" >> /var/log/messages
+ echo "!!! -End of autostart script- !!!" >> /var/log/messages
-# starting autostart script (will be removed later again, dont use it!!!)
- AUTOSTART="/storage/.config/autostart.sh"
- if [ -f $AUTOSTART ]; then
- echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
- cat "$AUTOSTART" >> /var/log/messages
- echo "!!! -End of autostart script- !!!" >> /var/log/messages
+ sh $AUTOSTART
+ fi
- sh $AUTOSTART
- fi
+ # starting autoupdate
+ [ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate &
-# starting autoupdate
- [ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate &
+ # waiting for Xorg to start
+ wait_for_xorg
-# waiting for Xorg to start
- wait_for_xorg
+ # set cpu's to 'on demand'
+ ( usleep 15000000
+ progress "set cpu's to 'on demand'"
+ cpupower frequency-set -g ondemand > /dev/null 2>&1
+ )&
-# set cpu's to 'on demand'
- ( usleep 15000000
- progress "set cpu's to 'on demand'"
- cpupower frequency-set -g ondemand
- )&
+ # starting XBMC
+ while true; do
-# starting XBMC
- while true; do
+ DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1
+ RET=$?
- DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1
- RET=$?
+ case "$RET" in
+ 0)
+ RUNLEVEL="poweroff"
+ ;;
+ 64)
+ RUNLEVEL="poweroff"
+ ;;
+ 66)
+ RUNLEVEL="reboot"
+ ;;
+ 255)
+ echo "Abnormal Exit. Exited with code $RET"
+ echo "is Xorg running? check /var/log/Xorg.log"
+ ;;
+ *)
+ echo "Abnormal Exit. Exited with code $RET"
+ ;;
+ esac
- case "$RET" in
- 0)
- poweroff -f
- ;;
- 64)
- poweroff -f
- ;;
- 66)
- reboot
- ;;
- 255)
- echo "Abnormal Exit. Exited with code $RET"
- echo "is Xorg running? check /var/log/Xorg.log"
- ;;
- *)
- echo "Abnormal Exit. Exited with code $RET"
- ;;
- esac
+ usleep 250000
+ done
+ ;;
- usleep 250000
- done
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-011-add_xbmcvfs_module-0.2.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-011-add_xbmcvfs_module-0.2.patch
new file mode 100644
index 0000000000..7e43df6a64
--- /dev/null
+++ b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-011-add_xbmcvfs_module-0.2.patch
@@ -0,0 +1,448 @@
+diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/Makefile xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/Makefile
+--- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/Makefile 2011-03-08 02:49:14.000000000 +0100
++++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/Makefile 2011-09-06 22:59:02.915548511 +0200
+@@ -1,8 +1,9 @@
+ INCLUDES=-I../../../.. -I. -I../../../ -I../../../linux -I../../../../guilib -I../../../utils -I../../../cores -I../../../../lib/jsoncpp/jsoncpp/include
+
+-SRCS=action.cpp controlbutton.cpp controlcheckmark.cpp control.cpp controlfadelabel.cpp controlimage.cpp controllabel.cpp controllist.cpp controlprogress.cpp controlslider.cpp controlspin.cpp controltextbox.cpp dialog.cpp GUIPythonWindow.cpp GUIPythonWindowDialog.cpp GUIPythonWindowXML.cpp GUIPythonWindowXMLDialog.cpp infotagmusic.cpp infotagvideo.cpp keyboard.cpp listitem.cpp player.cpp pyplaylist.cpp PythonPlayer.cpp pyutil.cpp window.cpp winxml.cpp winxmldialog.cpp xbmcguimodule.cpp xbmcmodule.cpp controlgroup.cpp xbmcplugin.cpp controlradiobutton.cpp PythonAddon.cpp xbmcaddonmodule.cpp
++SRCS=action.cpp controlbutton.cpp controlcheckmark.cpp control.cpp controlfadelabel.cpp controlimage.cpp controllabel.cpp controllist.cpp controlprogress.cpp controlslider.cpp controlspin.cpp controltextbox.cpp dialog.cpp GUIPythonWindow.cpp GUIPythonWindowDialog.cpp GUIPythonWindowXML.cpp GUIPythonWindowXMLDialog.cpp infotagmusic.cpp infotagvideo.cpp keyboard.cpp listitem.cpp player.cpp pyplaylist.cpp PythonPlayer.cpp pyutil.cpp window.cpp winxml.cpp winxmldialog.cpp xbmcguimodule.cpp xbmcmodule.cpp controlgroup.cpp xbmcplugin.cpp controlradiobutton.cpp PythonAddon.cpp xbmcaddonmodule.cpp xbmcvfsmodule.cpp
+
+ LIB=xbmcmodule.a
+
+ include ../../../../Makefile.include
+ -include $(patsubst %.cpp,%.P,$(patsubst %.c,%.P,$(SRCS)))
++
+diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp
+--- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp 2011-03-08 02:49:14.000000000 +0100
++++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcmodule.cpp 2011-09-06 22:59:02.916548524 +0200
+@@ -64,6 +64,7 @@
+ #include "SectionLoader.h"
+ #include "Settings.h"
+ #include "LocalizeStrings.h"
++#include "utils/FileUtils.h"
+
+ // include for constants
+ #include "pyutil.h"
+@@ -958,6 +959,35 @@
+
+ return Py_BuildValue((char*)"b", exists);
+ }
++
++ PyDoc_STRVAR(subHashAndFileSize__doc__,
++ "subHashAndFileSize(file)\n"
++ "\n"
++ "file : file to calculate subtitle hash and size for"
++ "\n"
++ "example:\n"
++ " size,hash = xbmcvfs.subHashAndFileSize(file)\n");
++ PyObject* XBMC_subHashAndFileSize(PyObject *self, PyObject *args, PyObject *kwds)
++ {
++ PyObject *f_line;
++ if (!PyArg_ParseTuple(
++ args,
++ (char*)"O",
++ &f_line))
++ {
++ return NULL;
++ }
++ CStdString strSource;
++ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
++
++ CStdString strSize;
++ CStdString strHash;
++ Py_BEGIN_ALLOW_THREADS
++ CFileUtils::SubtitleFileSizeAndHash(strSource, strSize, strHash);
++ Py_END_ALLOW_THREADS
++
++ return Py_BuildValue((char*)"ss",strSize.c_str(), strHash.c_str());
++ }
+
+ // define c functions to be used in python here
+ PyMethodDef xbmcMethods[] = {
+@@ -1005,6 +1035,8 @@
+ {(char*)"getCleanMovieTitle", (PyCFunction)XBMC_GetCleanMovieTitle, METH_VARARGS|METH_KEYWORDS, getCleanMovieTitle__doc__},
+
+ {(char*)"skinHasImage", (PyCFunction)XBMC_SkinHasImage, METH_VARARGS|METH_KEYWORDS, skinHasImage__doc__},
++ {(char*)"subHashAndFileSize", (PyCFunction)XBMC_subHashAndFileSize, METH_VARARGS, subHashAndFileSize__doc__},
++
+ {NULL, NULL, 0, NULL}
+ };
+
+diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp
+--- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp 1970-01-01 01:00:00.000000000 +0100
++++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcvfsmodule.cpp 2011-09-06 23:43:28.717382455 +0200
+@@ -0,0 +1,299 @@
++/*
++ * Copyright (C) 2005-2011 Team XBMC
++ * http://www.xbmc.org
++ *
++ * 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 XBMC; see the file COPYING. If not, write to
++ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
++ * http://www.gnu.org/copyleft/gpl.html
++ *
++ */
++
++#include "system.h"
++#if (defined USE_EXTERNAL_PYTHON)
++#if (defined HAVE_LIBPYTHON2_6)
++#include
++#elif (defined HAVE_LIBPYTHON2_5)
++#include
++#elif (defined HAVE_LIBPYTHON2_4)
++#include
++#else
++#error "Could not determine version of Python to use."
++#endif
++#else
++#include "python/Include/Python.h"
++#endif
++#include "../XBPythonDll.h"
++
++#include "FileSystem/Directory.h"
++#include "FileSystem/File.h"
++#include "pyutil.h"
++
++using namespace std;
++using namespace XFILE;
++using namespace PYXBMC;
++
++#ifndef __GNUC__
++#pragma code_seg("PY_TEXT")
++#pragma data_seg("PY_DATA")
++#pragma bss_seg("PY_BSS")
++#pragma const_seg("PY_RDATA")
++#endif
++
++#if defined(__GNUG__) && (__GNUC__>4) || (__GNUC__==4 && __GNUC_MINOR__>=2)
++#pragma GCC diagnostic ignored "-Wstrict-aliasing"
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++ namespace xbmcvfs
++ {
++ /*****************************************************************
++ * start of xbmcvfs methods
++ *****************************************************************/
++ typedef struct {
++ PyObject_HEAD
++ CFile* pFile;
++ } File;
++
++ // copy() method
++ PyDoc_STRVAR(copy__doc__,
++ "copy(source, destination) -- copy file to destination, returns true/false.\n"
++ "\n"
++ "source : file to copy.\n"
++ "destination : destination file"
++ "\n"
++ "example:\n"
++ " success = xbmcvfs.copy(source, destination)\n");
++
++ PyObject* vfs_copy(PyObject *self, PyObject *args)
++ {
++ PyObject *f_line;
++ PyObject *d_line;
++ if (!PyArg_ParseTuple(
++ args,
++ (char*)"OO",
++ &f_line,
++ &d_line))
++ {
++ return NULL;
++ }
++ CStdString strSource;
++ CStdString strDestnation;
++ bool bResult = true;
++
++ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
++ if (!PyXBMCGetUnicodeString(strDestnation, d_line, 1)) return NULL;
++ Py_BEGIN_ALLOW_THREADS
++ bResult = CFile::Cache(strSource, strDestnation);
++ Py_END_ALLOW_THREADS
++
++ return Py_BuildValue((char*)"b", bResult);
++ }
++ PyDoc_STRVAR(delete__doc__,
++ "delete(file)\n"
++ "\n"
++ "file : file to delete"
++ "\n"
++ "example:\n"
++ " xbmcvfs.delete(file)\n");
++
++ // delete a file
++ PyObject* vfs_delete(File *self, PyObject *args, PyObject *kwds)
++ {
++ PyObject *f_line;
++ if (!PyArg_ParseTuple(
++ args,
++ (char*)"O",
++ &f_line))
++ {
++ return NULL;
++ }
++ CStdString strSource;
++ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
++
++ Py_BEGIN_ALLOW_THREADS
++ self->pFile->Delete(strSource);
++ Py_END_ALLOW_THREADS
++
++ Py_INCREF(Py_None);
++ return Py_None;
++
++ }
++
++ PyDoc_STRVAR(rename__doc__,
++ "rename(file, newFileName)\n"
++ "\n"
++ "file : file to reaname"
++ "newFileName : new filename, including the full path"
++ "\n"
++ "example:\n"
++ " success = xbmcvfs.rename(file,newFileName)\n");
++
++ // rename a file
++ PyObject* vfs_rename(File *self, PyObject *args, PyObject *kwds)
++ {
++ PyObject *f_line;
++ PyObject *d_line;
++ if (!PyArg_ParseTuple(
++ args,
++ (char*)"OO",
++ &f_line,
++ &d_line))
++ {
++ return NULL;
++ }
++ CStdString strSource;
++ CStdString strDestnation;
++ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
++ if (!PyXBMCGetUnicodeString(strDestnation, d_line, 1)) return NULL;
++
++ bool bResult;
++ Py_BEGIN_ALLOW_THREADS
++ bResult = self->pFile->Rename(strSource,strDestnation);
++ Py_END_ALLOW_THREADS
++
++ return Py_BuildValue((char*)"b", bResult);
++
++ }
++
++ PyDoc_STRVAR(exists__doc__,
++ "exists(path)\n"
++ "\n"
++ "path : file or folder"
++ "\n"
++ "example:\n"
++ " success = xbmcvfs.exists(path)\n");
++
++ // check for a file or folder existance, mimics Pythons os.path.exists()
++ PyObject* vfs_exists(File *self, PyObject *args, PyObject *kwds)
++ {
++ PyObject *f_line;
++ if (!PyArg_ParseTuple(
++ args,
++ (char*)"O",
++ &f_line))
++ {
++ return NULL;
++ }
++ CStdString strSource;
++ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
++
++ bool bResult;
++
++ Py_BEGIN_ALLOW_THREADS
++ bResult = self->pFile->Exists(strSource, false);
++ Py_END_ALLOW_THREADS
++
++ return Py_BuildValue((char*)"b", bResult);
++ }
++
++ PyDoc_STRVAR(mkdir__doc__,
++ "mkdir(path) -- Create a folder.\n"
++ "\n"
++ "path : folder\n"
++ "\n"
++ "example:\n"
++ " - success = xbmcvfs.mkdir(path)\n");
++ // make a directory
++ PyObject* vfs_mkdir(File *self, PyObject *args, PyObject *kwds)
++ {
++ PyObject *f_line;
++ if (!PyArg_ParseTuple(
++ args,
++ (char*)"O",
++ &f_line))
++ {
++ return NULL;
++ }
++ CStdString strSource;
++ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
++
++ bool bResult;
++
++ Py_BEGIN_ALLOW_THREADS
++ bResult = CDirectory::Create(strSource);
++ Py_END_ALLOW_THREADS
++
++ return Py_BuildValue((char*)"b", bResult);
++ }
++
++ PyDoc_STRVAR(rmdir__doc__,
++ "rmdir(path) -- Remove a folder.\n"
++ "\n"
++ "path : folder\n"
++ "\n"
++ "example:\n"
++ " - success = xbmcvfs.rmdir(path)\n");
++ // remove a directory
++ PyObject* vfs_rmdir(File *self, PyObject *args, PyObject *kwds)
++ {
++ PyObject *f_line;
++ if (!PyArg_ParseTuple(
++ args,
++ (char*)"O",
++ &f_line))
++ {
++ return NULL;
++ }
++ CStdString strSource;
++ if (!PyXBMCGetUnicodeString(strSource, f_line, 1)) return NULL;
++
++ bool bResult;
++
++ Py_BEGIN_ALLOW_THREADS
++ bResult = CDirectory::Remove(strSource);
++ Py_END_ALLOW_THREADS
++
++ return Py_BuildValue((char*)"b", bResult);
++ }
++
++ // define c functions to be used in python here
++ PyMethodDef xbmcvfsMethods[] = {
++ {(char*)"copy", (PyCFunction)vfs_copy, METH_VARARGS, copy__doc__},
++ {(char*)"delete", (PyCFunction)vfs_delete, METH_VARARGS, delete__doc__},
++ {(char*)"rename", (PyCFunction)vfs_rename, METH_VARARGS, rename__doc__},
++ {(char*)"mkdir", (PyCFunction)vfs_mkdir, METH_VARARGS, mkdir__doc__},
++ {(char*)"rmdir", (PyCFunction)vfs_rmdir, METH_VARARGS, rmdir__doc__},
++ {(char*)"exists", (PyCFunction)vfs_exists, METH_VARARGS, exists__doc__},
++ {NULL, NULL, 0, NULL}
++ };
++
++ /*****************************************************************
++ * end of methods and python objects
++ * initxbmc(void);
++ *****************************************************************/
++
++
++ PyMODINIT_FUNC
++ DeinitVFSModule()
++ {
++ // no need to Py_DECREF our objects (see InitXBMCMVFSModule()) as they were created only
++ // so that they could be added to the module, which steals a reference.
++ }
++
++ PyMODINIT_FUNC
++ InitVFSModule()
++ {
++ // init general xbmc modules
++ PyObject* pXbmcvfsModule;
++ pXbmcvfsModule = Py_InitModule((char*)"xbmcvfs", xbmcvfsMethods);
++ if (pXbmcvfsModule == NULL) return;
++ }
++ }
++
++#ifdef __cplusplus
++}
++#endif
+diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/XBPython.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/XBPython.cpp
+--- xbmc-10.1-Dharma/xbmc/lib/libPython/XBPython.cpp 2011-03-08 02:49:15.000000000 +0100
++++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/XBPython.cpp 2011-09-06 22:59:02.955549037 +0200
+@@ -119,6 +119,8 @@
+ void InitAddonModule(void);
+ void InitAddonTypes(void);
+ void DeinitAddonModule(void);
++ void InitVFSModule(void);
++ void DeinitVFSModule(void);
+ }
+
+ XBPython::XBPython()
+@@ -297,7 +299,8 @@
+ InitPluginModule(); // init xbmcplugin modules
+ InitGUIModule(); // init xbmcgui modules
+ InitAddonModule(); // init xbmcaddon modules
+-
++ InitVFSModule(); // init xbmcvfs modules
++
+ // redirecting default output to debug console
+ if (PyRun_SimpleString(""
+ "import xbmc\n"
+@@ -325,6 +328,7 @@
+ DeinitPluginModule();
+ DeinitGUIModule();
+ DeinitAddonModule();
++ DeinitVFSModule();
+ }
+
+ /**
+diff -Naur xbmc-10.1-Dharma/xbmc/utils/FileUtils.cpp xbmc-10.1-Dharma.patch/xbmc/utils/FileUtils.cpp
+--- xbmc-10.1-Dharma/xbmc/utils/FileUtils.cpp 2011-03-08 02:49:14.000000000 +0100
++++ xbmc-10.1-Dharma.patch/xbmc/utils/FileUtils.cpp 2011-09-06 22:59:02.977549326 +0200
+@@ -72,3 +72,32 @@
+ }
+ return false;
+ }
++
++bool CFileUtils::SubtitleFileSizeAndHash(const CStdString &path, CStdString &strSize, CStdString &strHash)
++{
++ const size_t chksum_block_size = 8192;
++
++ CFile file;
++ size_t i;
++ uint64_t hash = 0;
++ uint64_t buffer1[chksum_block_size*2];
++ uint64_t fileSize ;
++ // In natural language it calculates: size + 64k chksum of the first and last 64k
++ // (even if they overlap because the file is smaller than 128k).
++ file.Open(path, READ_NO_CACHE); //open file
++ file.Read(buffer1, chksum_block_size*sizeof(uint64_t)); //read first 64k
++ file.Seek(-(int64_t)chksum_block_size*sizeof(uint64_t), SEEK_END); //seek to the end of the file
++ file.Read(&buffer1[chksum_block_size], chksum_block_size*sizeof(uint64_t)); //read last 64k
++
++ for (i=0;i /proc/sys/kernel/hostname
+ # setup hostname
+ progress "Setup hostname"
+ echo "$NET_HOSTNAME" > /proc/sys/kernel/hostname
-# create /etc/hosts file, useful for gethostbyname(localhost)
- progress "creating /etc/hosts"
- echo -e "127.0.0.1\tlocalhost $NET_HOSTNAME" > /etc/hosts
+ # create /etc/hosts file, useful for gethostbyname(localhost)
+ progress "creating /etc/hosts"
+ echo -e "127.0.0.1\tlocalhost $NET_HOSTNAME" > /etc/hosts
-# add user defined hosts.conf entry's
- [ -f $HOME/.config/hosts.conf ] && cat $HOME/.config/hosts.conf >> /etc/hosts
+ # add user defined hosts.conf entry's
+ [ -f $HOME/.config/hosts.conf ] && cat $HOME/.config/hosts.conf >> /etc/hosts
-(
- # setup Networking 1
- progress "setup Networking 1"
+ (
+ # setup Networking 1
+ progress "setup Networking 1"
- CONNMAN_PROFILE="/var/lib/connman/default.profile"
+ CONNMAN_PROFILE="/var/lib/connman/default.profile"
- mkdir -p /var/run/connman
- mkdir -p /var/lib/connman
+ mkdir -p /var/run/connman
+ mkdir -p /var/lib/connman
+
+ # NETWORK 1: ( LAN / WLAN )
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
+ if [ ! -f /sys/class/net/$NET_IFACE/address ]; then
+ logger -t Connman "### [$i] cannot find /sys/class/net/$NET_IFACE/address ###"
+ else
+ logger -t Connman "### [$i] found /sys/class/net/$NET_IFACE/address, continue ###"
+ NET_IFACE=`cat /sys/class/net/$NET_IFACE/address | sed 's/://g'`
+ break
+ fi
+ usleep 500000
+ done
+
+ if [ "$NET_NETWORK" = "WLAN" -a -n "$NET_SSID" ]; then
+ NET_SSID_HEX=`echo -n "$NET_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
+
+ # NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
+ if [ "$NET_SECURITY" = "WEP" -a -n "$NET_PASSPHRASE" ]; then
+ MODE="managed_wep"
+ elif [ "$NET_SECURITY" = "WPA/WPA2" -a -n "$NET_PASSPHRASE" ]; then
+ MODE="managed_psk"
+ else
+ MODE="managed_none"
+ fi
+
+ if [ "$NET_HIDDEN" = "true" ]; then
+ echo "[wifi_${NET_IFACE}_hidden_${MODE}]" > $CONNMAN_PROFILE
+ else
+ echo "[wifi_${NET_IFACE}_${NET_SSID_HEX}_${MODE}]" > $CONNMAN_PROFILE
+ fi
+
+ echo "Name=$NET_SSID" >> $CONNMAN_PROFILE
+ echo "SSID=$NET_SSID_HEX" >> $CONNMAN_PROFILE
+ [ -n "$NET_PASSPHRASE" ] && echo "Passphrase=$NET_PASSPHRASE" >> $CONNMAN_PROFILE
+ echo "Favorite=true" >> $CONNMAN_PROFILE
+ echo "AutoConnect=true" >> $CONNMAN_PROFILE
+ else
+ MODE="cable"
+ echo "[ethernet_${NET_IFACE}_${MODE}]" > $CONNMAN_PROFILE
+ fi
+
+ # IP settings
+ if [ -z "$NET_IPADDRESS" ]; then
+ echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
+ else
+ echo "IPv4.method=manual" >> $CONNMAN_PROFILE
+ echo "IPv4.local_address=$NET_IPADDRESS" >> $CONNMAN_PROFILE
+ [ -n "$NET_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET_PREFIXLEN" >> $CONNMAN_PROFILE
+ [ -n "$NET_GATEWAY" ] && echo "IPv4.gateway=$NET_GATEWAY" >> $CONNMAN_PROFILE
+ fi
+
+ [ -n "$NET_DNS1" ] && NET_NAMESERVER="$NET_DNS1"
+ [ -n "$NET_DNS2" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS2"
+ [ -n "$NET_DNS3" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS3"
+ [ -n "$NET_NAMESERVER" ] && echo "Nameservers=$NET_NAMESERVER;" >> $CONNMAN_PROFILE
+
+ # END OF NETWORK 1
+
+ # NETWORK 2: ( LAN / WLAN )
+ if [ -n "$NET2_NETWORK" -a "$NET2_NETWORK" != "NONE" -a "$NET2_IFACE_NAME" != "$NET_IFACE_NAME" ]; then
+ # setup Networking 2
+ progress "setup Networking 2"
+
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
+ if [ ! -f /sys/class/net/$NET2_IFACE/address ]; then
+ logger -t Connman "### [$i] cannot find /sys/class/net/$NET2_IFACE/address ###"
+ else
+ logger -t Connman "### [$i] found /sys/class/net/$NET2_IFACE/address, continue ###"
+ NET2_IFACE=`cat /sys/class/net/$NET2_IFACE/address | sed 's/://g'`
+ break
+ fi
+ usleep 500000
+ done
+
+ if [ "$NET2_NETWORK" = "WLAN" -a -n "$NET2_SSID" ]; then
+ NET2_SSID_HEX=`echo -n "$NET2_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
+
+ # NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
+ if [ "$NET2_SECURITY" = "WEP" -a -n "$NET2_PASSPHRASE" ]; then
+ MODE="managed_wep"
+ elif [ "$NET2_SECURITY" = "WPA/WPA2" -a -n "$NET2_PASSPHRASE" ]; then
+ MODE="managed_psk"
+ else
+ MODE="managed_none"
+ fi
+
+ if [ "$NET2_HIDDEN" = "true" ]; then
+ echo "[wifi_${NET2_IFACE}_hidden_${MODE}]" >> $CONNMAN_PROFILE
+ else
+ echo "[wifi_${NET2_IFACE}_${NET2_SSID_HEX}_${MODE}]" >> $CONNMAN_PROFILE
+ fi
+
+ echo "Name=$NET2_SSID" >> $CONNMAN_PROFILE
+ echo "SSID=$NET2_SSID_HEX" >> $CONNMAN_PROFILE
+ [ -n "$NET2_PASSPHRASE" ] && echo "Passphrase=$NET2_PASSPHRASE" >> $CONNMAN_PROFILE
+ echo "Favorite=true" >> $CONNMAN_PROFILE
+ echo "AutoConnect=true" >> $CONNMAN_PROFILE
+ else
+ MODE="cable"
+ echo "[ethernet_${NET2_IFACE}_${MODE}]" >> $CONNMAN_PROFILE
+ fi
+
+ # IP settings
+ if [ -z "$NET2_IPADDRESS" ]; then
+ echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
+ else
+ echo "IPv4.method=manual" >> $CONNMAN_PROFILE
+ echo "IPv4.local_address=$NET2_IPADDRESS" >> $CONNMAN_PROFILE
+ [ -n "$NET2_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET2_PREFIXLEN" >> $CONNMAN_PROFILE
+ [ -n "$NET2_GATEWAY" ] && echo "IPv4.gateway=$NET2_GATEWAY" >> $CONNMAN_PROFILE
+ fi
+
+ [ -n "$NET2_DNS1" ] && NET2_NAMESERVER="$NET2_DNS1"
+ [ -n "$NET2_DNS2" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS2"
+ [ -n "$NET2_DNS3" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS3"
+ [ -n "$NET2_NAMESERVER" ] && echo "Nameservers=$NET2_NAMESERVER;" >> $CONNMAN_PROFILE
+
+ (
+ # wait some time, put eth1 (NET2_IFACE) down and then up
+ # this is just temporary solution until I figure out how to
+ # do properly with connman
+ usleep 5000000
+ ifconfig $NET2_IFACE_NAME down
+ usleep 1000000
+ ifconfig $NET2_IFACE_NAME up
+ )&
- # NETWORK 1: ( LAN / WLAN )
- for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
- if [ ! -f /sys/class/net/$NET_IFACE/address ]; then
- logger -t Connman "### [$i] cannot find /sys/class/net/$NET_IFACE/address ###"
- else
- logger -t Connman "### [$i] found /sys/class/net/$NET_IFACE/address, continue ###"
- NET_IFACE=`cat /sys/class/net/$NET_IFACE/address | sed 's/://g'`
- break
fi
- usleep 500000
- done
+ # END OF NETWORK 2
- if [ "$NET_NETWORK" = "WLAN" -a -n "$NET_SSID" ]; then
- NET_SSID_HEX=`echo -n "$NET_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
+ # overwrite created profile with custom one if exist (debug use only)
+ DEBUG_CONNMAN_PROFILE="/storage/.config/connman.profile"
+ [ -f "$DEBUG_CONNMAN_PROFILE" ] && cp $DEBUG_CONNMAN_PROFILE $CONNMAN_PROFILE
+ [ -f "$DEBUG_CONNMAN_PROFILE" ] && mv $DEBUG_CONNMAN_PROFILE ${DEBUG_CONNMAN_PROFILE}_saved
- # NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
- if [ "$NET_SECURITY" = "WEP" -a -n "$NET_PASSPHRASE" ]; then
- MODE="managed_wep"
- elif [ "$NET_SECURITY" = "WPA/WPA2" -a -n "$NET_PASSPHRASE" ]; then
- MODE="managed_psk"
- else
- MODE="managed_none"
- fi
+ # starting Connection manager
+ progress "starting Connection manager"
- if [ "$NET_HIDDEN" = "true" ]; then
- echo "[wifi_${NET_IFACE}_hidden_${MODE}]" > $CONNMAN_PROFILE
- else
- echo "[wifi_${NET_IFACE}_${NET_SSID_HEX}_${MODE}]" > $CONNMAN_PROFILE
- fi
+ while true; do
+ /usr/sbin/connmand -n > /dev/null 2>&1
+ usleep 250000
+ done
+ )&
+ ;;
- echo "Name=$NET_SSID" >> $CONNMAN_PROFILE
- echo "SSID=$NET_SSID_HEX" >> $CONNMAN_PROFILE
- [ -n "$NET_PASSPHRASE" ] && echo "Passphrase=$NET_PASSPHRASE" >> $CONNMAN_PROFILE
- echo "Favorite=true" >> $CONNMAN_PROFILE
- echo "AutoConnect=true" >> $CONNMAN_PROFILE
- else
- MODE="cable"
- echo "[ethernet_${NET_IFACE}_${MODE}]" > $CONNMAN_PROFILE
- fi
-
- # IP settings
- if [ -z "$NET_IPADDRESS" ]; then
- echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
- else
- echo "IPv4.method=manual" >> $CONNMAN_PROFILE
- echo "IPv4.local_address=$NET_IPADDRESS" >> $CONNMAN_PROFILE
- [ -n "$NET_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET_PREFIXLEN" >> $CONNMAN_PROFILE
- [ -n "$NET_GATEWAY" ] && echo "IPv4.gateway=$NET_GATEWAY" >> $CONNMAN_PROFILE
- fi
-
- [ -n "$NET_DNS1" ] && NET_NAMESERVER="$NET_DNS1"
- [ -n "$NET_DNS2" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS2"
- [ -n "$NET_DNS3" ] && NET_NAMESERVER="$NET_NAMESERVER;$NET_DNS3"
- [ -n "$NET_NAMESERVER" ] && echo "Nameservers=$NET_NAMESERVER;" >> $CONNMAN_PROFILE
-
- # END OF NETWORK 1
-
- # NETWORK 2: ( LAN / WLAN )
- if [ -n "$NET2_NETWORK" -a "$NET2_NETWORK" != "NONE" -a "$NET2_IFACE_NAME" != "$NET_IFACE_NAME" ]; then
- # setup Networking 2
- progress "setup Networking 2"
-
- for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; do
- if [ ! -f /sys/class/net/$NET2_IFACE/address ]; then
- logger -t Connman "### [$i] cannot find /sys/class/net/$NET2_IFACE/address ###"
- else
- logger -t Connman "### [$i] found /sys/class/net/$NET2_IFACE/address, continue ###"
- NET2_IFACE=`cat /sys/class/net/$NET2_IFACE/address | sed 's/://g'`
- break
- fi
- usleep 500000
- done
-
- if [ "$NET2_NETWORK" = "WLAN" -a -n "$NET2_SSID" ]; then
- NET2_SSID_HEX=`echo -n "$NET2_SSID" | od -tx1 | cut -c8-| tr -d ' \n'`
-
- # NET_SECURITY: ( NONE / WEP / WPA/WPA2 )
- if [ "$NET2_SECURITY" = "WEP" -a -n "$NET2_PASSPHRASE" ]; then
- MODE="managed_wep"
- elif [ "$NET2_SECURITY" = "WPA/WPA2" -a -n "$NET2_PASSPHRASE" ]; then
- MODE="managed_psk"
- else
- MODE="managed_none"
- fi
-
- if [ "$NET2_HIDDEN" = "true" ]; then
- echo "[wifi_${NET2_IFACE}_hidden_${MODE}]" >> $CONNMAN_PROFILE
- else
- echo "[wifi_${NET2_IFACE}_${NET2_SSID_HEX}_${MODE}]" >> $CONNMAN_PROFILE
- fi
-
- echo "Name=$NET2_SSID" >> $CONNMAN_PROFILE
- echo "SSID=$NET2_SSID_HEX" >> $CONNMAN_PROFILE
- [ -n "$NET2_PASSPHRASE" ] && echo "Passphrase=$NET2_PASSPHRASE" >> $CONNMAN_PROFILE
- echo "Favorite=true" >> $CONNMAN_PROFILE
- echo "AutoConnect=true" >> $CONNMAN_PROFILE
- else
- MODE="cable"
- echo "[ethernet_${NET2_IFACE}_${MODE}]" >> $CONNMAN_PROFILE
- fi
-
- # IP settings
- if [ -z "$NET2_IPADDRESS" ]; then
- echo "IPv4.method=dhcp" >> $CONNMAN_PROFILE
- else
- echo "IPv4.method=manual" >> $CONNMAN_PROFILE
- echo "IPv4.local_address=$NET2_IPADDRESS" >> $CONNMAN_PROFILE
- [ -n "$NET2_PREFIXLEN" ] && echo "IPv4.netmask_prefixlen=$NET2_PREFIXLEN" >> $CONNMAN_PROFILE
- [ -n "$NET2_GATEWAY" ] && echo "IPv4.gateway=$NET2_GATEWAY" >> $CONNMAN_PROFILE
- fi
-
- [ -n "$NET2_DNS1" ] && NET2_NAMESERVER="$NET2_DNS1"
- [ -n "$NET2_DNS2" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS2"
- [ -n "$NET2_DNS3" ] && NET2_NAMESERVER="$NET2_NAMESERVER;$NET2_DNS3"
- [ -n "$NET2_NAMESERVER" ] && echo "Nameservers=$NET2_NAMESERVER;" >> $CONNMAN_PROFILE
-
-(
- # wait some time, put eth1 (NET2_IFACE) down and then up
- # this is just temporary solution until I figure out how to
- # do properly with connman
- usleep 5000000
- ifconfig $NET2_IFACE_NAME down
- usleep 1000000
- ifconfig $NET2_IFACE_NAME up
-)&
-
- fi
- # END OF NETWORK 2
-
- # overwrite created profile with custom one if exist (debug use only)
- DEBUG_CONNMAN_PROFILE="/storage/.config/connman.profile"
- [ -f "$DEBUG_CONNMAN_PROFILE" ] && cp $DEBUG_CONNMAN_PROFILE $CONNMAN_PROFILE
- [ -f "$DEBUG_CONNMAN_PROFILE" ] && mv $DEBUG_CONNMAN_PROFILE ${DEBUG_CONNMAN_PROFILE}_saved
-
- # starting Connection manager
- progress "starting Connection manager"
-
- while true; do
- /usr/sbin/connmand -n > /dev/null 2>&1
- usleep 250000
- done
-)&
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/network/netmount/init.d/59_netmount b/packages/network/netmount/init.d/59_netmount
index a11b1a50bf..b054d468d8 100644
--- a/packages/network/netmount/init.d/59_netmount
+++ b/packages/network/netmount/init.d/59_netmount
@@ -22,9 +22,16 @@
#
# runlevels: openelec, textmode
-(
- wait_for_network
+case $RUNLEVEL in
+ boot)
+ (
+ wait_for_network
- progress "mounting Network shares"
- netmount > /dev/null 2>&1
-)&
+ progress "mounting Network shares"
+ netmount > /dev/null 2>&1
+ )&
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/network/openssh/build b/packages/network/openssh/build
index 62b0c5cc8a..f986231254 100755
--- a/packages/network/openssh/build
+++ b/packages/network/openssh/build
@@ -26,7 +26,7 @@ export LD="$TARGET_CC"
export LDFLAGS="$TARGET_CFLAGS $TARGET_LDFLAGS"
cd $PKG_BUILD
-ac_cv_have_space_for_dirent_d_name=yes \
+#ac_cv_have_space_for_dirent_d_name=yes \
./configure --host=$TARGET_NAME \
--build=$HOST_NAME \
--prefix=/usr \
diff --git a/packages/network/openssh/init.d/51_sshd b/packages/network/openssh/init.d/51_sshd
index f97a02e92e..237e6fff87 100644
--- a/packages/network/openssh/init.d/51_sshd
+++ b/packages/network/openssh/init.d/51_sshd
@@ -22,55 +22,63 @@
#
# runlevels: openelec, textmode
-(
- RSA1_KEY="/storage/.cache/ssh/ssh_host_key"
- RSA2_KEY="/storage/.cache/ssh/ssh_host_rsa_key"
- DSA2_KEY="/storage/.cache/ssh/ssh_host_dsa_key"
+ RSA1_KEY="/storage/.cache/ssh/ssh_host_key"
+ RSA2_KEY="/storage/.cache/ssh/ssh_host_rsa_key"
+ DSA2_KEY="/storage/.cache/ssh/ssh_host_dsa_key"
- KEYGEN="/usr/bin/ssh-keygen"
- SSHD="/usr/sbin/sshd"
+ KEYGEN="/usr/bin/ssh-keygen"
+ SSHD="/usr/sbin/sshd"
- # Check for the SSH1 RSA key
- if [ ! -f $RSA1_KEY ] ; then
- progress "SSH: generating SSH1 RSA key"
+case $RUNLEVEL in
+ boot)
+ (
+ # Check for the SSH1 RSA key
+ if [ ! -f $RSA1_KEY ] ; then
+ progress "SSH: generating SSH1 RSA key"
- mkdir -p /storage/.cache/ssh
- $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null
- chmod 600 $RSA1_KEY
- fi
+ mkdir -p /storage/.cache/ssh
+ $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null
+ chmod 600 $RSA1_KEY
+ fi
- # Check for the SSH2 RSA key
- if [ ! -f $RSA2_KEY ] ; then
- progress "SSH: generating SSH2 RSA key"
+ # Check for the SSH2 RSA key
+ if [ ! -f $RSA2_KEY ] ; then
+ progress "SSH: generating SSH2 RSA key"
- mkdir -p /storage/.cache/ssh
- $KEYGEN -q -t rsa -f $RSA2_KEY -C '' -N '' >&/dev/null
- chmod 600 $RSA2_KEY
- fi
+ mkdir -p /storage/.cache/ssh
+ $KEYGEN -q -t rsa -f $RSA2_KEY -C '' -N '' >&/dev/null
+ chmod 600 $RSA2_KEY
+ fi
- # Check for the SSH2 DSA key
- if [ ! -f $DSA2_KEY ] ; then
- progress "SSH: generating SSH2 DSA key"
+ # Check for the SSH2 DSA key
+ if [ ! -f $DSA2_KEY ] ; then
+ progress "SSH: generating SSH2 DSA key"
- mkdir -p /storage/.cache/ssh
- $KEYGEN -q -t dsa -f $DSA2_KEY -C '' -N '' >&/dev/null
- chmod 600 $DSA2_KEY
- fi
+ mkdir -p /storage/.cache/ssh
+ $KEYGEN -q -t dsa -f $DSA2_KEY -C '' -N '' >&/dev/null
+ chmod 600 $DSA2_KEY
+ fi
- # Check for predifined known hosts file
- if [ -f /etc/ssh/known_hosts -a ! -f $HOME/.ssh/known_hosts ] ; then
- progress "SSH: setup predifined known hosts"
+ # Check for predifined known hosts file
+ if [ -f /etc/ssh/known_hosts -a ! -f $HOME/.ssh/known_hosts ] ; then
+ progress "SSH: setup predifined known hosts"
- mkdir -p /$HOME/.ssh
- cp /etc/ssh/known_hosts $HOME/.ssh
- fi
+ mkdir -p /$HOME/.ssh
+ cp /etc/ssh/known_hosts $HOME/.ssh
+ fi
- progress "Starting SSH Server"
+ progress "Starting SSH Server"
- wait_for_network
+ wait_for_network
- mkdir -p /var/empty
- chmod -R 600 /var/empty
- $SSHD
+ mkdir -p /var/empty
+ chmod -R 600 /var/empty
+ $SSHD
+ )&
+ ;;
-)&
+ poweroff|reboot)
+ progress "Stopping SSH Server"
+ killall sshd
+ ;;
+esac
diff --git a/packages/network/openssh/meta b/packages/network/openssh/meta
index e9abd1b200..941f4db942 100644
--- a/packages/network/openssh/meta
+++ b/packages/network/openssh/meta
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="openssh"
-PKG_VERSION="5.8p2"
+PKG_VERSION="5.9p1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
diff --git a/packages/network/openssh/patches/openssh-5.8p2-000-crosscompiling.patch b/packages/network/openssh/patches/openssh-5.8p2-000-crosscompiling.patch
deleted file mode 100644
index 95cc6c85cc..0000000000
--- a/packages/network/openssh/patches/openssh-5.8p2-000-crosscompiling.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -Naur openssh-5.8p1-old/configure.ac openssh-5.8p1-new/configure.ac
---- openssh-5.8p1-old/configure.ac 2011-02-21 17:41:23.000000000 -0800
-+++ openssh-5.8p1-new/configure.ac 2011-02-21 17:42:20.000000000 -0800
-@@ -41,7 +41,7 @@
- AC_PROG_RANLIB
- AC_PROG_INSTALL
- AC_PROG_EGREP
--AC_PATH_PROG(AR, ar)
-+AC_PATH_TOOL(AR, ar)
- AC_PATH_PROG(CAT, cat)
- AC_PATH_PROG(KILL, kill)
- AC_PATH_PROGS(PERL, perl5 perl)
-@@ -1188,25 +1188,25 @@
-
- AC_CHECK_DECLS(GLOB_NOMATCH, , , [#include ])
-
--AC_MSG_CHECKING([whether struct dirent allocates space for d_name])
--AC_RUN_IFELSE(
-- [AC_LANG_SOURCE([[
-+AC_CACHE_CHECK(
-+ [whether struct dirent allocates space for d_name],
-+ [ac_cv_have_space_for_dirent_d_name],
-+ [AC_RUN_IFELSE(
-+ [AC_LANG_SOURCE([[
- #include
- #include
- int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));}
-- ]])],
-- [AC_MSG_RESULT(yes)],
-- [
-- AC_MSG_RESULT(no)
-- AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME, 1,
-- [Define if your struct dirent expects you to
-- allocate extra space for d_name])
-- ],
-- [
-- AC_MSG_WARN([cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME])
-- AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME)
-- ]
-+ ]])],
-+ [ ac_cv_have_space_for_dirent_d_name="yes" ],
-+ [ ac_cv_have_space_for_dirent_d_name="no" ],
-+ [ ac_cv_have_space_for_dirent_d_name="no" ]
-+ )]
- )
-+if test "x$ac_cv_have_space_for_dirent_d_name" = "xno" ; then
-+ AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME, 1,
-+ [Define if your struct dirent expects you to
-+ allocate extra space for d_name])
-+fi
-
- AC_MSG_CHECKING([for /proc/pid/fd directory])
- if test -d "/proc/$$/fd" ; then
diff --git a/packages/network/openssh/patches/openssh-5.8p2-001-abstract_socket.patch b/packages/network/openssh/patches/openssh-5.8p2-001-abstract_socket.patch
deleted file mode 100644
index 934cd1c343..0000000000
--- a/packages/network/openssh/patches/openssh-5.8p2-001-abstract_socket.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -Naur openssh-5.8p1-old/channels.c openssh-5.8p1-new/channels.c
---- openssh-5.8p1-old/channels.c 2010-11-30 17:02:35.000000000 -0800
-+++ openssh-5.8p1-new/channels.c 2011-02-21 17:41:34.000000000 -0800
-@@ -61,6 +61,7 @@
- #include
- #include
- #include
-+#include
-
- #include "openbsd-compat/sys-queue.h"
- #include "xmalloc.h"
-@@ -3353,6 +3354,8 @@
- {
- int sock;
- struct sockaddr_un addr;
-+ int abstract = 0;
-+ int addrsize = 0;
-
- sock = socket(AF_UNIX, SOCK_STREAM, 0);
- if (sock < 0)
-@@ -3360,8 +3363,15 @@
- memset(&addr, 0, sizeof(addr));
- addr.sun_family = AF_UNIX;
- strlcpy(addr.sun_path, pathname, sizeof addr.sun_path);
-- if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == 0)
-+ addrsize = offsetof(struct sockaddr_un, sun_path) + strlen(addr.sun_path);
-+ if (addr.sun_path[0] = '@')
-+ abstract = 1;
-+ if (abstract)
-+ addr.sun_path[0] = '\0';
-+ if (connect(sock, (struct sockaddr *)&addr, addrsize) == 0)
- return sock;
-+ if (abstract)
-+ addr.sun_path[0] = '@';
- close(sock);
- error("connect %.100s: %.100s", addr.sun_path, strerror(errno));
- return -1;
-diff -Naur openssh-5.8p1-old/defines.h openssh-5.8p1-new/defines.h
---- openssh-5.8p1-old/defines.h 2011-01-17 02:15:31.000000000 -0800
-+++ openssh-5.8p1-new/defines.h 2011-02-21 17:41:34.000000000 -0800
-@@ -411,7 +411,7 @@
- # ifdef __hpux
- # define X_UNIX_PATH "/var/spool/sockets/X11/%u"
- # else
--# define X_UNIX_PATH "/tmp/.X11-unix/X%u"
-+# define X_UNIX_PATH "@/tmp/.X11-unix/X%u"
- # endif
- #endif /* X_UNIX_PATH */
- #define _PATH_UNIX_X X_UNIX_PATH
diff --git a/packages/network/samba/scripts/52_samba b/packages/network/samba/scripts/52_samba
index 62ea24a57f..897b261b68 100644
--- a/packages/network/samba/scripts/52_samba
+++ b/packages/network/samba/scripts/52_samba
@@ -22,28 +22,38 @@
#
# runlevels: openelec, textmode
-(
- if [ -f /var/config/settings.conf ]; then
- . /var/config/settings.conf
+SMB_USERCONF="/storage/.config/samba.conf"
+SMB_DEFCONF="/etc/samba/smb.conf"
- if [ "$SAMBA_START" = "true" ]; then
+case $RUNLEVEL in
+ boot)
+ (
+ if [ -f /var/config/settings.conf ]; then
+ . /var/config/settings.conf
- wait_for_network
+ if [ "$SAMBA_START" = "true" ]; then
- progress "Starting Samba server"
+ wait_for_network
- SMB_USERCONF="/storage/.config/samba.conf"
- SMB_DEFCONF="/etc/samba/smb.conf"
+ progress "Starting Samba server"
- if [ -f $SMB_USERCONF ]; then
- SMB_ARG="--configfile=$SMB_USERCONF"
- else
- SMB_ARG="--configfile=$SMB_DEFCONF"
+ if [ -f $SMB_USERCONF ]; then
+ SMB_ARG="--configfile=$SMB_USERCONF"
+ else
+ SMB_ARG="--configfile=$SMB_DEFCONF"
+ fi
+
+ mkdir -p /var/log/samba
+ smbd --daemon $SMB_ARG > /dev/null 2>&1
+ nmbd --daemon $SMB_ARG > /dev/null 2>&1
+ fi
fi
+ )&
+ ;;
- mkdir -p /var/log/samba
- smbd --daemon $SMB_ARG > /dev/null 2>&1
- nmbd --daemon $SMB_ARG > /dev/null 2>&1
- fi
- fi
-)&
+ poweroff|reboot)
+ progress "Stopping Samba server"
+ killall nmbd
+ killall smbd
+ ;;
+esac
diff --git a/packages/sysutils/ConsoleKit/init.d/34_ConsoleKit b/packages/sysutils/ConsoleKit/init.d/34_ConsoleKit
index 40f3efa16f..28e887cdac 100644
--- a/packages/sysutils/ConsoleKit/init.d/34_ConsoleKit
+++ b/packages/sysutils/ConsoleKit/init.d/34_ConsoleKit
@@ -22,8 +22,14 @@
#
# runlevels: openelec, textmode
-progress "starting ConsoleKit daemon"
+case $RUNLEVEL in
+ boot)
+ progress "starting ConsoleKit daemon"
- install -m 755 -d /var/log/ConsoleKit
- install -m 755 -d /var/run/ConsoleKit
+ install -m 755 -d /var/log/ConsoleKit
+ install -m 755 -d /var/run/ConsoleKit
+ ;;
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/sysutils/ConsoleKit/scripts/ck-system-restart b/packages/sysutils/ConsoleKit/scripts/ck-system-restart
index 003c352270..160e50fac4 100755
--- a/packages/sysutils/ConsoleKit/scripts/ck-system-restart
+++ b/packages/sysutils/ConsoleKit/scripts/ck-system-restart
@@ -20,4 +20,20 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
-reboot
+. /etc/profile
+
+ progress "Reboot the syste"
+ RET=0
+
+ RUNLEVEL="reboot"
+
+ for script in `ls -r1 /etc/init.d/*`; do
+ if grep -q -e "^# runlevels:.*$MODE" $script; then
+ . $script
+ S_RET=$?
+ test $S_RET -ge $RET && RET=$S_RET
+ fi
+ done
+
+ sync
+ reboot
diff --git a/packages/sysutils/ConsoleKit/scripts/ck-system-stop b/packages/sysutils/ConsoleKit/scripts/ck-system-stop
index a6e24e8385..29be405b0f 100755
--- a/packages/sysutils/ConsoleKit/scripts/ck-system-stop
+++ b/packages/sysutils/ConsoleKit/scripts/ck-system-stop
@@ -20,4 +20,20 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
-poweroff
+. /etc/profile
+
+ progress "Poweroff the system"
+ RET=0
+
+ RUNLEVEL="poweroff"
+
+ for script in `ls -r1 /etc/init.d/*`; do
+ if grep -q -e "^# runlevels:.*$MODE" $script; then
+ . $script
+ S_RET=$?
+ test $S_RET -ge $RET && RET=$S_RET
+ fi
+ done
+
+ sync
+ poweroff -f
diff --git a/packages/sysutils/busybox/init.d/01_mount-filesystem b/packages/sysutils/busybox/init.d/01_mount-filesystem
index 5cf3c27d0b..bb6a18e50d 100644
--- a/packages/sysutils/busybox/init.d/01_mount-filesystem
+++ b/packages/sysutils/busybox/init.d/01_mount-filesystem
@@ -23,5 +23,31 @@
#
# runlevels: openelec, installer, textmode
-progress "mounting needed filesystems"
- mount -n -t ramfs none /var
+case $RUNLEVEL in
+ boot)
+ progress "mounting needed filesystems"
+ mount -n -t devtmpfs none /dev
+ mkdir -p /dev/pts
+ mount -n -t devpts -o gid=5,mode=620 none /dev/pts
+ mkdir -p /dev/shm
+ mount -n -t tmpfs none /dev/shm
+ mount -n -t tmpfs none /run
+ mount -n -t ramfs none /var
+ mount "$disk" /storage -o rw,noatime > /dev/null 2>&1
+ ;;
+
+ poweroff|reboot)
+ progress "unmounting filesystems"
+ for i in 1 2 3 4 5 6 7 8 9 10; do
+ echo "umount /storage"
+ ERR_ENV=1
+ umount /storage
+ [ "$?" -eq "0" ] && ERR_ENV=0 && break
+ usleep 1000000
+ done
+ if [ "$ERR_ENV" -ne "0" ]; then
+ mount -o remount,ro /storage
+ umount -l /storage
+ fi
+ ;;
+esac
diff --git a/packages/sysutils/busybox/init.d/02_make-directorys b/packages/sysutils/busybox/init.d/02_make-directorys
index f52d5c4c69..a2666de347 100644
--- a/packages/sysutils/busybox/init.d/02_make-directorys
+++ b/packages/sysutils/busybox/init.d/02_make-directorys
@@ -23,38 +23,47 @@
#
# runlevels: openelec, installer, textmode
-progress "make variable directory structure"
- mkdir -p /var/cache \
- /var/lock \
- /var/media \
- /var/run \
- /var/tmp \
- /var/run/sepermit \
- /var/run/lirc
+case $RUNLEVEL in
+ boot)
+ progress "make variable directory structure"
+ mkdir -p /var/cache \
+ /var/lock \
+ /var/media \
+ /var/run \
+ /var/tmp \
+ /var/run/sepermit \
+ /var/run/lirc
- chmod 1777 /var/run /var/tmp
+ chmod 1777 /var/run /var/tmp
- touch /var/run/utmp
- chmod 1777 /var/run/utmp
+ touch /var/run/utmp
+ chmod 1777 /var/run/utmp
- if test "$DEBUG" = "yes"; then
- mkdir -p $HOME/log
- ln -sf $HOME/log /var/log
- else
- mkdir -p /var/log
- fi
+ if test "$DEBUG" = "yes"; then
+ mkdir -p $HOME/log
+ ln -sf $HOME/log /var/log
+ else
+ mkdir -p /var/log
+ fi
- touch /var/log/wtmp
- chmod 1777 /var/log/wtmp
+ touch /var/log/wtmp
+ chmod 1777 /var/log/wtmp
+
+ # others:
+ mkdir -p /var/lib/polkit-1
+ chmod 700 /var/lib/polkit-1
+ mkdir -p /var/lib/polkit-1/localauthority/10-vendor.d
+ mkdir -p /var/lib/polkit-1/localauthority/20-org.d
+ mkdir -p /var/lib/polkit-1/localauthority/30-site.d
+ mkdir -p /var/lib/polkit-1/localauthority/50-local.d
+ mkdir -p /var/lib/polkit-1/localauthority/90-mandatory.d
+
+ mkdir -p /var/lib/udisks
+ mkdir -p /var/lib/upower
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
-# others:
- mkdir -p /var/lib/polkit-1
- chmod 700 /var/lib/polkit-1
- mkdir -p /var/lib/polkit-1/localauthority/10-vendor.d
- mkdir -p /var/lib/polkit-1/localauthority/20-org.d
- mkdir -p /var/lib/polkit-1/localauthority/30-site.d
- mkdir -p /var/lib/polkit-1/localauthority/50-local.d
- mkdir -p /var/lib/polkit-1/localauthority/90-mandatory.d
- mkdir -p /var/lib/udisks
- mkdir -p /var/lib/upower
diff --git a/packages/sysutils/busybox/init.d/03_debugshell b/packages/sysutils/busybox/init.d/03_debugshell
index 94e5da62c6..d66a742f9a 100644
--- a/packages/sysutils/busybox/init.d/03_debugshell
+++ b/packages/sysutils/busybox/init.d/03_debugshell
@@ -25,13 +25,18 @@
TTY="3"
if [ "$DEBUG" = "yes" ]; then
+ case $RUNLEVEL in
+ boot)
+ echo "###########################################"
+ echo "## it seems we are running in Debug mode ##"
+ echo "## starting debugging shell on console $TTY ##"
+ echo "## ...... switch with ctrl-alt-f$TTY ...... ##"
+ echo "###########################################"
- echo "###########################################"
- echo "## it seems we are running in Debug mode ##"
- echo "## starting debugging shell on console $TTY ##"
- echo "## ...... switch with ctrl-alt-f$TTY ...... ##"
- echo "###########################################"
-
- openvt -w -c $TTY /bin/sh &
+ openvt -w -c $TTY /bin/sh &
+ ;;
+ poweroff|reboot)
+ ;;
+ esac
fi
diff --git a/packages/sysutils/busybox/init.d/04_systemconfig b/packages/sysutils/busybox/init.d/04_systemconfig
index 7381f7bdcb..7b8c90f0a2 100644
--- a/packages/sysutils/busybox/init.d/04_systemconfig
+++ b/packages/sysutils/busybox/init.d/04_systemconfig
@@ -25,9 +25,16 @@
OPENELEC_SETTINGS="$HOME/.xbmc/userdata/addon_data/os.openelec.settings/settings.xml"
-if [ -f "$OPENELEC_SETTINGS" ]; then
- progress "creating system settings"
+case $RUNLEVEL in
+ boot)
+ if [ -f "$OPENELEC_SETTINGS" ]; then
+ progress "creating system settings"
- mkdir -p /var/config
- cat "$OPENELEC_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/settings.conf
-fi
+ mkdir -p /var/config
+ cat "$OPENELEC_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/settings.conf
+ fi
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/sysutils/busybox/init.d/04_userconfig b/packages/sysutils/busybox/init.d/04_userconfig
index a9dc70dd55..18743854fe 100644
--- a/packages/sysutils/busybox/init.d/04_userconfig
+++ b/packages/sysutils/busybox/init.d/04_userconfig
@@ -23,23 +23,30 @@
#
# runlevels: openelec, textmode
-if [ -d /usr/config ]; then
- progress "copy userconfig and samples"
+case $RUNLEVEL in
+ boot)
+ if [ -d /usr/config ]; then
+ progress "copy userconfig and samples"
- cd /usr/config
- mkdir -p /storage/.config
+ cd /usr/config
+ mkdir -p /storage/.config
- for dir in `find . -type d`; do
- mkdir -p /storage/.config/$dir
- done
+ for dir in `find . -type d`; do
+ mkdir -p /storage/.config/$dir
+ done
- for config in `find . -type f -name "*.conf"`; do
- if [ ! -f /storage/.config/$config ]; then
- cp $config /storage/.config/$config
- fi
- done
+ for config in `find . -type f -name "*.conf"`; do
+ if [ ! -f /storage/.config/$config ]; then
+ cp $config /storage/.config/$config
+ fi
+ done
- for sample in `find . -type f -name "*.sample"`; do
- cp $sample /storage/.config/$sample
- done
-fi
+ for sample in `find . -type f -name "*.sample"`; do
+ cp $sample /storage/.config/$sample
+ done
+ fi
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/sysutils/busybox/init.d/08_syslogd b/packages/sysutils/busybox/init.d/08_syslogd
index 2bb855a3e2..5b7ad390db 100644
--- a/packages/sysutils/busybox/init.d/08_syslogd
+++ b/packages/sysutils/busybox/init.d/08_syslogd
@@ -23,10 +23,22 @@
#
# runlevels: openelec, installer, textmode
-(
- progress "Starting Syslog daemon"
- syslogd
+case $RUNLEVEL in
+ boot)
+ (
+ progress "Starting Syslog daemon"
+ syslogd
- progress "Starting Kernellog daemon"
- klogd
-)&
+ progress "Starting Kernellog daemon"
+ klogd
+ )&
+ ;;
+
+ poweroff|reboot)
+ progress "Stopping Kernellog daemon"
+ killall klogd
+
+ progress "Stopping Syslog daemon"
+ killall syslogd
+ ;;
+esac
diff --git a/packages/sysutils/busybox/init.d/10_cdrom b/packages/sysutils/busybox/init.d/10_cdrom
index 545552bd24..e24ae1fcc9 100644
--- a/packages/sysutils/busybox/init.d/10_cdrom
+++ b/packages/sysutils/busybox/init.d/10_cdrom
@@ -23,5 +23,12 @@
#
# runlevels: openelec, installer, textmode
-progress "Setup some CDROM settings"
- sysctl -w dev.cdrom.lock=0 > /dev/null 2>&1 &
+case $RUNLEVEL in
+ boot)
+ progress "Setup some CDROM settings"
+ sysctl -w dev.cdrom.lock=0 > /dev/null 2>&1 &
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/sysutils/busybox/init.d/99_shell b/packages/sysutils/busybox/init.d/99_shell
index 111fe07e08..90be4cf5b8 100644
--- a/packages/sysutils/busybox/init.d/99_shell
+++ b/packages/sysutils/busybox/init.d/99_shell
@@ -24,12 +24,19 @@
TTY="1"
-echo "###########################################"
-echo "## it seems we are running in Text mode. ##"
-echo "## .... starting shell on console $TTY .... ##"
-echo "## ...... switch with ctrl-alt-f$TTY ...... ##"
-echo "###########################################"
+case $RUNLEVEL in
+ boot)
+ echo "###########################################"
+ echo "## it seems we are running in Text mode. ##"
+ echo "## .... starting shell on console $TTY .... ##"
+ echo "## ...... switch with ctrl-alt-f$TTY ...... ##"
+ echo "###########################################"
-while true; do
- openvt -w -c $TTY /bin/sh
-done
+ while true; do
+ openvt -w -c $TTY /bin/sh
+ done
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/sysutils/busybox/meta b/packages/sysutils/busybox/meta
index 1d8c6e06db..b8c795466b 100644
--- a/packages/sysutils/busybox/meta
+++ b/packages/sysutils/busybox/meta
@@ -19,13 +19,13 @@
################################################################################
PKG_NAME="busybox"
-PKG_VERSION="1.19.1"
+PKG_VERSION="1.19.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.busybox.net"
PKG_URL="http://busybox.net/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2"
-PKG_DEPENDS="grep hdparm speedcontrol pastebinit"
+PKG_DEPENDS="kexec-tools grep hdparm speedcontrol pastebinit"
PKG_BUILD_DEPENDS="toolchain busybox-hosttools"
PKG_PRIORITY="required"
PKG_SECTION="system"
diff --git a/packages/sysutils/busybox/patches/busybox-1.19.1-match_fstype_fix.patch b/packages/sysutils/busybox/patches/busybox-1.19.1-match_fstype_fix.patch
deleted file mode 100644
index ebdadee15e..0000000000
--- a/packages/sysutils/busybox/patches/busybox-1.19.1-match_fstype_fix.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Naur busybox-1.19.1/libbb/match_fstype.c busybox-1.19.1.patch/libbb/match_fstype.c
---- busybox-1.19.1/libbb/match_fstype.c 2011-08-28 12:59:56.000000000 +0200
-+++ busybox-1.19.1.patch/libbb/match_fstype.c 2011-09-03 02:10:51.480283260 +0200
-@@ -10,10 +10,10 @@
- * Licensed under GPLv2 or later, see file LICENSE in this source tree.
- */
-
--#ifdef HAVE_MNTENT_H
--
- #include "libbb.h"
-
-+#ifdef HAVE_MNTENT_H
-+
- int FAST_FUNC match_fstype(const struct mntent *mt, const char *t_fstype)
- {
- int match = 1;
diff --git a/packages/sysutils/busybox/patches/busybox-1.19.1-patch.patch b/packages/sysutils/busybox/patches/busybox-1.19.1-patch.patch
deleted file mode 100644
index 853e20fa4c..0000000000
--- a/packages/sysutils/busybox/patches/busybox-1.19.1-patch.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- busybox-1.19.1/editors/patch.c
-+++ busybox-1.19.1-patch/editors/patch.c
-@@ -70,8 +70,7 @@ struct double_list {
-
- // Free all the elements of a linked list
- // Call freeit() on each element before freeing it.
--static
--void dlist_free(struct double_list *list, void (*freeit)(void *data))
-+static void dlist_free(struct double_list *list, void (*freeit)(void *data))
- {
- while (list) {
- void *pop = list;
-@@ -83,8 +82,7 @@ void dlist_free(struct double_list *list
- }
-
- // Add an entry before "list" element in (circular) doubly linked list
--static
--struct double_list *dlist_add(struct double_list **list, char *data)
-+static struct double_list *dlist_add(struct double_list **list, char *data)
- {
- struct double_list *llist;
- struct double_list *line = xmalloc(sizeof(*line));
-@@ -232,7 +230,7 @@ static int apply_one_hunk(void)
- else matcheof = 0;
- if (PATCH_DEBUG) fdprintf(2, "HUNK:%s\n", plist->data);
- }
-- matcheof = matcheof < TT.context;
-+ matcheof = !matcheof || matcheof < TT.context;
-
- if (PATCH_DEBUG) fdprintf(2,"MATCHEOF=%c\n", matcheof ? 'Y' : 'N');
-
diff --git a/packages/sysutils/busybox/patches/busybox-1.19.1-00_halt_no_init.patch b/packages/sysutils/busybox/patches/busybox-1.19.2-00_halt_no_init.patch
similarity index 100%
rename from packages/sysutils/busybox/patches/busybox-1.19.1-00_halt_no_init.patch
rename to packages/sysutils/busybox/patches/busybox-1.19.2-00_halt_no_init.patch
diff --git a/packages/sysutils/busybox/patches/busybox-1.19.1-01_check_cc.patch b/packages/sysutils/busybox/patches/busybox-1.19.2-01_check_cc.patch
similarity index 100%
rename from packages/sysutils/busybox/patches/busybox-1.19.1-01_check_cc.patch
rename to packages/sysutils/busybox/patches/busybox-1.19.2-01_check_cc.patch
diff --git a/packages/sysutils/busybox/patches/busybox-1.19.1-02_user_modprobe.d_dir-0.1.patch b/packages/sysutils/busybox/patches/busybox-1.19.2-02_user_modprobe.d_dir-0.1.patch
similarity index 100%
rename from packages/sysutils/busybox/patches/busybox-1.19.1-02_user_modprobe.d_dir-0.1.patch
rename to packages/sysutils/busybox/patches/busybox-1.19.2-02_user_modprobe.d_dir-0.1.patch
diff --git a/packages/sysutils/busybox/profile.d/path.conf b/packages/sysutils/busybox/profile.d/path.conf
index 80d106f6c6..8922da6f75 100644
--- a/packages/sysutils/busybox/profile.d/path.conf
+++ b/packages/sysutils/busybox/profile.d/path.conf
@@ -25,9 +25,4 @@
PATH="/bin:/sbin:/usr/bin:/usr/sbin"
-# hack: add addons to $PATH
- for i in `find /storage/.xbmc/addons/* -name bin -type d`; do
- PATH="$PATH:$i"
- done
-
export PATH
diff --git a/packages/sysutils/busybox/profile.d/runlevel.conf b/packages/sysutils/busybox/profile.d/runlevel.conf
index 2a65c191a3..16d841da2e 100644
--- a/packages/sysutils/busybox/profile.d/runlevel.conf
+++ b/packages/sysutils/busybox/profile.d/runlevel.conf
@@ -24,14 +24,14 @@
################################################################################
# getting runlevel
- RUNLEVEL="openelec"
+ MODE="openelec"
if test "$TEXTMODE" = yes; then
- RUNLEVEL="textmode"
+ MODE="textmode"
fi
if test "$INSTALLER" = yes; then
- RUNLEVEL="installer"
+ MODE="installer"
fi
-export RUNLEVEL
+export MODE
diff --git a/packages/sysutils/busybox/scripts/init b/packages/sysutils/busybox/scripts/init
index e81019243c..25f8afa3b4 100755
--- a/packages/sysutils/busybox/scripts/init
+++ b/packages/sysutils/busybox/scripts/init
@@ -26,16 +26,6 @@
echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
- mount -n -t devtmpfs none /dev
-
- mkdir -p /dev/pts
- mount -n -t devpts -o gid=5,mode=620 none /dev/pts
-
- mkdir -p /dev/shm
- mount -n -t tmpfs none /dev/shm
-
- mount -n -t tmpfs none /run
-
# showing version
lsb_release
@@ -46,8 +36,10 @@
progress "Starting Init Scripts"
RET=0
- for script in /etc/init.d/*; do
- if grep -q -e "^# runlevels:.*$RUNLEVEL" $script; then
+ RUNLEVEL="boot"
+
+ for script in `ls -1 /etc/init.d/*`; do
+ if grep -q -e "^# runlevels:.*$MODE" $script; then
. $script
S_RET=$?
test $S_RET -ge $RET && RET=$S_RET
diff --git a/packages/sysutils/dbus/init.d/14_dbus b/packages/sysutils/dbus/init.d/14_dbus
index 6e84b9b8c7..431a595f72 100644
--- a/packages/sysutils/dbus/init.d/14_dbus
+++ b/packages/sysutils/dbus/init.d/14_dbus
@@ -23,10 +23,19 @@
#
# runlevels: openelec, textmode
-(
- progress "Starting D-BUS"
+case $RUNLEVEL in
+ boot)
+ (
+ progress "Starting D-BUS"
- mkdir -p /var/lib/dbus /var/run/dbus
- dbus-uuidgen --ensure
- dbus-daemon --system
-)&
\ No newline at end of file
+ mkdir -p /var/lib/dbus /var/run/dbus
+ dbus-uuidgen --ensure
+ dbus-daemon --system
+ )&
+ ;;
+
+ poweroff|reboot)
+ progress "Stopping D-BUS"
+ killall dbus-daemon
+ ;;
+esac
diff --git a/packages/sysutils/fuse/init.d/15_fuse b/packages/sysutils/fuse/init.d/15_fuse
index 76996f5d03..62df42dc12 100644
--- a/packages/sysutils/fuse/init.d/15_fuse
+++ b/packages/sysutils/fuse/init.d/15_fuse
@@ -23,5 +23,14 @@
#
# runlevels: openelec, textmode
-progress "Starting Fuse"
- mount -t fusectl fusectl /sys/fs/fuse/connections >/dev/null 2>&1
\ No newline at end of file
+case $RUNLEVEL in
+ boot)
+ progress "Starting Fuse"
+ mount -t fusectl fusectl /sys/fs/fuse/connections >/dev/null 2>&1
+ ;;
+
+ poweroff|reboot)
+ progress "Stopping Fuse"
+ umount /sys/fs/fuse/connections
+ ;;
+esac
diff --git a/packages/sysutils/kexec-tools/build b/packages/sysutils/kexec-tools/build
new file mode 100755
index 0000000000..5d97fbd8af
--- /dev/null
+++ b/packages/sysutils/kexec-tools/build
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+. config/options $1
+
+CFLAGS="-O2" # -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2"
+LDFLAGS=""
+
+cd $PKG_BUILD
+./configure --host=$TARGET_NAME \
+ --build=$HOST_NAME \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --datadir=/usr/share \
+ --libexecdir=/usr/lib/upower \
+ --localstatedir=/var \
+ --without-gamecube \
+ --with-zlib \
+ --without-lzma \
+ --without-xen \
+
+make
diff --git a/packages/sysutils/kexec-tools/install b/packages/sysutils/kexec-tools/install
new file mode 100755
index 0000000000..f82f9ed0b5
--- /dev/null
+++ b/packages/sysutils/kexec-tools/install
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+. config/options $1
+
+mkdir -p $INSTALL/usr/sbin
+ cp $PKG_BUILD/build/sbin/kexec $INSTALL/usr/sbin
diff --git a/packages/sysutils/kexec-tools/meta b/packages/sysutils/kexec-tools/meta
new file mode 100644
index 0000000000..3f629671b3
--- /dev/null
+++ b/packages/sysutils/kexec-tools/meta
@@ -0,0 +1,36 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+PKG_NAME="kexec-tools"
+PKG_VERSION="2.0.2"
+PKG_REV="1"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="http://www.kernel.org/pub/linux/kernel/people/horms/"
+PKG_URL="http://horms.net/projects/kexec/kexec-tools/$PKG_NAME-$PKG_VERSION.tar.bz2"
+PKG_DEPENDS="zlib"
+PKG_BUILD_DEPENDS="toolchain zlib"
+PKG_PRIORITY="optional"
+PKG_SECTION="system"
+PKG_SHORTDESC="kexec-tools: the user-space portion of kexec"
+PKG_LONGDESC="kexec-tools is the user-space portion of kexec, a tool to load another kernel from the currently executing Linux kernel."
+PKG_IS_ADDON="no"
+
+PKG_AUTORECONF="yes"
diff --git a/packages/sysutils/lcdproc/init.d/63_lcdproc b/packages/sysutils/lcdproc/init.d/63_lcdproc
index f8bcf55c73..68af96fb0d 100644
--- a/packages/sysutils/lcdproc/init.d/63_lcdproc
+++ b/packages/sysutils/lcdproc/init.d/63_lcdproc
@@ -22,28 +22,37 @@
#
# runlevels: openelec, textmode
-(
- if [ -f /var/config/settings.conf ]; then
- . /var/config/settings.conf
+case $RUNLEVEL in
+ boot)
+ (
+ if [ -f /var/config/settings.conf ]; then
+ . /var/config/settings.conf
- if [ ! "$LCD_DRIVER" = none ]; then
+ if [ ! "$LCD_DRIVER" = none ]; then
- progress "Starting LCD daemon with driver: $LCD_DRIVER"
+ progress "Starting LCD daemon with driver: $LCD_DRIVER"
- if [ -f /storage/.config/LCDd.conf ]; then
- LCD_CONFIG="/storage/.config/LCDd.conf"
- else
- LCD_CONFIG="/etc/LCDd.conf"
- fi
+ if [ -f /storage/.config/LCDd.conf ]; then
+ LCD_CONFIG="/storage/.config/LCDd.conf"
+ else
+ LCD_CONFIG="/etc/LCDd.conf"
+ fi
- # sleep 10sec. to for irserver loading
- if [ "$LCD_DRIVER" = "irtrans" ]; then
- usleep 7000000
+ # sleep 10sec. to for irserver loading
+ if [ "$LCD_DRIVER" = "irtrans" ]; then
+ usleep 7000000
+ fi
+
+ # sleep another 3sec. to for irserver loading
+ usleep 3000000
+ LCDd -c $LCD_CONFIG -d $LCD_DRIVER -s true > /dev/null 2>&1
fi
+ fi
+ )&
+ ;;
- # sleep another 3sec. to for irserver loading
- usleep 3000000
- LCDd -c $LCD_CONFIG -d $LCD_DRIVER -s true > /dev/null 2>&1
- fi
- fi
-)&
+ poweroff|reboot)
+ progress "Stopping LCD daemon"
+ killall LCDd
+ ;;
+esac
diff --git a/packages/sysutils/remote/atvclient/init.d/63_atvclient b/packages/sysutils/remote/atvclient/init.d/63_atvclient
index ae9fec59dc..a11518a7f9 100644
--- a/packages/sysutils/remote/atvclient/init.d/63_atvclient
+++ b/packages/sysutils/remote/atvclient/init.d/63_atvclient
@@ -22,8 +22,17 @@
#
# runlevels: openelec, textmode
-(
- progress "starting ATVclient"
- mkdir -p /storage/.cache
- atvclient -m > /dev/null 2>&1
-)&
\ No newline at end of file
+case $RUNLEVEL in
+ boot)
+ (
+ progress "starting ATVclient"
+ mkdir -p /storage/.cache
+ atvclient -m > /dev/null 2>&1
+ )&
+ ;;
+
+ poweroff|reboot)
+ progress "stopping ATVclient"
+ killall atvclient
+ ;;
+esac
diff --git a/packages/sysutils/remote/eventlircd/init.d/62_eventlircd b/packages/sysutils/remote/eventlircd/init.d/62_eventlircd
index 337ceaee87..7267c652b3 100644
--- a/packages/sysutils/remote/eventlircd/init.d/62_eventlircd
+++ b/packages/sysutils/remote/eventlircd/init.d/62_eventlircd
@@ -22,8 +22,17 @@
#
# runlevels: openelec, textmode
-(
- progress "starting eventlircd"
- mkdir -p /var/run/lirc
- eventlircd --evmap=/etc/eventlircd.d --socket=/var/run/lirc/lircd --release=_UP
-)&
\ No newline at end of file
+case $RUNLEVEL in
+ boot)
+ (
+ progress "starting eventlircd"
+ mkdir -p /var/run/lirc
+ eventlircd --evmap=/etc/eventlircd.d --socket=/var/run/lirc/lircd --release=_UP
+ )&
+ ;;
+
+ poweroff|reboot)
+ progress "starting eventlircd"
+ killall eventlircd
+ ;;
+esac
diff --git a/packages/sysutils/remote/irserver/init.d/61_irserver b/packages/sysutils/remote/irserver/init.d/61_irserver
index 264b3557c8..9e39b10c09 100644
--- a/packages/sysutils/remote/irserver/init.d/61_irserver
+++ b/packages/sysutils/remote/irserver/init.d/61_irserver
@@ -25,16 +25,25 @@
[ -f /storage/.config/remote.conf ] && . /storage/.config/remote.conf
[ -f /storage/.config/lcd.conf ] && . /storage/.config/lcd.conf
-if [ "$REMOTE_BACKEND" = "irtrans" -o "$LCD_DRIVER" = "irtrans" ]; then
+case $RUNLEVEL in
+ boot)
+ if [ "$REMOTE_BACKEND" = "irtrans" -o "$LCD_DRIVER" = "irtrans" ]; then
- progress "Starting IRtrans daemon"
+ progress "Starting IRtrans daemon"
- mkdir -p /var/run/lirc
+ mkdir -p /var/run/lirc
- [ "$DEBUG" = "yes" ] && \
- IRSERVER_ARG="$IRSERVER_ARG -loglevel 4" # set loglevel in debugmode
+ [ "$DEBUG" = "yes" ] && \
+ IRSERVER_ARG="$IRSERVER_ARG -loglevel 4" # set loglevel in debugmode
- irserver -logfile /var/log/irserver.log -pidfile /var/run/irserver.pid \
- $IRSERVER_ARG -daemon /dev/irtrans0 > /dev/null 2>&1
+ irserver -logfile /var/log/irserver.log -pidfile /var/run/irserver.pid \
+ $IRSERVER_ARG -daemon /dev/irtrans0 > /dev/null 2>&1
-fi
\ No newline at end of file
+ fi
+ ;;
+
+ poweroff|reboot)
+ progress "Stopping IRtrans daemon"
+ killall irserver
+ ;;
+esac
diff --git a/packages/sysutils/udev/init.d/11_udevd b/packages/sysutils/udev/init.d/11_udevd
index 7ec43042e6..95f15c296b 100644
--- a/packages/sysutils/udev/init.d/11_udevd
+++ b/packages/sysutils/udev/init.d/11_udevd
@@ -23,7 +23,16 @@
#
# runlevels: openelec, installer, textmode
-progress "starting udev daemon"
- echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
- mkdir -p /dev/rules.d
- udevd --daemon
+case $RUNLEVEL in
+ boot)
+ progress "starting udev daemon"
+ echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug
+ mkdir -p /dev/rules.d
+ udevd --daemon
+ ;;
+
+ poweroff|reboot)
+ progress "stopping udev daemon"
+ killall udevd
+ ;;
+esac
diff --git a/packages/sysutils/udev/init.d/12_udev-monitor b/packages/sysutils/udev/init.d/12_udev-monitor
index 14f8204e21..9b48ba912a 100644
--- a/packages/sysutils/udev/init.d/12_udev-monitor
+++ b/packages/sysutils/udev/init.d/12_udev-monitor
@@ -23,7 +23,14 @@
#
# runlevels: openelec, installer, textmode
-(
- progress "monitoring udev events"
- udevadm monitor -e > /dev/udev.log
-)&
+case $RUNLEVEL in
+ boot)
+ progress "monitoring udev events"
+ udevadm monitor -e > /dev/udev.log &
+ ;;
+
+ poweroff|reboot)
+ progress "Stopping udev monitor"
+ killall udevadm
+ ;;
+esac
diff --git a/packages/sysutils/udev/init.d/13_udev-trigger b/packages/sysutils/udev/init.d/13_udev-trigger
index 4a3f5eba47..ce3c6d1662 100644
--- a/packages/sysutils/udev/init.d/13_udev-trigger
+++ b/packages/sysutils/udev/init.d/13_udev-trigger
@@ -23,8 +23,15 @@
#
# runlevels: openelec, installer, textmode
-(
- progress "request udev events from the kernel"
- udevadm trigger --action=add
- udevadm settle
-)&
+case $RUNLEVEL in
+ boot)
+ (
+ progress "request udev events from the kernel"
+ udevadm trigger --action=add
+ udevadm settle
+ )&
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/sysutils/util-linux/init.d/32_swapfile b/packages/sysutils/util-linux/init.d/32_swapfile
index 80cb8be661..4f30fb20b4 100644
--- a/packages/sysutils/util-linux/init.d/32_swapfile
+++ b/packages/sysutils/util-linux/init.d/32_swapfile
@@ -23,29 +23,36 @@
#
# runlevels: openelec, textmode
-(
- INSTALLED_MEMORY=`cat /proc/meminfo | grep 'MemTotal:' | awk '{print $2}'`
- SWAP=`blkid -t TYPE="swap" -o device`
- SWAPFILE="$HOME/.cache/swapfile"
+case $RUNLEVEL in
+ boot)
+ (
+ INSTALLED_MEMORY=`cat /proc/meminfo | grep 'MemTotal:' | awk '{print $2}'`
+ SWAP=`blkid -t TYPE="swap" -o device`
+ SWAPFILE="$HOME/.cache/swapfile"
- if [ "$INSTALLED_MEMORY" -le "500000" ]; then
- if [ -z "$SWAP" -a ! -f "$SWAPFILE" ]; then
- progress "creating swapfile"
- mkdir -p $HOME/.cache
- dd if=/dev/zero of=$SWAPFILE bs=1024 count=262144 2>&1 > /dev/null
- mkswap $SWAPFILE 2>&1 > /dev/null
- fi
+ if [ "$INSTALLED_MEMORY" -le "500000" ]; then
+ if [ -z "$SWAP" -a ! -f "$SWAPFILE" ]; then
+ progress "creating swapfile"
+ mkdir -p $HOME/.cache
+ dd if=/dev/zero of=$SWAPFILE bs=1024 count=262144 2>&1 > /dev/null
+ mkswap $SWAPFILE 2>&1 > /dev/null
+ fi
- progress "enable swap"
- [ -z "$SWAP" -a -f "$SWAPFILE" ] && SWAP=$SWAPFILE
- for i in $SWAP; do
- swapon -p 10000 $SWAP 2>&1 > /dev/null
- done
+ progress "enable swap"
+ [ -z "$SWAP" -a -f "$SWAPFILE" ] && SWAP=$SWAPFILE
+ for i in $SWAP; do
+ swapon -p 10000 $SWAP 2>&1 > /dev/null
+ done
- if [ "$INSTALLED_MEMORY" -le "260000" ]; then
- sysctl -w vm.swappiness=100 2>&1 > /dev/null
- else
- sysctl -w vm.swappiness=60 2>&1 > /dev/null
- fi
- fi
-)&
\ No newline at end of file
+ if [ "$INSTALLED_MEMORY" -le "260000" ]; then
+ sysctl -w vm.swappiness=100 2>&1 > /dev/null
+ else
+ sysctl -w vm.swappiness=60 2>&1 > /dev/null
+ fi
+ fi
+ )&
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/tools/autoupdate/scripts/autoupdate.devel b/packages/tools/autoupdate/scripts/autoupdate.devel
index 2873fdfcc9..a30bc9f715 100755
--- a/packages/tools/autoupdate/scripts/autoupdate.devel
+++ b/packages/tools/autoupdate/scripts/autoupdate.devel
@@ -43,7 +43,7 @@ fi
download () {
case "$DL_METHOD" in
wget)
- wget -c $1 -P $TMP_DIR
+ wget -c $1 -P $TMP_DIR > /dev/null 2>&1
;;
scp)
scp $SCP_ARG "$1" $TMP_DIR
diff --git a/packages/tools/autoupdate/scripts/autoupdate.release b/packages/tools/autoupdate/scripts/autoupdate.release
index 2e67e1fcb5..5e716f0e7f 100755
--- a/packages/tools/autoupdate/scripts/autoupdate.release
+++ b/packages/tools/autoupdate/scripts/autoupdate.release
@@ -43,7 +43,7 @@ fi
download () {
case "$DL_METHOD" in
wget)
- wget -c $1 -P $TMP_DIR
+ wget -c $1 -P $TMP_DIR > /dev/null 2>&1
;;
scp)
scp $SCP_ARG "$1" $TMP_DIR
diff --git a/packages/x11/app/setxkbmap/init.d/72_keyboard b/packages/x11/app/setxkbmap/init.d/72_keyboard
index 351f8875e0..c9887eede6 100644
--- a/packages/x11/app/setxkbmap/init.d/72_keyboard
+++ b/packages/x11/app/setxkbmap/init.d/72_keyboard
@@ -22,24 +22,31 @@
#
# runlevels: openelec
-(
- if [ -f /var/config/settings.conf ]; then
- . /var/config/settings.conf
+case $RUNLEVEL in
+ boot)
+ (
+ if [ -f /var/config/settings.conf ]; then
+ . /var/config/settings.conf
- progress "setup keyboard layout"
+ progress "setup keyboard layout"
- if [ -z $X11_KEYMAP ]; then
- X11_KEYMAP="us"
- fi
+ if [ -z $X11_KEYMAP ]; then
+ X11_KEYMAP="us"
+ fi
- # waiting for Xorg to start
- wait_for_xorg
+ # waiting for Xorg to start
+ wait_for_xorg
- # setup keymap
- if [ -z $X11_KEYMAP2 ]; then
- setxkbmap -display $DISPLAY $X11_KEYMAP;
- else
- setxkbmap -display $DISPLAY -layout "$X11_KEYMAP,$X11_KEYMAP2" -option "grp:alt_shift_toggle";
+ # setup keymap
+ if [ -z $X11_KEYMAP2 ]; then
+ setxkbmap -display $DISPLAY $X11_KEYMAP;
+ else
+ setxkbmap -display $DISPLAY -layout "$X11_KEYMAP,$X11_KEYMAP2" -option "grp:alt_shift_toggle";
+ fi
fi
- fi
-)&
+ )&
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/x11/driver/xf86-video-intel/build b/packages/x11/driver/xf86-video-intel/build
index 844a791b50..b507285305 100755
--- a/packages/x11/driver/xf86-video-intel/build
+++ b/packages/x11/driver/xf86-video-intel/build
@@ -34,7 +34,7 @@ cd $PKG_BUILD
--enable-dri \
--enable-kms-only \
--disable-xvmc \
- --enable-sna \
+ --disable-sna \
--with-xorg-module-dir=$XORG_PATH_MODULES
make
diff --git a/packages/x11/other/ratpoison/init.d/73_ratpoison b/packages/x11/other/ratpoison/init.d/73_ratpoison
index 1e3fa9a4cc..213997cdc0 100644
--- a/packages/x11/other/ratpoison/init.d/73_ratpoison
+++ b/packages/x11/other/ratpoison/init.d/73_ratpoison
@@ -22,12 +22,19 @@
#
# runlevels: openelec
-(
- progress "starting Windowmanager"
+case $RUNLEVEL in
+ boot)
+ (
+ progress "starting Windowmanager"
- # waiting for Xorg to start
- wait_for_xorg
+ # waiting for Xorg to start
+ wait_for_xorg
- # starting ratpoison
- DISPLAY=:0.0 ratpoison > /dev/null 2>&1
-)&
+ # starting ratpoison
+ DISPLAY=:0.0 ratpoison > /dev/null 2>&1
+ )&
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/x11/xserver/xorg-server/init.d/70_xorg b/packages/x11/xserver/xorg-server/init.d/70_xorg
new file mode 100644
index 0000000000..9e61e7ca92
--- /dev/null
+++ b/packages/x11/xserver/xorg-server/init.d/70_xorg
@@ -0,0 +1,34 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
+#
+# This Program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This Program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenELEC.tv; see the file COPYING. If not, write to
+# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+#
+# mounting needed filesystems
+#
+# runlevels: openelec, installer, textmode
+
+case $RUNLEVEL in
+ boot)
+ # dont do anything here, we start xorg per udev
+ ;;
+ poweroff|reboot)
+ progress "stopping Xorg"
+ killall Xorg
+ ;;
+esac
diff --git a/packages/x11/xserver/xorg-server/scripts/xorg_start b/packages/x11/xserver/xorg-server/scripts/xorg_start
index c971eec77c..e31c9a5c9d 100755
--- a/packages/x11/xserver/xorg-server/scripts/xorg_start
+++ b/packages/x11/xserver/xorg-server/scripts/xorg_start
@@ -22,7 +22,7 @@
. /etc/profile
-if [ "$RUNLEVEL" = openelec ]; then
+if [ "$MODE" = openelec ]; then
logger -t Xorg "### starting Xorg with driver ${xorg_driver} ###"
diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf
index 3b429d4020..bf3c8c3a5d 100644
--- a/projects/ATV/linux/linux.i386.conf
+++ b/projects/ATV/linux/linux.i386.conf
@@ -181,7 +181,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -363,11 +362,6 @@ CONFIG_X86_CPUID=y
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
-# CONFIG_VMSPLIT_3G is not set
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
# CONFIG_X86_PAE is not set
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
@@ -417,7 +411,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
@@ -465,7 +459,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf
index 6696ae97d9..334df874ca 100644
--- a/projects/Fusion/linux/linux.i386.conf
+++ b/projects/Fusion/linux/linux.i386.conf
@@ -405,7 +405,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -2128,7 +2128,7 @@ CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
# CONFIG_SND_HDA_CODEC_ANALOG is not set
CONFIG_SND_HDA_CODEC_SIGMATEL=y
-# CONFIG_SND_HDA_CODEC_VIA is not set
+CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
diff --git a/projects/Fusion/linux/linux.x86_64.conf b/projects/Fusion/linux/linux.x86_64.conf
index 1f579ff789..f62373b11f 100644
--- a/projects/Fusion/linux/linux.x86_64.conf
+++ b/projects/Fusion/linux/linux.x86_64.conf
@@ -369,7 +369,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf
index 78f9dac396..d9c75b79a9 100644
--- a/projects/Generic/linux/linux.i386.conf
+++ b/projects/Generic/linux/linux.i386.conf
@@ -183,7 +183,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -360,11 +359,6 @@ CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
-# CONFIG_VMSPLIT_3G is not set
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
@@ -413,7 +407,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -470,7 +464,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -1177,11 +1170,13 @@ CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_IPW2100=m
-# CONFIG_IPW2100_MONITOR is not set
+CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
-# CONFIG_IPW2200_MONITOR is not set
-# CONFIG_IPW2200_QOS is not set
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=m
# CONFIG_LIBIPW_DEBUG is not set
@@ -2272,6 +2267,7 @@ CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
@@ -2290,7 +2286,8 @@ CONFIG_SND_PCI=y
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
diff --git a/projects/Generic_OSS/linux/linux.i386.conf b/projects/Generic_OSS/linux/linux.i386.conf
index 394dc359b6..24cedd6361 100644
--- a/projects/Generic_OSS/linux/linux.i386.conf
+++ b/projects/Generic_OSS/linux/linux.i386.conf
@@ -183,7 +183,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -360,11 +359,6 @@ CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
-# CONFIG_VMSPLIT_3G is not set
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
@@ -413,7 +407,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -470,7 +464,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -1174,11 +1167,13 @@ CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_IPW2100=m
-# CONFIG_IPW2100_MONITOR is not set
+CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
-# CONFIG_IPW2200_MONITOR is not set
-# CONFIG_IPW2200_QOS is not set
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
CONFIG_LIBIPW=m
# CONFIG_LIBIPW_DEBUG is not set
@@ -2270,6 +2265,7 @@ CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
CONFIG_SND_AC97_CODEC=m
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
@@ -2288,7 +2284,8 @@ CONFIG_SND_PCI=y
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf
index 584f056fc9..e75e75f2c1 100644
--- a/projects/ION/linux/linux.i386.conf
+++ b/projects/ION/linux/linux.i386.conf
@@ -183,7 +183,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -355,11 +354,6 @@ CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
-# CONFIG_VMSPLIT_3G is not set
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
@@ -408,7 +402,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -464,7 +458,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -2129,6 +2122,7 @@ CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
@@ -2146,7 +2140,8 @@ CONFIG_SND_PCI=y
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf
index 45f61821fb..31622d22c5 100644
--- a/projects/ION/linux/linux.x86_64.conf
+++ b/projects/ION/linux/linux.x86_64.conf
@@ -184,7 +184,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -373,7 +372,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -427,7 +426,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -2067,6 +2065,7 @@ CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
@@ -2084,7 +2083,8 @@ CONFIG_SND_PCI=y
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf
index 38652d769b..4e687d7249 100644
--- a/projects/Intel/linux/linux.i386.conf
+++ b/projects/Intel/linux/linux.i386.conf
@@ -183,7 +183,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -356,11 +355,6 @@ CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
-# CONFIG_VMSPLIT_3G is not set
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_2G_OPT is not set
-# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
@@ -409,7 +403,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -466,7 +460,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -1135,8 +1128,17 @@ CONFIG_HOSTAP=m
# CONFIG_HOSTAP_FIRMWARE is not set
# CONFIG_HOSTAP_PLX is not set
# CONFIG_HOSTAP_PCI is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
CONFIG_IWLAGN=m
#
@@ -2179,6 +2181,7 @@ CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
@@ -2196,7 +2199,8 @@ CONFIG_SND_PCI=y
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
@@ -2234,15 +2238,15 @@ CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
CONFIG_SND_HDA_CODEC_ANALOG=y
-# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
-# CONFIG_SND_HDA_CODEC_CIRRUS is not set
+CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
-# CONFIG_SND_HDA_CODEC_CA0110 is not set
+CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
-# CONFIG_SND_HDA_CODEC_CMEDIA is not set
-# CONFIG_SND_HDA_CODEC_SI3054 is not set
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
# CONFIG_SND_HDA_POWER_SAVE is not set
# CONFIG_SND_HDSP is not set
diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf
index a6b5a4d09b..01eb853ebb 100644
--- a/projects/Intel/linux/linux.x86_64.conf
+++ b/projects/Intel/linux/linux.x86_64.conf
@@ -184,7 +184,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -375,7 +374,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -430,7 +429,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
@@ -1087,8 +1085,17 @@ CONFIG_HOSTAP=m
# CONFIG_HOSTAP_FIRMWARE is not set
# CONFIG_HOSTAP_PLX is not set
# CONFIG_HOSTAP_PCI is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
+CONFIG_IPW2100=m
+CONFIG_IPW2100_MONITOR=y
+# CONFIG_IPW2100_DEBUG is not set
+CONFIG_IPW2200=m
+CONFIG_IPW2200_MONITOR=y
+CONFIG_IPW2200_RADIOTAP=y
+CONFIG_IPW2200_PROMISCUOUS=y
+CONFIG_IPW2200_QOS=y
+# CONFIG_IPW2200_DEBUG is not set
+CONFIG_LIBIPW=m
+# CONFIG_LIBIPW_DEBUG is not set
CONFIG_IWLAGN=m
#
@@ -2122,6 +2129,7 @@ CONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_MPU401_UART=m
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
@@ -2139,7 +2147,8 @@ CONFIG_SND_PCI=y
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
@@ -2177,15 +2186,15 @@ CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS=y
CONFIG_SND_HDA_CODEC_ANALOG=y
-# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
-# CONFIG_SND_HDA_CODEC_CIRRUS is not set
+CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
-# CONFIG_SND_HDA_CODEC_CA0110 is not set
+CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
-# CONFIG_SND_HDA_CODEC_CMEDIA is not set
-# CONFIG_SND_HDA_CODEC_SI3054 is not set
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
# CONFIG_SND_HDA_POWER_SAVE is not set
# CONFIG_SND_HDSP is not set
diff --git a/projects/Ultra/linux/linux.x86_64.conf b/projects/Ultra/linux/linux.x86_64.conf
index 0dfa3e28b7..ef80a35608 100644
--- a/projects/Ultra/linux/linux.x86_64.conf
+++ b/projects/Ultra/linux/linux.x86_64.conf
@@ -184,7 +184,6 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
-# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
@@ -373,7 +372,7 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
@@ -427,7 +426,6 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set