diff --git a/CHANGELOG b/CHANGELOG index e69de29bb2..ac4405bc09 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -0,0 +1,16 @@ +OpenELEC (Version 2.0) + +Changelog OpenELEC-1.0 to OpenELEC-2.0 + +Package updates: + - update XBMC to XBMC-11.0 (Eden) + - update eglibc to eglibc-2.14 + +Added functions: + - PXE netboot support + - Airplay support + - Airtunes support + - CEC support + +Removed functions: + - remove netmount.conf (XBMC includes native NFS/AFP/CIFS/SSH support) diff --git a/packages/3rdparty/multimedia/airplayer/meta b/packages/3rdparty/multimedia/airplayer/meta deleted file mode 100755 index df759be40e..0000000000 --- a/packages/3rdparty/multimedia/airplayer/meta +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# 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="airplayer" -PKG_VERSION="7776e54" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/PascalW/Airplayer" -PKG_URL="http://dl.dropbox.com/u/8224157/OpenELEC-Ultra/addons/${PKG_NAME}-${PKG_VERSION}.tar.xz" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="toolchain" -PKG_PRIORITY="optional" -PKG_SECTION="network" -PKG_SHORTDESC="Airplayer: script to make media playing software Airplay-compatible." -PKG_LONGDESC="Airplayer is a script to make media playing software Airplay-compatible. Airplayer features pluggable backends, making it possible to support different media players." -PKG_IS_ADDON="no" -PKG_AUTORECONF="no" diff --git a/packages/3rdparty/multimedia/libao/build b/packages/3rdparty/multimedia/libao/build deleted file mode 100755 index 98a5a9342e..0000000000 --- a/packages/3rdparty/multimedia/libao/build +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 - -cd $PKG_BUILD - -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --disable-esd \ - --disable-esdtest \ - --disable-pulse \ - --enable-alsa \ - --prefix /storage/.xbmc/addons/service.multimedia.Airplayer-Suite - -make diff --git a/packages/3rdparty/multimedia/pybonjour/build_not_used b/packages/3rdparty/multimedia/pybonjour/build_not_used deleted file mode 100755 index 3d37a7f15b..0000000000 --- a/packages/3rdparty/multimedia/pybonjour/build_not_used +++ /dev/null @@ -1,36 +0,0 @@ -#!/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 - -export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr" -export LDFLAGS="$LDFLAGS -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib" - -cd $PKG_BUILD - -python setup.py build --cross-compile -python setup.py install -O1 --skip-build --prefix /usr --root .install - -find .install -name "*.py" -exec rm -rf "{}" ";" -find .install -name "*.pyo" -exec rm -rf "{}" ";" - -rm -rf .install/usr/bin diff --git a/packages/3rdparty/multimedia/pybonjour/meta b/packages/3rdparty/multimedia/pybonjour/meta deleted file mode 100755 index c7f2a666e7..0000000000 --- a/packages/3rdparty/multimedia/pybonjour/meta +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# 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="pybonjour" -PKG_VERSION="1.1.1" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://pybonjour.googlecode.com/" -PKG_URL="http://pybonjour.googlecode.com/files/${PKG_NAME}-${PKG_VERSION}.tar.gz" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="Python" -PKG_PRIORITY="optional" -PKG_SECTION="service/multimedia" -PKG_SHORTDESC="pybonjour: A Zeroconf mDNS/DNS-SD responder" -PKG_LONGDESC="Pybonjour is a framework for Multicast DNS Service Discovery (mDNS/DNS-SD a.k.a. Zeroconf) on Linux. It allows programs to publish and discover services running on a local network with no specific configuration. For example, you can plug into a network and instantly find printers to print to, files to look at, and people to talk to." -PKG_IS_ADDON="no" -PKG_AUTORECONF="no" diff --git a/packages/3rdparty/multimedia/shairport/build b/packages/3rdparty/multimedia/shairport/build deleted file mode 100755 index 2e6df72fee..0000000000 --- a/packages/3rdparty/multimedia/shairport/build +++ /dev/null @@ -1,36 +0,0 @@ -#!/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 - -cd $PKG_BUILD - -# fix me :( -LIBAO_DIR=../libao-1.1.0 - -# large buffer -sed -i 's|#define BUFFER_FRAMES 320|#define BUFFER_FRAMES 1024|g' hairtunes.h -sed -i 's|read = ab_read + 10;|read = ab_read + 50;|g' hairtunes.c - -CFLAGS="-O2 -Wall -I$LIBAO_DIR/include" \ -LDFLAGS="-lm -lpthread -L$LIBAO_DIR/src/.libs -lao -lssl" \ -make diff --git a/packages/3rdparty/multimedia/shairport/patches/shairport-346db95-ao_select-0.1.patch b/packages/3rdparty/multimedia/shairport/patches/shairport-346db95-ao_select-0.1.patch deleted file mode 100755 index a9fc7614ab..0000000000 --- a/packages/3rdparty/multimedia/shairport/patches/shairport-346db95-ao_select-0.1.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff -uNr shairport_orig/Makefile shairport/Makefile ---- shairport_orig/Makefile 2011-08-09 23:07:40.000000000 +0200 -+++ shairport/Makefile 2011-08-15 20:02:36.000000000 +0200 -@@ -1,5 +1,5 @@ --CFLAGS:=-O2 -Wall $(shell pkg-config --cflags openssl ao) --LDFLAGS:=-lm -lpthread $(shell pkg-config --libs openssl ao) -+CFLAGS?=-O2 -Wall $(shell pkg-config --cflags openssl ao) -+LDFLAGS?=-lm -lpthread $(shell pkg-config --libs openssl ao) - OBJS=socketlib.o shairport.o alac.o hairtunes.o - all: hairtunes shairport - -diff -uNr shairport_orig/shairport.c shairport/shairport.c ---- shairport_orig/shairport.c 2011-08-09 23:07:40.000000000 +0200 -+++ shairport/shairport.c 2011-08-09 11:37:52.000000000 +0200 -@@ -51,6 +51,9 @@ - #define HEADER_LOG_LEVEL LOG_DEBUG - #define AVAHI_LOG_LEVEL LOG_DEBUG - -+char tAoDeviceName[56] = ""; -+char tAoDriver[56] = ""; -+ - int main(int argc, char **argv) - { - char tHWID[HWID_SIZE] = {0,51,52,53,54,55}; -@@ -129,6 +132,14 @@ - { - kCurrentLogLevel = LOG_DEBUG_VV; - } -+ else if(!strncmp(arg, "--ao_driver=", 12)) -+ { -+ strncpy(tAoDriver, arg+12, 55); -+ } -+ else if(!strncmp(arg, "--ao_devicename=", 16)) -+ { -+ strncpy(tAoDeviceName, arg+16, 55); -+ } - else if(!strcmp(arg, "-h") || !strcmp(arg, "--help")) - { - slog(LOG_INFO, "ShairPort version 0.05 C port - Airport Express emulator\n"); -@@ -140,6 +151,8 @@ - slog(LOG_INFO, " -d Daemon mode\n"); - slog(LOG_INFO, " -q, --quiet Supresses all output.\n"); - slog(LOG_INFO, " -v,-v2,-v3,-vv Various debugging levels\n"); -+ slog(LOG_INFO, " --ao_driver=driver Sets the ao driver (optional)\n"); -+ slog(LOG_INFO, " --ao_devicename=devicename Sets the ao device name (optional)\n"); - slog(LOG_INFO, "\n"); - return 0; - } -@@ -731,8 +744,6 @@ - slog(LOG_DEBUG_V, "Got %d for CPort and %d for TPort\n", tControlport, tTimingport); - char *tRtp = NULL; - char *tPipe = NULL; -- char *tAoDriver = NULL; -- char *tAoDeviceName = NULL; - char *tAoDeviceId = NULL; - - // ************************************************* -@@ -758,7 +769,7 @@ - } - cleanupBuffers(pConn); - hairtunes_init(tKeys->aeskey, tKeys->aesiv, tKeys->fmt, tControlport, tTimingport, -- tDataport, tRtp, tPipe, tAoDriver, tAoDeviceName, tAoDeviceId); -+ tDataport, tRtp, tPipe, tAoDriver[0]!='\0'?tAoDriver:NULL, tAoDeviceName[0]!='\0'?tAoDeviceName:NULL, tAoDeviceId); - - // Quit when finished. - slog(LOG_DEBUG, "Returned from hairtunes init....returning -1, should close out this whole side of the fork\n"); diff --git a/packages/3rdparty/multimedia/simplejson-ap/build b/packages/3rdparty/multimedia/simplejson-ap/build deleted file mode 100755 index 3d37a7f15b..0000000000 --- a/packages/3rdparty/multimedia/simplejson-ap/build +++ /dev/null @@ -1,36 +0,0 @@ -#!/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 - -export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr" -export LDFLAGS="$LDFLAGS -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib" - -cd $PKG_BUILD - -python setup.py build --cross-compile -python setup.py install -O1 --skip-build --prefix /usr --root .install - -find .install -name "*.py" -exec rm -rf "{}" ";" -find .install -name "*.pyo" -exec rm -rf "{}" ";" - -rm -rf .install/usr/bin diff --git a/packages/3rdparty/multimedia/simplejson-ap/meta b/packages/3rdparty/multimedia/simplejson-ap/meta deleted file mode 100755 index 40091c5a84..0000000000 --- a/packages/3rdparty/multimedia/simplejson-ap/meta +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# 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="simplejson-ap" -PKG_VERSION="2.1.3" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://pypi.python.org/" -PKG_URL="http://dl.dropbox.com/u/8224157/OpenELEC-Ultra/addons/${PKG_NAME}-${PKG_VERSION}.tar.gz" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="Python" -PKG_PRIORITY="optional" -PKG_SECTION="service/multimedia" -PKG_SHORTDESC="simplejson: JSON encoder and decoder for Python" -PKG_LONGDESC="simplejson is a simple, fast, complete, correct and extensible JSON encoder and decoder for Python 2.5+. It is pure Python code with no dependencies, but includes an optional C extension for a serious speed boost." -PKG_IS_ADDON="no" -PKG_AUTORECONF="no" diff --git a/packages/3rdparty/multimedia/tornado-ap/build b/packages/3rdparty/multimedia/tornado-ap/build deleted file mode 100755 index 3d37a7f15b..0000000000 --- a/packages/3rdparty/multimedia/tornado-ap/build +++ /dev/null @@ -1,36 +0,0 @@ -#!/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 - -export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr" -export LDFLAGS="$LDFLAGS -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib" - -cd $PKG_BUILD - -python setup.py build --cross-compile -python setup.py install -O1 --skip-build --prefix /usr --root .install - -find .install -name "*.py" -exec rm -rf "{}" ";" -find .install -name "*.pyo" -exec rm -rf "{}" ";" - -rm -rf .install/usr/bin diff --git a/packages/3rdparty/multimedia/tornado-ap/meta b/packages/3rdparty/multimedia/tornado-ap/meta deleted file mode 100755 index cee56a1840..0000000000 --- a/packages/3rdparty/multimedia/tornado-ap/meta +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# 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="tornado-ap" -PKG_VERSION="1.2.1" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.tornadoweb.org/" -PKG_URL="http://dl.dropbox.com/u/8224157/OpenELEC-Ultra/addons/${PKG_NAME}-${PKG_VERSION}.tar.gz" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="Python" -PKG_PRIORITY="optional" -PKG_SECTION="service/multimedia" -PKG_SHORTDESC="tornado: a web server for Python" -PKG_LONGDESC="Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed." -PKG_IS_ADDON="no" -PKG_AUTORECONF="no" diff --git a/packages/addons/service/multimedia/Airplayer-Suite/addon b/packages/addons/service/multimedia/Airplayer-Suite/addon deleted file mode 100755 index 9030a152f5..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/addon +++ /dev/null @@ -1,42 +0,0 @@ -#!/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 $ADDON_BUILD/$PKG_ADDON_ID/bin/ -mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib/ao/plugins-4/ -mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/pylib/ - - cp $PKG_DIR/config/settings.xml $ADDON_BUILD/$PKG_ADDON_ID/settings-default.xml - - cp $BUILD/pybonjour-1.1.1/pybonjour.py $ADDON_BUILD/$PKG_ADDON_ID/pylib/ - cp -R $BUILD/tornado-ap-*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib/ - cp -R $BUILD/simplejson-ap-*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib/ - - cp -a $BUILD/airplayer-*/airplayer/ $ADDON_BUILD/$PKG_ADDON_ID/bin/ - - cp $BUILD/libao-*/src/.libs/libao.so.4 $ADDON_BUILD/$PKG_ADDON_ID/lib/ - cp $BUILD/libao-*/src/plugins/alsa/.libs/libalsa.so $ADDON_BUILD/$PKG_ADDON_ID/lib/ao/plugins-4/ - cp $BUILD/libao-*/src/plugins/oss/.libs/liboss.so $ADDON_BUILD/$PKG_ADDON_ID/lib/ao/plugins-4/ - - cp $BUILD/shairport-*/shairport $ADDON_BUILD/$PKG_ADDON_ID/bin/ - cp $BUILD/shairport-*/hairtunes $ADDON_BUILD/$PKG_ADDON_ID/bin/ diff --git a/packages/addons/service/multimedia/Airplayer-Suite/changelog.txt b/packages/addons/service/multimedia/Airplayer-Suite/changelog.txt deleted file mode 100755 index 4bace83caf..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/changelog.txt +++ /dev/null @@ -1,2 +0,0 @@ -0.99.5 -- initial version airplayer-7776e54 and shairport-346db95 diff --git a/packages/addons/service/multimedia/Airplayer-Suite/config/settings.xml b/packages/addons/service/multimedia/Airplayer-Suite/config/settings.xml deleted file mode 100755 index 4e9671b6d6..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/config/settings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/packages/addons/service/multimedia/Airplayer-Suite/icon/icon.png b/packages/addons/service/multimedia/Airplayer-Suite/icon/icon.png deleted file mode 100755 index a0e56d5f54..0000000000 Binary files a/packages/addons/service/multimedia/Airplayer-Suite/icon/icon.png and /dev/null differ diff --git a/packages/addons/service/multimedia/Airplayer-Suite/meta b/packages/addons/service/multimedia/Airplayer-Suite/meta deleted file mode 100755 index e1c51358ad..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="Airplayer-Suite" -PKG_VERSION="Suite" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/PascalW/Airplayer" -PKG_URL="" -PKG_DEPENDS="Python" -PKG_BUILD_DEPENDS="toolchain Python avahi pybonjour tornado-ap simplejson-ap airplayer libao shairport" -PKG_PRIORITY="optional" -PKG_SECTION="service/multimedia" -PKG_SHORTDESC="Airplayer and ShairPort programs" -PKG_LONGDESC="Airplayer makes make media playing software Airplay-compatible. Airplayer features pluggable backends, making it possible to support different media players. Send video and pictures from your iDevice to your Airplay enabled media player. Audio streaming is currently not supported. On the iDevice side IOS 4.2 or above is required. ShairPort emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods." -PKG_IS_ADDON="yes" -PKG_ADDON_TYPE="xbmc.service" -PKG_AUTORECONF="no" diff --git a/packages/addons/service/multimedia/Airplayer-Suite/source/asound.conf_ultra_stmlabs b/packages/addons/service/multimedia/Airplayer-Suite/source/asound.conf_ultra_stmlabs deleted file mode 100755 index d687429de0..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/source/asound.conf_ultra_stmlabs +++ /dev/null @@ -1,84 +0,0 @@ - # - # got from http://stmlabs.com/forum/topic/asoundconf-simultaneous-output#post-896 - # change line pcm "hw:1,7" to suit your box - # - #---- - # /etc/asound.conf file designed to expand 2 channels through device 'clone_output' - # to output 2 channels to multiple devices - # - # Use aplay -l to find device numbers - # - #---- - -pcm.!default { - type plug - slave.pcm "dmixed_hdmi" -} - - #----- - # Single channel dmixed. Crossfade works - #----- -pcm.hdmiout { - type plug - slave.pcm "dmixed_hdmi" -} - -pcm.dmixed_hdmi { - type dmix - ipc_key 2024 - slave { - pcm "hw:1,7" # hdmi - } -} - #----- - # multiple output portion begin (3 devices) dmix not supported. - #----- - -pcm.clone_output { - type plug - slave.pcm "6channel_expander" -} - -pcm.multi_pcm_device { - type multi; - slaves.a.pcm "hw:1,7"; # hdmi - slaves.a.channels 2; - slaves.b.pcm "hw:0,0"; # analog - slaves.b.channels 2; - slaves.c.pcm "hw:0,1"; # spdif - slaves.c.channels 2; - bindings.0.slave a; - bindings.0.channel 0; - bindings.1.slave a; - bindings.1.channel 1; - bindings.2.slave b; - bindings.2.channel 0; - bindings.3.slave b; - bindings.3.channel 1; - bindings.4.slave c; - bindings.4.channel 0; - bindings.5.slave c; - bindings.5.channel 1; -} - -ctl.multi_pcm_device { - type hw; - card 0; -} - - pcm.6channel_expander { - type route; - slave.pcm "multi_pcm_device"; - slave.channels 6; - ttable.0.0 1; - ttable.1.1 1; - ttable.0.2 1; - ttable.1.3 1; - ttable.0.4 1; - ttable.1.5 1; -} - -ctl.6channel_expander { - type hw; - card 0; -} diff --git a/packages/addons/service/multimedia/Airplayer-Suite/source/bin/Airplayer-Suite.service b/packages/addons/service/multimedia/Airplayer-Suite/source/bin/Airplayer-Suite.service deleted file mode 100755 index d68edb6311..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/source/bin/Airplayer-Suite.service +++ /dev/null @@ -1,127 +0,0 @@ -#!/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 -################################################################################ - -# setup functions -read_xbmcconfig() { - grep "<$1>" $XBMC_SETTINGS | sed -e "s,[[:space:]]*<$1>,," -e "s,,," -} - - ADDON_ID="Airplayer-Suite" - ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.$ADDON_ID" - ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.$ADDON_ID" - - AIRPLAYERSUITE_SETTINGS_XML="$ADDON_HOME/settings.xml" - AIRPLAYERSUITE_SETTINGS_CONF="/var/config/$ADDON_ID.conf" - XBMC_SETTINGS="$HOME/.xbmc/userdata/guisettings.xml" - - # create default config - mkdir -p $ADDON_HOME - if [ ! -f "$AIRPLAYERSUITE_SETTINGS_XML" ]; then - cp $ADDON_DIR/settings-default.xml $AIRPLAYERSUITE_SETTINGS_XML - fi - - # convert xml file to bash variables and use them - if [ -f "$AIRPLAYERSUITE_SETTINGS_XML" ]; then - mkdir -p /var/config/ - awk -F\" '{print $2"=\""$4"\""}' "$AIRPLAYERSUITE_SETTINGS_XML" | sed '/^=/d' > $AIRPLAYERSUITE_SETTINGS_CONF - . $AIRPLAYERSUITE_SETTINGS_CONF - # replace spaces with underscore - SHAIRPORT_NAME=${SHAIRPORT_NAME// /_} - AIRPLAYER_NAME=${AIRPLAYER_NAME// /_} - else - LOG_FILES="true" - SHAIRPORT_DEVICENAME="default" - SHAIRPORT_DRIVER="alsa" - SHAIRPORT_NAME="ShairPort" - AIRPLAYER_NAME="Airplayer" - fi - - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$ADDON_DIR/lib" - export PYTHONPATH="$ADDON_DIR/pylib" - - if [ "$LOG_FILES" = "true" ]; then - LOG_FILE_SHAIRPORT="$ADDON_HOME/shairport.log" - LOG_FILE_AIRPLAYER="$ADDON_HOME/airplayer.log" - PID_FILE_AIRPLAYER="$ADDON_HOME/airplayer.pid" - - ADDON_ARG_SHAIRPORT="-v --apname=$SHAIRPORT_NAME --ao_driver=$SHAIRPORT_DRIVER --ao_devicename=$SHAIRPORT_DEVICENAME" - ADDON_ARG_AIRPLAYER="-d -p $PID_FILE_AIRPLAYER -l $LOG_FILE_AIRPLAYER" - else - LOG_FILE_SHAIRPORT="/dev/null" - LOG_FILE_AIRPLAYER="/dev/null" - PID_FILE_AIRPLAYER="$ADDON_HOME/airplayer.pid" - - ADDON_ARG_SHAIRPORT="--apname=$SHAIRPORT_NAME --ao_driver=$SHAIRPORT_DRIVER --ao_devicename=$SHAIRPORT_DEVICENAME" - ADDON_ARG_AIRPLAYER="-d -p $PID_FILE_AIRPLAYER -l $LOG_FILE_AIRPLAYER" - fi - - AIRPLAYER_SETTINGS_TMP="/tmp/airplayer_settings.py" - AIRPLAYER_SETTINGS_ORIG="$ADDON_DIR/bin/airplayer/settings.py" - - # first copy to tmp - cp "$AIRPLAYER_SETTINGS_ORIG" "$AIRPLAYER_SETTINGS_TMP" - - # read xbmc settings - XBMC_PORT=`read_xbmcconfig webserverport` - XBMC_USER=`read_xbmcconfig webserverusername` - XBMC_PWD=`read_xbmcconfig webserverpassword` - - # modify with real values - sed -i "s|MEDIA_BACKEND_PORT = .*|MEDIA_BACKEND_PORT = $XBMC_PORT|g" $AIRPLAYER_SETTINGS_TMP - - if [ -n "XBMC_USER" ]; then - sed -i "s|MEDIA_BACKEND_USERNAME = .*|MEDIA_BACKEND_USERNAME = '$XBMC_USER'|g" $AIRPLAYER_SETTINGS_TMP - else - sed -i "s|MEDIA_BACKEND_USERNAME = .*|MEDIA_BACKEND_USERNAME = None|g" $AIRPLAYER_SETTINGS_TMP - fi - if [ -n "XBMC_PWD" ]; then - sed -i "s|MEDIA_BACKEND_PASSWORD = .*|MEDIA_BACKEND_PASSWORD = '$XBMC_PWD'|g" $AIRPLAYER_SETTINGS_TMP - else - sed -i "s|MEDIA_BACKEND_PASSWORD = .*|MEDIA_BACKEND_PASSWORD = None|g" $AIRPLAYER_SETTINGS_TMP - fi - if [ -n "AIRPLAYER_NAME" ]; then - sed -i "s|AIRPLAY_HOSTNAME = .*|AIRPLAY_HOSTNAME = '$AIRPLAYER_NAME'|g" $AIRPLAYER_SETTINGS_TMP - else - sed -i "s|AIRPLAY_HOSTNAME = .*|AIRPLAY_HOSTNAME = None|g" $AIRPLAYER_SETTINGS_TMP - fi - - # if different copy it back - if [ "`md5sum "$AIRPLAYER_SETTINGS_TMP" | cut -d ' ' -f 1`" != "`md5sum "$AIRPLAYER_SETTINGS_ORIG" | cut -d ' ' -f 1`" ]; then - cp "$AIRPLAYER_SETTINGS_TMP" "$AIRPLAYER_SETTINGS_ORIG" - fi - - rm "$AIRPLAYER_SETTINGS_TMP" - - # restart avahi daemon because sometimes doesn't start correctly at boot time - avahi-daemon -k - /bin/sh /etc/init.d/53_avahi - - # run shairport - if [ ! $(pidof shairport) ]; then - $ADDON_DIR/bin/shairport $ADDON_ARG_SHAIRPORT >$LOG_FILE_SHAIRPORT 2>&1 & - fi - - # run airplayer - ps -ef | grep airplayer.py | grep -v grep >/dev/null 2>&1 - if [ "$?" != "0" ]; then - python $ADDON_DIR/bin/airplayer/airplayer.py $ADDON_ARG_AIRPLAYER - fi diff --git a/packages/addons/service/multimedia/Airplayer-Suite/source/default.py b/packages/addons/service/multimedia/Airplayer-Suite/source/default.py deleted file mode 100755 index cca9fa4207..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/source/default.py +++ /dev/null @@ -1,23 +0,0 @@ -################################################################################ -# 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 -################################################################################ - -import xbmc, time, os, subprocess - -os.system("Airplayer-Suite.service") diff --git a/packages/addons/service/multimedia/Airplayer-Suite/source/resources/language/English/strings.xml b/packages/addons/service/multimedia/Airplayer-Suite/source/resources/language/English/strings.xml deleted file mode 100755 index 966e7e8537..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/source/resources/language/English/strings.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Airplayer and ShairPort - Identification - Airplayer name - ShairPort name - ShairPort sound output - ao driver - ao device name - Log files - Log file - Enabled - diff --git a/packages/addons/service/multimedia/Airplayer-Suite/source/resources/settings.xml b/packages/addons/service/multimedia/Airplayer-Suite/source/resources/settings.xml deleted file mode 100755 index 100421536b..0000000000 --- a/packages/addons/service/multimedia/Airplayer-Suite/source/resources/settings.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/packages/audio/libmms/build b/packages/audio/libmms/build deleted file mode 100755 index 012809e2e1..0000000000 --- a/packages/audio/libmms/build +++ /dev/null @@ -1,37 +0,0 @@ -#!/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 - -cd $PKG_BUILD -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --exec-prefix=/usr \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --enable-shared \ - --disable-static \ - -make - -$MAKEINSTALL \ No newline at end of file diff --git a/packages/audio/libmms/meta b/packages/audio/libmms/meta deleted file mode 100644 index af007516b2..0000000000 --- a/packages/audio/libmms/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="libmms" -PKG_VERSION="0.6" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://sourceforge.net/projects/libmms/" -PKG_URL="$SOURCEFORGE_SRC/libmms/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="glib" -PKG_BUILD_DEPENDS="toolchain glib" -PKG_PRIORITY="optional" -PKG_SECTION="audio" -PKG_SHORTDESC="libmms: a common library for parsing mms:// and mmsh:// type network streams." -PKG_LONGDESC="LibMMS is a common library for parsing mms:// and mmsh:// type network streams. These are commonly used to stream Windows Media Video content over the web. LibMMS itself is only for receiving MMS stream, it doesn't handle sending at all." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="yes" diff --git a/packages/audio/libmms/patches/libmms-0.5-this_keyword.patch b/packages/audio/libmms/patches/libmms-0.5-this_keyword.patch deleted file mode 100644 index 258b46226c..0000000000 --- a/packages/audio/libmms/patches/libmms-0.5-this_keyword.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -Naur libmms-0.5/src/mmsh.h libmms-0.5.patch/src/mmsh.h ---- libmms-0.5/src/mmsh.h 2009-10-31 13:35:28.000000000 +0100 -+++ libmms-0.5.patch/src/mmsh.h 2010-01-25 12:11:31.862959172 +0100 -@@ -41,20 +41,20 @@ - - int mmsh_read (mms_io_t *io, mmsh_t *instance, char *data, int len); - int mmsh_time_seek (mms_io_t *io, mmsh_t *instance, double time_sec); --mms_off_t mmsh_seek (mms_io_t *io, mmsh_t *this, mms_off_t offset, int origin); -+mms_off_t mmsh_seek (mms_io_t *io, mmsh_t *instance, mms_off_t offset, int origin); - uint32_t mmsh_get_length (mmsh_t *instance); --double mmsh_get_time_length (mmsh_t *this); --uint64_t mmsh_get_raw_time_length (mmsh_t *this); -+double mmsh_get_time_length (mmsh_t *instance); -+uint64_t mmsh_get_raw_time_length (mmsh_t *instance); - mms_off_t mmsh_get_current_pos (mmsh_t *instance); - void mmsh_close (mmsh_t *instance); - - int mmsh_peek_header (mmsh_t *instance, char *data, int maxsize); - --uint32_t mmsh_get_asf_header_len (mmsh_t *this); -+uint32_t mmsh_get_asf_header_len (mmsh_t *instance); - --uint32_t mmsh_get_asf_packet_len (mmsh_t *this); -+uint32_t mmsh_get_asf_packet_len (mmsh_t *instance); - --int mmsh_get_seekable (mmsh_t *this); -+int mmsh_get_seekable (mmsh_t *instance); - - #ifdef __cplusplus - } -diff -Naur libmms-0.5/src/mmsx.h libmms-0.5.patch/src/mmsx.h ---- libmms-0.5/src/mmsx.h 2009-10-31 13:35:28.000000000 +0100 -+++ libmms-0.5.patch/src/mmsx.h 2010-01-25 12:11:51.451960516 +0100 -@@ -55,11 +55,11 @@ - - mms_off_t mmsx_get_current_pos (mmsx_t *instance); - --uint32_t mmsx_get_asf_header_len (mmsx_t *this); -+uint32_t mmsx_get_asf_header_len (mmsx_t *instance); - --uint64_t mmsx_get_asf_packet_len (mmsx_t *this); -+uint64_t mmsx_get_asf_packet_len (mmsx_t *instance); - --int mmsx_get_seekable (mmsx_t *this); -+int mmsx_get_seekable (mmsx_t *instance); - - #ifdef __cplusplus - } diff --git a/packages/audio/wavpack/meta b/packages/audio/wavpack/meta deleted file mode 100644 index a58e67d894..0000000000 --- a/packages/audio/wavpack/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="wavpack" -PKG_VERSION="4.60.1" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.wavpack.com" -PKG_URL="http://www.wavpack.com/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="libiconv" -PKG_BUILD_DEPENDS="toolchain libiconv" -PKG_PRIORITY="optional" -PKG_SECTION="audio" -PKG_SHORTDESC="wavpack: a completely open audio compression format" -PKG_LONGDESC="WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode. Although the technology is loosely based on previous versions of WavPack, the new version 4 format has been designed from the ground up to offer unparalleled performance and functionality." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="yes" diff --git a/packages/devel/libcap-ng/build b/packages/devel/libcap-ng/build deleted file mode 100755 index ff54471dd4..0000000000 --- a/packages/devel/libcap-ng/build +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -#      Copyright (C) 2010-2011 Roman Weber (roman@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 - -cd $PKG_BUILD -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --exec-prefix=/usr \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --disable-static \ - --enable-shared \ - --with-gnu-ld \ - --without-debug \ - --with-warn \ - --without-python - -make - -$MAKEINSTALL diff --git a/packages/devel/libcap-ng/install b/packages/devel/libcap-ng/install deleted file mode 100755 index 4d14480164..0000000000 --- a/packages/devel/libcap-ng/install +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -#      Copyright (C) 2010-2011 Roman Weber (roman@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/lib - cp -P $PKG_BUILD/src/.libs/*.so* $INSTALL/usr/lib diff --git a/packages/devel/libcap-ng/meta b/packages/devel/libcap-ng/meta deleted file mode 100644 index 0e08fcc904..0000000000 --- a/packages/devel/libcap-ng/meta +++ /dev/null @@ -1,35 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -#      Copyright (C) 2010-2011 Roman Weber (roman@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="libcap-ng" -PKG_VERSION="0.6.6" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="" -PKG_URL="http://people.redhat.com/sgrubb/libcap-ng/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="attr" -PKG_BUILD_DEPENDS="toolchain attr" -PKG_PRIORITY="optional" -PKG_SECTION="devel" -PKG_SHORTDESC="libcap-ng: A library for getting and setting POSIX.1e capabilities" -PKG_LONGDESC="As of Linux 2.2.0, the power of the superuser has been partitioned into a set of discrete capabilities (in other places, these capabilities are know as privileges). The contents of the libcap package are a library and a number of simple programs that are intended to show how an application/daemon can be protected (with wrappers) or rewritten to take advantage of this fine grained approach to constraining the danger to your system from programs running as 'root'." -PKG_IS_ADDON="no" diff --git a/packages/security/libtasn1/build b/packages/devel/libcec/build similarity index 95% rename from packages/security/libtasn1/build rename to packages/devel/libcec/build index ff561a806d..31c65a3880 100755 --- a/packages/security/libtasn1/build +++ b/packages/devel/libcec/build @@ -22,6 +22,9 @@ . config/options $1 +# libcec fails to build with LTO optimization + strip_lto + cd $PKG_BUILD ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ @@ -31,4 +34,5 @@ cd $PKG_BUILD --enable-shared \ make + $MAKEINSTALL diff --git a/packages/network/netmount/install b/packages/devel/libcec/install similarity index 85% rename from packages/network/netmount/install rename to packages/devel/libcec/install index 87546cd92a..ca8febca2f 100755 --- a/packages/network/netmount/install +++ b/packages/devel/libcec/install @@ -22,8 +22,10 @@ . config/options $1 - mkdir -p $INSTALL/usr/bin - cp $PKG_DIR/scripts/netmount $INSTALL/usr/bin +mkdir -p $INSTALL/usr/lib + cp -P $PKG_BUILD/src/lib/.libs/*.so* $INSTALL/usr/lib - mkdir -p $INSTALL/usr/config - cp $PKG_DIR/config/netmount.conf.sample $INSTALL/usr/config +if [ "$DEVTOOLS" = yes ]; then + mkdir -p $INSTALL/usr/bin + cp -P $PKG_BUILD/src/testclient/cec-client $INSTALL/usr/bin +fi diff --git a/packages/sysutils/ifuse/meta b/packages/devel/libcec/meta similarity index 72% rename from packages/sysutils/ifuse/meta rename to packages/devel/libcec/meta index f51bde9e09..f1f08dd4ca 100644 --- a/packages/sysutils/ifuse/meta +++ b/packages/devel/libcec/meta @@ -18,19 +18,19 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -PKG_NAME="ifuse" -PKG_VERSION="1.0.0" +PKG_NAME="libcec" +PKG_VERSION="8f084f0" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" -PKG_SITE="http://www.libimobiledevice.org" -PKG_URL="http://www.libimobiledevice.org/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="fuse glib libimobiledevice" -PKG_BUILD_DEPENDS="toolchain fuse glib libimobiledevice" +PKG_SITE="http://libcec.pulse-eight.com/" +PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" +PKG_DEPENDS="udev" +PKG_BUILD_DEPENDS="toolchain udev" PKG_PRIORITY="optional" PKG_SECTION="system" -PKG_SHORTDESC="ifuse: a fuse filesystem for mounting iPhone and iPod touch devices" -PKG_LONGDESC="ifise is a fuse filesystem for mounting iPhone and iPod touch devices" +PKG_SHORTDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor" +PKG_LONGDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor." PKG_IS_ADDON="no" PKG_AUTORECONF="yes" diff --git a/packages/devel/libimobiledevice/meta b/packages/devel/libimobiledevice/meta deleted file mode 100644 index 83577ef91e..0000000000 --- a/packages/devel/libimobiledevice/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="libimobiledevice" -PKG_VERSION="1.1.1" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.libimobiledevice.org/" -PKG_URL="http://www.libimobiledevice.org/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="usbmuxd glib gnutls libtasn1 libplist" -PKG_BUILD_DEPENDS="toolchain usbmuxd glib gnutls libtasn1 libplist" -PKG_PRIORITY="optional" -PKG_SECTION="devel" -PKG_SHORTDESC="libimobiledevice: a software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices." -PKG_LONGDESC="libimobiledevice is a software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="yes" diff --git a/packages/sysutils/sshfs-fuse/build b/packages/devel/yajl/build similarity index 89% rename from packages/sysutils/sshfs-fuse/build rename to packages/devel/yajl/build index f480a4a51b..864d5fa956 100755 --- a/packages/sysutils/sshfs-fuse/build +++ b/packages/devel/yajl/build @@ -23,9 +23,12 @@ . config/options $1 cd $PKG_BUILD -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --enable-shared \ +mkdir -p build && cd build + +cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + .. make + +$MAKEINSTALL diff --git a/packages/audio/libmms/install b/packages/devel/yajl/install similarity index 94% rename from packages/audio/libmms/install rename to packages/devel/yajl/install index 236f10acaf..b95a868e25 100755 --- a/packages/audio/libmms/install +++ b/packages/devel/yajl/install @@ -23,5 +23,5 @@ . config/options $1 mkdir -p $INSTALL/usr/lib - cp -P $PKG_BUILD/src/.libs/*.so* $INSTALL/usr/lib + cp -P $PKG_BUILD/build/yajl-*/lib/libyajl.so* $INSTALL/usr/lib diff --git a/packages/3rdparty/multimedia/libao/meta b/packages/devel/yajl/meta old mode 100755 new mode 100644 similarity index 70% rename from packages/3rdparty/multimedia/libao/meta rename to packages/devel/yajl/meta index 9d3153e9a1..3be18cb1fe --- a/packages/3rdparty/multimedia/libao/meta +++ b/packages/devel/yajl/meta @@ -18,18 +18,19 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -PKG_NAME="libao" -PKG_VERSION="1.1.0" +PKG_NAME="yajl" +PKG_VERSION="2.0.1" PKG_REV="1" PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/Andywebs/shairport" -PKG_URL="http://downloads.xiph.org/releases/ao/${PKG_NAME}-${PKG_VERSION}.tar.gz" +PKG_LICENSE="ISC" +PKG_SITE="http://lloyd.github.com/yajl/" +PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" -PKG_SECTION="network" -PKG_SHORTDESC="libao: a cross platform audio library" -PKG_LONGDESC="Libao is a cross-platform audio library that allows programs to output audio using a simple API on a wide variety of platforms." +PKG_SECTION="devel" +PKG_SHORTDESC="yajl: Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) JSON parser" +PKG_LONGDESC="Yet Another JSON Library (YAJL) is a small event-driven (SAX-style) JSON parser written in ANSI C, and a small validating JSON generator. YAJL is released under the permissive ISC license." PKG_IS_ADDON="no" + PKG_AUTORECONF="no" diff --git a/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf b/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf index 1e95d3cb35..99451e752e 100644 --- a/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf +++ b/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf @@ -48,8 +48,8 @@ CONFIG_FEATURE_DEVPTS=y # CONFIG_SELINUX is not set CONFIG_FEATURE_PREFER_APPLETS=y CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -# CONFIG_FEATURE_SYSLOG is not set -# CONFIG_FEATURE_HAVE_RPC is not set +CONFIG_FEATURE_SYSLOG=y +CONFIG_FEATURE_HAVE_RPC=y # # Build Options @@ -178,9 +178,9 @@ CONFIG_CAT=y CONFIG_TEST=y CONFIG_FEATURE_TEST_64=y # CONFIG_TOUCH is not set -# CONFIG_TR is not set -# CONFIG_FEATURE_TR_CLASSES is not set -# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y # CONFIG_BASE64 is not set # CONFIG_WHO is not set # CONFIG_USERS is not set @@ -571,8 +571,8 @@ CONFIG_FEATURE_MOUNT_FAKE=y # CONFIG_FEATURE_MOUNT_VERBOSE is not set # CONFIG_FEATURE_MOUNT_HELPERS is not set CONFIG_FEATURE_MOUNT_LABEL=y -# CONFIG_FEATURE_MOUNT_NFS is not set -# CONFIG_FEATURE_MOUNT_CIFS is not set +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y CONFIG_FEATURE_MOUNT_FLAGS=y # CONFIG_FEATURE_MOUNT_FSTAB is not set CONFIG_PIVOT_ROOT=y @@ -716,7 +716,7 @@ CONFIG_IONICE=y # # CONFIG_NAMEIF is not set # CONFIG_FEATURE_NAMEIF_EXTENDED is not set -# CONFIG_NBDCLIENT is not set +CONFIG_NBDCLIENT=y # CONFIG_NC is not set # CONFIG_NC_SERVER is not set # CONFIG_NC_EXTRA is not set diff --git a/packages/initramfs/sysutils/busybox-initramfs/scripts/init b/packages/initramfs/sysutils/busybox-initramfs/scripts/init index 42dded7099..31b0962c15 100755 --- a/packages/initramfs/sysutils/busybox-initramfs/scripts/init +++ b/packages/initramfs/sysutils/busybox-initramfs/scripts/init @@ -27,9 +27,15 @@ IMAGE_SYSTEM="SYSTEM" IMAGE_KERNEL="KERNEL" REBOOT="0" +# defaults for booting from an nbd root +NBD_ROOT_SERVER="192.168.1.1" +NBD_ROOT_PORT="2000" +NFS_OVERLAY="192.168.1.1:/var/lib/overlay" + # mount all needed special filesystems /bin/busybox mount -t devtmpfs none /dev /bin/busybox mount -t proc none /proc + /bin/busybox mount -t sysfs none /sys # hide kernel log messages on console echo '1 4 1 7' > /proc/sys/kernel/printk @@ -49,6 +55,23 @@ REBOOT="0" fastboot) FASTBOOT=yes ;; + netboot) + NETBOOT=yes + ;; + nbdroot=*) + nbdroot="${arg#nbdroot=}" + NBD_ROOT_SERVER=$( echo "${nbdroot}" | /bin/busybox sed 's/:.*//') + NBD_ROOT_PORT=$( echo "${nbdroot}" | /bin/busybox sed 's/.*://') + ;; + nbdserver=*) + NBD_ROOT_SERVER="${arg#nbdserver=}" + ;; + nbdport=*) + NBD_ROOT_PORT="${arg#nbdport=}" + ;; + nfsoverlay=*) + NFS_OVERLAY="${arg#nfsoverlay=}" + ;; esac done @@ -97,14 +120,21 @@ REBOOT="0" # progress "check filesystem $1 ..." # /sbin/fsck -M -T -a $1 > /dev/null 2>&1 - for i in 1 2 3 4 5 6 7 8 9 10; do - ERR_ENV=1 - progress "mount filesystem $1 ..." - /bin/busybox mount -o $3 $1 $2 > /dev/null 2>&1 - [ "$?" -eq "0" ] && ERR_ENV=0 && break - /bin/busybox usleep 1000000 - done - [ "$ERR_ENV" -ne "0" ] && error "INIT_4" "Could not mount $1" && debug_shell + for i in 1 2 3 4 5 6 7 8 9 10; do + ERR_ENV=1 + MOUNT_OPTIONS="-o $3 $1 $2" + + if [ -n "$4" ]; then + MOUNT_OPTIONS="-t $4 $MOUNT_OPTIONS" + fi + + progress "mount filesystem $1 ..." + $IONICE /bin/busybox mount $MOUNT_OPTIONS > /dev/null 2>&1 + [ "$?" -eq "0" ] && ERR_ENV=0 && break + + /bin/busybox usleep 1000000 + done + [ "$ERR_ENV" -ne "0" ] && error "INIT_4" "Could not mount $1" && debug_shell } update() { @@ -135,48 +165,90 @@ REBOOT="0" done } -# deal with hfs partitions - if [ -x /sbin/fsck_hfs ]; then - hfsdiskprep - fi + mount_nbd() { + retry_nr=0 + retry_delay=20 + OVERLAY_DIR=`cat /sys/class/net/eth0/address | /bin/busybox tr -d :` - mount_part "$boot" "/flash" "ro,noatime" + while [ ${retry_nr} -lt ${retry_delay} ] && [ ! -e /sysroot/sbin/init ]; do + [ ${retry_nr} -gt 0 ] && \ + $IONICE /bin/busybox nbd-client $NBD_ROOT_SERVER $NBD_ROOT_PORT /dev/nbd0 && \ + mount_part "/dev/nbd0" "/sysroot" "ro" "squashfs" - show_splash + retry_nr=$(( ${retry_nr} + 1 )) - if [ -f "/flash/MACH_KERNEL" ]; then - IMAGE_KERNEL="MACH_KERNEL" - fi + [ ! -e /sysroot/sbin/init ] && /bin/busybox usleep 1000000 - if [ -n "$disk" ]; then - mount_part "$disk" "/storage" "rw,noatime" - update "Kernel" "$IMAGE_KERNEL" "/flash/$IMAGE_KERNEL" - update "System" "$IMAGE_SYSTEM" "/flash/$IMAGE_SYSTEM" + [ ${retry_nr} -gt 0 ] + done - if test "$REBOOT" -eq "1"; then - echo "System reboots now..." && \ - /bin/busybox reboot + if [ ! -e /sysroot/sbin/init ]; then + error "INIT_2" "Could not mount NBD root from $NBD_ROOT_SERVER port $NBD_ROOT_PORT" + debug_shell fi - fi - if [ -f "/flash/$IMAGE_SYSTEM" ]; then - mount_part "/flash/$IMAGE_SYSTEM" "/sysroot" "ro,loop" - [ "$ERR_ENV" -ne "0" ] && debug_shell + mount_part "$NFS_OVERLAY" "/sysroot/storage" "rw,nolock,retrans=10" "nfs" + + if [ ! -d /sysroot/storage/$OVERLAY_DIR ]; then + mkdir /sysroot/storage/$OVERLAY_DIR + fi + + /bin/busybox umount /sysroot/storage + mount_part "$NFS_OVERLAY/$OVERLAY_DIR" "/sysroot/storage" "rw,nolock" "nfs" + } + + mount_disk() { + + # deal with hfs partitions + if [ -x /sbin/fsck_hfs ]; then + hfsdiskprep + fi + + mount_part "$boot" "/flash" "ro,noatime" + show_splash + + if [ -n "$disk" ]; then + mount_part "$disk" "/storage" "rw,noatime" + + if [ -f "/flash/MACH_KERNEL" ]; then + IMAGE_KERNEL="MACH_KERNEL" + fi + + update "Kernel" "$IMAGE_KERNEL" "/flash/$IMAGE_KERNEL" + update "System" "$IMAGE_SYSTEM" "/flash/$IMAGE_SYSTEM" + + if test "$REBOOT" -eq "1"; then + echo "System reboots now..." && \ + /bin/busybox reboot + fi + fi + + if [ -f "/flash/$IMAGE_SYSTEM" ]; then + mount_part "/flash/$IMAGE_SYSTEM" "/sysroot" "ro,loop" + [ "$ERR_ENV" -ne "0" ] && debug_shell + else + error "INIT_2" "Could not find system." + debug_shell + fi + + # move /flash and /storage to /sysroot + /bin/busybox mount --move /flash /sysroot/flash + + if [ -n "$disk" ]; then + /bin/busybox mount --move /storage /sysroot/storage + fi + } + + if [ -z "$NETBOOT" ]; then + mount_disk else - error "INIT_2" "Could not find system." - debug_shell - fi - -# move /flash and /storage to /sysroot - /bin/busybox mount --move /flash /sysroot/flash - - if [ -n "$disk" ]; then - /bin/busybox mount --move /storage /sysroot/storage + mount_nbd fi # move some special filesystems /bin/busybox mount --move /dev /sysroot/dev /bin/busybox mount --move /proc /sysroot/proc + /bin/busybox mount --move /sys /sysroot/sys # switch to new sysroot and start real init exec /bin/busybox switch_root /sysroot /sbin/init diff --git a/packages/mediacenter/meta b/packages/mediacenter/meta index 0632bce908..3149e2e97e 100644 --- a/packages/mediacenter/meta +++ b/packages/mediacenter/meta @@ -35,6 +35,6 @@ PKG_IS_ADDON="no" PKG_AUTORECONF="no" -for i in "$SKINS"; do +for i in $SKINS; do PKG_DEPENDS="$PKG_DEPENDS $MEDIACENTER-theme-$i" done \ No newline at end of file diff --git a/packages/mediacenter/xbmc-theme-Confluence/meta b/packages/mediacenter/xbmc-theme-Confluence/meta index 9def276d41..04d4fc3c70 100644 --- a/packages/mediacenter/xbmc-theme-Confluence/meta +++ b/packages/mediacenter/xbmc-theme-Confluence/meta @@ -19,12 +19,12 @@ ################################################################################ PKG_NAME="xbmc-theme-Confluence" -PKG_VERSION="10.1-Dharma" +PKG_VERSION="70537d2" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.xbmc.org" -PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS="" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" diff --git a/packages/mediacenter/xbmc-theme-Confluence/patches/xbmc-theme-Confluence-10.1-Dharma-001-fix_bookmarks_filenames-0.1.patch b/packages/mediacenter/xbmc-theme-Confluence/patches/xbmc-theme-Confluence-10.1-Dharma-001-fix_bookmarks_filenames-0.1.patch deleted file mode 100644 index e527f60efd..0000000000 --- a/packages/mediacenter/xbmc-theme-Confluence/patches/xbmc-theme-Confluence-10.1-Dharma-001-fix_bookmarks_filenames-0.1.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur xbmc-theme-Confluence-10.1-Dharma/720p/VideoOSD.xml xbmc-theme-Confluence-10.1-Dharma.patch/720p/VideoOSD.xml ---- xbmc-theme-Confluence-10.1-Dharma/720p/VideoOSD.xml 2011-03-08 02:49:22.000000000 +0100 -+++ xbmc-theme-Confluence-10.1-Dharma.patch/720p/VideoOSD.xml 2011-03-30 18:18:57.291644805 +0200 -@@ -23,8 +23,8 @@ - 45 - - - -- OSDBookMarksFO.png -- OSDBookMarksNF.png -+ OSDBookmarksFO.png -+ OSDBookmarksNF.png - 705 - 701 - 600 diff --git a/packages/mediacenter/xbmc-theme-Confluence/patches/xbmc-theme-Confluence-10.1-Dharma-012-add_addon_service_script_support-0.1.patch b/packages/mediacenter/xbmc-theme-Confluence/patches/xbmc-theme-Confluence-10.1-Dharma-012-add_addon_service_script_support-0.1.patch deleted file mode 100644 index bd893e8e3e..0000000000 Binary files a/packages/mediacenter/xbmc-theme-Confluence/patches/xbmc-theme-Confluence-10.1-Dharma-012-add_addon_service_script_support-0.1.patch and /dev/null differ diff --git a/packages/mediacenter/xbmc/build b/packages/mediacenter/xbmc/build index 5b15ec7136..bad981cda0 100755 --- a/packages/mediacenter/xbmc/build +++ b/packages/mediacenter/xbmc/build @@ -29,9 +29,15 @@ else fi if [ "$XBMC_VIS_PROJECTM" = yes ]; then - XBMC_PROJECTM="--enable-xbmcprojectm" + XBMC_PROJECTM="--enable-projectm" else - XBMC_PROJECTM="--disable-xbmcprojectm" + XBMC_PROJECTM="--disable-projectm" +fi + +if [ "$XBMC_VIS_GOOM" = yes ]; then + XBMC_GOOM="--enable-goom" +else + XBMC_GOOM="--disable-goom" fi if [ "$PULSEAUDIO_SUPPORT" = yes ]; then @@ -40,12 +46,30 @@ else XBMC_PULSEAUDIO="--disable-pulse" fi +if [ "$CEC_SUPPORT" = yes ]; then + XBMC_CEC="--enable-libcec --enable-external-libcec --enable-udev --disable-libusb" +else + XBMC_CEC="--disable-libcec --disable-udev --disable-libusb" +fi + if [ "$NONFREE_SUPPORT" = yes ]; then XBMC_NONFREE="--enable-non-free" else XBMC_NONFREE="--disable-non-free" fi +if [ "$AIRPLAY_SUPPORT" = yes ]; then + XBMC_AIRPLAY="--enable-airplay" +else + XBMC_AIRPLAY="--disable-airplay" +fi + +if [ "$AIRTUNES_SUPPORT" = yes ]; then + XBMC_AIRTUNES="--enable-airtunes" +else + XBMC_AIRTUNES="--disable-airtunes" +fi + if [ "$DVDCSS_SUPPORT" = yes ]; then XBMC_DVDCSS="--enable-dvdcss" else @@ -64,6 +88,18 @@ else XBMC_AVAHI="--disable-avahi" fi +if [ "$NFS_SUPPORT" = yes ]; then + XBMC_NFS="--enable-nfs" +else + XBMC_NFS="--disable-nfs" +fi + +if [ "$AFP_SUPPORT" = yes ]; then + XBMC_AFP="--enable-afpclient" +else + XBMC_AFP="--disable-afpclient" +fi + if [ "$SAMBA_CLIENT" = yes ]; then XBMC_SAMBA="--enable-samba" else @@ -103,6 +139,12 @@ fi # this fixes problems with faac implementation of ffmpeg LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"` + export PYTHON_VERSION="2.6" + export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION" + export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION" + export PYTHON_SITE_PKG="$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION/site-packages" + export ac_python_version="$PYTHON_VERSION" + # this fixes the "stretching picture bug" CFLAGS=`echo $CFLAGS | sed -e "s|-ftree-loop-distribution||"` CFLAGS=`echo $CFLAGS | sed -e "s|-floop-interchange||"` @@ -121,13 +163,26 @@ fi cd $PKG_BUILD -do_autoreconf -do_autoreconf lib/cpluff -[ -d lib/libass ] && do_autoreconf lib/libass -[ -d xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss ] && do_autoreconf xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss -do_autoreconf xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread -do_autoreconf xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav -do_autoreconf xbmc/lib/libid3tag/libid3tag +# adding fake Makefile for stripped skin + mkdir -p addons/skin.confluence/media + touch addons/skin.confluence/media/Makefile.in + mkdir -p addons/skin.touched/media + touch addons/skin.touched/media/Makefile.in + +# autoreconf + do_autoreconf + do_autoreconf lib/libid3tag/libid3tag + do_autoreconf xbmc/screensavers/rsxs-0.9 + do_autoreconf xbmc/visualizations/Goom/goom2k4-0 + do_autoreconf lib/libapetag + do_autoreconf lib/cpluff + # order matters with libdvd and friends + [ -d lib/libdvd/libdvdcss ] && do_autoreconf lib/libdvd/libdvdcss + do_autoreconf lib/libdvd/libdvdread + do_autoreconf lib/libdvd/libdvdnav + +# Clean the generated files + find . -depth -type d -name "autom4te.cache" -exec rm -rf {} \; ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ @@ -141,39 +196,47 @@ do_autoreconf xbmc/lib/libid3tag/libid3tag --disable-debug \ --disable-optimizations \ --enable-gl \ + --disable-gles \ $XBMC_VDPAU \ $XBMC_VAAPI \ $XBMC_CRYSTALHD \ --disable-vdadecoder \ + --disable-vtbdecoder \ + --disable-openmax \ + --disable-tegra \ --disable-profiling \ --enable-joystick \ - --enable-xrandr \ - --disable-goom \ - $XBMC_PROJECTM \ + $XBMC_CEC \ + $XBMC_GOOM \ $XBMC_RSXS \ + $XBMC_PROJECTM \ + --enable-x11 \ + --enable-xrandr \ --disable-ccache \ $XBMC_PULSEAUDIO \ + --enable-rtmp \ + $XBMC_SAMBA \ + $XBMC_NFS \ + $XBMC_AFP \ --enable-ffmpeg-libvorbis \ - --disable-faac \ --enable-lame \ $XBMC_DVDCSS \ --disable-mid \ - $XBMC_AVAHI \ - $XBMC_SAMBA \ --disable-hal \ + $XBMC_AVAHI \ + $XBMC_AIRPLAY \ + $XBMC_AIRTUNES \ $XBMC_NONFREE \ --disable-asap-codec \ $XBMC_WEBSERVER \ - --disable-libdts \ - --disable-liba52 \ + --enable-optical-drive \ $XBMC_BLURAY \ + --enable-texturepacker \ + --disable-external-libraries \ --disable-external-ffmpeg \ - --disable-external-liba52 \ - --disable-external-libdts \ - --enable-external-python \ # setup default skin inside the sources - sed -i -e "s|skin.confluence|$SKIN_DIR|g" xbmc/Settings.h + sed -i -e "s|skin.confluence|$SKIN_DIR|g" xbmc/settings/Settings.h make externals make xbmc.bin diff --git a/packages/mediacenter/xbmc/config/advancedsettings.xml b/packages/mediacenter/xbmc/config/advancedsettings.xml new file mode 100644 index 0000000000..c6f22f0a3a --- /dev/null +++ b/packages/mediacenter/xbmc/config/advancedsettings.xml @@ -0,0 +1,10 @@ + + + false + false + cputemp + gputemp + + 30 + + diff --git a/packages/mediacenter/xbmc/init.d/92_setup-xbmc b/packages/mediacenter/xbmc/init.d/92_setup-xbmc index 1344840f82..dc1ce42edb 100644 --- a/packages/mediacenter/xbmc/init.d/92_setup-xbmc +++ b/packages/mediacenter/xbmc/init.d/92_setup-xbmc @@ -34,21 +34,6 @@ progress "setup XBMC" # 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 - - true - false - cputemp - gputemp - - 30 - - -EOF - fi - # # setup directories for XBMC sources # diff --git a/packages/mediacenter/xbmc/install b/packages/mediacenter/xbmc/install index f9e89ec58f..a5a2669182 100755 --- a/packages/mediacenter/xbmc/install +++ b/packages/mediacenter/xbmc/install @@ -73,6 +73,9 @@ mkdir -p $INSTALL/usr/share/xbmc/media $INSTALL/usr/share/xbmc/addons/script.module.pil/lib/PIL rm -rf $INSTALL/usr/share/xbmc/addons/script.module.pysqlite +mkdir -p $INSTALL/usr/share/xbmc/system/ + cp $PKG_DIR/config/advancedsettings.xml $INSTALL/usr/share/xbmc/system/ + mkdir -p $INSTALL/usr/share/xbmc/addons cp -R $PKG_DIR/config/os.openelec.tv $INSTALL/usr/share/xbmc/addons $SED "s|@ADDON_OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/xbmc/addons/os.openelec.tv/addon.xml diff --git a/packages/mediacenter/xbmc/meta b/packages/mediacenter/xbmc/meta index 8c84fdd8c8..dbc5cc790e 100644 --- a/packages/mediacenter/xbmc/meta +++ b/packages/mediacenter/xbmc/meta @@ -19,14 +19,14 @@ ################################################################################ PKG_NAME="xbmc" -PKG_VERSION="10.1-Dharma" +PKG_VERSION="70537d2" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.xbmc.org" -PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="boost Python zlib bzip2 lzo pcre alsa-lib libass enca curl libssh rtmpdump dbus libXt libXtst libXmu libXrandr Mesa glew fontconfig fribidi $LIBJPEG libpng tiff freetype jasper libmad libsamplerate libogg libvorbis libcdio libmms libmodplug faad2 flac wavpack lame libmpeg2 SDL SDL_mixer SDL_image sqlite mysql alsa bc xbmc-addon-settings" -PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 lzo pcre alsa-lib libass enca curl libssh rtmpdump dbus libXt libXtst libXmu libXrandr Mesa glew fontconfig fribidi $LIBJPEG libpng tiff freetype jasper libmad libsamplerate libogg libvorbis libcdio libmms libmodplug faad2 flac wavpack lame libmpeg2 SDL SDL_mixer SDL_image sqlite mysql" +PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" +PKG_DEPENDS="boost Python zlib bzip2 lzo pcre alsa-lib libass enca curl libssh rtmpdump Mesa glew fontconfig fribidi $LIBJPEG libpng tiff freetype jasper libmad libsamplerate libogg libvorbis libcdio libmodplug faad2 flac lame libmpeg2 SDL SDL_mixer SDL_image yajl sqlite mysql alsa bc xbmc-addon-settings" +PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 lzo pcre alsa-lib libass enca curl libssh rtmpdump Mesa glew fontconfig fribidi $LIBJPEG libpng tiff freetype jasper libmad libsamplerate libogg libvorbis libcdio libmodplug faad2 flac lame libmpeg2 SDL SDL_mixer SDL_image yajl sqlite mysql" PKG_PRIORITY="optional" PKG_SECTION="mediacenter" PKG_SHORTDESC="xbmc: XBMC Mediacenter" @@ -35,6 +35,28 @@ PKG_IS_ADDON="no" PKG_AUTORECONF="no" +# for libX11 support + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libX11 libXext" + PKG_DEPENDS="$PKG_DEPENDS libX11 libXext" + +# for libXrandr support + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXrandr" + PKG_DEPENDS="$PKG_DEPENDS libXrandr" + +# for dbus support + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS dbus" + PKG_DEPENDS="$PKG_DEPENDS dbus" + +if [ "$CEC_SUPPORT" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libcec" + PKG_DEPENDS="$PKG_DEPENDS libcec" +fi + +if [ "$XBMC_SCR_RSXS" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXt libXmu" + PKG_DEPENDS="$PKG_DEPENDS libXt libXmu" +fi + if [ "$FAAC_SUPPORT" = yes ]; then PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS faac" PKG_DEPENDS="$PKG_DEPENDS faac" @@ -50,6 +72,26 @@ if [ "$AVAHI_DAEMON" = yes ]; then PKG_DEPENDS="$PKG_DEPENDS avahi" fi +if [ "$AIRPLAY_SUPPORT" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libplist" + PKG_DEPENDS="$PKG_DEPENDS libplist" +fi + +if [ "$AIRTUNES_SUPPORT" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libshairport" + PKG_DEPENDS="$PKG_DEPENDS libshairport" +fi + +if [ "$NFS_SUPPORT" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libnfs" + PKG_DEPENDS="$PKG_DEPENDS libnfs" +fi + +if [ "$AFP_SUPPORT" = yes ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS afpfs-ng" + PKG_DEPENDS="$PKG_DEPENDS afpfs-ng" +fi + if [ "$SAMBA_CLIENT" = yes ]; then PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS samba" PKG_DEPENDS="$PKG_DEPENDS samba" @@ -87,3 +129,4 @@ fi # some python stuff needed for various addons PKG_DEPENDS="$PKG_DEPENDS Imaging" PKG_DEPENDS="$PKG_DEPENDS simplejson" + diff --git a/packages/mediacenter/xbmc/patches/900-advancedsettings_patches.txt b/packages/mediacenter/xbmc/patches/900-advancedsettings_patches.txt deleted file mode 100644 index b1a3c55293..0000000000 --- a/packages/mediacenter/xbmc/patches/900-advancedsettings_patches.txt +++ /dev/null @@ -1,4 +0,0 @@ - bei openelec fehlt mir eigentlich nur noch die bluetooth ps3 remote und mein metadata patch :) - wo find ich den patch nochmal? - http://trac.xbmc.org/ticket/10292 und http://trac.xbmc.org/ticket/10298 - http://trac.xbmc.org/attachment/ticket/10292/advancedsettings-alwaysextractflags.diff und http://trac.xbmc.org/attachment/ticket/10298/advancedsettings-videolibrary.flattenmoviesets.diff diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-002-arm_fixes-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-002-arm_fixes-0.1.patch deleted file mode 100644 index a5dd29e7ff..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-002-arm_fixes-0.1.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 13:30:17.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-03-06 21:19:57.004648466 +0100 -@@ -448,30 +448,6 @@ - LIBS="$LIBS -framework CoreFoundation" - LIBS="$LIBS -framework DiskArbitration" - LIBS="$LIBS -framework ApplicationServices" --elif expr "X$host_cpu" : 'Xarm.*' > /dev/null; then -- use_arch=arm -- CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" -- CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" -- FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp" -- if test "$use_tegra" = "yes"; then -- # Compile for ARMv7a architecture, need to test gcc for vfpv3-d16 support -- SAVE_CFLAGS="$CFLAGS" -- CFLAGS="-mfpu=vfpv3-d16" -- AC_COMPILE_IFELSE( -- [int foo;], -- [ CFLAGS="$SAVE_CFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork" -- CXXFLAGS="$CXXFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork" -- FFMPEG_EXTRACFLAGS+=" -mtune=cortex-a9 -mfpu=vfpv3-d16" -- use_cpu=cortex-a9], -- [ CFLAGS="$SAVE_CFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork" -- CXXFLAGS="$CXXFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork" -- use_cpu=cortex-a8]) -- else -- # Compile for ARMv7a architecture, CortexA8 cpu and NEON coprocessor -- CFLAGS+=" -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad" -- CXXFLAGS+=" -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad" -- FFMPEG_EXTRACFLAGS+=" -mfpu=neon" -- fi - fi - - # Checks for library functions. -@@ -1646,6 +1622,7 @@ - --disable-static \ - `if test "$use_debug" = "no"; then echo --disable-debug; fi` \ - `if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \ -+ `if test -n "$host_alias"; then echo --cross-prefix="${host_alias}-"; fi`\ - `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\ - `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\ - --target-os=$(tolower $(uname -s)) \ -diff -Naur xbmc-Dharma-10.1-c8405db/Makefile.in xbmc-Dharma-10.1-c8405db.patch/Makefile.in ---- xbmc-Dharma-10.1-c8405db/Makefile.in 2011-02-15 13:30:17.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/Makefile.in 2011-03-04 19:52:52.500328225 +0100 -@@ -467,8 +467,8 @@ - xbmc/cores/DllLoader/exports/exports.a - - ifeq (arm, $(ARCH)) --# Force external python2.5 for now! --LIBS +=-lpython2.5 -+# Force external python2.6 for now! -+LIBS +=-lpython2.6 - endif - - xbmc.bin: $(OBJSXBMC) $(DYNOBJSXBMC) 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 deleted file mode 100644 index 7e43df6a64..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-011-add_xbmcvfs_module-0.2.patch +++ /dev/null @@ -1,448 +0,0 @@ -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;iMusic video information - Album information - Artist information -+ Services - - Configure - Disable -diff -Naur xbmc-10.1-Dharma/language/English/strings.xml.orig xbmc-10.1-Dharma.patch/language/English/strings.xml.orig -diff -Naur xbmc-10.1-Dharma/xbmc/AddonDatabase.cpp xbmc-10.1-Dharma.patch/xbmc/AddonDatabase.cpp ---- xbmc-10.1-Dharma/xbmc/AddonDatabase.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/AddonDatabase.cpp 2011-04-19 00:23:35.020973069 +0200 -@@ -24,6 +24,7 @@ - #include "utils/log.h" - #include "DateTime.h" - #include "StringUtils.h" -+#include "addons/Service.h" - - using namespace ADDON; - using namespace std; -@@ -578,6 +579,16 @@ - m_pDS->close(); - sql = PrepareSQL("insert into disabled(id, addonID) values(NULL, '%s')", addonID.c_str()); - m_pDS->exec(sql); -+ -+ AddonPtr addon; -+ // If the addon is a service, stop it -+ if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_SERVICE, false) && addon) -+ { -+ boost::shared_ptr service = boost::dynamic_pointer_cast(addon); -+ if (service) -+ service->Stop(); -+ } -+ - return true; - } - return false; // already disabled or failed query -@@ -586,6 +597,16 @@ - { - CStdString sql = PrepareSQL("delete from disabled where addonID='%s'", addonID.c_str()); - m_pDS->exec(sql); -+ -+ AddonPtr addon; -+ // If the addon is a service, start it -+ if (CAddonMgr::Get().GetAddon(addonID, addon, ADDON_SERVICE, false) && addon) -+ { -+ boost::shared_ptr service = boost::dynamic_pointer_cast(addon); -+ if (service) -+ service->Start(); -+ } -+ - } - return true; - } -diff -Naur xbmc-10.1-Dharma/xbmc/addons/Addon.cpp xbmc-10.1-Dharma.patch/xbmc/addons/Addon.cpp ---- xbmc-10.1-Dharma/xbmc/addons/Addon.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/addons/Addon.cpp 2011-04-19 00:23:35.029972895 +0200 -@@ -153,7 +153,8 @@ - {"xbmc.addon.video", ADDON_VIDEO, 1037, "DefaultAddonVideo.png" }, - {"xbmc.addon.audio", ADDON_AUDIO, 1038, "DefaultAddonMusic.png" }, - {"xbmc.addon.image", ADDON_IMAGE, 1039, "DefaultAddonPicture.png" }, -- {"xbmc.addon.executable", ADDON_EXECUTABLE, 1043, "DefaultAddonProgram.png" }}; -+ {"xbmc.addon.executable", ADDON_EXECUTABLE, 1043, "DefaultAddonProgram.png" }, -+ {"xbmc.service", ADDON_SERVICE, 24018, "DefaultAddonService.png" }}; - - const CStdString TranslateType(const ADDON::TYPE &type, bool pretty/*=false*/) - { -@@ -367,6 +368,7 @@ - case ADDON_SCRIPT_WEATHER: - case ADDON_SCRIPT_SUBTITLES: - case ADDON_PLUGIN: -+ case ADDON_SERVICE: - ext = ADDON_PYTHON_EXT; - break; - default: -@@ -396,6 +398,7 @@ - case ADDON_SCRAPER_TVSHOWS: - case ADDON_SCRAPER_LIBRARY: - case ADDON_PLUGIN: -+ case ADDON_SERVICE: - { - CStdString temp = CAddonMgr::Get().GetExtValue(extension->configuration, "@library"); - m_strLibName = temp; -diff -Naur xbmc-10.1-Dharma/xbmc/addons/AddonManager.cpp xbmc-10.1-Dharma.patch/xbmc/addons/AddonManager.cpp ---- xbmc-10.1-Dharma/xbmc/addons/AddonManager.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/addons/AddonManager.cpp 2011-04-19 00:27:58.785878189 +0200 -@@ -48,6 +48,7 @@ - #include "PluginSource.h" - #include "Repository.h" - #include "Skin.h" -+#include "Service.h" - - using namespace std; - -@@ -89,6 +90,8 @@ - case ADDON_SCRIPT_MODULE: - case ADDON_WEB_INTERFACE: - return AddonPtr(new CAddon(props)); -+ case ADDON_SERVICE: -+ return AddonPtr(new CService(props)); - case ADDON_SCRAPER_ALBUMS: - case ADDON_SCRAPER_ARTISTS: - case ADDON_SCRAPER_MOVIES: -@@ -481,6 +484,8 @@ - case ADDON_SCRIPT_MODULE: - case ADDON_WEB_INTERFACE: - return AddonPtr(new CAddon(addonProps)); -+ case ADDON_SERVICE: -+ return AddonPtr(new CService(addonProps)); - case ADDON_SCRAPER_ALBUMS: - case ADDON_SCRAPER_ARTISTS: - case ADDON_SCRAPER_MOVIES: -@@ -725,7 +730,42 @@ - m_cpluff->destroy_context(context); - return addon != NULL; - } -- -+ -+bool CAddonMgr::StartServices() -+{ -+ CLog::Log(LOGDEBUG, "ADDON: Starting service addons."); -+ -+ VECADDONS services; -+ if (!GetAddons(ADDON_SERVICE, services)) -+ return false; -+ -+ bool ret = true; -+ for (IVECADDONS it = services.begin(); it != services.end(); ++it) -+ { -+ boost::shared_ptr service = boost::dynamic_pointer_cast(*it); -+ if (service) -+ ret &= service->Start(); -+ } -+ -+ return ret; -+} -+ -+void CAddonMgr::StopServices() -+{ -+ CLog::Log(LOGDEBUG, "ADDON: Stopping service addons."); -+ -+ VECADDONS services; -+ if (!GetAddons(ADDON_SERVICE, services)) -+ return; -+ -+ for (IVECADDONS it = services.begin(); it != services.end(); ++it) -+ { -+ boost::shared_ptr service = boost::dynamic_pointer_cast(*it); -+ if (service) -+ service->Stop(); -+ } -+} -+ - int cp_to_clog(cp_log_severity_t lvl) - { - if (lvl >= CP_LOG_ERROR) -diff -Naur xbmc-10.1-Dharma/xbmc/addons/AddonManager.h xbmc-10.1-Dharma.patch/xbmc/addons/AddonManager.h ---- xbmc-10.1-Dharma/xbmc/addons/AddonManager.h 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/addons/AddonManager.h 2011-04-19 00:23:35.031972857 +0200 -@@ -154,6 +154,15 @@ - */ - bool AddonsFromRepoXML(const TiXmlElement *root, VECADDONS &addons); - ADDONDEPS GetDeps(const CStdString& id); -+ -+ /*! \brief Start all services addons. -+ \return True is all addons are started, false otherwise -+ */ -+ bool StartServices(); -+ /*! \brief Stop all services addons. -+ */ -+ void StopServices(); -+ - private: - void LoadAddons(const CStdString &path, - std::map& unresolved); -diff -Naur xbmc-10.1-Dharma/xbmc/addons/IAddon.h xbmc-10.1-Dharma.patch/xbmc/addons/IAddon.h ---- xbmc-10.1-Dharma/xbmc/addons/IAddon.h 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/addons/IAddon.h 2011-04-19 00:23:35.032972838 +0200 -@@ -47,6 +47,7 @@ - ADDON_PLUGIN, - ADDON_REPOSITORY, - ADDON_WEB_INTERFACE, -+ ADDON_SERVICE, - ADDON_VIDEO, // virtual addon types - ADDON_AUDIO, - ADDON_IMAGE, -diff -Naur xbmc-10.1-Dharma/xbmc/addons/Makefile xbmc-10.1-Dharma.patch/xbmc/addons/Makefile ---- xbmc-10.1-Dharma/xbmc/addons/Makefile 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/addons/Makefile 2011-04-19 00:32:56.915120508 +0200 -@@ -6,6 +6,7 @@ - PluginSource.cpp \ - ScreenSaver.cpp \ - Scraper.cpp \ -+ Service.cpp \ - Skin.cpp \ - Visualisation.cpp \ - fft.cpp \ -diff -Naur xbmc-10.1-Dharma/xbmc/addons/Service.cpp xbmc-10.1-Dharma.patch/xbmc/addons/Service.cpp ---- xbmc-10.1-Dharma/xbmc/addons/Service.cpp 1970-01-01 01:00:00.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/addons/Service.cpp 2011-04-19 00:23:35.033972819 +0200 -@@ -0,0 +1,109 @@ -+/* -+ * Copyright (C) 2005-2009 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 "Service.h" -+#include "AddonManager.h" -+#include "log.h" -+#ifdef HAS_PYTHON -+#include "lib/libPython/XBPython.h" -+#endif -+ -+using namespace std; -+ -+namespace ADDON -+{ -+ -+CService::CService(const cp_extension_t *ext) -+ : CAddon(ext), m_type(UNKNOWN) -+{ -+ BuildServiceType(); -+} -+ -+ -+CService::CService(const AddonProps &props) -+ : CAddon(props), m_type(UNKNOWN) -+{ -+ BuildServiceType(); -+} -+ -+bool CService::Start() -+{ -+ bool ret = true; -+ switch (m_type) -+ { -+#ifdef HAS_PYTHON -+ case PYTHON: -+ ret = (g_pythonParser.evalFile(LibPath()) != -1); -+ break; -+#endif -+ -+ case UNKNOWN: -+ default: -+ ret = false; -+ break; -+ } -+ -+ return ret; -+} -+ -+bool CService::Stop() -+{ -+ bool ret = true; -+ -+ switch (m_type) -+ { -+#ifdef HAS_PYTHON -+ case PYTHON: -+ ret = g_pythonParser.StopScript(LibPath()); -+ break; -+#endif -+ -+ case UNKNOWN: -+ default: -+ ret = false; -+ break; -+ } -+ -+ return ret; -+} -+ -+void CService::BuildServiceType() -+{ -+ CStdString str = LibPath(); -+ CStdString ext; -+ -+ size_t p = str.find_last_of('.'); -+ if (p != string::npos) -+ ext = str.substr(p + 1); -+ -+#ifdef HAS_PYTHON -+ CStdString pythonExt = ADDON_PYTHON_EXT; -+ pythonExt.erase(0, 2); -+ if ( ext.Equals(pythonExt) ) -+ m_type = PYTHON; -+ else -+#endif -+ { -+ m_type = UNKNOWN; -+ CLog::Log(LOGERROR, "ADDON: extension '%s' is not currently supported for service addon", ext.c_str()); -+ } -+} -+ -+} -diff -Naur xbmc-10.1-Dharma/xbmc/addons/Service.h xbmc-10.1-Dharma.patch/xbmc/addons/Service.h ---- xbmc-10.1-Dharma/xbmc/addons/Service.h 1970-01-01 01:00:00.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/addons/Service.h 2011-04-19 00:23:35.033972819 +0200 -@@ -0,0 +1,50 @@ -+#pragma once -+/* -+ * Copyright (C) 2005-2009 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 "Addon.h" -+ -+namespace ADDON -+{ -+ -+ class CService: public CAddon -+ { -+ public: -+ -+ enum TYPE -+ { -+ UNKNOWN, -+ PYTHON -+ }; -+ -+ CService(const cp_extension_t *ext); -+ CService(const AddonProps &props); -+ -+ bool Start(); -+ bool Stop(); -+ TYPE GetServiceType() { return m_type; } -+ -+ protected: -+ void BuildServiceType(); -+ -+ private: -+ TYPE m_type; -+ }; -+} -\ Kein Zeilenumbruch am Dateiende. -diff -Naur xbmc-10.1-Dharma/xbmc/Application.cpp xbmc-10.1-Dharma.patch/xbmc/Application.cpp ---- xbmc-10.1-Dharma/xbmc/Application.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/Application.cpp 2011-04-19 00:23:35.028972914 +0200 -@@ -1163,6 +1163,8 @@ - CCrystalHD::GetInstance(); - #endif - -+ CAddonMgr::Get().StartServices(); -+ - CLog::Log(LOGNOTICE, "initialize done"); - - m_bInitializing = false; -@@ -3360,6 +3362,9 @@ - - g_mediaManager.Stop(); - -+ // Stop services before unloading Python -+ CAddonMgr::Get().StopServices(); -+ - /* Python resource freeing must be done after skin has been unloaded, not before - some windows still need it when deinitializing during skin unloading. */ - #ifdef HAS_PYTHON diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-030-since_we_never_allow_overlays_to_render_to_gpu_buffers_drop_this_code_path.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-030-since_we_never_allow_overlays_to_render_to_gpu_buffers_drop_this_code_path.patch deleted file mode 100644 index 5f4e069c22..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-030-since_we_never_allow_overlays_to_render_to_gpu_buffers_drop_this_code_path.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDOverlayRenderer.h xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDOverlayRenderer.h ---- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDOverlayRenderer.h 2011-03-08 02:49:16.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDOverlayRenderer.h 2011-09-15 13:26:00.674107708 +0200 -@@ -72,6 +72,9 @@ - - static void Render(DVDVideoPicture* pPicture, CDVDOverlay* pOverlay, double pts) - { -+ if(pPicture->format != DVDVideoPicture::FMT_YUV420P) -+ return; -+ - DVDPictureRenderer p; - - p.data[0] = pPicture->data[0]; -diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp ---- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-03-08 02:49:17.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-09-15 13:31:23.725399996 +0200 -@@ -793,33 +793,22 @@ - enum EOverlay - { OVERLAY_AUTO // select mode auto - , OVERLAY_GPU // render osd using gpu -- , OVERLAY_VID // render osd directly on video memory - , OVERLAY_BUF // render osd on buffer - } render = OVERLAY_AUTO; - -- if(render == OVERLAY_AUTO) -+ if(pSource->format == DVDVideoPicture::FMT_YUV420P) - { -- render = OVERLAY_GPU; -- - #ifdef _LINUX - // for now use cpu for ssa overlays as it currently allocates and - // frees textures for each frame this causes a hugh memory leak - // on some mesa intel drivers -- if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) && pSource->format == DVDVideoPicture::FMT_YUV420P) -- render = OVERLAY_VID; --#endif - -- if(render == OVERLAY_VID) -- { -- if( m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU) -- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE) -- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) ) -- render = OVERLAY_BUF; -- } -- } -+ if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU) -+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE) -+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) ) -+ render = OVERLAY_BUF; -+#endif - -- if(pSource->format == DVDVideoPicture::FMT_YUV420P) -- { - if(render == OVERLAY_BUF) - { - // rendering spu overlay types directly on video memory costs a lot of processing power. -@@ -848,6 +837,9 @@ - } - } - -+ if(render == OVERLAY_AUTO) -+ render = OVERLAY_GPU; -+ - m_pOverlayContainer->Lock(); - - VecOverlays* pVecOverlays = m_pOverlayContainer->GetOverlays(); -@@ -871,13 +863,8 @@ - if (render == OVERLAY_GPU) - g_renderManager.AddOverlay(pOverlay, pts2); - -- if(pSource->format == DVDVideoPicture::FMT_YUV420P) -- { -- if (render == OVERLAY_BUF) -- CDVDOverlayRenderer::Render(m_pTempOverlayPicture, pOverlay, pts2); -- else if(render == OVERLAY_VID) -- CDVDOverlayRenderer::Render(pDest, pOverlay, pts2); -- } -+ if (render == OVERLAY_BUF) -+ CDVDOverlayRenderer::Render(m_pTempOverlayPicture, pOverlay, pts2); - - } - } diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-031-disable_overlay_renderer_for_MESA_older_then_7.7.1_on_linux.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-031-disable_overlay_renderer_for_MESA_older_then_7.7.1_on_linux.patch deleted file mode 100644 index 7ea4d9de0b..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-031-disable_overlay_renderer_for_MESA_older_then_7.7.1_on_linux.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp ---- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-09-15 13:59:35.016784668 +0200 -+++ xbmc-10.1-Dharma.patch/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2011-09-15 13:58:46.193138096 +0200 -@@ -20,6 +20,7 @@ - */ - - #include "system.h" -+#include "WindowingFactory.h" - #include "AdvancedSettings.h" - #include "GUISettings.h" - #include "Settings.h" -@@ -798,16 +799,17 @@ - - if(pSource->format == DVDVideoPicture::FMT_YUV420P) - { --#ifdef _LINUX -- // for now use cpu for ssa overlays as it currently allocates and -- // frees textures for each frame this causes a hugh memory leak -- // on some mesa intel drivers -- -- if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU) -- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE) -- || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) ) -- render = OVERLAY_BUF; --#endif -+ if(g_Windowing.GetRenderQuirks() & RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER) -+ { -+ // for now use cpu for ssa overlays as it currently allocates and -+ // frees textures for each frame this causes a hugh memory leak -+ // on some mesa intel drivers -+ -+ if(m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SPU) -+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_IMAGE) -+ || m_pOverlayContainer->ContainsOverlayType(DVDOVERLAY_TYPE_SSA) ) -+ render = OVERLAY_BUF; -+ } - - if(render == OVERLAY_BUF) - { -diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.cpp xbmc-10.1-Dharma.patch/xbmc/RenderSystem.cpp ---- xbmc-10.1-Dharma/xbmc/RenderSystem.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/RenderSystem.cpp 2011-09-15 13:56:10.592078024 +0200 -@@ -29,6 +29,7 @@ - m_RenderVersionMajor = 0; - m_RenderVersionMinor = 0; - m_renderCaps = 0; -+ m_renderQuirks = 0; - m_minDXTPitch = 0; - } - -diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp xbmc-10.1-Dharma.patch/xbmc/RenderSystemGL.cpp ---- xbmc-10.1-Dharma/xbmc/RenderSystemGL.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/RenderSystemGL.cpp 2011-09-15 13:56:40.948479861 +0200 -@@ -65,8 +65,22 @@ - } - } - #endif -- if (m_RenderVendor.Equals("Tungsten Graphics, Inc.")) -+ if (m_RenderVendor.Equals("Tungsten Graphics, Inc.") -+ || m_RenderVendor.Equals("Tungsten Graphics, Inc")) - { -+ unsigned major, minor, micro; -+ if(sscanf(m_RenderVersion.c_str(), "%*s Mesa %u.%u.%u", &major, &minor, µ) == 3) -+ { -+ -+ if((major < 7) -+ || (major == 7 && minor < 7) -+ || (major == 7 && minor == 7 && micro < 1)) -+ m_renderQuirks |= RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER; -+ -+ } -+ else -+ CLog::Log(LOGNOTICE, "CRenderSystemGL::CheckOpenGLQuirks - unable to parse mesa version string"); -+ - if(m_RenderRenderer.Find("Poulsbo") >= 0) - m_renderCaps &= ~RENDER_CAPS_DXT_NPOT; - } -diff -Naur xbmc-10.1-Dharma/xbmc/RenderSystem.h xbmc-10.1-Dharma.patch/xbmc/RenderSystem.h ---- xbmc-10.1-Dharma/xbmc/RenderSystem.h 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/RenderSystem.h 2011-09-15 13:56:23.653250913 +0200 -@@ -52,6 +52,11 @@ - RENDER_CAPS_DXT_NPOT = (1 << 2) - }; - -+enum -+{ -+ RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER = 1 << 0, -+}; -+ - class CRenderSystemBase - { - public: -@@ -94,6 +99,7 @@ - bool SupportsNPOT(bool dxt) const; - unsigned int GetMaxTextureSize() const { return m_maxTextureSize; } - unsigned int GetMinDXTPitch() const { return m_minDXTPitch; } -+ unsigned int GetRenderQuirks() const { return m_renderQuirks; } - - protected: - bool m_bRenderCreated; -@@ -108,6 +114,7 @@ - int m_RenderVersionMinor; - int m_RenderVersionMajor; - unsigned int m_renderCaps; -+ unsigned int m_renderQuirks; - }; - - #endif // RENDER_SYSTEM_H diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-035-prefer_yv12_output_from_crystalhd_codec_when_running_nouveau_driver.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-035-prefer_yv12_output_from_crystalhd_codec_when_running_nouveau_driver.patch deleted file mode 100644 index e2dc06d263..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-035-prefer_yv12_output_from_crystalhd_codec_when_running_nouveau_driver.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff -Naur xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp xbmc-10.1-Dharma.patch2/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp ---- xbmc-10.1-Dharma.patch1/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp 2011-08-22 05:07:59.915149830 +0200 -+++ xbmc-10.1-Dharma.patch2/xbmc/cores/dvdplayer/DVDCodecs/Video/CrystalHD.cpp 2011-08-22 05:19:43.825427880 +0200 -@@ -39,6 +39,7 @@ - #include "utils/fastmemcpy.h" - #include "Codecs/DllSwScale.h" - #include "utils/TimeUtils.h" -+#include "xbmc/WindowingFactory.h" - - namespace BCM - { -@@ -233,6 +234,7 @@ - int m_width; - int m_height; - uint64_t m_timestamp; -+ bool m_output_YV12; - uint64_t m_PictureNumber; - uint8_t m_color_space; - unsigned int m_color_range; -@@ -335,6 +337,12 @@ - m_sw_scale_ctx = NULL; - m_dllSwScale = new DllSwScale; - m_dllSwScale->Load(); -+ -+ -+ if (g_Windowing.GetRenderQuirks() & RENDER_QUIRKS_YV12_PREFERED) -+ m_output_YV12 = true; -+ else -+ m_output_YV12 = false; - } - - CMPCOutputThread::~CMPCOutputThread() -@@ -773,15 +781,20 @@ - if (!pBuffer) - { - // No free pre-allocated buffers so make one --#ifdef _WIN32 -- // force Windows to use YV12 until DX renderer gets NV12 or YUY2 capability. -- pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUV420P, m_width, m_height); --#else -- if (m_color_space == BCM::MODE422_YUY2) -- pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUY2, m_width, m_height); -+ if (m_output_YV12) -+ { -+ // output YV12, nouveau driver has slow NV12, YUY2 capability. -+ pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUV420P, m_width, m_height); -+ } -+ - else -- pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_NV12, m_width, m_height); --#endif -+ { -+ if (m_color_space == BCM::MODE422_YUY2) -+ pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_YUY2, m_width, m_height); -+ else -+ pBuffer = new CPictureBuffer(DVDVideoPicture::FMT_NV12, m_width, m_height); -+ } -+ - CLog::Log(LOGDEBUG, "%s: Added a new Buffer, ReadyListCount: %d", __MODULE_NAME__, m_ReadyList.Count()); - while (!m_bStop && m_ReadyList.Count() > 10) - Sleep(1); -diff -Naur xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp xbmc-10.1-Dharma.patch2/xbmc/RenderSystemGL.cpp ---- xbmc-10.1-Dharma.patch1/xbmc/RenderSystemGL.cpp 2011-08-22 05:10:58.079496562 +0200 -+++ xbmc-10.1-Dharma.patch2/xbmc/RenderSystemGL.cpp 2011-08-22 05:20:56.265383606 +0200 -@@ -65,6 +65,9 @@ - } - } - #endif -+ if (m_RenderVendor.ToLower() == "nouveau") -+ m_renderQuirks |= RENDER_QUIRKS_YV12_PREFERED; -+ - if (m_RenderVendor.Equals("Tungsten Graphics, Inc.") - || m_RenderVendor.Equals("Tungsten Graphics, Inc")) - { -diff -Naur xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h xbmc-10.1-Dharma.patch2/xbmc/RenderSystem.h ---- xbmc-10.1-Dharma.patch1/xbmc/RenderSystem.h 2011-08-22 05:10:38.495238548 +0200 -+++ xbmc-10.1-Dharma.patch2/xbmc/RenderSystem.h 2011-08-22 05:19:43.847428169 +0200 -@@ -57,6 +57,11 @@ - RENDER_QUIRKS_MAJORMEMLEAK_OVERLAYRENDERER = 1 << 0, - }; - -+enum -+{ -+ RENDER_QUIRKS_YV12_PREFERED = 1 << 1, -+}; -+ - class CRenderSystemBase - { - public: diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-041-add_tcp_socket_options_and_lock_dir_to_smb-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-041-add_tcp_socket_options_and_lock_dir_to_smb-0.1.patch deleted file mode 100644 index 0c3089cb30..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-041-add_tcp_socket_options_and_lock_dir_to_smb-0.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/FileSystem/FileSmb.cpp xbmc-10.1-Dharma.patch/xbmc/FileSystem/FileSmb.cpp ---- xbmc-10.1-Dharma/xbmc/FileSystem/FileSmb.cpp 2011-09-05 02:24:35.154994777 +0200 -+++ xbmc-10.1-Dharma.patch/xbmc/FileSystem/FileSmb.cpp 2011-09-05 02:22:55.604582159 +0200 -@@ -122,6 +122,8 @@ - // use the weaker LANMAN password hash in order to be compatible with older servers - fprintf(f, "\tclient lanman auth = yes\n"); - fprintf(f, "\tlanman auth = yes\n"); -+ fprintf(f, "\tsocket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536\n"); -+ fprintf(f, "\tlock directory = %s/.smb/\n", getenv("HOME")); - - // set wins server if there's one. name resolve order defaults to 'lmhosts host wins bcast'. - // if no WINS server has been specified the wins method will be ignored. diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-201-let_select_XBMCProjectM-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-201-let_select_XBMCProjectM-0.1.patch deleted file mode 100644 index 599268596c..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-201-let_select_XBMCProjectM-0.1.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 13:30:17.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-02-15 13:57:02.105903186 +0100 -@@ -65,6 +65,8 @@ - xrandr_disabled="== XRandR support disabled. SDL will be used for resolution support. ==" - goom_enabled="== GOOM enabled. ==" - goom_disabled="== GOOM disabled. ==" -+xbmcprojectm_enabled="== XBMCProjectM enabled. ==" -+xbmxprojectm_disabled="== XBMCProjectM disabled. ==" - pulse_not_found="== Could not find libpulse. PulseAudio support disabled. ==" - pulse_disabled="== PulseAudio support manually disabled. ==" - faac_not_found="== Could not find libfaac. FAAC support disabled. ==" -@@ -204,6 +206,12 @@ - [use_goom=$enableval], - [use_goom=no]) - -+AC_ARG_ENABLE([xbmcprojectm], -+ [AS_HELP_STRING([--enable-xbmcprojectm], -+ [enable XBMCProjectM visualisation (default is yes)])], -+ [use_xbmcprojectm=$enableval], -+ [use_xbmcprojectm=yes]) -+ - AC_ARG_ENABLE([ccache], - [AS_HELP_STRING([--enable-ccache], - [enable building with ccache feature (default is auto)])], -@@ -832,6 +840,15 @@ - AC_MSG_NOTICE($librtmp_disabled) - fi - -+# XBMCPROJECTM -+if test "$use_xbmcprojectm" = "yes"; then -+ AC_MSG_NOTICE($xbmcprojectm_enabled) -+ BUILD_XBMCPROJECTM=0 -+else -+ AC_MSG_NOTICE($xbmcprojectm_disabled) -+ BUILD_XBMCPROJECTM=1 -+fi -+ - ### External libraries checks - # External FFmpeg - if test "$use_external_ffmpeg" = "yes"; then -@@ -1210,6 +1227,12 @@ - final_message="$final_message\n Bluray:\tNo" - fi - -+if test "$use_xbmcprojectm" = "yes"; then -+ final_message="$final_message\n XBMCProjectM:\tYes" -+else -+ final_message="$final_message\n XBMCProjectM:\tNo" -+fi -+ - if test "$use_mid" = "yes"; then - final_message="$final_message\n MID Support:\tYes" - SDL_DEFINES="$SDL_DEFINES -DMID" -@@ -1474,6 +1497,7 @@ - AC_SUBST(SDL_DEFINES) - AC_SUBST(BUILD_DVDCSS) - AC_SUBST(BUILD_GOOM) -+AC_SUBST(BUILD_XBMCPROJECTM) - AC_SUBST(USE_EXTERNAL_FFMPEG) - AC_SUBST(USE_EXTERNAL_LIBA52) - AC_SUBST(USE_INTERNAL_LIBA52) -@@ -1870,7 +1894,7 @@ - -DSYSCONF_INSTALL_DIR:PATH="${sysconfdir}" -DSHARE_INSTALL_PREFIX:PATH="${datadir}" . - set +x - fi --], [0]) -+], [$BUILD_XBMCPROJECTM]) - - XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[ - if test "$host_vendor" != "apple" ; then -diff -Naur xbmc-Dharma-10.1-c8405db/Makefile.in xbmc-Dharma-10.1-c8405db.patch/Makefile.in ---- xbmc-Dharma-10.1-c8405db/Makefile.in 2011-02-15 13:56:41.203329597 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/Makefile.in 2011-02-15 13:57:02.107903144 +0100 -@@ -109,8 +109,10 @@ - - VIS_DIRS=\ - xbmc/visualizations/OpenGLSpectrum \ -- xbmc/visualizations/WaveForm \ -- xbmc/visualizations/XBMCProjectM -+ xbmc/visualizations/WaveForm -+ifneq (@BUILD_XBMCPROJECTM@,1) -+VIS_DIRS+=xbmc/visualizations/XBMCProjectM -+endif - ifeq ($(findstring osx,$(ARCH)), osx) - VIS_DIRS+=xbmc/visualizations/iTunes - endif -@@ -308,7 +310,9 @@ - ifneq (arm, $(ARCH)) - $(MAKE) -C xbmc/visualizations/OpenGLSpectrum - $(MAKE) -C xbmc/visualizations/WaveForm -+ifneq (@BUILD_XBMCPROJECTM@,1) - $(MAKE) -C xbmc/visualizations/XBMCProjectM -+endif - ifeq ($(findstring osx,$(ARCH)), osx) - $(MAKE) -C xbmc/visualizations/iTunes - endif diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-202-let_select_RSXS-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-202-let_select_RSXS-0.1.patch deleted file mode 100644 index e5d81c33d8..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-202-let_select_RSXS-0.1.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 13:58:10.630505451 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-02-15 13:59:48.190515901 +0100 -@@ -67,6 +67,8 @@ - goom_disabled="== GOOM disabled. ==" - xbmcprojectm_enabled="== XBMCProjectM enabled. ==" - xbmxprojectm_disabled="== XBMCProjectM disabled. ==" -+rsxs_enabled="== RSXS enabled. ==" -+rsxs_disabled="== RSXS disabled. ==" - pulse_not_found="== Could not find libpulse. PulseAudio support disabled. ==" - pulse_disabled="== PulseAudio support manually disabled. ==" - faac_not_found="== Could not find libfaac. FAAC support disabled. ==" -@@ -212,6 +214,12 @@ - [use_xbmcprojectm=$enableval], - [use_xbmcprojectm=yes]) - -+AC_ARG_ENABLE([rsxs], -+ [AS_HELP_STRING([--enable-rsxs], -+ [enable RSXS Screensaver (default is yes)])], -+ [use_rsxs=$enableval], -+ [use_rsxs=yes]) -+ - AC_ARG_ENABLE([ccache], - [AS_HELP_STRING([--enable-ccache], - [enable building with ccache feature (default is auto)])], -@@ -849,6 +857,15 @@ - BUILD_XBMCPROJECTM=1 - fi - -+# RSXS -+if test "$use_rsxs" = "yes"; then -+ AC_MSG_NOTICE($rsxs_enabled) -+ BUILD_RSXS=0 -+else -+ AC_MSG_NOTICE($rsxs_disabled) -+ BUILD_RSXS=1 -+fi -+ - ### External libraries checks - # External FFmpeg - if test "$use_external_ffmpeg" = "yes"; then -@@ -1233,6 +1250,12 @@ - final_message="$final_message\n XBMCProjectM:\tNo" - fi - -+if test "$use_rsxs" = "yes"; then -+ final_message="$final_message\n RSXS:\t\tYes" -+else -+ final_message="$final_message\n RSXS:\t\tNo" -+fi -+ - if test "$use_mid" = "yes"; then - final_message="$final_message\n MID Support:\tYes" - SDL_DEFINES="$SDL_DEFINES -DMID" -@@ -1498,6 +1521,7 @@ - AC_SUBST(BUILD_DVDCSS) - AC_SUBST(BUILD_GOOM) - AC_SUBST(BUILD_XBMCPROJECTM) -+AC_SUBST(BUILD_RSXS) - AC_SUBST(USE_EXTERNAL_FFMPEG) - AC_SUBST(USE_EXTERNAL_LIBA52) - AC_SUBST(USE_INTERNAL_LIBA52) -@@ -1952,7 +1976,7 @@ - --disable-skyrocket - fi - fi --], [0]) -+], [$BUILD_RSXS]) - - XB_CONFIG_MODULE([xbmc/lib/libapetag], [ - if test "$host_vendor" = "apple" ; then -diff -Naur xbmc-Dharma-10.1-c8405db/Makefile.in xbmc-Dharma-10.1-c8405db.patch/Makefile.in ---- xbmc-Dharma-10.1-c8405db/Makefile.in 2011-02-15 13:58:10.631505430 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/Makefile.in 2011-02-15 13:59:48.191515880 +0100 -@@ -104,8 +104,10 @@ - LIB_DIRS+=lib/libmicrohttpd - endif - --SS_DIRS=\ -- xbmc/screensavers/rsxs-0.9/xbmc -+SS_DIRS= -+ifneq (@BUILD_RSXS@,1) -+SS_DIRS=+xbmc/screensavers/rsxs-0.9/xbmc -+endif - - VIS_DIRS=\ - xbmc/visualizations/OpenGLSpectrum \ -@@ -324,8 +326,10 @@ - endif - screensavers: exports - ifneq (arm, $(ARCH)) -+ifneq (@BUILD_RSXS@,1) - $(MAKE) -C xbmc/screensavers/rsxs-0.9/xbmc - endif -+endif - libpython: dllloader - $(MAKE) -C xbmc/lib/libPython - $(MAKE) -C xbmc/lib/libPython/xbmcmodule diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-203-let_select_Samba-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-203-let_select_Samba-0.1.patch deleted file mode 100644 index 84d7562de5..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-203-let_select_Samba-0.1.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/configure.in xbmc-10.1-Dharma.patch/configure.in ---- xbmc-10.1-Dharma/configure.in 2011-09-14 15:17:03.499574627 +0200 -+++ xbmc-10.1-Dharma.patch/configure.in 2011-09-14 15:20:45.627527971 +0200 -@@ -92,6 +92,8 @@ - openmax_not_found="== Could not find libnvomx. OpenMax support disabled. ==" - libass_using_internal="== External Libass not found, using internal. ==" - ssh_not_found="== Could not find libssh. SSH FTP VFS support disabled. ==" -+samba_not_found="== Could not find libsmbclient. SAMBA support disabled. ==" -+samba_disabled="== SAMBA support disabled. ==" - librtmp_not_found="== Could not find libRTMP. RTMP support disabled. ==" - librtmp_disabled="== RTMP support disabled. ==" - -@@ -274,6 +276,12 @@ - [use_avahi=$enableval], - [use_avahi=yes]) - -+AC_ARG_ENABLE([samba], -+ [AS_HELP_STRING([--disable-samba], -+ [disable SAMBA support (default is enabled if libsmbclient is found)])], -+ [use_samba=$enableval], -+ [use_samba=yes]) -+ - AC_ARG_ENABLE([non-free], - [AS_HELP_STRING([--disable-non-free], - [disable componentents with non-compliant licenses])], -@@ -625,7 +633,6 @@ - if test "$host_vendor" = "apple" ; then - AC_CHECK_LIB([iconv], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library)) -- AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library)) - PKG_CHECK_MODULES([VORBISFILE], [vorbisfile], - [INCLUDES="$INCLUDES $VORBISFILE_CFLAGS"; LIBS="$LIBS $VORBISFILE_LIBS"], - AC_MSG_ERROR($missing_library)) -@@ -643,7 +650,6 @@ - AC_CHECK_LIB([mysqlclient],[main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([faad], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library)) -- AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([SDL_mixer], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([dl], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([resolv], [main],, AC_MSG_ERROR($missing_library)) -@@ -786,6 +792,18 @@ - fi - fi - -+# samba -+if test "$use_samba" = "yes"; then -+ AC_CHECK_LIB([smbclient], [main],, -+ use_samba=no;AC_MSG_RESULT($samba_not_found)) -+else -+ AC_MSG_RESULT($samba_disabled) -+fi -+ -+if test "$use_samba" = "yes"; then -+ AC_DEFINE([HAVE_LIBSMBCLIENT], [1], [Define to 1 if you have Samba installed]) -+fi -+ - # XRandR - if test "$host_vendor" = "apple" ; then - use_xrandr="no" -@@ -1312,6 +1330,12 @@ - final_message="$final_message\n Avahi:\tNo" - fi - -+if test "$use_samba" = "yes"; then -+ final_message="$final_message\n Samba:\tYes" -+else -+ final_message="$final_message\n Samba:\tNo" -+fi -+ - if test "$host_vendor" = "apple"; then - echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h - else -diff -Naur xbmc-10.1-Dharma/guilib/system.h xbmc-10.1-Dharma.patch/guilib/system.h ---- xbmc-10.1-Dharma/guilib/system.h 2011-03-08 02:49:13.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/guilib/system.h 2011-09-14 15:19:35.257592410 +0200 -@@ -58,7 +58,6 @@ - #endif - - #define HAS_FILESYSTEM --#define HAS_FILESYSTEM_SMB - #define HAS_FILESYSTEM_CDDA - #define HAS_FILESYSTEM_RTV - #define HAS_FILESYSTEM_DAAP -@@ -67,6 +66,10 @@ - #define HAS_FILESYSTEM_HTSP - #define HAS_FILESYSTEM_MMS - -+#ifdef HAVE_LIBSMBCLIENT -+#define HAS_FILESYSTEM_SMB -+#endif -+ - /********************** - * Non-free Components - **********************/ -diff -Naur xbmc-10.1-Dharma/xbmc/GUIDialogMediaSource.cpp xbmc-10.1-Dharma.patch/xbmc/GUIDialogMediaSource.cpp ---- xbmc-10.1-Dharma/xbmc/GUIDialogMediaSource.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/GUIDialogMediaSource.cpp 2011-09-14 17:13:07.080677066 +0200 -@@ -240,9 +240,11 @@ - share1.m_ignore = true; - extraShares.push_back(share1); - -+#ifdef HAS_FILESYSTEM_SMB - share1.strPath = "smb://"; - share1.strName = g_localizeStrings.Get(20171); - extraShares.push_back(share1); -+#endif - - share1.strPath = "upnp://"; - share1.strName = "UPnP Devices"; -@@ -282,9 +284,11 @@ - share1.strName = "ReplayTV Devices"; - extraShares.push_back(share1); - -+#ifdef HAS_FILESYSTEM_SMB - share1.strPath = "smb://"; - share1.strName = g_localizeStrings.Get(20171); - extraShares.push_back(share1); -+#endif - - share1.strPath = "hdhomerun://"; - share1.strName = "HDHomerun Devices"; -@@ -313,9 +317,11 @@ - extraShares.push_back(share1); - } - -+#ifdef HAS_FILESYSTEM_SMB - share1.strPath = "smb://"; - share1.strName = g_localizeStrings.Get(20171); - extraShares.push_back(share1); -+#endif - - share1.strPath = "upnp://"; - share1.strName = "UPnP Devices"; -diff -Naur xbmc-10.1-Dharma/xbmc/GUIDialogNetworkSetup.cpp xbmc-10.1-Dharma.patch/xbmc/GUIDialogNetworkSetup.cpp ---- xbmc-10.1-Dharma/xbmc/GUIDialogNetworkSetup.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/GUIDialogNetworkSetup.cpp 2011-09-14 16:49:00.902517185 +0200 -@@ -128,7 +128,9 @@ - return; - - pSpin->Clear(); -+#ifdef HAS_FILESYSTEM_SMB - pSpin->AddLabel(g_localizeStrings.Get(20171), NET_PROTOCOL_SMB); -+#endif - pSpin->AddLabel(g_localizeStrings.Get(20256), NET_PROTOCOL_HTSP); - pSpin->AddLabel(g_localizeStrings.Get(20257), NET_PROTOCOL_VTP); - pSpin->AddLabel(g_localizeStrings.Get(21331), NET_PROTOCOL_TUXBOX); diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-231-disable_building_of_ffmpeg_docs-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-231-disable_building_of_ffmpeg_docs-0.1.patch deleted file mode 100644 index 9e4230005c..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-231-disable_building_of_ffmpeg_docs-0.1.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/configure.in xbmc-10.1-Dharma.patch/configure.in ---- xbmc-10.1-Dharma/configure.in 2011-03-08 02:49:24.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/configure.in 2011-09-21 22:13:32.305639980 +0200 -@@ -1613,6 +1613,7 @@ - --extra-cflags="$CFLAGS -w -D_DARWIN_C_SOURCE -Dattribute_deprecated=" \ - --disable-amd3dnow \ - --disable-static \ -+ --disable-doc \ - `if test "$use_debug" = "no"; then echo --disable-debug; fi` \ - --disable-muxers \ - --enable-muxer=spdif \ -@@ -1644,6 +1645,7 @@ - ./configure \ - --extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \ - --disable-static \ -+ --disable-doc \ - `if test "$use_debug" = "no"; then echo --disable-debug; fi` \ - `if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \ - `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\ diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-301-correct_lzo_include-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-301-correct_lzo_include-0.1.patch deleted file mode 100644 index aa10112557..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-301-correct_lzo_include-0.1.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 14:00:23.143803217 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-02-15 14:01:15.327739326 +0100 -@@ -1263,12 +1263,6 @@ - final_message="$final_message\n MID Support:\tNo" - fi - --if test -d "/usr/include/lzo"; then -- INCLUDES="$INCLUDES -I/usr/include/lzo" --else -- INCLUDES="$INCLUDES" --fi -- - if test "x$use_ccache" != "xno"; then - AC_PATH_PROG(CCACHE,ccache,none) - if test "$ac_cv_path_CCACHE" = "none"; then -diff -Naur xbmc-Dharma-10.1-c8405db/tools/TexturePacker/XBMCTex.cpp xbmc-Dharma-10.1-c8405db.patch/tools/TexturePacker/XBMCTex.cpp ---- xbmc-Dharma-10.1-c8405db/tools/TexturePacker/XBMCTex.cpp 2011-02-15 13:30:04.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/tools/TexturePacker/XBMCTex.cpp 2011-02-15 14:01:15.328739305 +0100 -@@ -40,7 +40,7 @@ - #endif - - #ifdef _LINUX --#include -+#include - #else - #include "../../xbmc/lib/liblzo/LZO1X.H" - #endif diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-302-dont_hardcode_usr_include-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-302-dont_hardcode_usr_include-0.1.patch deleted file mode 100644 index b3e19d5b91..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-302-dont_hardcode_usr_include-0.1.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/guilib/Makefile.in xbmc-Dharma-10.1-c8405db.patch/guilib/Makefile.in ---- xbmc-Dharma-10.1-c8405db/guilib/Makefile.in 2011-02-15 13:30:05.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/guilib/Makefile.in 2011-02-15 14:06:40.345116165 +0100 -@@ -1,4 +1,4 @@ --INCLUDES=-I. -I../ -Icommon -I../xbmc -I../xbmc/linux -I../xbmc/utils -I/usr/include/freetype2 -I/usr/include/SDL -I../xbmc/lib/libsquish -+INCLUDES=-I. -I../ -Icommon -I../xbmc -I../xbmc/linux -I../xbmc/utils -I../xbmc/lib/libsquish - ifneq (@USE_EXTERNAL_FFMPEG@,1) - INCLUDES+=-I../xbmc/cores/dvdplayer/Codecs/ffmpeg - endif -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/FileSystem/Makefile.in xbmc-Dharma-10.1-c8405db.patch/xbmc/FileSystem/Makefile.in ---- xbmc-Dharma-10.1-c8405db/xbmc/FileSystem/Makefile.in 2011-02-15 13:30:05.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/FileSystem/Makefile.in 2011-02-15 14:06:40.346116145 +0100 -@@ -1,6 +1,6 @@ - ARCH=@ARCH@ - --INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../lib -+INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I../lib - INCLUDES+=-I../lib/libcdio/libcdio/include - ifeq ($(findstring osx,$(ARCH)), osx) - INCLUDES+=-I../../lib/libcurl-OSX/include -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/Makefile.in xbmc-Dharma-10.1-c8405db.patch/xbmc/Makefile.in ---- xbmc-Dharma-10.1-c8405db/xbmc/Makefile.in 2011-02-15 13:30:06.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/Makefile.in 2011-02-15 14:06:40.347116125 +0100 -@@ -1,4 +1,4 @@ --INCLUDES+=-I../ -I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -I/usr/include/freetype2 -Icores/dvdplayer -+INCLUDES+=-I../ -I. -Ilinux -Icores -I../guilib -Iutils -IFileSystem -Icores/dvdplayer - - ifneq (@USE_EXTERNAL_FFMPEG@,1) - INCLUDES+=-Icores/dvdplayer/Codecs/ffmpeg diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-303-WiiRemote_crosscompiling-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-303-WiiRemote_crosscompiling-0.1.patch deleted file mode 100644 index 20a7760ebc..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-303-WiiRemote_crosscompiling-0.1.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/Makefile xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/Makefile ---- xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/Makefile 2011-02-15 13:30:04.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/Makefile 2011-02-15 14:08:13.446219906 +0100 -@@ -1,3 +1,4 @@ -+CXX ?= g++ - CFLAGS = -Wall -pipe -fPIC -funroll-loops - OBJ_DIR = release-$(shell $(CC) -v 2>&1|grep ^Target:|cut -d' ' -f2) - OBJS = wiiuse_v0.12/src/$(OBJ_DIR)/libwiiuse.so -@@ -6,7 +7,7 @@ - - all: - @$(MAKE) -C wiiuse_$(VERSION)/src $@ -- g++ $(CFLAGS) WiiUse_WiiRemote.cpp $(OBJS) -o $(BIN) -+ $(CXX) $(CFLAGS) -I./wiiuse_$(VERSION)/src WiiUse_WiiRemote.cpp $(OBJS) -o $(BIN) - wiiuse: - @$(MAKE) -C wiiuse_$(VERSION)/src - clean: -diff -Naur xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example/Makefile xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example/Makefile ---- xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example/Makefile 2011-02-15 13:30:04.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example/Makefile 2011-02-15 14:08:13.447219886 +0100 -@@ -5,7 +5,7 @@ - # - # Change this to your GCC version. - # --CC = gcc -+CC ?= gcc - - #################################################### - # -diff -Naur xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example-sdl/Makefile xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example-sdl/Makefile ---- xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example-sdl/Makefile 2011-02-15 13:30:04.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/example-sdl/Makefile 2011-02-15 14:08:13.449219844 +0100 -@@ -5,7 +5,7 @@ - # - # Change this to your GCC version. - # --CC = gcc -+CC ?= gcc - - #################################################### - # -diff -Naur xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/src/Makefile xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/src/Makefile ---- xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/src/Makefile 2011-02-15 13:30:04.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/WiiRemote/wiiuse_v0.12/src/Makefile 2011-02-15 14:08:13.450219823 +0100 -@@ -5,7 +5,7 @@ - # - # Change this to your GCC version. - # --CC = gcc -+CC ?= gcc - - #################################################### - # diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-303-fix_libdvd_xFLAGS-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-303-fix_libdvd_xFLAGS-0.1.patch deleted file mode 100644 index 0fe021231d..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-303-fix_libdvd_xFLAGS-0.1.patch +++ /dev/null @@ -1,119 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss/src/libdvdcss.pc.in xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss/src/libdvdcss.pc.in ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-02-15 14:07:34.152020190 +0100 -@@ -6,5 +6,5 @@ - Name: libdvdcss - Description: DVD access and decryption library. - Version: @VERSION@ --Libs: -L${libdir} -ldvdcss --Cflags: -I{includedir} -I${includedir}/@PACKAGE@ -+Libs: -ldvdcss -+Cflags: -I. -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config2.sh xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config2.sh ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-02-15 14:07:34.153020170 +0100 -@@ -56,17 +56,17 @@ - fi - - if test "$echo_cflags" = "yes"; then -- echo -I$prefix/include $dvdread_cflags $extracflags $threadcflags -+ echo $dvdread_cflags $extracflags $threadcflags - fi - - if test "$echo_minicflags" = "yes"; then -- echo -I$prefix/include -I$prefix/include/dvdnav $extracflags $threadcflags -+ echo $extracflags $threadcflags - fi - - if test "$echo_libs" = "yes"; then -- echo -L$libdir -ldvdnav $dvdread_libs $threadlib -+ echo -ldvdnav $dvdread_libs $threadlib - fi - - if test "$echo_minilibs" = "yes"; then -- echo -L$libdir -ldvdnavmini $threadlib -+ echo -ldvdnavmini $threadlib - fi -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config.in xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config.in ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config.in 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav-config.in 2011-02-15 14:07:34.154020150 +0100 -@@ -76,13 +76,13 @@ - fi - - if test "$echo_cflags" = "yes"; then -- echo -I@includedir@ -I@includedir@/libdvdread @THREAD_CFLAGS@ -+ echo @THREAD_CFLAGS@ - fi - - if test "$echo_libs" = "yes"; then -- echo -L@libdir@ -ldvdnav -ldvdread @THREAD_LIBS@ -+ echo -ldvdnav -ldvdread @THREAD_LIBS@ - fi - - if test "$echo_minilibs" = "yes"; then -- echo -L@libdir@ -ldvdnavmini @THREAD_LIBS@ -+ echo -ldvdnavmini @THREAD_LIBS@ - fi -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnavmini.pc.in xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnavmini.pc.in ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-02-15 14:07:34.156020109 +0100 -@@ -7,5 +7,5 @@ - Description: DVD Navigation mini library - Version: @VERSION@ - --Cflags: -I${includedir} @DVDREAD_CFLAGS@ @THREAD_CFLAGS@ --Libs: -L${libdir} -ldvdnav @THREAD_LIBS@ -+Cflags: @DVDREAD_CFLAGS@ @THREAD_CFLAGS@ -+Libs: -ldvdnav @THREAD_LIBS@ -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav.pc.in xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav.pc.in ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-02-15 14:07:34.157020088 +0100 -@@ -8,5 +8,5 @@ - Version: @VERSION@ - - Requires.private: dvdread >= 4.1.2 --Cflags: -I${includedir} @THREAD_CFLAGS@ --Libs: -L${libdir} -ldvdnav @THREAD_LIBS@ -+Cflags: @THREAD_CFLAGS@ -+Libs: -ldvdnav @THREAD_LIBS@ -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.in xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.in ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.in 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.in 2011-02-15 14:07:34.158020067 +0100 -@@ -72,9 +72,9 @@ - fi - - if test "$echo_cflags" = "yes"; then -- echo -I@includedir@ -+ echo "" - fi - - if test "$echo_libs" = "yes"; then -- echo -L@libdir@ -ldvdread -+ echo -ldvdread - fi -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.sh xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.sh ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.sh 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread-config.sh 2011-02-15 14:07:34.158020067 +0100 -@@ -48,9 +48,9 @@ - fi - - if test "$echo_cflags" = "yes"; then -- echo -I$prefix/include $extracflags -+ echo $extracflags - fi - - if test "$echo_libs" = "yes"; then -- echo -L$libdir $dvdreadlib -+ echo $dvdreadlib - fi -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread.pc.in xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread.pc.in ---- xbmc-Dharma-10.1-c8405db/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread.pc.in 2011-02-15 13:30:12.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread/misc/dvdread.pc.in 2011-02-15 14:07:34.159020047 +0100 -@@ -7,5 +7,5 @@ - Description: Low level DVD access library - Version: @VERSION@ - --Cflags: -I${includedir} --Libs: -L${libdir} -ldvdread -+Cflags: -I. -+Libs: -ldvdread diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-331-fix_playpause_problem_ticket_7338-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-331-fix_playpause_problem_ticket_7338-0.1.patch deleted file mode 100644 index 63b04cb3e0..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-331-fix_playpause_problem_ticket_7338-0.1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/Application.cpp xbmc-10.1-Dharma.patch/xbmc/Application.cpp ---- xbmc-10.1-Dharma/xbmc/Application.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/Application.cpp 2011-05-06 01:41:52.853741840 +0200 -@@ -2515,8 +2515,8 @@ - if (!m_pPlayer->IsPaused()) - { // unpaused - set the playspeed back to normal - SetPlaySpeed(1); -+ g_audioManager.Enable(m_pPlayer->IsPaused() && !g_audioContext.IsPassthroughActive()); - } -- g_audioManager.Enable(m_pPlayer->IsPaused() && !g_audioContext.IsPassthroughActive()); - return true; - } - if (!m_pPlayer->IsPaused()) diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-332-fix_VAAPI_ticket_10928-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-332-fix_VAAPI_ticket_10928-0.1.patch deleted file mode 100644 index 22c3737778..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-332-fix_VAAPI_ticket_10928-0.1.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 76b51cce5dd64d6f33348cd36eddce95d571f783 Mon Sep 17 00:00:00 2001 -From: Yuriy Romanenko -Date: Thu, 24 Feb 2011 12:03:53 +0200 -Subject: [PATCH] linux: VAAPI fix from bug #10928 - http://trac.xbmc.org/ticket/10928 - -Signed-off-by: Joakim Plate ---- - xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 20 ++++++++++++++------ - 1 files changed, 14 insertions(+), 6 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -index 0aac8fe..b03ea5c 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -@@ -149,10 +149,10 @@ int CDecoder::GetBuffer(AVCodecContext *avctx, AVFrame *pic) - { - VASurfaceID surface = GetSurfaceID(pic); - CSurface* wrapper = NULL; -+ std::list::iterator it = m_surfaces_free.begin(); - if(surface) - { - /* reget call */ -- std::list::iterator it = m_surfaces_free.begin(); - for(; it != m_surfaces_free.end(); it++) - { - if((*it)->m_id == surface) -@@ -171,20 +171,28 @@ int CDecoder::GetBuffer(AVCodecContext *avctx, AVFrame *pic) - } - else - { -- if(m_surfaces_free.empty()) -+ // To avoid stutter, we scan the free surface pool (provided by decoder) for surfaces -+ // that are 100% not in use by renderer. The pointers to these surfaces have a use_count of 1. -+ for (; it != m_surfaces_free.end() && it->use_count() > 1; it++) {} -+ -+ // If we have zero free surface from decoder OR all free surfaces are in use by renderer, we allocate a new surface -+ if (it == m_surfaces_free.end()) - { -+ if (!m_surfaces_free.empty()) CLog::Log(LOGERROR, "VAAPI - renderer still using all freed up surfaces by decoder"); - CLog::Log(LOGERROR, "VAAPI - unable to find free surface, trying to allocate a new one"); - if(!EnsureSurfaces(avctx, m_surfaces_count+1) || m_surfaces_free.empty()) - { - CLog::Log(LOGERROR, "VAAPI - unable to find free surface"); - return -1; - } -+ // Set itarator position to the newly allocated surface (end-1) -+ it = m_surfaces_free.end(); it--; - } - /* getbuffer call */ -- wrapper = m_surfaces_free.front().get(); -+ wrapper = it->get(); - surface = wrapper->m_id; -- m_surfaces_used.push_back(m_surfaces_free.front()); -- m_surfaces_free.pop_front(); -+ m_surfaces_used.push_back(*it); -+ m_surfaces_free.erase(it); - } - - pic->type = FF_BUFFER_TYPE_USER; -@@ -349,7 +357,7 @@ bool CDecoder::EnsureContext(AVCodecContext *avctx) - else - m_refs = 2; - } -- return EnsureSurfaces(avctx, m_refs + 1 + 1); -+ return EnsureSurfaces(avctx, m_refs + 3); - } - - bool CDecoder::EnsureSurfaces(AVCodecContext *avctx, unsigned n_surfaces_count) --- -1.7.5.4 - diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-333-fix_NULL_conversion_warnings_in_VAAPI-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-333-fix_NULL_conversion_warnings_in_VAAPI-0.1.patch deleted file mode 100644 index 84465aad02..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-333-fix_NULL_conversion_warnings_in_VAAPI-0.1.patch +++ /dev/null @@ -1,50 +0,0 @@ -From acef66ba6f0bf1db31906c7c7c4f7c83cfee44c1 Mon Sep 17 00:00:00 2001 -From: Kyle Hill -Date: Sat, 14 May 2011 17:23:45 -0500 -Subject: [PATCH] Fix NULL -> 0 conversion warnings in VAAPI.cpp - ---- - xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 10 +++++----- - 1 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -index b03ea5c..d9d2bd2 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -@@ -115,8 +115,8 @@ CDecoder::CDecoder() - { - m_refs = 0; - m_surfaces_count = 0; -- m_config = NULL; -- m_context = NULL; -+ m_config = 0; -+ m_context = 0; - m_hwaccel = (vaapi_context*)calloc(1, sizeof(vaapi_context)); - } - -@@ -212,11 +212,11 @@ void CDecoder::Close() - { - if(m_context) - WARN(vaDestroyContext(m_display->get(), m_context)) -- m_context = NULL; -+ m_context = 0; - - if(m_config) - WARN(vaDestroyConfig(m_display->get(), m_config)) -- m_config = NULL; -+ m_config = 0; - - m_surfaces_free.clear(); - m_surfaces_used.clear(); -@@ -384,7 +384,7 @@ bool CDecoder::EnsureSurfaces(AVCodecContext *avctx, unsigned n_surfaces_count) - - if(m_context) - WARN(vaDestroyContext(m_display->get(), m_context)) -- m_context = NULL; -+ m_context = 0; - - CHECK(vaCreateContext(m_display->get() - , m_config --- -1.7.5.4 - diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-334-libexif_byteorder-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-334-libexif_byteorder-0.1.patch deleted file mode 100644 index ee6f18eb73..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-334-libexif_byteorder-0.1.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 00e3095dd47d6474fa6befcbd85157e27f6f68fa Mon Sep 17 00:00:00 2001 -From: vdrfan -Date: Mon, 1 Aug 2011 16:53:16 +0200 -Subject: [PATCH] fixed: make sure libexif is using the correct byte order - (intel or motorola) when processing gps information (fixes - #8427) - ---- - lib/libexif/ExifParse.cpp | 12 ++++++------ - 1 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/xbmc/lib/libexif/ExifParse.cpp b/xbmc/lib/libexif/ExifParse.cpp -index 41690df..74ecbbe 100644 ---- a/xbmc/lib/libexif/ExifParse.cpp -+++ b/xbmc/lib/libexif/ExifParse.cpp -@@ -810,15 +810,15 @@ void CExifParse::ProcessGpsInfo( - const unsigned char* const OffsetBase, - unsigned ExifLength) - { -- int NumDirEntries = Get16(DirStart); -+ int NumDirEntries = Get16(DirStart, m_MotorolaOrder); - - for (int de=0;de= NUM_FORMATS) - { - // (-1) catches illegal zero case as unsigned underflows to positive large. -@@ -834,7 +834,7 @@ void CExifParse::ProcessGpsInfo( - - if (ByteCount > 4) - { -- unsigned OffsetVal = (unsigned)Get32(DirEntry+8); -+ unsigned OffsetVal = (unsigned)Get32(DirEntry+8, m_MotorolaOrder); - // If its bigger than 4 bytes, the dir entry contains an offset. - if (OffsetVal+ByteCount > ExifLength) - { -@@ -878,7 +878,7 @@ void CExifParse::ProcessGpsInfo( - case TAG_GPS_ALT: - { - char temp[18]; -- sprintf(temp,"%dm", Get32(ValuePtr)); -+ sprintf(temp,"%dm", Get32(ValuePtr, m_MotorolaOrder)); - strcat(m_ExifInfo->GpsAlt, temp); - } - break; --- -1.7.5.4 - diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-335-Python_parse_had_wrong_native_type-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-335-Python_parse_had_wrong_native_type-0.1.patch deleted file mode 100644 index 27823a10ab..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-335-Python_parse_had_wrong_native_type-0.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp ---- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/xbmcplugin.cpp 2011-08-21 17:13:13.382281536 +0200 -@@ -74,7 +74,7 @@ - if (!PyArg_ParseTupleAndKeywords( - args, - kwds, -- (char*)"iOO|bl", -+ (char*)"iOO|bi", - (char**)keywords, - &handle, - &pURL, diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-352-store_reordered_opaque_to_pic-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-352-store_reordered_opaque_to_pic-0.1.patch deleted file mode 100644 index b93edd8f4e..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-352-store_reordered_opaque_to_pic-0.1.patch +++ /dev/null @@ -1,24 +0,0 @@ -From d25fbc8248be3cc0b208614faca394c56157cf1a Mon Sep 17 00:00:00 2001 -From: FernetMenta -Date: Fri, 12 Aug 2011 12:39:37 +0200 -Subject: [PATCH] vaapi: store reordered_opaque to pic - ---- - xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -index d9d2bd2..bcc3fe1 100644 ---- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp -@@ -205,6 +205,7 @@ int CDecoder::GetBuffer(AVCodecContext *avctx, AVFrame *pic) - pic->linesize[1] = 0; - pic->linesize[2] = 0; - pic->linesize[3] = 0; -+ pic->reordered_opaque= avctx->reordered_opaque; - return 0; - } - --- -1.7.5.4 - diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-401-we_dont_need_libXinerama-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-401-we_dont_need_libXinerama-0.1.patch deleted file mode 100644 index 96865f6d4e..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-401-we_dont_need_libXinerama-0.1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 14:06:18.343564347 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-02-15 14:16:56.717644949 +0100 -@@ -685,9 +685,6 @@ - PKG_CHECK_MODULES([XMU], [xmu], - [INCLUDES="$INCLUDES $XMU_CFLAGS"; LIBS="$LIBS $XMU_LIBS"], - AC_MSG_ERROR($missing_library)) -- PKG_CHECK_MODULES([XINERAMA],[xinerama], -- [INCLUDES="$INCLUDES $XINERAMA_CFLAGS"; LIBS="$LIBS $XINERAMA_LIBS"], -- AC_MSG_ERROR($missing_library)) - PKG_CHECK_MODULES([CURL], [libcurl], - [INCLUDES="$INCLUDES $CURL_CFLAGS"; LIBS="$LIBS $CURL_LIBS"], - AC_MSG_ERROR($missing_library)) diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-403-openssl_only_needed_for_internal_python-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-403-openssl_only_needed_for_internal_python-0.1.patch deleted file mode 100644 index 832cfca576..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-403-openssl_only_needed_for_internal_python-0.1.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 14:23:09.427177685 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-02-15 14:23:28.731790834 +0100 -@@ -562,8 +562,6 @@ - AC_CHECK_LIB([pthread], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([z], [main],, AC_MSG_ERROR($missing_library)) --AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library)) --AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([wavpack], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([mpeg2], [main],, AC_MSG_ERROR($missing_library)) - AC_CHECK_LIB([mpeg2convert],[main],, AC_MSG_ERROR($missing_library)) -@@ -975,6 +973,8 @@ - USE_EXTERNAL_PYTHON=1 - AC_DEFINE([USE_EXTERNAL_PYTHON], [1], [Whether to use external python library.]) - else -+ AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library)) -+ AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library)) - AC_MSG_NOTICE($external_python_disabled) - USE_EXTERNAL_PYTHON=0 - fi diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-405-fix_vorbis_cdrip-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-405-fix_vorbis_cdrip-0.1.patch deleted file mode 100644 index a8a65f5637..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-405-fix_vorbis_cdrip-0.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/cdrip/DllVorbis.h xbmc-10.1-Dharma.patch/xbmc/cdrip/DllVorbis.h ---- xbmc-10.1-Dharma/xbmc/cdrip/DllVorbis.h 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/cdrip/DllVorbis.h 2011-03-29 16:37:38.432826576 +0200 -@@ -61,7 +61,7 @@ - public: - virtual ~DllVorbis() {}; - virtual void vorbis_info_init(vorbis_info *vi) -- { vorbis_info_init(vi); } -+ { ::vorbis_info_init(vi); } - virtual int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd, ogg_packet *op) - { return ::vorbis_bitrate_flushpacket(vd, op); } - virtual int vorbis_bitrate_addblock(vorbis_block *vb) diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-406-gcc-4.6-fixes-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-406-gcc-4.6-fixes-0.1.patch deleted file mode 100644 index cb310d476a..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-406-gcc-4.6-fixes-0.1.patch +++ /dev/null @@ -1,97 +0,0 @@ -From c66099c4d8e6b2d748ca3ddc31ee90b731d0f620 Mon Sep 17 00:00:00 2001 -From: Stephan Raue -Date: Wed, 30 Mar 2011 14:57:28 +0200 -Subject: [PATCH] dvdplayer: fix build with gcc-4.6. Flags to the Linker must be passed via -Wl,. This fixes ticket #11383 - -Signed-off-by: Stephan Raue ---- - xbmc/cores/dvdplayer/Codecs/Makefile.in | 18 +++++++++--------- - xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in | 4 ++-- - 2 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/xbmc/cores/dvdplayer/Codecs/Makefile.in b/xbmc/cores/dvdplayer/Codecs/Makefile.in -index a7ef1a0..308664a 100644 ---- a/xbmc/cores/dvdplayer/Codecs/Makefile.in -+++ b/xbmc/cores/dvdplayer/Codecs/Makefile.in -@@ -148,32 +148,32 @@ liba52: - else - - $(SYSDIR)/avutil-50-$(ARCH).so: ffmpeg/libavutil/libavutil.so -- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ - ffmpeg/libavutil/*.o `cat $(WRAPPER:.o=.def)` $(WRAPPER) - - $(SYSDIR)/avcodec-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavcodec/libavcodec.so -- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ - ffmpeg/libavcodec/*.o ffmpeg/libavcodec/$(ARCH_DIR)/*.o \ - `cat $(WRAPPER:.o=.def)` $(WRAPPER) - - $(SYSDIR)/avformat-52-$(ARCH).so: $(WRAPPER) ffmpeg/libavformat/libavformat.so -- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ - ffmpeg/libavformat/*.o `cat $(WRAPPER:.o=.def)` $(WRAPPER) - - ifneq ($(ARCH), arm) - $(SYSDIR)/swscale-0.6.1-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.so -- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ - ffmpeg/libswscale/*.o ffmpeg/libswscale/$(ARCH_DIR)/*.o \ - `cat $(WRAPPER:.o=.def)` $(WRAPPER) - else # No ARM version of swscale available yet. - $(SYSDIR)/swscale-0.6.1-$(ARCH).so: $(WRAPPER) ffmpeg/libswscale/libswscale.so -- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ - ffmpeg/libswscale/*.o \ - `cat $(WRAPPER:.o=.def)` $(WRAPPER) - endif - - $(SYSDIR)/postproc-51-$(ARCH).so: $(WRAPPER) ffmpeg/libpostproc/libpostproc.so -- $(CC) -o $@ $(LDFLAGS) --soname,$@ -Wl,-Bsymbolic \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ -Wl,-Bsymbolic \ - ffmpeg/libpostproc/*.o `cat $(WRAPPER:.o=.def)` $(WRAPPER) - - ffmpeg/libavutil/libavutil.so : ffmpeg; -@@ -185,17 +185,17 @@ ffmpeg: - $(MAKE) -C $@ - - $(SYSDIR)/libdts-$(ARCH).so: $(WRAPPER) libdts/libdts/libdts.a -- $(CC) -o $@ $(LDFLAGS) --soname,$@ \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ \ - libdts/libdts/bitstream.o \ - libdts/libdts/downmix.o libdts/libdts/parse.o \ - `cat $(WRAPPER:.o=.def)` $(WRAPPER) - - $(SYSDIR)/liba52-$(ARCH).so: $(WRAPPER) liba52/liba52/liba52.la -- $(CC) -o $@ $(LDFLAGS) --soname,$@ liba52/liba52/.libs/*.o \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ liba52/liba52/.libs/*.o \ - -Wl`cat $(WRAPPER:.o=.def)` $(WRAPPER) - - $(SYSDIR)/libao-$(ARCH).so: $(WRAPPER) liba52/libao/libao.a -- $(CC) -o $@ $(LDFLAGS) --soname,$@ liba52/libao/libao.a \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ liba52/libao/libao.a \ - -Wl`cat $(WRAPPER:.o=.def)` $(WRAPPER) - - libdts/libdts/libdts.a : libdts; -diff --git a/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in b/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in -index 3c487e9..6d4abd4 100644 ---- a/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in -+++ b/xbmc/cores/dvdplayer/Codecs/libdvd/Makefile.in -@@ -49,12 +49,12 @@ $(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER_OSX) $(DVDCSS_A) libdvdread/obj/libdvd - else - - $(SYSDIR)/libdvdcss-$(ARCH).so: $(WRAPPER) libdvdcss/src/.libs/libdvdcss.a -- $(CC) -o $@ $(LDFLAGS) --soname,$@ \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ \ - libdvdcss/src/*.o \ - `cat $(WRAPPER:.o=.def)` $(WRAPPER) - - $(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(DVDCSS_A) libdvdread/obj/libdvdread.a libdvdnav/obj/libdvdnav.a -- $(CC) -o $@ $(LDFLAGS) --soname,$@ $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o \ -+ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o \ - `cat $(WRAPPER:.o=.def)` $(WRAPPER) - - endif --- -1.7.0.2 - diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-407-python_callback_error_handling_fix-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-407-python_callback_error_handling_fix-0.1.patch deleted file mode 100644 index d2c8afac28..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-407-python_callback_error_handling_fix-0.1.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/pyutil.cpp xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/pyutil.cpp ---- xbmc-10.1-Dharma/xbmc/lib/libPython/xbmcmodule/pyutil.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/lib/libPython/xbmcmodule/pyutil.cpp 2011-06-10 21:14:07.881047162 +0200 -@@ -23,6 +23,7 @@ - #include - #include - #include "addons/Skin.h" -+#include "utils/log.h" - #include "tinyXML/tinyxml.h" - #include "utils/CharsetConverter.h" - #include "CriticalSection.h" -@@ -202,7 +203,22 @@ - g_callQueue.erase(iter); - lock.Leave(); - if (p.func) -+ { - p.func(p.args); -+ -+ // Since the callback is likely to make it into python, and since -+ // not all of the callback functions handle errors, the error state -+ // may remain set from the previous call. As a result subsequent calls -+ // to callback functions exhibit odd behavior difficult to debug. -+ if (PyErr_Occurred()) -+ { -+ CLog::Log(LOGERROR,"Exception in python script callback execution"); -+ -+ // This clears the python error state and prints it to the log -+ PyErr_Print(); -+ } -+ -+ } - //(*((*iter).first))((*iter).second); - lock.Enter(); - iter = g_callQueue.begin(); diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch deleted file mode 100644 index d97a4b7e94..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch +++ /dev/null @@ -1,16 +0,0 @@ -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-08-16 04:04:59.808482717 +0200 -@@ -381,10 +381,8 @@ - CLog::Log(LOGDEBUG, "Python wrapper library linked with internal Python library"); - #endif /* _LINUX */ - #else -- /* PYTHONOPTIMIZE is set off intentionally when using external Python. -- Reason for this is because we cannot be sure what version of Python -- was used to compile the various Python object files (i.e. .pyo, -- .pyc, etc.). */ -+ // Required for python to find optimized code (pyo) files -+ setenv("PYTHONOPTIMIZE", "1", 1); - setenv("PYTHONCASEOK", "1", 1); //This line should really be removed - CLog::Log(LOGDEBUG, "Python wrapper library linked with system Python library"); - #endif /* USE_EXTERNAL_PYTHON */ diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-409-libbluray-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-409-libbluray-0.1.patch deleted file mode 100644 index ee73dc11cc..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-409-libbluray-0.1.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp 2011-03-08 02:49:17.000000000 +0100 -+++ xbmc-10.1-Dharma/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamBluray.cpp.new 2011-08-29 22:19:01.314816310 +0200 -@@ -40,9 +40,9 @@ - { - public: - virtual ~DllLibblurayInterface() {}; -- virtual uint32_t bd_get_titles(BLURAY *bd, uint8_t flags)=0; -- virtual BLURAY_TITLE_INFO* bd_get_title_info(BLURAY *bd, uint32_t title_idx)=0; -- virtual BLURAY_TITLE_INFO* bd_get_playlist_info(BLURAY *bd, uint32_t playlist)=0; -+ virtual uint32_t bd_get_titles(BLURAY *bd, uint8_t flags, uint32_t min_title_length)=0; -+ virtual BLURAY_TITLE_INFO* bd_get_title_info(BLURAY *bd, uint32_t title_idx, unsigned angle)=0; -+ virtual BLURAY_TITLE_INFO* bd_get_playlist_info(BLURAY *bd, uint32_t playlist, unsigned angle)=0; - virtual void bd_free_title_info(BLURAY_TITLE_INFO *title_info)=0; - virtual BLURAY *bd_open(const char* device_path, const char* keyfile_path)=0; - virtual void bd_close(BLURAY *bd)=0; -@@ -70,9 +70,9 @@ - { - DECLARE_DLL_WRAPPER(DllLibbluray, DLL_PATH_LIBBLURAY) - -- DEFINE_METHOD2(uint32_t, bd_get_titles, (BLURAY *p1, uint8_t p2)) -- DEFINE_METHOD2(BLURAY_TITLE_INFO*, bd_get_title_info, (BLURAY *p1, uint32_t p2)) -- DEFINE_METHOD2(BLURAY_TITLE_INFO*, bd_get_playlist_info, (BLURAY *p1, uint32_t p2)) -+ DEFINE_METHOD3(uint32_t, bd_get_titles, (BLURAY *p1, uint8_t p2, uint32_t p3)) -+ DEFINE_METHOD3(BLURAY_TITLE_INFO*, bd_get_title_info, (BLURAY *p1, uint32_t p2, unsigned p3)) -+ DEFINE_METHOD3(BLURAY_TITLE_INFO*, bd_get_playlist_info, (BLURAY *p1, uint32_t p2, unsigned p3)) - DEFINE_METHOD1(void, bd_free_title_info, (BLURAY_TITLE_INFO *p1)) - DEFINE_METHOD2(BLURAY*, bd_open, (const char* p1, const char* p2)) - DEFINE_METHOD1(void, bd_close, (BLURAY *p1)) -@@ -303,12 +303,12 @@ - CStdString filename = CUtil::GetFileName(strFile); - if(filename.Equals("index.bdmv")) - { -- int titles = m_dll->bd_get_titles(m_bd, TITLES_RELEVANT); -+ int titles = m_dll->bd_get_titles(m_bd, TITLES_RELEVANT, 0); - - BLURAY_TITLE_INFO *t, *s = NULL; - for(int i=0; i < titles; i++) - { -- t = m_dll->bd_get_title_info(m_bd, i);; -+ t = m_dll->bd_get_title_info(m_bd, i, 0);; - if(!t) - { - CLog::Log(LOGDEBUG, "get_main_title - unable to get title %d", i); -@@ -324,7 +324,7 @@ - } - else if(CUtil::GetExtension(filename).Equals(".mpls")) - { -- int titles = m_dll->bd_get_titles(m_bd, TITLES_ALL); -+ int titles = m_dll->bd_get_titles(m_bd, TITLES_ALL, 0); - do - { - if(titles < 0) -@@ -345,7 +345,7 @@ - BLURAY_TITLE_INFO *t; - for(int i=0; i < titles; i++) - { -- t = m_dll->bd_get_title_info(m_bd, i);; -+ t = m_dll->bd_get_title_info(m_bd, i, 0);; - if(!t) - { - CLog::Log(LOGDEBUG, "get_playlist_title - unable to get title %d", i); diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-451-full_splash-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-451-full_splash-0.1.patch deleted file mode 100644 index 95060d0ed4..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-451-full_splash-0.1.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/utils/Splash.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/utils/Splash.cpp ---- xbmc-Dharma-10.1-c8405db/xbmc/utils/Splash.cpp 2011-02-15 13:30:05.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/utils/Splash.cpp 2011-02-15 14:25:02.308915505 +0100 -@@ -53,9 +53,9 @@ - g_graphicsContext.Clear(); - - g_graphicsContext.SetCameraPosition(CPoint(0, 0)); -- float w = g_graphicsContext.GetWidth() * 0.5f; -- float h = g_graphicsContext.GetHeight() * 0.5f; -- CGUIImage* image = new CGUIImage(0, 0, w*0.5f, h*0.5f, w, h, m_ImageName); -+ float w = g_graphicsContext.GetWidth(); -+ float h = g_graphicsContext.GetHeight(); -+ CGUIImage* image = new CGUIImage(0, 0, 0, 0, w, h, m_ImageName); - image->SetAspectRatio(CAspectRatio::AR_KEEP); - image->AllocResources(); - diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-454-disable_backslash-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-454-disable_backslash-0.1.patch deleted file mode 100644 index 86b5ad0fbf..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-454-disable_backslash-0.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/system/keymaps/keyboard.xml xbmc-10.1-Dharma.patch/system/keymaps/keyboard.xml ---- xbmc-10.1-Dharma/system/keymaps/keyboard.xml 2011-03-08 02:49:23.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/system/keymaps/keyboard.xml 2011-07-23 18:04:59.406603684 +0200 -@@ -75,7 +75,7 @@ - Number7 - Number8 - Number9 -- ToggleFullScreen -+ - XBMC.ActivateWindow(Home) - ActivateWindow(Favourites) - diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-455-enable_lan_caching-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-455-enable_lan_caching-0.1.patch deleted file mode 100644 index 3d99ba963d..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-455-enable_lan_caching-0.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/FileSystem/File.cpp xbmc-10.1-Dharma.patch/xbmc/FileSystem/File.cpp ---- xbmc-10.1-Dharma/xbmc/FileSystem/File.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/FileSystem/File.cpp 2011-05-04 17:59:12.093724017 +0200 -@@ -217,7 +217,7 @@ - return false; - } - -- if ( (flags & READ_NO_CACHE) == 0 && CUtil::IsInternetStream(strFileName) && !CUtil::IsPicture(strFileName) ) -+ if ( (flags & READ_NO_CACHE) == 0 && ( CUtil::IsInternetStream(strFileName) || CUtil::IsOnLAN(strFileName) ) && !CUtil::IsPicture(strFileName) ) - m_flags |= READ_CACHED; - - CURL url(strFileName); diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-901-advancedsettings_alwaysextractflags.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-901-advancedsettings_alwaysextractflags.patch deleted file mode 100644 index 6d4ddfd6c2..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-901-advancedsettings_alwaysextractflags.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/GUISettings.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/GUISettings.cpp ---- xbmc-Dharma-10.1-c8405db/xbmc/GUISettings.cpp 2011-02-15 13:30:06.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/GUISettings.cpp 2011-02-15 14:31:51.689709299 +0100 -@@ -617,6 +617,7 @@ - AddInt(vid, "myvideos.selectaction", 22079, SELECT_ACTION_PLAY_OR_RESUME, SELECT_ACTION_CHOOSE, 1, SELECT_ACTION_INFO, SPIN_CONTROL_TEXT); - AddBool(NULL, "myvideos.treatstackasfile", 20051, true); - AddBool(vid, "myvideos.extractflags",20433, true); -+ AddBool(vid, "myvideos.alwaysextractflags",20433, false); - AddBool(vid, "myvideos.cleanstrings", 20418, false); - AddBool(NULL, "myvideos.extractthumb",20433, true); - -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/ThumbLoader.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/ThumbLoader.cpp ---- xbmc-Dharma-10.1-c8405db/xbmc/ThumbLoader.cpp 2011-02-15 13:30:05.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/ThumbLoader.cpp 2011-02-15 14:31:51.690709279 +0100 -@@ -148,7 +148,7 @@ - m_item.SetThumbnailImage(m_target); - } - } -- else if (m_item.HasVideoInfoTag() && !m_item.GetVideoInfoTag()->HasStreamDetails()) -+ else if (m_item.HasVideoInfoTag() && (!m_item.GetVideoInfoTag()->HasStreamDetails() || g_guiSettings.GetBool("myvideos.alwaysextractflags"))) - { - CLog::Log(LOGDEBUG,"%s - trying to extract filestream details from video file %s", __FUNCTION__, m_path.c_str()); - result = CDVDFileInfo::GetFileStreamDetails(&m_item); diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-902-advancedsettings_videolibrary.flattenmoviesets.patch b/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-902-advancedsettings_videolibrary.flattenmoviesets.patch deleted file mode 100644 index a0351fb48b..0000000000 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-902-advancedsettings_videolibrary.flattenmoviesets.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/GUISettings.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/GUISettings.cpp ---- xbmc-Dharma-10.1-c8405db/xbmc/GUISettings.cpp 2011-02-15 14:32:35.774825404 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/GUISettings.cpp 2011-02-15 14:33:07.788183524 +0100 -@@ -527,6 +527,7 @@ - AddBool(NULL, "videolibrary.seasonthumbs", 20382, true); - AddBool(vdl, "videolibrary.actorthumbs", 20402, true); - AddInt(vdl, "videolibrary.flattentvshows", 20412, 1, 0, 1, 2, SPIN_CONTROL_TEXT); -+ AddBool(NULL, "videolibrary.flattenmoviesets", 22002, false); - AddBool(vdl, "videolibrary.updateonstartup", 22000, false); - AddBool(vdl, "videolibrary.backgroundupdate", 22001, false); - AddSeparator(vdl, "videolibrary.sep3"); -diff -Naur xbmc-Dharma-10.1-c8405db/xbmc/VideoDatabase.cpp xbmc-Dharma-10.1-c8405db.patch/xbmc/VideoDatabase.cpp ---- xbmc-Dharma-10.1-c8405db/xbmc/VideoDatabase.cpp 2011-02-15 13:30:05.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/xbmc/VideoDatabase.cpp 2011-02-15 14:33:07.792183444 +0100 -@@ -4394,7 +4394,7 @@ - if (NULL == m_pDS.get()) return false; - - CStdString strSQL = "select * from movieview "; -- if (fetchSets) -+ if (fetchSets && !g_guiSettings.GetBool("videolibrary.flattenmoviesets")) - { - // not getting a set, so grab all sets that match this where clause first - CStdString setsWhere; diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-001-add_support_to_specify_GIT_REV-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-001-add_support_to_specify_GIT_REV-0.1.patch similarity index 55% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-001-add_support_to_specify_GIT_REV-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-001-add_support_to_specify_GIT_REV-0.1.patch index 0845395f43..c013e0ae3a 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-001-add_support_to_specify_GIT_REV-0.1.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-001-add_support_to_specify_GIT_REV-0.1.patch @@ -1,23 +1,22 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 13:30:17.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-02-15 19:08:46.445385047 +0100 -@@ -387,6 +387,15 @@ - AC_MSG_ERROR(unsupported host ($host)) +diff -Naur xbmc-9389dc8/configure.in xbmc-9389dc8.patch/configure.in +--- xbmc-9389dc8/configure.in 2011-09-01 17:21:47.000000000 +0200 ++++ xbmc-9389dc8.patch/configure.in 2011-09-01 23:30:40.419399392 +0200 +@@ -428,6 +428,14 @@ esac AC_SUBST([ARCH]) -+ + +AC_CHECK_PROG(HAVE_GIT,git,"yes","no",) +if test "$HAVE_GIT" = "yes" -a "$GIT_REV" = ""; then -+ GIT_REV=$(git rev-parse --short HEAD) ++ GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}') +elif test "$GIT_REV" = ""; then + GIT_REV="Unknown" +fi +final_message="$final_message\n git Rev.:\t${GIT_REV}" + + # platform debug flags if test "$use_debug" = "yes"; then final_message="$final_message\n Debugging:\tYes" - if test "$use_profiling" = "yes"; then -@@ -1097,7 +1106,6 @@ +@@ -1177,7 +1185,6 @@ fi fi @@ -25,12 +24,12 @@ diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/ # Checks for header files. AC_HEADER_DIRENT -@@ -1282,12 +1290,6 @@ +@@ -1408,12 +1415,6 @@ final_message="$final_message\n Avahi:\tNo" fi -if test "$HAVE_GIT" = "yes"; then -- GIT_REV=$(git rev-parse --short HEAD) +- GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}') -fi -if test "$GIT_REV" = ""; then - GIT_REV="Unknown" diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-013-reenable_lcd_config_settings-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-013-reenable_lcd_config_settings-0.1.patch similarity index 54% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-013-reenable_lcd_config_settings-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-013-reenable_lcd_config_settings-0.1.patch index 6f58898a24..656dcac934 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-013-reenable_lcd_config_settings-0.1.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-013-reenable_lcd_config_settings-0.1.patch @@ -1,7 +1,7 @@ -diff -Naur xbmc-10.1-Dharma/xbmc/GUISettings.cpp xbmc-10.1-Dharma.patch/xbmc/GUISettings.cpp ---- xbmc-10.1-Dharma/xbmc/GUISettings.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/GUISettings.cpp 2011-06-18 01:00:25.904995262 +0200 -@@ -415,7 +415,8 @@ +diff -Naur xbmc-9389dc8/xbmc/settings/GUISettings.cpp xbmc-9389dc8.patch/xbmc/settings/GUISettings.cpp +--- xbmc-9389dc8/xbmc/settings/GUISettings.cpp 2011-09-01 23:34:05.267139356 +0200 ++++ xbmc-9389dc8.patch/xbmc/settings/GUISettings.cpp 2011-09-01 23:34:52.098765331 +0200 +@@ -423,7 +423,8 @@ AddString(vs, "videoscreen.testpattern",226,"", BUTTON_CONTROL_STANDARD); #endif #if defined(_LINUX) && !defined(__APPLE__) diff --git a/packages/mediacenter/xbmc/patches/xbmc-70537d2-303-fix_libdvd_xFLAGS-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-303-fix_libdvd_xFLAGS-0.1.patch new file mode 100644 index 0000000000..5e76acefe4 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-303-fix_libdvd_xFLAGS-0.1.patch @@ -0,0 +1,119 @@ +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdcss/src/libdvdcss.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdcss/src/libdvdcss.pc.in +--- xbmc-pvr-3513480/lib/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-04-25 05:01:20.091837122 +0200 +@@ -6,5 +6,5 @@ + Name: libdvdcss + Description: DVD access and decryption library. + Version: @VERSION@ +-Libs: -L${libdir} -ldvdcss +-Cflags: -I{includedir} -I${includedir}/@PACKAGE@ ++Libs: -ldvdcss ++Cflags: -I. +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh +--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-04-25 05:01:20.549828701 +0200 +@@ -56,17 +56,17 @@ + fi + + if test "$echo_cflags" = "yes"; then +- echo -I$prefix/include $dvdread_cflags $extracflags $threadcflags ++ echo $dvdread_cflags $extracflags $threadcflags + fi + + if test "$echo_minicflags" = "yes"; then +- echo -I$prefix/include -I$prefix/include/dvdnav $extracflags $threadcflags ++ echo $extracflags $threadcflags + fi + + if test "$echo_libs" = "yes"; then +- echo -L$libdir -ldvdnav $dvdread_libs $threadlib ++ echo -ldvdnav $dvdread_libs $threadlib + fi + + if test "$echo_minilibs" = "yes"; then +- echo -L$libdir -ldvdnavmini $threadlib ++ echo -ldvdnavmini $threadlib + fi +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config.in +--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config.in 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config.in 2011-04-25 05:01:20.624827321 +0200 +@@ -76,13 +76,13 @@ + fi + + if test "$echo_cflags" = "yes"; then +- echo -I@includedir@ -I@includedir@/libdvdread @THREAD_CFLAGS@ ++ echo @THREAD_CFLAGS@ + fi + + if test "$echo_libs" = "yes"; then +- echo -L@libdir@ -ldvdnav -ldvdread @THREAD_LIBS@ ++ echo -ldvdnav -ldvdread @THREAD_LIBS@ + fi + + if test "$echo_minilibs" = "yes"; then +- echo -L@libdir@ -ldvdnavmini @THREAD_LIBS@ ++ echo -ldvdnavmini @THREAD_LIBS@ + fi +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in +--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-04-25 05:01:21.042819641 +0200 +@@ -7,5 +7,5 @@ + Description: DVD Navigation mini library + Version: @VERSION@ + +-Cflags: -I${includedir} @DVDREAD_CFLAGS@ @THREAD_CFLAGS@ +-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@ ++Cflags: @DVDREAD_CFLAGS@ @THREAD_CFLAGS@ ++Libs: -ldvdnav @THREAD_LIBS@ +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in +--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-04-25 05:01:21.262815601 +0200 +@@ -8,5 +8,5 @@ + Version: @VERSION@ + + Requires.private: dvdread >= 4.1.2 +-Cflags: -I${includedir} @THREAD_CFLAGS@ +-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@ ++Cflags: @THREAD_CFLAGS@ ++Libs: -ldvdnav @THREAD_LIBS@ +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.in +--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.in 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.in 2011-04-25 05:01:21.278815307 +0200 +@@ -72,9 +72,9 @@ + fi + + if test "$echo_cflags" = "yes"; then +- echo -I@includedir@ ++ echo "" + fi + + if test "$echo_libs" = "yes"; then +- echo -L@libdir@ -ldvdread ++ echo -ldvdread + fi +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.sh xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh +--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.sh 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh 2011-04-25 05:01:21.278815307 +0200 +@@ -48,9 +48,9 @@ + fi + + if test "$echo_cflags" = "yes"; then +- echo -I$prefix/include $extracflags ++ echo $extracflags + fi + + if test "$echo_libs" = "yes"; then +- echo -L$libdir $dvdreadlib ++ echo $dvdreadlib + fi +diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in +--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread.pc.in 2011-04-25 02:36:42.000000000 +0200 ++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in 2011-04-25 05:01:21.279815289 +0200 +@@ -7,5 +7,5 @@ + Description: Low level DVD access library + Version: @VERSION@ + +-Cflags: -I${includedir} +-Libs: -L${libdir} -ldvdread ++Cflags: -I. ++Libs: -ldvdread diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-311-fix_rsxs_build-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-311-fix_rsxs_build-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-311-fix_rsxs_build-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-311-fix_rsxs_build-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-351-increase_YV12_buffers-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-351-increase_YV12_buffers-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-351-increase_YV12_buffers-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-351-increase_YV12_buffers-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-353-limit_glxSwapBuffers_going_to_far_ahead-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-353-limit_glxSwapBuffers_going_to_far_ahead-0.1.patch similarity index 84% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-353-limit_glxSwapBuffers_going_to_far_ahead-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-353-limit_glxSwapBuffers_going_to_far_ahead-0.1.patch index ba709a1583..e42432f2df 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-353-limit_glxSwapBuffers_going_to_far_ahead-0.1.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-353-limit_glxSwapBuffers_going_to_far_ahead-0.1.patch @@ -4,13 +4,13 @@ Date: Sat, 13 Aug 2011 16:07:08 +0200 Subject: [PATCH] ati: limit glxSwapBuffers going to far ahead --- - xbmc/WinSystemX11GL.cpp | 23 +++++++++++++++++++++-- + xbmc/windowing/X11/WinSystemX11GL.cpp | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) -diff --git a/xbmc/WinSystemX11GL.cpp b/xbmc/WinSystemX11GL.cpp +diff --git a/xbmc/windowing/X11/WinSystemX11GL.cpp b/xbmc/windowing/X11/WinSystemX11GL.cpp index 94f369e..870999e 100644 ---- a/xbmc/WinSystemX11GL.cpp -+++ b/xbmc/WinSystemX11GL.cpp +--- a/xbmc/windowing/X11/WinSystemX11GL.cpp ++++ b/xbmc/windowing/X11/WinSystemX11GL.cpp @@ -43,7 +43,27 @@ CWinSystemX11GL::~CWinSystemX11GL() bool CWinSystemX11GL::PresentRenderImpl(const CDirtyRegionList& dirty) diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-354-vaapi_increase_number_of_video_surface_allocated-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-354-vaapi_increase_number_of_video_surface_allocated-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-354-vaapi_increase_number_of_video_surface_allocated-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-354-vaapi_increase_number_of_video_surface_allocated-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-402-enable_yasm_in_ffmpeg-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-402-enable_yasm_in_ffmpeg-0.1.patch similarity index 55% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-402-enable_yasm_in_ffmpeg-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-402-enable_yasm_in_ffmpeg-0.1.patch index 0aa08ea17d..b8f5b8afcf 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-402-enable_yasm_in_ffmpeg-0.1.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-402-enable_yasm_in_ffmpeg-0.1.patch @@ -1,18 +1,17 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/configure.in xbmc-Dharma-10.1-c8405db.patch/configure.in ---- xbmc-Dharma-10.1-c8405db/configure.in 2011-02-15 14:17:38.576806450 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/configure.in 2011-02-15 14:22:07.235423909 +0100 -@@ -914,6 +914,10 @@ - AC_LANG_POP([C++]) - fi - CPPFLAGS="$SAVE_CPPFLAGS" +diff -Naur xbmc-pvr-3513480/configure.in xbmc-pvr-3513480.patch/configure.in +--- xbmc-pvr-3513480/configure.in 2011-04-25 02:36:33.000000000 +0200 ++++ xbmc-pvr-3513480.patch/configure.in 2011-04-25 05:14:49.220848143 +0200 +@@ -885,6 +885,9 @@ + AC_MSG_NOTICE($external_ffmpeg_disabled) + USE_EXTERNAL_FFMPEG=0 + AC_DEFINE([PIX_FMT_VDPAU_MPEG4_IN_AVUTIL], [1], [Whether AVUtil defines PIX_FMT_VDPAU_MPEG4.]) + + # check for yasm + AC_CHECK_PROG(HAVE_YASM,yasm,"yes","no",) -+ - else - AC_MSG_NOTICE($external_ffmpeg_disabled) - USE_EXTERNAL_FFMPEG=0 -@@ -1688,6 +1692,7 @@ + fi + + # Python +@@ -1547,6 +1550,7 @@ `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\ `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\ --target-os=$(tolower $(uname -s)) \ diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-404-add_lame_check-0.6.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-404-add_lame_check-0.6.patch similarity index 61% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-404-add_lame_check-0.6.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-404-add_lame_check-0.6.patch index a51a41d4c7..a459219108 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-404-add_lame_check-0.6.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-404-add_lame_check-0.6.patch @@ -1,18 +1,18 @@ -diff -Naur xbmc-10.1-Dharma/configure.in xbmc-10.1-Dharma.patch/configure.in ---- xbmc-10.1-Dharma/configure.in 2011-03-08 02:49:24.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/configure.in 2011-03-26 05:56:44.077454237 +0100 -@@ -69,6 +69,8 @@ +diff -Naur xbmc-pvr-3513480/configure.in xbmc-pvr-3513480.patch/configure.in +--- xbmc-pvr-3513480/configure.in 2011-04-25 05:46:35.000000000 +0200 ++++ xbmc-pvr-3513480.patch/configure.in 2011-04-25 05:50:02.982401390 +0200 +@@ -72,6 +72,8 @@ + rsxs_disabled="== RSXS disabled. ==" + pulse_not_found="== Could not find libpulse. PulseAudio support disabled. ==" pulse_disabled="== PulseAudio support manually disabled. ==" - faac_not_found="== Could not find libfaac. FAAC support disabled. ==" - faac_disabled="== FAAC support manually disabled. ==" +lame_not_found="== Could not find libmp3lame. LAME support disabled. ==" +lame_disabled="== LAME support manually disabled. ==" dvdcss_enabled="== DVDCSS support enabled. ==" dvdcss_disabled="== DVDCSS support disabled. ==" hal_not_found="== Could not find hal. HAL support disabled. ==" -@@ -234,6 +236,12 @@ - [use_faac=$enableval], - [use_faac=yes]) +@@ -244,6 +246,12 @@ + [use_ffmpeg_libvorbis=$enableval], + [use_ffmpeg_libvorbis=no]) +AC_ARG_ENABLE([lame], + [AS_HELP_STRING([--enable-lame], @@ -23,8 +23,8 @@ diff -Naur xbmc-10.1-Dharma/configure.in xbmc-10.1-Dharma.patch/configure.in AC_ARG_ENABLE([dvdcss], [AS_HELP_STRING([--enable-dvdcss], [enable DVDCSS support (default is yes)])], -@@ -747,6 +755,20 @@ - fi +@@ -758,6 +766,20 @@ + USE_PULSE=0 fi +# LAME @@ -44,8 +44,8 @@ diff -Naur xbmc-10.1-Dharma/configure.in xbmc-10.1-Dharma.patch/configure.in # HAL if test "$host_vendor" = "apple" ; then use_hal="no" -@@ -1262,6 +1284,12 @@ - final_message="$final_message\n FAAC:\t\tNo" +@@ -1311,6 +1333,12 @@ + final_message="$final_message\n HAL Support:\tNo" fi +if test "$use_lame" = "yes"; then @@ -57,12 +57,14 @@ diff -Naur xbmc-10.1-Dharma/configure.in xbmc-10.1-Dharma.patch/configure.in # DVDCSS if test "$use_dvdcss" = "yes"; then AC_MSG_NOTICE($dvdcss_enabled) -diff -Naur xbmc-10.1-Dharma/xbmc/cdrip/CDDARipper.cpp xbmc-10.1-Dharma.patch/xbmc/cdrip/CDDARipper.cpp ---- xbmc-10.1-Dharma/xbmc/cdrip/CDDARipper.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/cdrip/CDDARipper.cpp 2011-03-26 04:56:03.594891023 +0100 +diff -Naur xbmc-pvr-3513480/configure.in.orig xbmc-pvr-3513480.patch/configure.in.orig +diff -Naur xbmc-pvr-3513480/Makefile.in.orig xbmc-pvr-3513480.patch/Makefile.in.orig +diff -Naur xbmc-pvr-3513480/xbmc/cdrip/CDDARipper.cpp xbmc-pvr-3513480.patch/xbmc/cdrip/CDDARipper.cpp +--- xbmc-pvr-3513480/xbmc/cdrip/CDDARipper.cpp 2011-04-25 02:36:33.000000000 +0200 ++++ xbmc-pvr-3513480.patch/xbmc/cdrip/CDDARipper.cpp 2011-04-25 05:48:10.487548571 +0200 @@ -27,7 +27,11 @@ #include "CDDAReader.h" - #include "StringUtils.h" + #include "utils/StringUtils.h" #include "Util.h" + +#ifdef HAVE_LIBMP3LAME @@ -72,7 +74,7 @@ diff -Naur xbmc-10.1-Dharma/xbmc/cdrip/CDDARipper.cpp xbmc-10.1-Dharma.patch/xbm #include "EncoderWav.h" #include "EncoderVorbis.h" #include "EncoderFFmpeg.h" -@@ -77,9 +81,16 @@ +@@ -78,9 +82,16 @@ case CDDARIP_ENCODER_FLAC: m_pEncoder = new CEncoderFlac(); break; @@ -90,17 +92,16 @@ diff -Naur xbmc-10.1-Dharma/xbmc/cdrip/CDDARipper.cpp xbmc-10.1-Dharma.patch/xbm } // we have to set the tags before we init the Encoder -diff -Naur xbmc-10.1-Dharma/xbmc/cdrip/Makefile.in xbmc-10.1-Dharma.patch/xbmc/cdrip/Makefile.in ---- xbmc-10.1-Dharma/xbmc/cdrip/Makefile.in 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/cdrip/Makefile.in 2011-03-26 04:55:12.286896848 +0100 -@@ -6,11 +6,14 @@ - CDDAReader.cpp \ +diff -Naur xbmc-pvr-3513480/xbmc/cdrip/Makefile.in xbmc-pvr-3513480.patch/xbmc/cdrip/Makefile.in +--- xbmc-pvr-3513480/xbmc/cdrip/Makefile.in 2011-04-25 02:36:33.000000000 +0200 ++++ xbmc-pvr-3513480.patch/xbmc/cdrip/Makefile.in 2011-04-25 05:51:13.013064387 +0200 +@@ -3,10 +3,13 @@ Encoder.cpp \ EncoderFFmpeg.cpp \ + EncoderFlac.cpp \ - EncoderLame.cpp \ EncoderVorbis.cpp \ EncoderWav.cpp \ - EncoderFlac.cpp \ +ifeq (@HAVE_LIBMP3LAME@,1) + SRCS+=EncoderLame.cpp @@ -108,11 +109,11 @@ diff -Naur xbmc-10.1-Dharma/xbmc/cdrip/Makefile.in xbmc-10.1-Dharma.patch/xbmc/c + LIB=cdrip.a - include ../../Makefile.include -diff -Naur xbmc-10.1-Dharma/xbmc/GUISettings.cpp xbmc-10.1-Dharma.patch/xbmc/GUISettings.cpp ---- xbmc-10.1-Dharma/xbmc/GUISettings.cpp 2011-03-08 02:49:14.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/xbmc/GUISettings.cpp 2011-03-26 04:55:12.288896808 +0100 -@@ -325,7 +325,9 @@ + include @abs_top_srcdir@/Makefile.include +diff -Naur xbmc-pvr-3513480/xbmc/settings/GUISettings.cpp xbmc-pvr-3513480.patch/xbmc/settings/GUISettings.cpp +--- xbmc-pvr-3513480/xbmc/settings/GUISettings.cpp 2011-04-25 05:47:12.000000000 +0200 ++++ xbmc-pvr-3513480.patch/xbmc/settings/GUISettings.cpp 2011-04-25 05:48:47.956833472 +0200 +@@ -324,7 +324,9 @@ AddPath(acd,"audiocds.recordingpath",20000,"select writable folder",BUTTON_CONTROL_PATH_INPUT,false,657); AddString(acd, "audiocds.trackpathformat", 13307, "%A - %B/[%N. ][%A - ]%T", EDIT_CONTROL_INPUT, false, 16016); map encoders; diff --git a/packages/mediacenter/xbmc/patches/xbmc-70537d2-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch new file mode 100644 index 0000000000..821c1cc7bd --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch @@ -0,0 +1,18 @@ +diff -Naur xbmc-a3c804b/xbmc/interfaces/python/XBPython.cpp xbmc-a3c804b.patch/xbmc/interfaces/python/XBPython.cpp +--- xbmc-a3c804b/xbmc/interfaces/python/XBPython.cpp 2011-08-17 23:40:00.000000000 +0200 ++++ xbmc-a3c804b.patch/xbmc/interfaces/python/XBPython.cpp 2011-08-18 03:50:49.652475572 +0200 +@@ -335,11 +335,9 @@ + // at http://docs.python.org/using/cmdline.html#environment-variables + + #if !defined(_WIN32) +- /* PYTHONOPTIMIZE is set off intentionally when using external Python. +- Reason for this is because we cannot be sure what version of Python +- was used to compile the various Python object files (i.e. .pyo, +- .pyc, etc.). */ +- // check if we are running as real xbmc.app or just binary ++ // Required for python to find optimized code (pyo) files ++ setenv("PYTHONOPTIMIZE", "1", 1); ++ // check if we are running as real xbmc.app or just binary + if (!CUtil::GetFrameworksPath(true).IsEmpty()) + { + // using external python, it's build looking for xxx/lib/python2.6 diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-452-change_lcd_content-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-452-change_lcd_content-0.1.patch similarity index 58% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-452-change_lcd_content-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-452-change_lcd_content-0.1.patch index 66da18041b..0427b534f9 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-452-change_lcd_content-0.1.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-452-change_lcd_content-0.1.patch @@ -1,6 +1,6 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/userdata/LCD.xml xbmc-Dharma-10.1-c8405db.patch/userdata/LCD.xml ---- xbmc-Dharma-10.1-c8405db/userdata/LCD.xml 2011-02-15 13:30:17.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/userdata/LCD.xml 2011-02-15 14:25:46.406031718 +0100 +diff -Naur xbmc-pvr-3513480/userdata/LCD.xml xbmc-pvr-3513480.patch/userdata/LCD.xml +--- xbmc-pvr-3513480/userdata/LCD.xml 2011-04-25 02:36:33.000000000 +0200 ++++ xbmc-pvr-3513480.patch/userdata/LCD.xml 2011-04-25 05:27:34.956125133 +0200 @@ -21,7 +21,7 @@ Freemem: $INFO[System.FreeMemory] diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-453-add_openelec.tv_RSS_news-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-453-add_openelec.tv_RSS_news-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-453-add_openelec.tv_RSS_news-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-453-add_openelec.tv_RSS_news-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-452-ps3_remote_be_more_quiet-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-453-ps3_remote_be_more_quiet-0.1.patch similarity index 71% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-452-ps3_remote_be_more_quiet-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-453-ps3_remote_be_more_quiet-0.1.patch index f955335196..6b2f879e1c 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-452-ps3_remote_be_more_quiet-0.1.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-453-ps3_remote_be_more_quiet-0.1.patch @@ -1,6 +1,6 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py ---- xbmc-Dharma-10.1-c8405db/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py 2011-02-15 13:30:04.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py 2011-02-15 14:27:22.774100190 +0100 +diff -Naur xbmc-pvr-3513480/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py xbmc-pvr-3513480.patch/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py +--- xbmc-pvr-3513480/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py 2011-04-25 02:36:33.000000000 +0200 ++++ xbmc-pvr-3513480.patch/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py 2011-04-25 05:30:03.870260596 +0200 @@ -59,9 +59,6 @@ target_connected = False target_address = None diff --git a/packages/mediacenter/xbmc/patches/xbmc-70537d2-454-disable_backslash-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-454-disable_backslash-0.1.patch new file mode 100644 index 0000000000..0888920258 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-454-disable_backslash-0.1.patch @@ -0,0 +1,12 @@ +diff -Naur xbmc-30a9070/system/keymaps/keyboard.xml xbmc-30a9070.patch/system/keymaps/keyboard.xml +--- xbmc-30a9070/system/keymaps/keyboard.xml 2011-07-28 06:20:13.000000000 +0200 ++++ xbmc-30a9070.patch/system/keymaps/keyboard.xml 2011-07-28 09:39:57.210973380 +0200 +@@ -90,7 +90,7 @@ + Number7 + Number8 + Number9 +- ToggleFullScreen ++ + FirstPage + LastPage + diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-462-add_remote_irtrans_mediacenter-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-462-add_remote_irtrans_mediacenter-0.1.patch similarity index 78% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-462-add_remote_irtrans_mediacenter-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-462-add_remote_irtrans_mediacenter-0.1.patch index 553afd86a0..0edef5a7a5 100644 --- a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-462-add_remote_irtrans_mediacenter-0.1.patch +++ b/packages/mediacenter/xbmc/patches/xbmc-70537d2-462-add_remote_irtrans_mediacenter-0.1.patch @@ -1,7 +1,7 @@ -diff -Naur xbmc-Dharma-10.1-c8405db/system/Lircmap.xml xbmc-Dharma-10.1-c8405db.patch/system/Lircmap.xml ---- xbmc-Dharma-10.1-c8405db/system/Lircmap.xml 2011-02-15 13:30:17.000000000 +0100 -+++ xbmc-Dharma-10.1-c8405db.patch/system/Lircmap.xml 2011-02-15 14:28:14.180069773 +0100 -@@ -408,4 +408,48 @@ +diff -Naur xbmc-pvr-3513480/system/Lircmap.xml xbmc-pvr-3513480.patch/system/Lircmap.xml +--- xbmc-pvr-3513480/system/Lircmap.xml 2011-04-25 02:36:33.000000000 +0200 ++++ xbmc-pvr-3513480.patch/system/Lircmap.xml 2011-04-25 05:31:39.632429078 +0200 +@@ -409,4 +409,48 @@ KEY_YELLOW KEY_BLUE diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-463-add_remote_devinput-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-463-add_remote_devinput-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-463-add_remote_devinput-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-463-add_remote_devinput-0.1.patch diff --git a/packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-464-add_eject_keymapping_for_lirc-0.1.patch b/packages/mediacenter/xbmc/patches/xbmc-70537d2-464-add_eject_keymapping_for_lirc-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc/patches/xbmc-10.1-Dharma-464-add_eject_keymapping_for_lirc-0.1.patch rename to packages/mediacenter/xbmc/patches/xbmc-70537d2-464-add_eject_keymapping_for_lirc-0.1.patch diff --git a/packages/network/afpfs-ng/build b/packages/network/afpfs-ng/build index 030b26b57b..ba70134707 100755 --- a/packages/network/afpfs-ng/build +++ b/packages/network/afpfs-ng/build @@ -30,7 +30,9 @@ ac_cv_func_malloc_0_nonnull=yes \ --sysconfdir=/etc \ --localstatedir=/var \ --enable-gcrypt \ - --enable-fuse \ + --disable-fuse \ make -C lib -make -C fuse + +$MAKEINSTALL -C lib +$MAKEINSTALL -C include diff --git a/packages/network/afpfs-ng/install b/packages/network/afpfs-ng/install index 04cc3e8b2d..b735c14c77 100755 --- a/packages/network/afpfs-ng/install +++ b/packages/network/afpfs-ng/install @@ -24,9 +24,3 @@ mkdir -p $INSTALL/usr/lib cp -P $PKG_BUILD/lib/.libs/*.so* $INSTALL/usr/lib - -mkdir -p $INSTALL/usr/bin - cp $PKG_BUILD/fuse/afpfs $INSTALL/usr/bin - cp $PKG_BUILD/fuse/.libs/afpfsd $INSTALL/usr/bin - cp $PKG_BUILD/fuse/.libs/mount_afp $INSTALL/usr/bin - ln -sf mount_afp $INSTALL/usr/bin/afp_client diff --git a/packages/network/afpfs-ng/meta b/packages/network/afpfs-ng/meta index d6c60127fb..8da6f7b096 100644 --- a/packages/network/afpfs-ng/meta +++ b/packages/network/afpfs-ng/meta @@ -25,8 +25,8 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://sourceforge.net/projects/afpfs-ng/" PKG_URL="$SOURCEFORGE_SRC/$PKG_NAME/$PKG_NAME/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="libiconv libgpg-error libgcrypt fuse ncurses" -PKG_BUILD_DEPENDS="toolchain libiconv libgpg-error libgcrypt fuse ncurses" +PKG_DEPENDS="libiconv libgpg-error libgcrypt ncurses" +PKG_BUILD_DEPENDS="toolchain libiconv libgpg-error libgcrypt ncurses" PKG_PRIORITY="optional" PKG_SECTION="network" PKG_SHORTDESC="afpfs-ng: an Apple Filing Protocol client" diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-00-fix_afpfs-ng_includes-0.1.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-00-fix_afpfs-ng_includes-0.1.patch new file mode 100644 index 0000000000..f507a485ef --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-00-fix_afpfs-ng_includes-0.1.patch @@ -0,0 +1,3082 @@ +diff -Naur afpfs-ng-0.8.1/cmdline/cmdline_afp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c +--- afpfs-ng-0.8.1/cmdline/cmdline_afp.c 2008-02-19 02:54:19.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_afp.c 2011-09-10 12:13:50.102124369 +0200 +@@ -3,9 +3,9 @@ + + */ + +-#include "afp.h" +-#include "midlevel.h" +-#include "map_def.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/midlevel.h" ++#include "afpfs-ng/map_def.h" + + #include + #include +diff -Naur afpfs-ng-0.8.1/cmdline/cmdline_testafp.c afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c +--- afpfs-ng-0.8.1/cmdline/cmdline_testafp.c 2008-03-04 21:16:50.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/cmdline/cmdline_testafp.c 2011-09-10 12:13:50.102124369 +0200 +@@ -3,8 +3,8 @@ + + */ + +-#include "afp.h" +-#include "midlevel.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/midlevel.h" + + #include "cmdline_main.h" + +diff -Naur afpfs-ng-0.8.1/cmdline/getstatus.c afpfs-ng-0.8.1.patch/cmdline/getstatus.c +--- afpfs-ng-0.8.1/cmdline/getstatus.c 2008-02-18 04:28:09.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/cmdline/getstatus.c 2011-09-10 12:13:50.109124463 +0200 +@@ -2,7 +2,7 @@ + #include + #include + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + static int getstatus(char * address_string, unsigned int port) + { +diff -Naur afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1.patch/configure.ac +--- afpfs-ng-0.8.1/configure.ac 2008-03-08 17:23:12.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/configure.ac 2011-09-10 12:13:50.109124463 +0200 +@@ -11,6 +11,7 @@ + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_LIBTOOL ++AM_PROG_CC_C_O + + # Checks for libraries. + # FIXME: Replace `main' with a function in `-lncurses': +@@ -105,7 +106,7 @@ + + + +-AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile docs/Makefile]) ++AC_CONFIG_FILES([lib/Makefile fuse/Makefile cmdline/Makefile Makefile include/Makefile include/afpfs-ng/Makefile docs/Makefile]) + + AC_OUTPUT + +diff -Naur afpfs-ng-0.8.1/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c +--- afpfs-ng-0.8.1/fuse/client.c 2008-03-08 03:44:16.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-09-10 12:13:50.110124477 +0200 +@@ -12,11 +12,11 @@ + #include + + #include "config.h" +-#include ++#include + #include "afp_server.h" +-#include "uams_def.h" +-#include "map_def.h" +-#include "libafpclient.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/map_def.h" ++#include "afpfs-ng/libafpclient.h" + + #define default_uam "Cleartxt Passwrd" + +diff -Naur afpfs-ng-0.8.1/fuse/commands.c afpfs-ng-0.8.1.patch/fuse/commands.c +--- afpfs-ng-0.8.1/fuse/commands.c 2008-03-08 17:06:25.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/commands.c 2011-09-10 12:13:50.110124477 +0200 +@@ -19,15 +19,15 @@ + #include + #include + +-#include "afp.h" +-#include "dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" + #include "afp_server.h" +-#include "utils.h" ++#include "afpfs-ng/utils.h" + #include "daemon.h" +-#include "uams_def.h" +-#include "codepage.h" +-#include "libafpclient.h" +-#include "map_def.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/libafpclient.h" ++#include "afpfs-ng/map_def.h" + #include "fuse_int.h" + #include "fuse_error.h" + #include "fuse_internal.h" +diff -Naur afpfs-ng-0.8.1/fuse/daemon.c afpfs-ng-0.8.1.patch/fuse/daemon.c +--- afpfs-ng-0.8.1/fuse/daemon.c 2008-03-04 18:26:05.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/daemon.c 2011-09-10 12:13:50.110124477 +0200 +@@ -23,11 +23,11 @@ + #include + #include + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "afp_server.h" +-#include "utils.h" ++#include "afpfs-ng/utils.h" + #include "daemon.h" + #include "commands.h" + +diff -Naur afpfs-ng-0.8.1/fuse/fuse_error.c afpfs-ng-0.8.1.patch/fuse/fuse_error.c +--- afpfs-ng-0.8.1/fuse/fuse_error.c 2008-01-18 05:40:10.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/fuse_error.c 2011-09-10 12:13:50.111124491 +0200 +@@ -4,7 +4,7 @@ + #include + #include + #include +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "fuse_internal.h" + + #define TMP_FILE "/tmp/fuse_stderr" +diff -Naur afpfs-ng-0.8.1/fuse/fuse_int.c afpfs-ng-0.8.1.patch/fuse/fuse_int.c +--- afpfs-ng-0.8.1/fuse/fuse_int.c 2008-03-02 06:06:24.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/fuse/fuse_int.c 2011-09-10 12:13:50.111124491 +0200 +@@ -18,7 +18,7 @@ + #define FUSE_USE_VERSION 25 + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + #include + #include +@@ -39,10 +39,10 @@ + #include + #include + +-#include "dsi.h" +-#include "afp_protocol.h" +-#include "codepage.h" +-#include "midlevel.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/midlevel.h" + #include "fuse_error.h" + + /* Uncomment the following line to enable full debugging: */ +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h +--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h 2011-09-10 12:13:50.112124505 +0200 +@@ -0,0 +1,533 @@ ++ ++#ifndef _AFP_H_ ++#define _AFP_H_ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++ ++#define AFPFS_VERSION "0.8.1" ++ ++/* This is the maximum AFP version this library supports */ ++#define AFP_MAX_SUPPORTED_VERSION 32 ++ ++/* afp_url is used to pass locations around */ ++struct afp_url { ++ enum {TCPIP,AT} protocol; ++ char username[AFP_MAX_USERNAME_LEN]; ++ char uamname[50]; ++ char password[AFP_MAX_PASSWORD_LEN]; ++ char servername[AFP_SERVER_NAME_UTF8_LEN]; ++ int port; ++ char volumename[AFP_VOLUME_NAME_UTF8_LEN]; ++ char path[AFP_MAX_PATH]; ++ ++ int requested_version; ++ char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */ ++ char volpassword[9];; ++}; ++ ++struct afp_token { ++ unsigned int length; ++ char data[AFP_TOKEN_MAX_LEN]; ++}; ++ ++#define SERVER_MAX_VERSIONS 10 ++#define SERVER_MAX_UAMS 10 ++ ++struct afp_rx_buffer { ++ unsigned int size; ++ unsigned int maxsize; ++ char * data; ++ int errorcode; ++}; ++ ++ ++struct afp_file_info { ++ unsigned short attributes; ++ unsigned int did; ++ unsigned int creation_date; ++ unsigned int modification_date; ++ unsigned int backup_date; ++ unsigned int fileid; ++ unsigned short offspring; ++ char sync; ++ char finderinfo[32]; ++ char name[AFP_MAX_PATH]; ++ char basename[AFP_MAX_PATH]; ++ char translated_name[AFP_MAX_PATH]; ++ struct afp_unixprivs unixprivs; ++ unsigned int accessrights; ++ struct afp_file_info * next; ++ struct afp_file_info * largelist_next; ++ unsigned char isdir; ++ unsigned long long size; ++ unsigned short resourcesize; ++ unsigned int resource; ++ unsigned short forkid; ++ struct afp_icon * icon; ++ int eof; ++}; ++ ++ ++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1 ++#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2 ++#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4 ++#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8 ++#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10 ++#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20 ++#define VOLUME_EXTRA_FLAGS_READONLY 0x40 ++ ++#define AFP_VOLUME_UNMOUNTED 0 ++#define AFP_VOLUME_MOUNTED 1 ++#define AFP_VOLUME_UNMOUNTING 2 ++ ++struct afp_volume { ++ unsigned short volid; ++ char flags; /* This is from afpGetSrvrParms */ ++ unsigned short attributes; /* This is from VolOpen */ ++ unsigned short signature; /* This is fixed or variable */ ++ unsigned int creation_date; ++ unsigned int modification_date; ++ unsigned int backup_date; ++ struct statvfs stat; ++ unsigned char mounted; ++ char mountpoint[255]; ++ struct afp_server * server; ++ char volume_name[AFP_VOLUME_NAME_LEN]; ++ char volume_name_printable[AFP_VOLUME_NAME_UTF8_LEN]; ++ unsigned short dtrefnum; ++ char volpassword[AFP_VOLPASS_LEN]; ++ unsigned int extra_flags; /* This is an afpfs-ng specific field */ ++ ++ /* Our directory ID cache */ ++ struct did_cache_entry * did_cache_base; ++ pthread_mutex_t did_cache_mutex; ++ ++ /* Our journal of open forks */ ++ struct afp_file_info * open_forks; ++ pthread_mutex_t open_forks_mutex; ++ ++ /* Used to trigger startup */ ++ pthread_cond_t startup_condition_cond; ++ ++ struct { ++ uint64_t hits; ++ uint64_t misses; ++ uint64_t expired; ++ uint64_t force_removed; ++ } did_cache_stats; ++ ++ void * priv; /* This is a private structure for fuse/cmdline, etc */ ++ pthread_t thread; /* This is the per-volume thread */ ++ ++ int mapping; ++ ++}; ++ ++#define SERVER_STATE_CONNECTED 1 ++#define SERVER_STATE_DISCONNECTED 2 ++ ++enum server_type{ ++ AFPFS_SERVER_TYPE_UNKNOWN, ++ AFPFS_SERVER_TYPE_NETATALK, ++ AFPFS_SERVER_TYPE_AIRPORT, ++ AFPFS_SERVER_TYPE_MACINTOSH, ++}; ++ ++#define is_netatalk(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_NETATALK ) ++#define is_airport(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_AIRPORT ) ++#define is_macintosh(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_MACINTOSH ) ++ ++ ++ ++struct afp_versions { ++ char *av_name; ++ int av_number; ++}; ++extern struct afp_versions afp_versions[]; ++ ++struct afp_server { ++ ++ /* Our buffer sizes */ ++ unsigned int tx_quantum; ++ unsigned int rx_quantum; ++ ++ unsigned int tx_delay; ++ ++ /* Connection information */ ++ struct sockaddr_in address; ++ int fd; ++ ++ /* Some stats, for information only */ ++ struct { ++ uint64_t runt_packets; ++ uint64_t incoming_dsi; ++ uint64_t rx_bytes; ++ uint64_t tx_bytes; ++ uint64_t requests_pending; ++ } stats; ++ ++ /* General information */ ++ char server_name[AFP_SERVER_NAME_LEN]; ++ char server_name_utf8[AFP_SERVER_NAME_UTF8_LEN]; ++ char server_name_printable[AFP_SERVER_NAME_UTF8_LEN]; ++ ++ char machine_type[17]; ++ char icon[256]; ++ char signature[16]; ++ unsigned short flags; ++ int connect_state; ++ enum server_type server_type; ++ ++ /* This is the time we connected */ ++ time_t connect_time; ++ ++ /* UAMs */ ++ unsigned int supported_uams; ++ unsigned int using_uam; ++ ++ /* Authentication */ ++ char username[AFP_MAX_USERNAME_LEN]; ++ char password[AFP_MAX_PASSWORD_LEN]; ++ ++ /* Session */ ++ struct afp_token token; ++ char need_resume; ++ ++ /* Versions */ ++ unsigned char requested_version; ++ unsigned char versions[SERVER_MAX_VERSIONS]; ++ struct afp_versions *using_version; ++ ++ /* Volumes */ ++ unsigned char num_volumes; ++ struct afp_volume * volumes; ++ ++ void * dsi; ++ unsigned int exit_flag; ++ ++ /* Our DSI request queue */ ++ pthread_mutex_t requestid_mutex; ++ pthread_mutex_t request_queue_mutex; ++ unsigned short lastrequestid; ++ unsigned short expectedrequestid; ++ struct dsi_request * command_requests; ++ ++ ++ char loginmesg[200]; ++ char servermesg[200]; ++ char path_encoding; ++ ++ /* This is the data for the incoming buffer */ ++ char * incoming_buffer; ++ int data_read; ++ int bufsize; ++ ++ /* And this is for the outgoing queue */ ++ pthread_mutex_t send_mutex; ++ ++ /* This is for user mapping */ ++ struct passwd passwd; ++ unsigned int server_uid, server_gid; ++ int server_gid_valid; ++ ++ struct afp_server *next; ++ ++ /* These are for DSI attention packets */ ++ unsigned int attention_quantum; ++ unsigned int attention_len; ++ char * attention_buffer; ++ ++}; ++ ++struct afp_extattr_info { ++ unsigned int maxsize; ++ unsigned int size; ++ char data[1024]; ++}; ++struct afp_comment { ++ unsigned int maxsize; ++ unsigned int size; ++ char *data; ++}; ++ ++struct afp_icon { ++ unsigned int maxsize; ++ unsigned int size; ++ char *data; ++}; ++ ++#define AFP_DEFAULT_ATTENTION_QUANTUM 1024 ++ ++void afp_unixpriv_to_stat(struct afp_file_info *fp, ++ struct stat *stat); ++ ++int init_uams(void) ; ++ ++unsigned int find_uam_by_name(const char * name); ++char * uam_bitmap_to_string(unsigned int bitmap); ++ ++ ++char * get_uam_names_list(void); ++ ++unsigned int default_uams_mask(void); ++ ++struct afp_volume * find_volume_by_name(struct afp_server * server, ++ const char * volname); ++ ++struct afp_connection_request { ++ unsigned int uam_mask; ++ struct afp_url url; ++}; ++ ++void afp_default_url(struct afp_url *url); ++int afp_parse_url(struct afp_url * url, const char * toparse, int verbose); ++void afp_print_url(struct afp_url * url); ++int afp_url_validate(char * url_string, struct afp_url * valid_url); ++ ++int afp_list_volnames(struct afp_server * server, char * names, int max); ++ ++/* User mapping */ ++int afp_detect_mapping(struct afp_volume * volume); ++ ++/* These are some functions that help with simple status text generation */ ++ ++int afp_status_header(char * text, int * len); ++int afp_status_server(struct afp_server * s,char * text, int * len); ++ ++ ++struct afp_server * afp_server_full_connect(void * priv, struct afp_connection_request * req); ++ ++void * just_end_it_now(void *other); ++void add_fd_and_signal(int fd); ++void loop_disconnect(struct afp_server *s); ++void afp_wait_for_started_loop(void); ++ ++ ++struct afp_versions * pick_version(unsigned char *versions, ++ unsigned char requested) ; ++int pick_uam(unsigned int u1, unsigned int u2); ++ ++int afp_server_login(struct afp_server *server, ++ char * mesg, unsigned int *l, unsigned int max); ++ ++ ++int afp_dologin(struct afp_server *server, ++ unsigned int uam, char * username, char * passwd); ++ ++void afp_free_server(struct afp_server **server); ++ ++struct afp_server * afp_server_init(struct sockaddr_in * address); ++int afp_get_address(void * priv, const char * hostname, unsigned int port, ++ struct sockaddr_in * address); ++ ++ ++int afp_main_loop(int command_fd); ++int afp_main_quick_startup(pthread_t * thread); ++ ++int afp_server_destroy(struct afp_server *s) ; ++int afp_server_reconnect(struct afp_server * s, char * mesg, ++ unsigned int *l, unsigned int max); ++int afp_server_connect(struct afp_server *s, int full); ++ ++struct afp_server * afp_server_complete_connection( ++ void * priv, ++ struct afp_server * server, ++ struct sockaddr_in * address, unsigned char * versions, ++ unsigned int uams, char * username, char * password, ++ unsigned int requested_version, unsigned int uam_mask); ++ ++int afp_connect_volume(struct afp_volume * volume, struct afp_server * server, ++ char * mesg, unsigned int * l, unsigned int max); ++int something_is_mounted(struct afp_server * server); ++ ++int add_cache_entry(struct afp_file_info * file) ; ++struct afp_file_info * get_cache_by_name(char * name); ++struct afp_server * find_server_by_address(struct sockaddr_in * address); ++struct afp_server * find_server_by_signature(char * signature); ++struct afp_server * find_server_by_name(char * name); ++int server_still_valid(struct afp_server * server); ++ ++ ++struct afp_server * get_server_base(void); ++int afp_server_remove(struct afp_server * server); ++ ++int afp_unmount_volume(struct afp_volume * volume); ++int afp_unmount_all_volumes(struct afp_server * server); ++ ++#define volume_is_readonly(x) (((x)->attributes&kReadOnly) || \ ++ ((x)->extra_flags & VOLUME_EXTRA_FLAGS_READONLY)) ++ ++int afp_opendt(struct afp_volume *volume, unsigned short * refnum); ++ ++int afp_closedt(struct afp_server * server, unsigned short * refnum); ++ ++int afp_getcomment(struct afp_volume *volume, unsigned int did, ++ const char * pathname, struct afp_comment * comment); ++ ++int afp_addcomment(struct afp_volume *volume, unsigned int did, ++ const char * pathname, char * comment,uint64_t *size); ++ ++int afp_geticon(struct afp_volume * volume, unsigned int filecreator, ++ unsigned int filetype, unsigned char icontype, ++ unsigned short length, struct afp_icon * icon); ++ ++/* Things you want to do to a server */ ++ ++int afp_getsrvrmsg(struct afp_server *server, unsigned short messagetype,unsigned char utf8, unsigned char block, char * mesg); ++ ++int afp_login(struct afp_server *server, char * uaname, ++ char * userauthinfo, unsigned int userauthinfo_len, ++ struct afp_rx_buffer *rx); ++ ++int afp_changepassword(struct afp_server *server, char * uaname, ++ char * userauthinfo, unsigned int userauthinfo_len, ++ struct afp_rx_buffer *rx); ++ ++int afp_logincont(struct afp_server *server, unsigned short id, ++ char * userauthinfo, unsigned int userauthinfo_len, ++ struct afp_rx_buffer *rx); ++ ++int afp_getsessiontoken(struct afp_server * server, int type, ++ unsigned int timestamp, struct afp_token *outgoing_token, ++ struct afp_token * incoming_token); ++ ++int afp_getsrvrparms(struct afp_server *server); ++ ++int afp_logout(struct afp_server *server,unsigned char wait); ++ ++int afp_mapname(struct afp_server * server, unsigned char subfunction, ++ char * name, unsigned int * id); ++ ++int afp_mapid(struct afp_server * server, unsigned char subfunction, ++ unsigned int id, char *name); ++ ++int afp_getuserinfo(struct afp_server * server, int thisuser, ++ unsigned int userid, unsigned short bitmap, ++ unsigned int *newuid, unsigned int *newgid); ++ ++int afp_zzzzz(struct afp_server *server); ++ ++int afp_volopen(struct afp_volume * volume, ++ unsigned short bitmap, char * password); ++ ++int afp_flush(struct afp_volume * volume); ++ ++int afp_getfiledirparms(struct afp_volume *volume, unsigned int did, ++ unsigned int filebitmap, unsigned int dirbitmap, const char * pathname, ++ struct afp_file_info *fp); ++ ++int afp_enumerate(struct afp_volume * volume, ++ unsigned int dirid, ++ unsigned int filebitmap, unsigned int dirbitmap, ++ unsigned short reqcount, ++ unsigned short startindex, ++ char * path, ++ struct afp_file_info ** file_p); ++ ++int afp_enumerateext2(struct afp_volume * volume, ++ unsigned int dirid, ++ unsigned int filebitmap, unsigned int dirbitmap, ++ unsigned short reqcount, ++ unsigned long startindex, ++ char * path, ++ struct afp_file_info ** file_p); ++ ++int afp_openfork(struct afp_volume * volume, ++ unsigned char forktype, ++ unsigned int dirid, ++ unsigned short accessmode, ++ char * filename, ++ struct afp_file_info *fp); ++ ++int afp_read(struct afp_volume * volume, unsigned short forkid, ++ uint32_t offset, ++ uint32_t count, struct afp_rx_buffer * rx); ++ ++int afp_readext(struct afp_volume * volume, unsigned short forkid, ++ uint64_t offset, ++ uint64_t count, struct afp_rx_buffer * rx); ++ ++int afp_getvolparms(struct afp_volume * volume, unsigned short bitmap); ++ ++ ++int afp_createdir(struct afp_volume * volume, unsigned int dirid, const char * pathname, unsigned int *did_p); ++ ++int afp_delete(struct afp_volume * volume, ++ unsigned int dirid, char * pathname); ++ ++ ++int afp_createfile(struct afp_volume * volume, unsigned char flag, ++ unsigned int did, char * pathname); ++ ++int afp_write(struct afp_volume * volume, unsigned short forkid, ++ uint32_t offset, uint32_t reqcount, ++ char * data, uint32_t * written); ++ ++int afp_writeext(struct afp_volume * volume, unsigned short forkid, ++ uint64_t offset, uint64_t reqcount, ++ char * data, uint64_t * written); ++ ++int afp_flushfork(struct afp_volume * volume, unsigned short forkid); ++ ++int afp_closefork(struct afp_volume * volume, unsigned short forkid); ++int afp_setfileparms(struct afp_volume * volume, ++ unsigned int dirid, const char * pathname, unsigned short bitmap, ++ struct afp_file_info *fp); ++int afp_setfiledirparms(struct afp_volume * volume, ++ unsigned int dirid, const char * pathname, unsigned short bitmap, ++ struct afp_file_info *fp); ++ ++int afp_setdirparms(struct afp_volume * volume, ++ unsigned int dirid, const char * pathname, unsigned short bitmap, ++ struct afp_file_info *fp); ++ ++int afp_volclose(struct afp_volume * volume); ++ ++ ++int afp_setforkparms(struct afp_volume *volume, ++ unsigned short forkid, unsigned short bitmap, unsigned long len); ++ ++int afp_byterangelock(struct afp_volume * volume, ++ unsigned char flag, ++ unsigned short forkid, ++ uint32_t offset, ++ uint32_t len, uint32_t *generated_offset); ++ ++int afp_byterangelockext(struct afp_volume * volume, ++ unsigned char flag, ++ unsigned short forkid, ++ uint64_t offset, ++ uint64_t len, uint64_t *generated_offset); ++ ++int afp_moveandrename(struct afp_volume *volume, ++ unsigned int src_did, ++ unsigned int dst_did, ++ char * src_path, char * dst_path, char *new_name); ++ ++int afp_rename(struct afp_volume * volume, ++ unsigned int dirid, ++ char * path_from, char * path_to); ++ ++int afp_listextattr(struct afp_volume * volume, ++ unsigned int dirid, unsigned short bitmap, ++ char * pathname, struct afp_extattr_info * info); ++ ++/* This is a currently undocumented command */ ++int afp_newcommand76(struct afp_volume * volume, unsigned int dlen, char * data); ++ ++/* For debugging */ ++char * afp_get_command_name(char code); ++ ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp_protocol.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h +--- afpfs-ng-0.8.1/include/afpfs-ng/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp_protocol.h 2011-09-10 12:13:50.112124505 +0200 +@@ -0,0 +1,361 @@ ++ ++#ifndef _AFP_PROTOCOL_H_ ++#define _AFP_PROTOCOL_H_ ++ ++#include ++#include ++#include ++#include ++ ++/* This file defines constants for the Apple File Protocol. ++ All page references are from "Apple Filing Protocol Programming" version 3.2. ++ except where noted. ++*/ ++ ++#define AFP_SERVER_NAME_LEN 33 ++#define AFP_SERVER_NAME_UTF8_LEN 255 ++#define AFP_VOLUME_NAME_LEN 33 ++#define AFP_VOLUME_NAME_UTF8_LEN 33 ++#define AFP_SIGNATURE_LEN 16 ++#define AFP_MACHINETYPE_LEN 33 ++#define AFP_LOGINMESG_LEN 200 ++#define AFP_VOLPASS_LEN 8 ++#define AFP_HOSTNAME_LEN 255 ++/* This is actually just a guess, and only used for appletalk */ ++#define AFP_ZONE_LEN 255 ++ ++#define AFP_SERVER_ICON_LEN 256 ++ ++ ++#define AFP_MAX_USERNAME_LEN 127 ++#define AFP_MAX_PASSWORD_LEN 127 ++ ++ ++/* This is the maximum length of any UAM string */ ++#define AFP_UAM_LENGTH 24 ++ ++/* This is the maximum length of any path description */ ++#define AFP_MAX_PATH 768 ++ ++#define AFP_VOL_FLAT 1 ++#define AFP_VOL_FIXED 2 ++#define AFP_VOL_VARIABLE 3 ++ ++/* The root directory ID, p.26 */ ++ ++#define AFP_ROOT_DID 2 ++ ++/* Path type constants, p.249 */ ++ ++enum { ++kFPShortName = 1, ++kFPLongName = 2, ++kFPUTF8Name = 3 ++}; ++ ++/* fork types */ ++ ++#define AFP_FORKTYPE_DATA 0x0 ++#define AFP_FORKTYPE_RESOURCE 0x80 ++ ++/* openfork access modes, from p.196 */ ++ ++#define AFP_OPENFORK_ALLOWREAD 1 ++#define AFP_OPENFORK_ALLOWWRITE 2 ++#define AFP_OPENFORK_DENYREAD 0x10 ++#define AFP_OPENFORK_DENYWRITE 0x20 ++ ++/* Message type for getsrvmesg, p. 169*/ ++ ++typedef enum { ++ AFPMESG_LOGIN = 0, ++ AFPMESG_SERVER = 1 ++} afpmessage_t; ++ ++/* Message bitmap for getsrvrmsg */ ++ ++#define AFP_GETSRVRMSG_UTF8 0x2 ++#define AFP_GETSRVRMSG_GETMSG 0x1 ++ ++ ++/* Maximum Version length, p.17 */ ++#define AFP_MAX_VERSION_LENGTH 16 ++ ++/* Maximum length of a token, this is undocumented */ ++#define AFP_TOKEN_MAX_LEN 256 ++ ++/* The maximum size of a file for AFP 2 */ ++#define AFP_MAX_AFP2_FILESIZE (4294967296) ++ ++/* Unix privs, p.240 */ ++ ++struct afp_unixprivs { ++ uint32_t uid __attribute__((__packed__)); ++ uint32_t gid __attribute__((__packed__)); ++ uint32_t permissions __attribute__((__packed__)); ++ uint32_t ua_permissions __attribute__((__packed__)); ++ ++}; ++ ++ ++/* AFP Volume attributes bitmap, p.241 */ ++ ++enum { ++ kReadOnly = 0x01, ++ kHasVolumePassword = 0x02, ++ kSupportsFileIDs = 0x04, ++ kSupportsCatSearch = 0x08, ++ kSupportsBlankAccessPrivs = 0x10, ++ kSupportsUnixPrivs = 0x20, ++ kSupportsUTF8Names = 0x40, ++ kNoNetworkUserIDs = 0x80, ++ kDefaultPrivsFromParent = 0x100, ++ kNoExchangeFiles = 0x200, ++ kSupportsExtAttrs = 0x400, ++ kSupportsACLs=0x800 ++}; ++ ++/* AFP file creation constantes, p.250 */ ++enum { ++kFPSoftCreate = 0, ++kFPHardCreate = 0x80 ++}; ++ ++/* AFP Directory attributes, taken from the protocol guide p.236 */ ++ ++enum { ++ kFPAttributeBit = 0x1, ++ kFPParentDirIDBit = 0x2, ++ kFPCreateDateBit = 0x4, ++ kFPModDateBit = 0x8, ++ kFPBackupDateBit = 0x10, ++ kFPFinderInfoBit = 0x20, ++ kFPLongNameBit = 0x40, ++ kFPShortNameBit = 0x80, ++ kFPNodeIDBit = 0x100, ++ kFPOffspringCountBit = 0x0200, ++ kFPOwnerIDBit = 0x0400, ++ kFPGroupIDBit = 0x0800, ++ kFPAccessRightsBit = 0x1000, ++ kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier ++ kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later ++ kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later ++}; ++ ++/* AFP File bitmap, p.238. These are the ones not in the AFP Directory ++ attributes map. */ ++ ++enum { ++ kFPDataForkLenBit = 0x0200, ++ kFPRsrcForkLenBit = 0x0400, ++ kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later ++ kFPLaunchLimitBit = 0x1000, ++ kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later ++}; ++ ++/* AFP Extended Attributes Bitmap, p.238 */ ++ ++enum { ++ kXAttrNoFollow = 0x1, ++ kXAttrCreate = 0x2, ++ kXAttrREplace=0x4 ++}; ++ ++ ++/* AFP function codes */ ++enum AFPFunction ++{ ++ afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork, ++ afpCopyFile, afpCreateDir, afpCreateFile, ++ afpDelete, afpEnumerate, afpFlush, afpFlushFork, ++ afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms, ++ afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID, ++ afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork, ++ afpRead, afpRename, afpSetDirParms, afpSetFileParms, ++ afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms, ++ afpSetFileDirParms, afpChangePassword, ++ afpGetUserInfo=37,afpGetSrvrMsg = 38, ++ afpOpenDT=48, ++ afpCloseDT=49, ++ afpGetIcon=51, afpGetIconInfo=52, ++ afpAddComment=56, afpRemoveComment=57, afpGetComment=58, ++ afpByteRangeLockExt=59, afpReadExt, afpWriteExt, ++ afpGetAuthMethods=62, ++ afp_LoginExt=63, ++ afpGetSessionToken=64, ++ afpDisconnectOldSession=65, ++ afpEnumerateExt=66, ++ afpCatSearchExt = 67, ++ afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr, ++ afpRemoveExtAttr , afpListExtAttrs, ++ afpZzzzz = 122, ++ afpAddIcon=192, ++}; ++ ++/* AFP Volume bitmap. Take from 242 of the protocol guide. */ ++enum { ++ kFPBadVolPre222Bitmap = 0xFe00, ++ kFPBadVolBitmap = 0xF000, ++ kFPVolAttributeBit = 0x1, ++ kFPVolSignatureBit = 0x2, ++ kFPVolCreateDateBit = 0x4, ++ kFPVolModDateBit = 0x8, ++ kFPVolBackupDateBit = 0x10, ++ kFPVolIDBit = 0x20, ++ kFPVolBytesFreeBit = 0x40, ++ kFPVolBytesTotalBit = 0x80, ++ kFPVolNameBit = 0x100, ++ kFPVolExtBytesFreeBit = 0x200, ++ kFPVolExtBytesTotalBit = 0x400, ++ kFPVolBlockSizeBit = 0x800 ++}; ++ ++/* AFP Attention Codes -- 4 bits */ ++#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */ ++#define AFPATTN_CRASH (1 << 14) /* server crashed */ ++#define AFPATTN_MESG (1 << 13) /* server has message */ ++#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */ ++/* server notification */ ++#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT) ++ ++/* extended bitmap -- 12 bits. volchanged is only useful w/ a server ++ * notification, and time is only useful for shutdown. */ ++#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */ ++#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */ ++ ++#define kFPNoErr 0 ++ ++/* AFP result codes, p252 */ ++#define kASPSessClosed -1072 ++#define kFPAccessDenied -5000 ++#define kFPAuthContinue -5001 ++#define kFPBadUAM -5002 ++#define kFPBadVersNum -5003 ++#define kFPBitmapErr -5004 ++#define kFPCantMove -5005 ++#define kFPDenyConflict -5006 ++#define kFPDirNotEmpty -5007 ++#define kFPDiskFull -5008 ++#define kFPEOFErr -5009 ++#define kFPFileBusy -5010 ++#define kFPFlatVol -5011 ++#define kFPItemNotFound -5012 ++#define kFPLockErr -5013 ++#define kFPMiscErr -5014 ++#define kFPNoMoreLocks -5015 ++#define kFPNoServer -5016 ++#define kFPObjectExists -5017 ++#define kFPObjectNotFound -5018 ++#define kFPParamErr -5019 ++#define kFPRangeNotLocked -5020 ++#define kFPRangeOverlap -5021 ++#define kFPSessClosed -5022 ++#define kFPUserNotAuth -5023 ++#define kFPCallNotSupported -5024 ++#define kFPObjectTypeErr -5025 ++#define kFPTooManyFilesOpen -5026 ++#define kFPServerGoingDown -5027 ++#define kFPCantRename -5028 ++#define kFPDirNotFound -5029 ++#define kFPIconTypeError -5030 ++#define kFPVolLocked -5031 ++#define kFPObjectLocked -5032 ++#define kFPContainsSharedErr -5033 ++#define kFPIDNotFound -5034 ++#define kFPIDExists -5035 ++#define kFPDiffVolErr -5036 ++#define kFPCatalogChanged -5037 ++#define kFPSameObjectErr -5038 ++#define kFPBadIDErr -5039 ++#define kFPPwdSameErr -5040 ++#define kFPPwdTooShortErr -5041 ++#define kFPPwdExpiredErr -5042 ++#define kFPInsideSharedErr -5043 ++#define kFPInsideTrashErr -5044 ++#define kFPPwdNeedsChangeErr -5045 ++#define kFPPwdPolicyErr -5046 ++#define kFPDiskQuotaExceeded –5047 ++ ++ ++ ++/* These flags determine to lock or unlock in ByteRangeLock(Ext) */ ++ ++enum { ++ByteRangeLock_Lock = 0, ++ByteRangeLock_Unlock = 1 ++}; ++ ++/* These flags are used in volopen and getsrvrparm replies, p.171 */ ++ ++#define HasConfigInfo 0x1 ++#define HasPassword 0x80 ++ ++/* These are the subfunction for kFPMapID, as per p.248 */ ++ ++enum { ++kUserIDToName = 1, ++kGroupIDToName = 2, ++kUserIDToUTF8Name = 3, ++kGroupIDToUTF8Name = 4, ++kUserUUIDToUTF8Name = 5, ++kGroupUUIDToUTF8Name = 6 ++}; ++ ++ ++/* These are the subfunction flags described in the FPMapName command, p.286. ++ Note that this is different than what's described on p. 186. */ ++ ++enum { ++kNameToUserID = 1, ++kNameToGroupID = 2, ++kUTF8NameToUserID = 3, ++kUTF8NameToGroupID = 4, ++kUTF8NameToUserUUID = 5, ++kUTF8NameToGroupUUID = 6 ++}; ++ ++/* These are bits for FPGetUserInfo, p.173. */ ++#define kFPGetUserInfo_USER_ID 1 ++#define kFPGetUserInfo_PRI_GROUPID 2 ++ ++/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */ ++ ++enum { ++ kSupportsCopyfile = 0x01, ++ kSupportsChgPwd = 0x02, ++ kDontAllowSavePwd = 0x04, ++ kSupportsSrvrMsg = 0x08, ++ kSrvrSig = 0x10, ++ kSupportsTCP = 0x20, ++ kSupportsSrvrNotify = 0x40, ++ kSupportsReconnect = 0x80, ++ kSupportsDirServices = 0x100, ++ kSupportsUTF8SrvrName = 0x200, ++ kSupportsUUIDs = 0x400, ++ kSupportsSuperClient = 0x8000 ++}; ++ ++ ++/* p.247 */ ++ ++enum { ++ kLoginWithoutID = 0, ++ kLoginWithID = 1, ++ kReconnWithID = 2, ++ kLoginWithTimeAndID = 3, ++ kReconnWithTimeAndID = 4, ++ kRecon1Login = 5, ++ kRecon1ReconnectLogin = 6, ++ kRecon1Refresh = 7, kGetKerberosSessionKey = 8 ++}; ++ ++ ++#define AFP_CHMOD_ALLOWED_BITS_22 \ ++ (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG ) ++ ++ ++#endif ++ ++ ++ ++ +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/codepage.h afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h +--- afpfs-ng-0.8.1/include/afpfs-ng/codepage.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/codepage.h 2011-09-10 12:13:50.113124518 +0200 +@@ -0,0 +1,11 @@ ++#ifndef __CODE_PAGE_H_ ++#define __CODE_PAGE_H_ ++int convert_utf8dec_to_utf8pre(const char *src, int src_len, ++ char * dest, int dest_len); ++int convert_utf8pre_to_utf8dec(const char * src, int src_len, ++ char * dest, int dest_len); ++int convert_path_to_unix(char encoding, char * dest, ++ char * src, int dest_len); ++int convert_path_to_afp(char encoding, char * dest, ++ char * src, int dest_len); ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/dsi.h afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h +--- afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h 2011-09-10 12:13:50.115124544 +0200 +@@ -0,0 +1,33 @@ ++ ++#ifndef __DSI_H_ ++#define __DSI_H_ ++ ++#include "afpfs-ng/afp.h" ++ ++struct dsi_request ++{ ++ unsigned short requestid; ++ unsigned char subcommand; ++ void * other; ++ unsigned char wait; ++ pthread_cond_t condition_cond; ++ struct dsi_request * next; ++ int return_code; ++}; ++ ++int dsi_receive(struct afp_server * server, void * data, int size); ++int dsi_getstatus(struct afp_server * server); ++ ++int dsi_opensession(struct afp_server *server); ++ ++int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other); ++struct dsi_session * dsi_create(struct afp_server *server); ++int dsi_restart(struct afp_server *server); ++int dsi_recv(struct afp_server * server); ++ ++#define DSI_BLOCK_TIMEOUT -1 ++#define DSI_DONT_WAIT 0 ++#define DSI_DEFAULT_TIMEOUT 5 ++ ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h +--- afpfs-ng-0.8.1/include/afpfs-ng/libafpclient.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/libafpclient.h 2011-09-10 12:13:50.115124544 +0200 +@@ -0,0 +1,50 @@ ++ ++#ifndef __CLIENT_H_ ++#define __CLIENT_H_ ++ ++#include ++#include ++ ++#define MAX_CLIENT_RESPONSE 2048 ++ ++ ++enum loglevels { ++ AFPFSD, ++}; ++ ++struct afp_server; ++struct afp_volume; ++ ++struct libafpclient { ++ int (*unmount_volume) (struct afp_volume * volume); ++ void (*log_for_client)(void * priv, ++ enum loglevels loglevel, int logtype, const char *message); ++ void (*forced_ending_hook)(void); ++ int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd); ++ void (*loop_started)(void); ++} ; ++ ++extern struct libafpclient * libafpclient; ++ ++void libafpclient_register(struct libafpclient * tmpclient); ++ ++ ++void signal_main_thread(void); ++ ++/* These are logging functions */ ++ ++#define MAXLOGSIZE 2048 ++ ++#define LOG_METHOD_SYSLOG 1 ++#define LOG_METHOD_STDOUT 2 ++ ++void set_log_method(int m); ++ ++ ++void log_for_client(void * priv, ++ enum loglevels loglevel, int logtype, char * message,...); ++ ++void stdout_log_for_client(void * priv, ++ enum loglevels loglevel, int logtype, const char *message); ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am +--- afpfs-ng-0.8.1/include/afpfs-ng/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/Makefile.am 2011-09-10 12:13:50.115124544 +0200 +@@ -0,0 +1,6 @@ ++## Process this file with automake to produce Makefile.in ++ ++afpfsincludedir = $(includedir)/afpfs-ng ++ ++afpfsinclude_HEADERS = afp.h afp_protocol.h libafpclient.h ++nodist_afpfsinclude_HEADERS = codepage.h dsi.h map_def.h midlevel.h uams_def.h utils.h +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/map_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h +--- afpfs-ng-0.8.1/include/afpfs-ng/map_def.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/map_def.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,15 @@ ++#ifndef __MAP_H_ ++#define __MAP_H_ ++ ++#include "afpfs-ng/afp.h" ++ ++#define AFP_MAPPING_UNKNOWN 0 ++#define AFP_MAPPING_COMMON 1 ++#define AFP_MAPPING_LOGINIDS 2 ++#define AFP_MAPPING_NAME 3 ++ ++unsigned int map_string_to_num(char * name); ++char * get_mapping_name(struct afp_volume * volume); ++ ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h +--- afpfs-ng-0.8.1/include/afpfs-ng/midlevel.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/midlevel.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,64 @@ ++#ifndef __MIDLEVEL_H_ ++#define __MIDLEVEL_H_ ++ ++#include ++#include "afpfs-ng/afp.h" ++ ++int ml_open(struct afp_volume * volume, const char *path, int flags, ++ struct afp_file_info **newfp); ++ ++int ml_creat(struct afp_volume * volume, const char *path,mode_t mode); ++ ++int ml_readdir(struct afp_volume * volume, ++ const char *path, ++ struct afp_file_info **base); ++ ++int ml_read(struct afp_volume * volume, const char *path, ++ char *buf, size_t size, off_t offset, ++ struct afp_file_info *fp, int * eof); ++ ++int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode); ++ ++int ml_unlink(struct afp_volume * vol, const char *path); ++ ++int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode); ++ ++int ml_close(struct afp_volume * volume, const char * path, ++ struct afp_file_info * fp); ++ ++int ml_getattr(struct afp_volume * volume, const char *path, ++ struct stat *stbuf); ++ ++int ml_write(struct afp_volume * volume, const char * path, ++ const char *data, size_t size, off_t offset, ++ struct afp_file_info * fp, uid_t uid, ++ gid_t gid); ++ ++int ml_readlink(struct afp_volume * vol, const char * path, ++ char *buf, size_t size); ++ ++int ml_rmdir(struct afp_volume * vol, const char *path); ++ ++int ml_chown(struct afp_volume * vol, const char * path, ++ uid_t uid, gid_t gid); ++ ++int ml_truncate(struct afp_volume * vol, const char * path, off_t offset); ++ ++int ml_utime(struct afp_volume * vol, const char * path, ++ struct utimbuf * timebuf); ++ ++int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2); ++ ++int ml_rename(struct afp_volume * vol, ++ const char * path_from, const char * path_to); ++ ++int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat); ++ ++void afp_ml_filebase_free(struct afp_file_info **filebase); ++ ++int ml_passwd(struct afp_server *server, ++ char * username, char * oldpasswd, char * newpasswd); ++ ++ ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h +--- afpfs-ng-0.8.1/include/afpfs-ng/uams_def.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/uams_def.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,16 @@ ++#ifndef __UAM_DEFS_H_ ++#define __UAM_DEFS_H_ ++ ++#define UAM_NOUSERAUTHENT 0x1 ++#define UAM_CLEARTXTPASSWRD 0x2 ++#define UAM_RANDNUMEXCHANGE 0x4 ++#define UAM_2WAYRANDNUM 0x8 ++#define UAM_DHCAST128 0x10 ++#define UAM_CLIENTKRB 0x20 ++#define UAM_DHX2 0x40 ++#define UAM_RECON1 0x80 ++ ++int uam_string_to_bitmap(char * name); ++char * uam_bitmap_to_string(unsigned int bitmap); ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/utils.h afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h +--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h 2011-09-10 12:13:50.116124557 +0200 +@@ -0,0 +1,43 @@ ++#ifndef __UTILS_H_ ++#define __UTILS_H_ ++#include ++ ++#include "afpfs-ng/afp.h" ++ ++#if BYTE_ORDER == BIG_ENDIAN ++#define hton64(x) (x) ++#define ntoh64(x) (x) ++#else /* BYTE_ORDER == BIG_ENDIAN */ ++#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \ ++ (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32)) ++#define ntoh64(x) (hton64(x)) ++#endif /* BYTE_ORDER == BIG_ENDIAN */ ++ ++#define min(a,b) (((a)<(b)) ? (a) : (b)) ++#define max(a,b) (((a)>(b)) ? (a) : (b)) ++ ++ ++ ++unsigned char unixpath_to_afppath( ++ struct afp_server * server, ++ char * buf); ++ ++unsigned char sizeof_path_header(struct afp_server * server); ++ ++ ++ ++unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ; ++unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len); ++ ++unsigned char copy_to_pascal(char *dest, const char *src); ++unsigned short copy_to_pascal_two(char *dest, const char *src); ++ ++void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len); ++ ++ ++char * create_path(struct afp_server * server, char * pathname, unsigned short * len); ++ ++ ++int invalid_filename(struct afp_server * server, const char * filename); ++ ++#endif +diff -Naur afpfs-ng-0.8.1/include/afp.h afpfs-ng-0.8.1.patch/include/afp.h +--- afpfs-ng-0.8.1/include/afp.h 2008-03-08 17:08:18.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afp.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,533 +0,0 @@ +- +-#ifndef _AFP_H_ +-#define _AFP_H_ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +- +-#define AFPFS_VERSION "0.8.1" +- +-/* This is the maximum AFP version this library supports */ +-#define AFP_MAX_SUPPORTED_VERSION 32 +- +-/* afp_url is used to pass locations around */ +-struct afp_url { +- enum {TCPIP,AT} protocol; +- char username[AFP_MAX_USERNAME_LEN]; +- char uamname[50]; +- char password[AFP_MAX_PASSWORD_LEN]; +- char servername[AFP_SERVER_NAME_UTF8_LEN]; +- int port; +- char volumename[AFP_VOLUME_NAME_UTF8_LEN]; +- char path[AFP_MAX_PATH]; +- +- int requested_version; +- char zone[AFP_ZONE_LEN]; /* Only used for Appletalk */ +- char volpassword[9];; +-}; +- +-struct afp_token { +- unsigned int length; +- char data[AFP_TOKEN_MAX_LEN]; +-}; +- +-#define SERVER_MAX_VERSIONS 10 +-#define SERVER_MAX_UAMS 10 +- +-struct afp_rx_buffer { +- unsigned int size; +- unsigned int maxsize; +- char * data; +- int errorcode; +-}; +- +- +-struct afp_file_info { +- unsigned short attributes; +- unsigned int did; +- unsigned int creation_date; +- unsigned int modification_date; +- unsigned int backup_date; +- unsigned int fileid; +- unsigned short offspring; +- char sync; +- char finderinfo[32]; +- char name[AFP_MAX_PATH]; +- char basename[AFP_MAX_PATH]; +- char translated_name[AFP_MAX_PATH]; +- struct afp_unixprivs unixprivs; +- unsigned int accessrights; +- struct afp_file_info * next; +- struct afp_file_info * largelist_next; +- unsigned char isdir; +- unsigned long long size; +- unsigned short resourcesize; +- unsigned int resource; +- unsigned short forkid; +- struct afp_icon * icon; +- int eof; +-}; +- +- +-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_KNOWN 0x1 +-#define VOLUME_EXTRA_FLAGS_VOL_CHMOD_BROKEN 0x2 +-#define VOLUME_EXTRA_FLAGS_SHOW_APPLEDOUBLE 0x4 +-#define VOLUME_EXTRA_FLAGS_VOL_SUPPORTS_UNIX 0x8 +-#define VOLUME_EXTRA_FLAGS_NO_LOCKING 0x10 +-#define VOLUME_EXTRA_FLAGS_IGNORE_UNIXPRIVS 0x20 +-#define VOLUME_EXTRA_FLAGS_READONLY 0x40 +- +-#define AFP_VOLUME_UNMOUNTED 0 +-#define AFP_VOLUME_MOUNTED 1 +-#define AFP_VOLUME_UNMOUNTING 2 +- +-struct afp_volume { +- unsigned short volid; +- char flags; /* This is from afpGetSrvrParms */ +- unsigned short attributes; /* This is from VolOpen */ +- unsigned short signature; /* This is fixed or variable */ +- unsigned int creation_date; +- unsigned int modification_date; +- unsigned int backup_date; +- struct statvfs stat; +- unsigned char mounted; +- char mountpoint[255]; +- struct afp_server * server; +- char volume_name[AFP_VOLUME_NAME_LEN]; +- char volume_name_printable[AFP_VOLUME_NAME_UTF8_LEN]; +- unsigned short dtrefnum; +- char volpassword[AFP_VOLPASS_LEN]; +- unsigned int extra_flags; /* This is an afpfs-ng specific field */ +- +- /* Our directory ID cache */ +- struct did_cache_entry * did_cache_base; +- pthread_mutex_t did_cache_mutex; +- +- /* Our journal of open forks */ +- struct afp_file_info * open_forks; +- pthread_mutex_t open_forks_mutex; +- +- /* Used to trigger startup */ +- pthread_cond_t startup_condition_cond; +- +- struct { +- uint64_t hits; +- uint64_t misses; +- uint64_t expired; +- uint64_t force_removed; +- } did_cache_stats; +- +- void * priv; /* This is a private structure for fuse/cmdline, etc */ +- pthread_t thread; /* This is the per-volume thread */ +- +- int mapping; +- +-}; +- +-#define SERVER_STATE_CONNECTED 1 +-#define SERVER_STATE_DISCONNECTED 2 +- +-enum server_type{ +- AFPFS_SERVER_TYPE_UNKNOWN, +- AFPFS_SERVER_TYPE_NETATALK, +- AFPFS_SERVER_TYPE_AIRPORT, +- AFPFS_SERVER_TYPE_MACINTOSH, +-}; +- +-#define is_netatalk(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_NETATALK ) +-#define is_airport(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_AIRPORT ) +-#define is_macintosh(x) ( (x)->machine_type == AFPFS_SERVER_TYPE_MACINTOSH ) +- +- +- +-struct afp_versions { +- char *av_name; +- int av_number; +-}; +-extern struct afp_versions afp_versions[]; +- +-struct afp_server { +- +- /* Our buffer sizes */ +- unsigned int tx_quantum; +- unsigned int rx_quantum; +- +- unsigned int tx_delay; +- +- /* Connection information */ +- struct sockaddr_in address; +- int fd; +- +- /* Some stats, for information only */ +- struct { +- uint64_t runt_packets; +- uint64_t incoming_dsi; +- uint64_t rx_bytes; +- uint64_t tx_bytes; +- uint64_t requests_pending; +- } stats; +- +- /* General information */ +- char server_name[AFP_SERVER_NAME_LEN]; +- char server_name_utf8[AFP_SERVER_NAME_UTF8_LEN]; +- char server_name_printable[AFP_SERVER_NAME_UTF8_LEN]; +- +- char machine_type[17]; +- char icon[256]; +- char signature[16]; +- unsigned short flags; +- int connect_state; +- enum server_type server_type; +- +- /* This is the time we connected */ +- time_t connect_time; +- +- /* UAMs */ +- unsigned int supported_uams; +- unsigned int using_uam; +- +- /* Authentication */ +- char username[AFP_MAX_USERNAME_LEN]; +- char password[AFP_MAX_PASSWORD_LEN]; +- +- /* Session */ +- struct afp_token token; +- char need_resume; +- +- /* Versions */ +- unsigned char requested_version; +- unsigned char versions[SERVER_MAX_VERSIONS]; +- struct afp_versions *using_version; +- +- /* Volumes */ +- unsigned char num_volumes; +- struct afp_volume * volumes; +- +- void * dsi; +- unsigned int exit_flag; +- +- /* Our DSI request queue */ +- pthread_mutex_t requestid_mutex; +- pthread_mutex_t request_queue_mutex; +- unsigned short lastrequestid; +- unsigned short expectedrequestid; +- struct dsi_request * command_requests; +- +- +- char loginmesg[200]; +- char servermesg[200]; +- char path_encoding; +- +- /* This is the data for the incoming buffer */ +- char * incoming_buffer; +- int data_read; +- int bufsize; +- +- /* And this is for the outgoing queue */ +- pthread_mutex_t send_mutex; +- +- /* This is for user mapping */ +- struct passwd passwd; +- unsigned int server_uid, server_gid; +- int server_gid_valid; +- +- struct afp_server *next; +- +- /* These are for DSI attention packets */ +- unsigned int attention_quantum; +- unsigned int attention_len; +- char * attention_buffer; +- +-}; +- +-struct afp_extattr_info { +- unsigned int maxsize; +- unsigned int size; +- char data[1024]; +-}; +-struct afp_comment { +- unsigned int maxsize; +- unsigned int size; +- char *data; +-}; +- +-struct afp_icon { +- unsigned int maxsize; +- unsigned int size; +- char *data; +-}; +- +-#define AFP_DEFAULT_ATTENTION_QUANTUM 1024 +- +-void afp_unixpriv_to_stat(struct afp_file_info *fp, +- struct stat *stat); +- +-int init_uams(void) ; +- +-unsigned int find_uam_by_name(const char * name); +-char * uam_bitmap_to_string(unsigned int bitmap); +- +- +-char * get_uam_names_list(void); +- +-unsigned int default_uams_mask(void); +- +-struct afp_volume * find_volume_by_name(struct afp_server * server, +- const char * volname); +- +-struct afp_connection_request { +- unsigned int uam_mask; +- struct afp_url url; +-}; +- +-void afp_default_url(struct afp_url *url); +-int afp_parse_url(struct afp_url * url, const char * toparse, int verbose); +-void afp_print_url(struct afp_url * url); +-int afp_url_validate(char * url_string, struct afp_url * valid_url); +- +-int afp_list_volnames(struct afp_server * server, char * names, int max); +- +-/* User mapping */ +-int afp_detect_mapping(struct afp_volume * volume); +- +-/* These are some functions that help with simple status text generation */ +- +-int afp_status_header(char * text, int * len); +-int afp_status_server(struct afp_server * s,char * text, int * len); +- +- +-struct afp_server * afp_server_full_connect(void * priv, struct afp_connection_request * req); +- +-void * just_end_it_now(void *other); +-void add_fd_and_signal(int fd); +-void loop_disconnect(struct afp_server *s); +-void afp_wait_for_started_loop(void); +- +- +-struct afp_versions * pick_version(unsigned char *versions, +- unsigned char requested) ; +-int pick_uam(unsigned int u1, unsigned int u2); +- +-int afp_server_login(struct afp_server *server, +- char * mesg, unsigned int *l, unsigned int max); +- +- +-int afp_dologin(struct afp_server *server, +- unsigned int uam, char * username, char * passwd); +- +-void afp_free_server(struct afp_server **server); +- +-struct afp_server * afp_server_init(struct sockaddr_in * address); +-int afp_get_address(void * priv, const char * hostname, unsigned int port, +- struct sockaddr_in * address); +- +- +-int afp_main_loop(int command_fd); +-int afp_main_quick_startup(pthread_t * thread); +- +-int afp_server_destroy(struct afp_server *s) ; +-int afp_server_reconnect(struct afp_server * s, char * mesg, +- unsigned int *l, unsigned int max); +-int afp_server_connect(struct afp_server *s, int full); +- +-struct afp_server * afp_server_complete_connection( +- void * priv, +- struct afp_server * server, +- struct sockaddr_in * address, unsigned char * versions, +- unsigned int uams, char * username, char * password, +- unsigned int requested_version, unsigned int uam_mask); +- +-int afp_connect_volume(struct afp_volume * volume, struct afp_server * server, +- char * mesg, unsigned int * l, unsigned int max); +-int something_is_mounted(struct afp_server * server); +- +-int add_cache_entry(struct afp_file_info * file) ; +-struct afp_file_info * get_cache_by_name(char * name); +-struct afp_server * find_server_by_address(struct sockaddr_in * address); +-struct afp_server * find_server_by_signature(char * signature); +-struct afp_server * find_server_by_name(char * name); +-int server_still_valid(struct afp_server * server); +- +- +-struct afp_server * get_server_base(void); +-int afp_server_remove(struct afp_server * server); +- +-int afp_unmount_volume(struct afp_volume * volume); +-int afp_unmount_all_volumes(struct afp_server * server); +- +-#define volume_is_readonly(x) (((x)->attributes&kReadOnly) || \ +- ((x)->extra_flags & VOLUME_EXTRA_FLAGS_READONLY)) +- +-int afp_opendt(struct afp_volume *volume, unsigned short * refnum); +- +-int afp_closedt(struct afp_server * server, unsigned short * refnum); +- +-int afp_getcomment(struct afp_volume *volume, unsigned int did, +- const char * pathname, struct afp_comment * comment); +- +-int afp_addcomment(struct afp_volume *volume, unsigned int did, +- const char * pathname, char * comment,uint64_t *size); +- +-int afp_geticon(struct afp_volume * volume, unsigned int filecreator, +- unsigned int filetype, unsigned char icontype, +- unsigned short length, struct afp_icon * icon); +- +-/* Things you want to do to a server */ +- +-int afp_getsrvrmsg(struct afp_server *server, unsigned short messagetype,unsigned char utf8, unsigned char block, char * mesg); +- +-int afp_login(struct afp_server *server, char * uaname, +- char * userauthinfo, unsigned int userauthinfo_len, +- struct afp_rx_buffer *rx); +- +-int afp_changepassword(struct afp_server *server, char * uaname, +- char * userauthinfo, unsigned int userauthinfo_len, +- struct afp_rx_buffer *rx); +- +-int afp_logincont(struct afp_server *server, unsigned short id, +- char * userauthinfo, unsigned int userauthinfo_len, +- struct afp_rx_buffer *rx); +- +-int afp_getsessiontoken(struct afp_server * server, int type, +- unsigned int timestamp, struct afp_token *outgoing_token, +- struct afp_token * incoming_token); +- +-int afp_getsrvrparms(struct afp_server *server); +- +-int afp_logout(struct afp_server *server,unsigned char wait); +- +-int afp_mapname(struct afp_server * server, unsigned char subfunction, +- char * name, unsigned int * id); +- +-int afp_mapid(struct afp_server * server, unsigned char subfunction, +- unsigned int id, char *name); +- +-int afp_getuserinfo(struct afp_server * server, int thisuser, +- unsigned int userid, unsigned short bitmap, +- unsigned int *newuid, unsigned int *newgid); +- +-int afp_zzzzz(struct afp_server *server); +- +-int afp_volopen(struct afp_volume * volume, +- unsigned short bitmap, char * password); +- +-int afp_flush(struct afp_volume * volume); +- +-int afp_getfiledirparms(struct afp_volume *volume, unsigned int did, +- unsigned int filebitmap, unsigned int dirbitmap, const char * pathname, +- struct afp_file_info *fp); +- +-int afp_enumerate(struct afp_volume * volume, +- unsigned int dirid, +- unsigned int filebitmap, unsigned int dirbitmap, +- unsigned short reqcount, +- unsigned short startindex, +- char * path, +- struct afp_file_info ** file_p); +- +-int afp_enumerateext2(struct afp_volume * volume, +- unsigned int dirid, +- unsigned int filebitmap, unsigned int dirbitmap, +- unsigned short reqcount, +- unsigned long startindex, +- char * path, +- struct afp_file_info ** file_p); +- +-int afp_openfork(struct afp_volume * volume, +- unsigned char forktype, +- unsigned int dirid, +- unsigned short accessmode, +- char * filename, +- struct afp_file_info *fp); +- +-int afp_read(struct afp_volume * volume, unsigned short forkid, +- uint32_t offset, +- uint32_t count, struct afp_rx_buffer * rx); +- +-int afp_readext(struct afp_volume * volume, unsigned short forkid, +- uint64_t offset, +- uint64_t count, struct afp_rx_buffer * rx); +- +-int afp_getvolparms(struct afp_volume * volume, unsigned short bitmap); +- +- +-int afp_createdir(struct afp_volume * volume, unsigned int dirid, const char * pathname, unsigned int *did_p); +- +-int afp_delete(struct afp_volume * volume, +- unsigned int dirid, char * pathname); +- +- +-int afp_createfile(struct afp_volume * volume, unsigned char flag, +- unsigned int did, char * pathname); +- +-int afp_write(struct afp_volume * volume, unsigned short forkid, +- uint32_t offset, uint32_t reqcount, +- char * data, uint32_t * written); +- +-int afp_writeext(struct afp_volume * volume, unsigned short forkid, +- uint64_t offset, uint64_t reqcount, +- char * data, uint64_t * written); +- +-int afp_flushfork(struct afp_volume * volume, unsigned short forkid); +- +-int afp_closefork(struct afp_volume * volume, unsigned short forkid); +-int afp_setfileparms(struct afp_volume * volume, +- unsigned int dirid, const char * pathname, unsigned short bitmap, +- struct afp_file_info *fp); +-int afp_setfiledirparms(struct afp_volume * volume, +- unsigned int dirid, const char * pathname, unsigned short bitmap, +- struct afp_file_info *fp); +- +-int afp_setdirparms(struct afp_volume * volume, +- unsigned int dirid, const char * pathname, unsigned short bitmap, +- struct afp_file_info *fp); +- +-int afp_volclose(struct afp_volume * volume); +- +- +-int afp_setforkparms(struct afp_volume *volume, +- unsigned short forkid, unsigned short bitmap, unsigned long len); +- +-int afp_byterangelock(struct afp_volume * volume, +- unsigned char flag, +- unsigned short forkid, +- uint32_t offset, +- uint32_t len, uint32_t *generated_offset); +- +-int afp_byterangelockext(struct afp_volume * volume, +- unsigned char flag, +- unsigned short forkid, +- uint64_t offset, +- uint64_t len, uint64_t *generated_offset); +- +-int afp_moveandrename(struct afp_volume *volume, +- unsigned int src_did, +- unsigned int dst_did, +- char * src_path, char * dst_path, char *new_name); +- +-int afp_rename(struct afp_volume * volume, +- unsigned int dirid, +- char * path_from, char * path_to); +- +-int afp_listextattr(struct afp_volume * volume, +- unsigned int dirid, unsigned short bitmap, +- char * pathname, struct afp_extattr_info * info); +- +-/* This is a currently undocumented command */ +-int afp_newcommand76(struct afp_volume * volume, unsigned int dlen, char * data); +- +-/* For debugging */ +-char * afp_get_command_name(char code); +- +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/afp_protocol.h afpfs-ng-0.8.1.patch/include/afp_protocol.h +--- afpfs-ng-0.8.1/include/afp_protocol.h 2008-02-18 04:33:43.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/afp_protocol.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,361 +0,0 @@ +- +-#ifndef _AFP_PROTOCOL_H_ +-#define _AFP_PROTOCOL_H_ +- +-#include +-#include +-#include +-#include +- +-/* This file defines constants for the Apple File Protocol. +- All page references are from "Apple Filing Protocol Programming" version 3.2. +- except where noted. +-*/ +- +-#define AFP_SERVER_NAME_LEN 33 +-#define AFP_SERVER_NAME_UTF8_LEN 255 +-#define AFP_VOLUME_NAME_LEN 33 +-#define AFP_VOLUME_NAME_UTF8_LEN 33 +-#define AFP_SIGNATURE_LEN 16 +-#define AFP_MACHINETYPE_LEN 33 +-#define AFP_LOGINMESG_LEN 200 +-#define AFP_VOLPASS_LEN 8 +-#define AFP_HOSTNAME_LEN 255 +-/* This is actually just a guess, and only used for appletalk */ +-#define AFP_ZONE_LEN 255 +- +-#define AFP_SERVER_ICON_LEN 256 +- +- +-#define AFP_MAX_USERNAME_LEN 127 +-#define AFP_MAX_PASSWORD_LEN 127 +- +- +-/* This is the maximum length of any UAM string */ +-#define AFP_UAM_LENGTH 24 +- +-/* This is the maximum length of any path description */ +-#define AFP_MAX_PATH 768 +- +-#define AFP_VOL_FLAT 1 +-#define AFP_VOL_FIXED 2 +-#define AFP_VOL_VARIABLE 3 +- +-/* The root directory ID, p.26 */ +- +-#define AFP_ROOT_DID 2 +- +-/* Path type constants, p.249 */ +- +-enum { +-kFPShortName = 1, +-kFPLongName = 2, +-kFPUTF8Name = 3 +-}; +- +-/* fork types */ +- +-#define AFP_FORKTYPE_DATA 0x0 +-#define AFP_FORKTYPE_RESOURCE 0x80 +- +-/* openfork access modes, from p.196 */ +- +-#define AFP_OPENFORK_ALLOWREAD 1 +-#define AFP_OPENFORK_ALLOWWRITE 2 +-#define AFP_OPENFORK_DENYREAD 0x10 +-#define AFP_OPENFORK_DENYWRITE 0x20 +- +-/* Message type for getsrvmesg, p. 169*/ +- +-typedef enum { +- AFPMESG_LOGIN = 0, +- AFPMESG_SERVER = 1 +-} afpmessage_t; +- +-/* Message bitmap for getsrvrmsg */ +- +-#define AFP_GETSRVRMSG_UTF8 0x2 +-#define AFP_GETSRVRMSG_GETMSG 0x1 +- +- +-/* Maximum Version length, p.17 */ +-#define AFP_MAX_VERSION_LENGTH 16 +- +-/* Maximum length of a token, this is undocumented */ +-#define AFP_TOKEN_MAX_LEN 256 +- +-/* The maximum size of a file for AFP 2 */ +-#define AFP_MAX_AFP2_FILESIZE (4294967296) +- +-/* Unix privs, p.240 */ +- +-struct afp_unixprivs { +- uint32_t uid __attribute__((__packed__)); +- uint32_t gid __attribute__((__packed__)); +- uint32_t permissions __attribute__((__packed__)); +- uint32_t ua_permissions __attribute__((__packed__)); +- +-}; +- +- +-/* AFP Volume attributes bitmap, p.241 */ +- +-enum { +- kReadOnly = 0x01, +- kHasVolumePassword = 0x02, +- kSupportsFileIDs = 0x04, +- kSupportsCatSearch = 0x08, +- kSupportsBlankAccessPrivs = 0x10, +- kSupportsUnixPrivs = 0x20, +- kSupportsUTF8Names = 0x40, +- kNoNetworkUserIDs = 0x80, +- kDefaultPrivsFromParent = 0x100, +- kNoExchangeFiles = 0x200, +- kSupportsExtAttrs = 0x400, +- kSupportsACLs=0x800 +-}; +- +-/* AFP file creation constantes, p.250 */ +-enum { +-kFPSoftCreate = 0, +-kFPHardCreate = 0x80 +-}; +- +-/* AFP Directory attributes, taken from the protocol guide p.236 */ +- +-enum { +- kFPAttributeBit = 0x1, +- kFPParentDirIDBit = 0x2, +- kFPCreateDateBit = 0x4, +- kFPModDateBit = 0x8, +- kFPBackupDateBit = 0x10, +- kFPFinderInfoBit = 0x20, +- kFPLongNameBit = 0x40, +- kFPShortNameBit = 0x80, +- kFPNodeIDBit = 0x100, +- kFPOffspringCountBit = 0x0200, +- kFPOwnerIDBit = 0x0400, +- kFPGroupIDBit = 0x0800, +- kFPAccessRightsBit = 0x1000, +- kFPProDOSInfoBit = 0x2000, // AFP version 2.2 and earlier +- kFPUTF8NameBit = 0x2000, // AFP version 3.0 and later +- kFPUnixPrivsBit = 0x8000 // AFP version 3.0 and later +-}; +- +-/* AFP File bitmap, p.238. These are the ones not in the AFP Directory +- attributes map. */ +- +-enum { +- kFPDataForkLenBit = 0x0200, +- kFPRsrcForkLenBit = 0x0400, +- kFPExtDataForkLenBit = 0x0800, // AFP version 3.0 and later +- kFPLaunchLimitBit = 0x1000, +- kFPExtRsrcForkLenBit = 0x4000, // AFP version 3.0 and later +-}; +- +-/* AFP Extended Attributes Bitmap, p.238 */ +- +-enum { +- kXAttrNoFollow = 0x1, +- kXAttrCreate = 0x2, +- kXAttrREplace=0x4 +-}; +- +- +-/* AFP function codes */ +-enum AFPFunction +-{ +- afpByteRangeLock = 1, afpCloseVol, afpCloseDir, afpCloseFork, +- afpCopyFile, afpCreateDir, afpCreateFile, +- afpDelete, afpEnumerate, afpFlush, afpFlushFork, +- afpGetForkParms = 14, afpGetSrvrInfo, afpGetSrvrParms, +- afpGetVolParms, afpLogin, afpLoginCont, afpLogout, afpMapID, +- afpMapName, afpMoveAndRename, afpOpenVol, afpOpenDir, afpOpenFork, +- afpRead, afpRename, afpSetDirParms, afpSetFileParms, +- afpSetForkParms, afpSetVolParms, afpWrite, afpGetFileDirParms, +- afpSetFileDirParms, afpChangePassword, +- afpGetUserInfo=37,afpGetSrvrMsg = 38, +- afpOpenDT=48, +- afpCloseDT=49, +- afpGetIcon=51, afpGetIconInfo=52, +- afpAddComment=56, afpRemoveComment=57, afpGetComment=58, +- afpByteRangeLockExt=59, afpReadExt, afpWriteExt, +- afpGetAuthMethods=62, +- afp_LoginExt=63, +- afpGetSessionToken=64, +- afpDisconnectOldSession=65, +- afpEnumerateExt=66, +- afpCatSearchExt = 67, +- afpEnumerateExt2 = 68, afpGetExtAttr, afpSetExtAttr, +- afpRemoveExtAttr , afpListExtAttrs, +- afpZzzzz = 122, +- afpAddIcon=192, +-}; +- +-/* AFP Volume bitmap. Take from 242 of the protocol guide. */ +-enum { +- kFPBadVolPre222Bitmap = 0xFe00, +- kFPBadVolBitmap = 0xF000, +- kFPVolAttributeBit = 0x1, +- kFPVolSignatureBit = 0x2, +- kFPVolCreateDateBit = 0x4, +- kFPVolModDateBit = 0x8, +- kFPVolBackupDateBit = 0x10, +- kFPVolIDBit = 0x20, +- kFPVolBytesFreeBit = 0x40, +- kFPVolBytesTotalBit = 0x80, +- kFPVolNameBit = 0x100, +- kFPVolExtBytesFreeBit = 0x200, +- kFPVolExtBytesTotalBit = 0x400, +- kFPVolBlockSizeBit = 0x800 +-}; +- +-/* AFP Attention Codes -- 4 bits */ +-#define AFPATTN_SHUTDOWN (1 << 15) /* shutdown/disconnect */ +-#define AFPATTN_CRASH (1 << 14) /* server crashed */ +-#define AFPATTN_MESG (1 << 13) /* server has message */ +-#define AFPATTN_NORECONNECT (1 << 12) /* don't reconnect */ +-/* server notification */ +-#define AFPATTN_NOTIFY (AFPATTN_MESG | AFPATTN_NORECONNECT) +- +-/* extended bitmap -- 12 bits. volchanged is only useful w/ a server +- * notification, and time is only useful for shutdown. */ +-#define AFPATTN_VOLCHANGED (1 << 0) /* volume has changed */ +-#define AFPATTN_TIME(x) ((x) & 0xfff) /* time in minutes */ +- +-#define kFPNoErr 0 +- +-/* AFP result codes, p252 */ +-#define kASPSessClosed -1072 +-#define kFPAccessDenied -5000 +-#define kFPAuthContinue -5001 +-#define kFPBadUAM -5002 +-#define kFPBadVersNum -5003 +-#define kFPBitmapErr -5004 +-#define kFPCantMove -5005 +-#define kFPDenyConflict -5006 +-#define kFPDirNotEmpty -5007 +-#define kFPDiskFull -5008 +-#define kFPEOFErr -5009 +-#define kFPFileBusy -5010 +-#define kFPFlatVol -5011 +-#define kFPItemNotFound -5012 +-#define kFPLockErr -5013 +-#define kFPMiscErr -5014 +-#define kFPNoMoreLocks -5015 +-#define kFPNoServer -5016 +-#define kFPObjectExists -5017 +-#define kFPObjectNotFound -5018 +-#define kFPParamErr -5019 +-#define kFPRangeNotLocked -5020 +-#define kFPRangeOverlap -5021 +-#define kFPSessClosed -5022 +-#define kFPUserNotAuth -5023 +-#define kFPCallNotSupported -5024 +-#define kFPObjectTypeErr -5025 +-#define kFPTooManyFilesOpen -5026 +-#define kFPServerGoingDown -5027 +-#define kFPCantRename -5028 +-#define kFPDirNotFound -5029 +-#define kFPIconTypeError -5030 +-#define kFPVolLocked -5031 +-#define kFPObjectLocked -5032 +-#define kFPContainsSharedErr -5033 +-#define kFPIDNotFound -5034 +-#define kFPIDExists -5035 +-#define kFPDiffVolErr -5036 +-#define kFPCatalogChanged -5037 +-#define kFPSameObjectErr -5038 +-#define kFPBadIDErr -5039 +-#define kFPPwdSameErr -5040 +-#define kFPPwdTooShortErr -5041 +-#define kFPPwdExpiredErr -5042 +-#define kFPInsideSharedErr -5043 +-#define kFPInsideTrashErr -5044 +-#define kFPPwdNeedsChangeErr -5045 +-#define kFPPwdPolicyErr -5046 +-#define kFPDiskQuotaExceeded –5047 +- +- +- +-/* These flags determine to lock or unlock in ByteRangeLock(Ext) */ +- +-enum { +-ByteRangeLock_Lock = 0, +-ByteRangeLock_Unlock = 1 +-}; +- +-/* These flags are used in volopen and getsrvrparm replies, p.171 */ +- +-#define HasConfigInfo 0x1 +-#define HasPassword 0x80 +- +-/* These are the subfunction for kFPMapID, as per p.248 */ +- +-enum { +-kUserIDToName = 1, +-kGroupIDToName = 2, +-kUserIDToUTF8Name = 3, +-kGroupIDToUTF8Name = 4, +-kUserUUIDToUTF8Name = 5, +-kGroupUUIDToUTF8Name = 6 +-}; +- +- +-/* These are the subfunction flags described in the FPMapName command, p.286. +- Note that this is different than what's described on p. 186. */ +- +-enum { +-kNameToUserID = 1, +-kNameToGroupID = 2, +-kUTF8NameToUserID = 3, +-kUTF8NameToGroupID = 4, +-kUTF8NameToUserUUID = 5, +-kUTF8NameToGroupUUID = 6 +-}; +- +-/* These are bits for FPGetUserInfo, p.173. */ +-#define kFPGetUserInfo_USER_ID 1 +-#define kFPGetUserInfo_PRI_GROUPID 2 +- +-/* Flags for the replies of GetSrvrInfo and DSI GetStatus, p.240 */ +- +-enum { +- kSupportsCopyfile = 0x01, +- kSupportsChgPwd = 0x02, +- kDontAllowSavePwd = 0x04, +- kSupportsSrvrMsg = 0x08, +- kSrvrSig = 0x10, +- kSupportsTCP = 0x20, +- kSupportsSrvrNotify = 0x40, +- kSupportsReconnect = 0x80, +- kSupportsDirServices = 0x100, +- kSupportsUTF8SrvrName = 0x200, +- kSupportsUUIDs = 0x400, +- kSupportsSuperClient = 0x8000 +-}; +- +- +-/* p.247 */ +- +-enum { +- kLoginWithoutID = 0, +- kLoginWithID = 1, +- kReconnWithID = 2, +- kLoginWithTimeAndID = 3, +- kReconnWithTimeAndID = 4, +- kRecon1Login = 5, +- kRecon1ReconnectLogin = 6, +- kRecon1Refresh = 7, kGetKerberosSessionKey = 8 +-}; +- +- +-#define AFP_CHMOD_ALLOWED_BITS_22 \ +- (S_IRUSR |S_IWUSR | S_IRGRP | S_IWGRP |S_IROTH | S_IWOTH | S_IFREG ) +- +- +-#endif +- +- +- +- +diff -Naur afpfs-ng-0.8.1/include/codepage.h afpfs-ng-0.8.1.patch/include/codepage.h +--- afpfs-ng-0.8.1/include/codepage.h 2007-09-23 16:21:30.000000000 +0200 ++++ afpfs-ng-0.8.1.patch/include/codepage.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,11 +0,0 @@ +-#ifndef __CODE_PAGE_H_ +-#define __CODE_PAGE_H_ +-int convert_utf8dec_to_utf8pre(const char *src, int src_len, +- char * dest, int dest_len); +-int convert_utf8pre_to_utf8dec(const char * src, int src_len, +- char * dest, int dest_len); +-int convert_path_to_unix(char encoding, char * dest, +- char * src, int dest_len); +-int convert_path_to_afp(char encoding, char * dest, +- char * src, int dest_len); +-#endif +diff -Naur afpfs-ng-0.8.1/include/dsi.h afpfs-ng-0.8.1.patch/include/dsi.h +--- afpfs-ng-0.8.1/include/dsi.h 2008-02-18 04:33:24.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/dsi.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,33 +0,0 @@ +- +-#ifndef __DSI_H_ +-#define __DSI_H_ +- +-#include "afp.h" +- +-struct dsi_request +-{ +- unsigned short requestid; +- unsigned char subcommand; +- void * other; +- unsigned char wait; +- pthread_cond_t condition_cond; +- struct dsi_request * next; +- int return_code; +-}; +- +-int dsi_receive(struct afp_server * server, void * data, int size); +-int dsi_getstatus(struct afp_server * server); +- +-int dsi_opensession(struct afp_server *server); +- +-int dsi_send(struct afp_server *server, char * msg, int size,int wait,unsigned char subcommand, void ** other); +-struct dsi_session * dsi_create(struct afp_server *server); +-int dsi_restart(struct afp_server *server); +-int dsi_recv(struct afp_server * server); +- +-#define DSI_BLOCK_TIMEOUT -1 +-#define DSI_DONT_WAIT 0 +-#define DSI_DEFAULT_TIMEOUT 5 +- +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/libafpclient.h afpfs-ng-0.8.1.patch/include/libafpclient.h +--- afpfs-ng-0.8.1/include/libafpclient.h 2008-01-30 05:37:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/libafpclient.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,50 +0,0 @@ +- +-#ifndef __CLIENT_H_ +-#define __CLIENT_H_ +- +-#include +-#include +- +-#define MAX_CLIENT_RESPONSE 2048 +- +- +-enum loglevels { +- AFPFSD, +-}; +- +-struct afp_server; +-struct afp_volume; +- +-struct libafpclient { +- int (*unmount_volume) (struct afp_volume * volume); +- void (*log_for_client)(void * priv, +- enum loglevels loglevel, int logtype, const char *message); +- void (*forced_ending_hook)(void); +- int (*scan_extra_fds)(int command_fd,fd_set *set, int * max_fd); +- void (*loop_started)(void); +-} ; +- +-extern struct libafpclient * libafpclient; +- +-void libafpclient_register(struct libafpclient * tmpclient); +- +- +-void signal_main_thread(void); +- +-/* These are logging functions */ +- +-#define MAXLOGSIZE 2048 +- +-#define LOG_METHOD_SYSLOG 1 +-#define LOG_METHOD_STDOUT 2 +- +-void set_log_method(int m); +- +- +-void log_for_client(void * priv, +- enum loglevels loglevel, int logtype, char * message,...); +- +-void stdout_log_for_client(void * priv, +- enum loglevels loglevel, int logtype, const char *message); +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/Makefile.am afpfs-ng-0.8.1.patch/include/Makefile.am +--- afpfs-ng-0.8.1/include/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/Makefile.am 2011-09-10 12:13:50.126124692 +0200 +@@ -0,0 +1,3 @@ ++## Process this file with automake to produce Makefile.in ++ ++SUBDIRS = afpfs-ng +diff -Naur afpfs-ng-0.8.1/include/map_def.h afpfs-ng-0.8.1.patch/include/map_def.h +--- afpfs-ng-0.8.1/include/map_def.h 2008-01-17 05:55:46.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/map_def.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,15 +0,0 @@ +-#ifndef __MAP_H_ +-#define __MAP_H_ +- +-#include "afp.h" +- +-#define AFP_MAPPING_UNKNOWN 0 +-#define AFP_MAPPING_COMMON 1 +-#define AFP_MAPPING_LOGINIDS 2 +-#define AFP_MAPPING_NAME 3 +- +-unsigned int map_string_to_num(char * name); +-char * get_mapping_name(struct afp_volume * volume); +- +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/midlevel.h afpfs-ng-0.8.1.patch/include/midlevel.h +--- afpfs-ng-0.8.1/include/midlevel.h 2007-12-24 20:39:25.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/midlevel.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,64 +0,0 @@ +-#ifndef __MIDLEVEL_H_ +-#define __MIDLEVEL_H_ +- +-#include +-#include "afp.h" +- +-int ml_open(struct afp_volume * volume, const char *path, int flags, +- struct afp_file_info **newfp); +- +-int ml_creat(struct afp_volume * volume, const char *path,mode_t mode); +- +-int ml_readdir(struct afp_volume * volume, +- const char *path, +- struct afp_file_info **base); +- +-int ml_read(struct afp_volume * volume, const char *path, +- char *buf, size_t size, off_t offset, +- struct afp_file_info *fp, int * eof); +- +-int ml_chmod(struct afp_volume * vol, const char * path, mode_t mode); +- +-int ml_unlink(struct afp_volume * vol, const char *path); +- +-int ml_mkdir(struct afp_volume * vol, const char * path, mode_t mode); +- +-int ml_close(struct afp_volume * volume, const char * path, +- struct afp_file_info * fp); +- +-int ml_getattr(struct afp_volume * volume, const char *path, +- struct stat *stbuf); +- +-int ml_write(struct afp_volume * volume, const char * path, +- const char *data, size_t size, off_t offset, +- struct afp_file_info * fp, uid_t uid, +- gid_t gid); +- +-int ml_readlink(struct afp_volume * vol, const char * path, +- char *buf, size_t size); +- +-int ml_rmdir(struct afp_volume * vol, const char *path); +- +-int ml_chown(struct afp_volume * vol, const char * path, +- uid_t uid, gid_t gid); +- +-int ml_truncate(struct afp_volume * vol, const char * path, off_t offset); +- +-int ml_utime(struct afp_volume * vol, const char * path, +- struct utimbuf * timebuf); +- +-int ml_symlink(struct afp_volume *vol, const char * path1, const char * path2); +- +-int ml_rename(struct afp_volume * vol, +- const char * path_from, const char * path_to); +- +-int ml_statfs(struct afp_volume * vol, const char *path, struct statvfs *stat); +- +-void afp_ml_filebase_free(struct afp_file_info **filebase); +- +-int ml_passwd(struct afp_server *server, +- char * username, char * oldpasswd, char * newpasswd); +- +- +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/uams_def.h afpfs-ng-0.8.1.patch/include/uams_def.h +--- afpfs-ng-0.8.1/include/uams_def.h 2007-09-07 15:10:51.000000000 +0200 ++++ afpfs-ng-0.8.1.patch/include/uams_def.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,16 +0,0 @@ +-#ifndef __UAM_DEFS_H_ +-#define __UAM_DEFS_H_ +- +-#define UAM_NOUSERAUTHENT 0x1 +-#define UAM_CLEARTXTPASSWRD 0x2 +-#define UAM_RANDNUMEXCHANGE 0x4 +-#define UAM_2WAYRANDNUM 0x8 +-#define UAM_DHCAST128 0x10 +-#define UAM_CLIENTKRB 0x20 +-#define UAM_DHX2 0x40 +-#define UAM_RECON1 0x80 +- +-int uam_string_to_bitmap(char * name); +-char * uam_bitmap_to_string(unsigned int bitmap); +- +-#endif +diff -Naur afpfs-ng-0.8.1/include/utils.h afpfs-ng-0.8.1.patch/include/utils.h +--- afpfs-ng-0.8.1/include/utils.h 2008-02-18 04:33:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/include/utils.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,43 +0,0 @@ +-#ifndef __UTILS_H_ +-#define __UTILS_H_ +-#include +- +-#include "afp.h" +- +-#if BYTE_ORDER == BIG_ENDIAN +-#define hton64(x) (x) +-#define ntoh64(x) (x) +-#else /* BYTE_ORDER == BIG_ENDIAN */ +-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \ +- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32)) +-#define ntoh64(x) (hton64(x)) +-#endif /* BYTE_ORDER == BIG_ENDIAN */ +- +-#define min(a,b) (((a)<(b)) ? (a) : (b)) +-#define max(a,b) (((a)>(b)) ? (a) : (b)) +- +- +- +-unsigned char unixpath_to_afppath( +- struct afp_server * server, +- char * buf); +- +-unsigned char sizeof_path_header(struct afp_server * server); +- +- +- +-unsigned char copy_from_pascal(char *dest, char *pascal,unsigned int max_len) ; +-unsigned short copy_from_pascal_two(char *dest, char *pascal,unsigned int max_len); +- +-unsigned char copy_to_pascal(char *dest, const char *src); +-unsigned short copy_to_pascal_two(char *dest, const char *src); +- +-void copy_path(struct afp_server * server, char * dest, const char * pathname, unsigned char len); +- +- +-char * create_path(struct afp_server * server, char * pathname, unsigned short * len); +- +- +-int invalid_filename(struct afp_server * server, const char * filename); +- +-#endif +diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c +--- afpfs-ng-0.8.1/lib/afp.c 2008-03-08 03:44:16.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:13:50.131124759 +0200 +@@ -9,7 +9,7 @@ + + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + #include + + #include +@@ -21,17 +21,17 @@ + #include + #include + +-#include "afp_protocol.h" +-#include "libafpclient.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/libafpclient.h" + #include "server.h" +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "dsi_protocol.h" +-#include "utils.h" ++#include "afpfs-ng/utils.h" + #include "afp_replies.h" + #include "afp_internal.h" + #include "did.h" + #include "forklist.h" +-#include "codepage.h" ++#include "afpfs-ng/codepage.h" + + struct afp_versions afp_versions[] = { + { "AFPVersion 1.1", 11 }, +diff -Naur afpfs-ng-0.8.1/lib/afp_internal.h afpfs-ng-0.8.1.patch/lib/afp_internal.h +--- afpfs-ng-0.8.1/lib/afp_internal.h 2007-11-09 05:27:20.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/afp_internal.h 2011-09-10 12:13:50.132124772 +0200 +@@ -1,7 +1,7 @@ + #ifndef _AFP_INTERNAL_H_ + #define _AFP_INTERNAL_H_ + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + extern struct afp_versions afp_versions[]; + +diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c +--- afpfs-ng-0.8.1/lib/afp_url.c 2008-03-04 21:16:49.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:13:50.132124772 +0200 +@@ -3,7 +3,7 @@ + #include + #include + #include +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + void afp_default_url(struct afp_url *url) + { +diff -Naur afpfs-ng-0.8.1/lib/client.c afpfs-ng-0.8.1.patch/lib/client.c +--- afpfs-ng-0.8.1/lib/client.c 2008-02-18 04:36:30.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/client.c 2011-09-10 12:13:50.132124772 +0200 +@@ -1,5 +1,5 @@ +-#include +-#include ++#include ++#include + + + struct libafpclient * libafpclient = NULL; +diff -Naur afpfs-ng-0.8.1/lib/codepage.c afpfs-ng-0.8.1.patch/lib/codepage.c +--- afpfs-ng-0.8.1/lib/codepage.c 2008-02-18 04:36:54.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/codepage.c 2011-09-10 12:13:50.133124786 +0200 +@@ -14,8 +14,8 @@ + + #include + #include +-#include "afp_protocol.h" +-#include "utils.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/utils.h" + #include "unicode.h" + + int convert_utf8dec_to_utf8pre(const char *src, int src_len, +diff -Naur afpfs-ng-0.8.1/lib/connect.c afpfs-ng-0.8.1.patch/lib/connect.c +--- afpfs-ng-0.8.1/lib/connect.c 2008-02-18 04:38:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/connect.c 2011-09-10 12:13:50.133124786 +0200 +@@ -10,13 +10,13 @@ + #include + #include + +-#include "afp.h" +-#include "dsi.h" +-#include "utils.h" +-#include "uams_def.h" +-#include "codepage.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/codepage.h" + #include "users.h" +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "server.h" + + +diff -Naur afpfs-ng-0.8.1/lib/did.c afpfs-ng-0.8.1.patch/lib/did.c +--- afpfs-ng-0.8.1/lib/did.c 2008-02-18 04:39:17.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/did.c 2011-09-10 12:13:50.133124786 +0200 +@@ -9,8 +9,8 @@ + #include + #include + +-#include "afp.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/afp_protocol.h" + + #undef DID_CACHE_DISABLE + +diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c +--- afpfs-ng-0.8.1/lib/dsi.c 2008-02-18 04:53:03.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:13:50.134124800 +0200 +@@ -19,12 +19,12 @@ + #include + #include + +-#include "utils.h" +-#include "dsi.h" +-#include "afp.h" +-#include "uams_def.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/uams_def.h" + #include "dsi_protocol.h" +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "afp_internal.h" + #include "afp_replies.h" + +diff -Naur afpfs-ng-0.8.1/lib/forklist.c afpfs-ng-0.8.1.patch/lib/forklist.c +--- afpfs-ng-0.8.1/lib/forklist.c 2008-01-17 05:49:16.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/forklist.c 2011-09-10 12:13:50.135124814 +0200 +@@ -10,7 +10,7 @@ + */ + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + #include + #include +diff -Naur afpfs-ng-0.8.1/lib/log.c afpfs-ng-0.8.1.patch/lib/log.c +--- afpfs-ng-0.8.1/lib/log.c 2008-01-30 05:37:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/log.c 2011-09-10 12:13:50.135124814 +0200 +@@ -3,7 +3,7 @@ + #include + #include + #include +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + + void log_for_client(void * priv, + enum loglevels loglevel, int logtype, char *format, ...) { +diff -Naur afpfs-ng-0.8.1/lib/loop.c afpfs-ng-0.8.1.patch/lib/loop.c +--- afpfs-ng-0.8.1/lib/loop.c 2008-02-18 04:40:11.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/loop.c 2011-09-10 12:13:50.135124814 +0200 +@@ -16,9 +16,9 @@ + #include + #include + +-#include "afp.h" +-#include "dsi.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/utils.h" + + #define SIGNAL_TO_USE SIGUSR2 + +diff -Naur afpfs-ng-0.8.1/lib/lowlevel.c afpfs-ng-0.8.1.patch/lib/lowlevel.c +--- afpfs-ng-0.8.1/lib/lowlevel.c 2008-02-20 02:33:17.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/lowlevel.c 2011-09-10 12:13:50.136124828 +0200 +@@ -19,10 +19,10 @@ + #else + #include + #endif +-#include "afp.h" +-#include "afp_protocol.h" +-#include "codepage.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/utils.h" + #include "did.h" + #include "users.h" + +diff -Naur afpfs-ng-0.8.1/lib/map_def.c afpfs-ng-0.8.1.patch/lib/map_def.c +--- afpfs-ng-0.8.1/lib/map_def.c 2007-09-07 15:10:59.000000000 +0200 ++++ afpfs-ng-0.8.1.patch/lib/map_def.c 2011-09-10 12:13:50.136124828 +0200 +@@ -1,6 +1,6 @@ + #include +-#include "afp.h" +-#include "map_def.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/map_def.h" + + static char *afp_map_strings[] = { + "Unknown", +diff -Naur afpfs-ng-0.8.1/lib/meta.c afpfs-ng-0.8.1.patch/lib/meta.c +--- afpfs-ng-0.8.1/lib/meta.c 2008-01-04 04:52:44.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/meta.c 2011-09-10 12:13:50.137124841 +0200 +@@ -17,10 +17,10 @@ + #include + #include + +-#include "afp.h" +-#include "dsi.h" +-#include "afp_protocol.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/utils.h" + + + int afp_meta_getattr(const char *path, struct stat *stbuf) +diff -Naur afpfs-ng-0.8.1/lib/midlevel.c afpfs-ng-0.8.1.patch/lib/midlevel.c +--- afpfs-ng-0.8.1/lib/midlevel.c 2008-03-08 17:08:18.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/midlevel.c 2011-09-10 12:13:50.160125150 +0200 +@@ -10,7 +10,7 @@ + */ + + +-#include "afp.h" ++#include "afpfs-ng/afp.h" + + #include + #include +@@ -28,9 +28,9 @@ + #include "users.h" + #include "did.h" + #include "resource.h" +-#include "utils.h" +-#include "codepage.h" +-#include "midlevel.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/codepage.h" ++#include "afpfs-ng/midlevel.h" + #include "afp_internal.h" + #include "forklist.h" + #include "uams.h" +diff -Naur afpfs-ng-0.8.1/lib/proto_attr.c afpfs-ng-0.8.1.patch/lib/proto_attr.c +--- afpfs-ng-0.8.1/lib/proto_attr.c 2008-01-30 05:37:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_attr.c 2011-09-10 12:13:50.168125257 +0200 +@@ -7,10 +7,10 @@ + + #include + #include +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/afp_protocol.h" + #include "dsi_protocol.h" + + /* This is a new command, function 76. There are currently no docs, so this +diff -Naur afpfs-ng-0.8.1/lib/proto_desktop.c afpfs-ng-0.8.1.patch/lib/proto_desktop.c +--- afpfs-ng-0.8.1/lib/proto_desktop.c 2008-02-18 04:44:11.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_desktop.c 2011-09-10 12:13:50.168125257 +0200 +@@ -9,10 +9,10 @@ + #include + #include + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/afp_protocol.h" + #include "dsi_protocol.h" + + /* closedt, addicon, geticoninfo, addappl, removeappl */ +diff -Naur afpfs-ng-0.8.1/lib/proto_directory.c afpfs-ng-0.8.1.patch/lib/proto_directory.c +--- afpfs-ng-0.8.1/lib/proto_directory.c 2008-02-19 03:39:29.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_directory.c 2011-09-10 12:13:50.168125257 +0200 +@@ -9,10 +9,10 @@ + #include + #include + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/afp_protocol.h" + #include "dsi_protocol.h" + #include "afp_replies.h" + +diff -Naur afpfs-ng-0.8.1/lib/proto_files.c afpfs-ng-0.8.1.patch/lib/proto_files.c +--- afpfs-ng-0.8.1/lib/proto_files.c 2008-02-18 04:46:18.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_files.c 2011-09-10 12:13:50.169125270 +0200 +@@ -8,11 +8,11 @@ + + #include + #include +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + #include "afp_internal.h" + + /* afp_setfileparms, afp_setdirparms and afpsetfiledirparms are all remarkably +diff -Naur afpfs-ng-0.8.1/lib/proto_fork.c afpfs-ng-0.8.1.patch/lib/proto_fork.c +--- afpfs-ng-0.8.1/lib/proto_fork.c 2008-01-30 05:37:58.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_fork.c 2011-09-10 12:13:50.169125270 +0200 +@@ -9,11 +9,11 @@ + #include + #include + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + + int afp_setforkparms(struct afp_volume * volume, + unsigned short forkid, unsigned short bitmap, unsigned long len) +diff -Naur afpfs-ng-0.8.1/lib/proto_login.c afpfs-ng-0.8.1.patch/lib/proto_login.c +--- afpfs-ng-0.8.1/lib/proto_login.c 2008-01-30 05:37:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_login.c 2011-09-10 12:13:50.169125270 +0200 +@@ -10,10 +10,10 @@ + + #include + #include +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "dsi_protocol.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "afp_internal.h" + + +diff -Naur afpfs-ng-0.8.1/lib/proto_map.c afpfs-ng-0.8.1.patch/lib/proto_map.c +--- afpfs-ng-0.8.1/lib/proto_map.c 2008-01-30 05:37:59.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_map.c 2011-09-10 12:13:50.170125283 +0200 +@@ -9,11 +9,11 @@ + #include + #include + +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + + /* This is used to pass the return values back from afp_getuserinfo_reply() */ + struct uidgid { +diff -Naur afpfs-ng-0.8.1/lib/proto_replyblock.c afpfs-ng-0.8.1.patch/lib/proto_replyblock.c +--- afpfs-ng-0.8.1/lib/proto_replyblock.c 2008-02-18 04:46:19.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_replyblock.c 2011-09-10 12:13:50.170125283 +0200 +@@ -6,9 +6,9 @@ + */ + + #include +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "afp_internal.h" + + +diff -Naur afpfs-ng-0.8.1/lib/proto_server.c afpfs-ng-0.8.1.patch/lib/proto_server.c +--- afpfs-ng-0.8.1/lib/proto_server.c 2008-02-19 02:56:21.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_server.c 2011-09-10 12:13:50.170125283 +0200 +@@ -7,12 +7,12 @@ + */ + #include + #include +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" +-#include "codepage.h" ++#include "afpfs-ng/afp_protocol.h" ++#include "afpfs-ng/codepage.h" + #include "afp_internal.h" + + int afp_getsrvrparms(struct afp_server *server) +diff -Naur afpfs-ng-0.8.1/lib/proto_session.c afpfs-ng-0.8.1.patch/lib/proto_session.c +--- afpfs-ng-0.8.1/lib/proto_session.c 2008-02-18 04:46:19.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_session.c 2011-09-10 12:13:50.170125283 +0200 +@@ -8,10 +8,10 @@ + */ + #include + #include +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + #include "dsi_protocol.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + + int afp_getsessiontoken(struct afp_server * server, int type, + unsigned int timestamp, struct afp_token *outgoing_token, +diff -Naur afpfs-ng-0.8.1/lib/proto_volume.c afpfs-ng-0.8.1.patch/lib/proto_volume.c +--- afpfs-ng-0.8.1/lib/proto_volume.c 2008-02-18 04:47:48.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/proto_volume.c 2011-09-10 12:13:50.171125296 +0200 +@@ -8,13 +8,13 @@ + + #include + #include +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "dsi_protocol.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + #include "afp_internal.h" +-#include "codepage.h" ++#include "afpfs-ng/codepage.h" + + static int parse_volbitmap_reply(struct afp_server * server, + struct afp_volume * tmpvol, +diff -Naur afpfs-ng-0.8.1/lib/resource.c afpfs-ng-0.8.1.patch/lib/resource.c +--- afpfs-ng-0.8.1/lib/resource.c 2008-02-18 04:46:56.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/resource.c 2011-09-10 12:13:50.171125296 +0200 +@@ -3,11 +3,11 @@ + #include + #include + #include +-#include "afp.h" ++#include "afpfs-ng/afp.h" + #include "resource.h" + #include "lowlevel.h" + #include "did.h" +-#include "midlevel.h" ++#include "afpfs-ng/midlevel.h" + + #define appledouble ".AppleDouble" + #define finderinfo_string ".finderinfo" +diff -Naur afpfs-ng-0.8.1/lib/server.c afpfs-ng-0.8.1.patch/lib/server.c +--- afpfs-ng-0.8.1/lib/server.c 2008-02-19 02:56:21.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/server.c 2011-09-10 12:13:50.172125310 +0200 +@@ -8,15 +8,15 @@ + #include + #include + +-#include "afp.h" +-#include "dsi.h" +-#include "utils.h" +-#include "uams_def.h" +-#include "codepage.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/uams_def.h" ++#include "afpfs-ng/codepage.h" + #include "users.h" +-#include "libafpclient.h" ++#include "afpfs-ng/libafpclient.h" + #include "afp_internal.h" +-#include "dsi.h" ++#include "afpfs-ng/dsi.h" + + + struct afp_server * afp_server_complete_connection( +diff -Naur afpfs-ng-0.8.1/lib/status.c afpfs-ng-0.8.1.patch/lib/status.c +--- afpfs-ng-0.8.1/lib/status.c 2008-03-08 17:08:38.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/status.c 2011-09-10 12:13:50.172125310 +0200 +@@ -1,8 +1,8 @@ + #include + #include +-#include "map_def.h" +-#include "dsi.h" +-#include "afp.h" ++#include "afpfs-ng/map_def.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" + + int afp_status_header(char * text, int * len) + { +diff -Naur afpfs-ng-0.8.1/lib/uams.c afpfs-ng-0.8.1.patch/lib/uams.c +--- afpfs-ng-0.8.1/lib/uams.c 2008-01-04 04:52:44.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/uams.c 2011-09-10 12:13:50.173125324 +0200 +@@ -8,10 +8,10 @@ + + #include + #include +-#include "dsi.h" +-#include "afp.h" +-#include "utils.h" +-#include "uams_def.h" ++#include "afpfs-ng/dsi.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" ++#include "afpfs-ng/uams_def.h" + #include "config.h" + + #ifdef HAVE_LIBGCRYPT +diff -Naur afpfs-ng-0.8.1/lib/users.c afpfs-ng-0.8.1.patch/lib/users.c +--- afpfs-ng-0.8.1/lib/users.c 2008-02-18 04:48:56.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/users.c 2011-09-10 12:13:50.174125338 +0200 +@@ -3,8 +3,8 @@ + #include + #include + +-#include "afp.h" +-#include "map_def.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/map_def.h" + + /* How mapping works + * +diff -Naur afpfs-ng-0.8.1/lib/utils.c afpfs-ng-0.8.1.patch/lib/utils.c +--- afpfs-ng-0.8.1/lib/utils.c 2008-02-18 04:53:37.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/utils.c 2011-09-10 12:13:50.174125338 +0200 +@@ -8,10 +8,10 @@ + #include + #include + #include +-#include "afp.h" +-#include "utils.h" ++#include "afpfs-ng/afp.h" ++#include "afpfs-ng/utils.h" + #include "afp_internal.h" +-#include "afp_protocol.h" ++#include "afpfs-ng/afp_protocol.h" + + struct afp_path_header_long { + unsigned char type; +diff -Naur afpfs-ng-0.8.1/Makefile.am afpfs-ng-0.8.1.patch/Makefile.am +--- afpfs-ng-0.8.1/Makefile.am 2008-02-18 04:24:14.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/Makefile.am 2011-09-10 12:13:50.176125365 +0200 +@@ -1,5 +1,5 @@ + if HAVE_LIBFUSE +-SUBDIRS = lib fuse cmdline docs ++SUBDIRS = lib fuse cmdline include docs + else +-SUBDIRS = lib cmdline docs ++SUBDIRS = lib cmdline include docs + endif diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-01-Fix_searching_of_afpfsd.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-01-Fix_searching_of_afpfsd.patch deleted file mode 100644 index 6de072ea77..0000000000 --- a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-01-Fix_searching_of_afpfsd.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Naur afpfs-ng-0.8.1/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c ---- afpfs-ng-0.8.1/fuse/client.c 2008-03-08 03:44:16.000000000 +0100 -+++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-05-22 19:08:53.938152499 +0200 -@@ -61,8 +61,8 @@ - snprintf(filename, PATH_MAX, - "/usr/local/bin/%s",AFPFSD_FILENAME); - if (access(filename,X_OK)) { -- snprintf(filename, "/usr/bin/%s", -- AFPFSD_FILENAME); -+ snprintf(filename, PATH_MAX, -+ "/usr/bin/%s", AFPFSD_FILENAME); - if (access(filename,X_OK)) { - printf("Could not find server (%s)\n", - filename); diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-01-gcrypt.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-01-gcrypt.patch new file mode 100644 index 0000000000..2544bbef53 --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-01-gcrypt.patch @@ -0,0 +1,25 @@ +diff -Naur afpfs-ng-0.8.1/configure.ac afpfs-ng-0.8.1.patch/configure.ac +--- afpfs-ng-0.8.1/configure.ac 2011-09-10 12:14:34.164716403 +0200 ++++ afpfs-ng-0.8.1.patch/configure.ac 2011-09-10 12:15:13.266241771 +0200 +@@ -51,21 +51,6 @@ + case $host in + *-*-darwin*) + AC_MSG_CHECKING([for correct gcrypt version]) +- AC_RUN_IFELSE( +- [AC_LANG_PROGRAM([ +- #include +- #include ],[ +- char*p= GCRYPT_VERSION; +- unsigned int vers; +- vers=atoi(p)*10000; +- p=strchr(p,'.')+1; +- vers+=atoi(p)*100; +- p=strchr(p,'.')+1; +- vers+=atoi(p); +- if (vers<10400) return 1; +- ])], +- [AC_MSG_RESULT([yes])], +- [AC_MSG_ERROR([version is < 1.4.0])]) + AM_CONDITIONAL(HAVE_LIBGCRYPT, true) + AC_DEFINE([HAVE_LIBGCRYPT], [1] ) + ;; diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-02-pointer.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-02-pointer.patch new file mode 100644 index 0000000000..a1916c3306 --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-02-pointer.patch @@ -0,0 +1,280 @@ +diff -Naur afpfs-ng-0.8.1/cmdline/getstatus.c afpfs-ng-0.8.1.patch/cmdline/getstatus.c +--- afpfs-ng-0.8.1/cmdline/getstatus.c 2011-09-10 12:14:34.164716403 +0200 ++++ afpfs-ng-0.8.1.patch/cmdline/getstatus.c 2011-09-10 12:16:23.717188342 +0200 +@@ -1,4 +1,5 @@ + #include ++#include + #include + #include + +diff -Naur afpfs-ng-0.8.1/fuse/client.c afpfs-ng-0.8.1.patch/fuse/client.c +--- afpfs-ng-0.8.1/fuse/client.c 2011-09-10 12:14:34.165716416 +0200 ++++ afpfs-ng-0.8.1.patch/fuse/client.c 2011-09-10 12:16:23.737188610 +0200 +@@ -61,8 +61,9 @@ + snprintf(filename, PATH_MAX, + "/usr/local/bin/%s",AFPFSD_FILENAME); + if (access(filename,X_OK)) { +- snprintf(filename, "/usr/bin/%s", ++ snprintf(filename, sizeof(filename), "/usr/bin/%s", + AFPFSD_FILENAME); ++ filename[sizeof(filename) - 1] = 0; + if (access(filename,X_OK)) { + printf("Could not find server (%s)\n", + filename); +diff -Naur afpfs-ng-0.8.1/fuse/fuse_int.c afpfs-ng-0.8.1.patch/fuse/fuse_int.c +--- afpfs-ng-0.8.1/fuse/fuse_int.c 2011-09-10 12:14:34.167716442 +0200 ++++ afpfs-ng-0.8.1.patch/fuse/fuse_int.c 2011-09-10 12:16:23.745188717 +0200 +@@ -197,7 +197,7 @@ + ret = ml_open(volume,path,flags,&fp); + + if (ret==0) +- fi->fh=(void *) fp; ++ fi->fh=(unsigned long) fp; + + return ret; + } +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/afp.h afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h +--- afpfs-ng-0.8.1/include/afpfs-ng/afp.h 2011-09-10 12:14:34.168716455 +0200 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/afp.h 2011-09-10 12:16:37.588374712 +0200 +@@ -370,7 +370,7 @@ + + int afp_opendt(struct afp_volume *volume, unsigned short * refnum); + +-int afp_closedt(struct afp_server * server, unsigned short * refnum); ++int afp_closedt(struct afp_server * server, unsigned short refnum); + + int afp_getcomment(struct afp_volume *volume, unsigned int did, + const char * pathname, struct afp_comment * comment); +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/utils.h afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h +--- afpfs-ng-0.8.1/include/afpfs-ng/utils.h 2011-09-10 12:14:34.173716523 +0200 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/utils.h 2011-09-10 12:16:47.234504316 +0200 +@@ -8,8 +8,8 @@ + #define hton64(x) (x) + #define ntoh64(x) (x) + #else /* BYTE_ORDER == BIG_ENDIAN */ +-#define hton64(x) ((u_int64_t) (htonl(((x) >> 32) & 0xffffffffLL)) | \ +- (u_int64_t) ((htonl(x) & 0xffffffffLL) << 32)) ++#define hton64(x) ((u_int64_t) (htonl((((unsigned long long)(x)) >> 32) & 0xffffffffLL)) | \ ++ (u_int64_t) ((htonl((unsigned long long)(x)) & 0xffffffffLL) << 32)) + #define ntoh64(x) (hton64(x)) + #endif /* BYTE_ORDER == BIG_ENDIAN */ + +diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c +--- afpfs-ng-0.8.1/lib/afp_url.c 2011-09-10 12:14:34.182716644 +0200 ++++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:16:47.235504329 +0200 +@@ -33,7 +33,7 @@ + static int check_uamname(const char * uam) + { + char * p; +- for (p=uam;*p;p++) { ++ for (p=(char *)uam;*p;p++) { + if (*p==' ') continue; + if ((*p<'A') || (*p>'z')) return -1; + } +@@ -188,7 +188,7 @@ + return -1; + + } +- if (p==NULL) p=toparse; ++ if (p==NULL) p=(char *)toparse; + + /* Now split on the first / */ + if (sscanf(p,"%[^/]/%[^$]", +diff -Naur afpfs-ng-0.8.1/lib/did.c afpfs-ng-0.8.1.patch/lib/did.c +--- afpfs-ng-0.8.1/lib/did.c 2011-09-10 12:14:34.184716670 +0200 ++++ afpfs-ng-0.8.1.patch/lib/did.c 2011-09-10 12:16:47.235504329 +0200 +@@ -226,7 +226,7 @@ + + + /* Go to the end of last known entry */ +- p=path+(p-copy); ++ p=(char *)path+(p-copy); + p2=p; + + while ((p=strchr(p+1,'/'))) { +diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c +--- afpfs-ng-0.8.1/lib/dsi.c 2011-09-10 12:14:34.185716683 +0200 ++++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:16:47.236504342 +0200 +@@ -474,7 +474,7 @@ + } + server->flags=ntohs(reply1->flags); + +- p=(void *)((unsigned int) server->incoming_buffer + sizeof(*reply1)); ++ p=(void *)((unsigned long) server->incoming_buffer + sizeof(*reply1)); + p+=copy_from_pascal(server->server_name,p,AFP_SERVER_NAME_LEN)+1; + + /* Now work our way through the variable bits */ +@@ -757,7 +757,7 @@ + printf("<<< read() of rest of AFP, %d bytes\n",amount_to_read); + #endif + ret = read(server->fd, (void *) +- (((unsigned int) server->incoming_buffer)+server->data_read), ++ (((unsigned long) server->incoming_buffer)+server->data_read), + amount_to_read); + if (ret<0) return -1; + if (ret==0) { +diff -Naur afpfs-ng-0.8.1/lib/loop.c afpfs-ng-0.8.1.patch/lib/loop.c +--- afpfs-ng-0.8.1/lib/loop.c 2011-09-10 12:14:34.186716697 +0200 ++++ afpfs-ng-0.8.1.patch/lib/loop.c 2011-09-10 12:16:47.257504624 +0200 +@@ -25,7 +25,7 @@ + static unsigned char exit_program=0; + + static pthread_t ending_thread; +-static pthread_t main_thread = NULL; ++static pthread_t main_thread = (pthread_t)NULL; + + static int loop_started=0; + static pthread_cond_t loop_started_condition; +diff -Naur afpfs-ng-0.8.1/lib/lowlevel.c afpfs-ng-0.8.1.patch/lib/lowlevel.c +--- afpfs-ng-0.8.1/lib/lowlevel.c 2011-09-10 12:14:34.186716697 +0200 ++++ afpfs-ng-0.8.1.patch/lib/lowlevel.c 2011-09-10 12:16:47.288505041 +0200 +@@ -582,7 +582,7 @@ + if (volume->server->using_version->av_number>=30) + stbuf->st_mode |= fp.unixprivs.permissions; + else +- set_nonunix_perms(stbuf,&fp); ++ set_nonunix_perms(&stbuf->st_mode,&fp); + + stbuf->st_uid=fp.unixprivs.uid; + stbuf->st_gid=fp.unixprivs.gid; +diff -Naur afpfs-ng-0.8.1/lib/midlevel.c afpfs-ng-0.8.1.patch/lib/midlevel.c +--- afpfs-ng-0.8.1/lib/midlevel.c 2011-09-10 12:14:34.189716738 +0200 ++++ afpfs-ng-0.8.1.patch/lib/midlevel.c 2011-09-10 12:16:47.316505416 +0200 +@@ -713,7 +713,7 @@ + { + + int ret,err=0; +- int totalwritten = 0; ++ size_t totalwritten = 0; + uint64_t sizetowrite, ignored; + unsigned char flags = 0; + unsigned int max_packet_size=volume->server->tx_quantum; +diff -Naur afpfs-ng-0.8.1/lib/proto_attr.c afpfs-ng-0.8.1.patch/lib/proto_attr.c +--- afpfs-ng-0.8.1/lib/proto_attr.c 2011-09-10 12:14:34.189716738 +0200 ++++ afpfs-ng-0.8.1.patch/lib/proto_attr.c 2011-09-10 12:16:47.317505429 +0200 +@@ -166,7 +166,7 @@ + copy_path(server,p,pathname,strlen(pathname)); + unixpath_to_afppath(server,p); + p2=p+sizeof_path_header(server)+strlen(pathname); +- if (((unsigned int ) p2) & 0x1) p2++; ++ if (((unsigned long) p2) & 0x1) p2++; + req2=(void *) p2; + + req2->len=htons(namelen); +diff -Naur afpfs-ng-0.8.1/lib/proto_desktop.c afpfs-ng-0.8.1.patch/lib/proto_desktop.c +--- afpfs-ng-0.8.1/lib/proto_desktop.c 2011-09-10 12:14:34.197716845 +0200 ++++ afpfs-ng-0.8.1.patch/lib/proto_desktop.c 2011-09-10 12:16:47.317505429 +0200 +@@ -168,7 +168,7 @@ + return 0; + } + +-int afp_closedt(struct afp_server * server, unsigned short * refnum) ++int afp_closedt(struct afp_server * server, unsigned short refnum) + { + struct { + struct dsi_header dsi_header __attribute__((__packed__)); +diff -Naur afpfs-ng-0.8.1/lib/proto_directory.c afpfs-ng-0.8.1.patch/lib/proto_directory.c +--- afpfs-ng-0.8.1/lib/proto_directory.c 2011-09-10 12:14:34.205716953 +0200 ++++ afpfs-ng-0.8.1.patch/lib/proto_directory.c 2011-09-10 12:16:47.317505429 +0200 +@@ -248,6 +248,7 @@ + + return 0; + } ++ + int afp_enumerateext2_reply(struct afp_server *server, char * buf, unsigned int size, void * other) + { + +@@ -266,8 +267,7 @@ + char * p = buf + sizeof(*reply); + int i; + char *max=buf+size; +- struct afp_file_info * filebase = NULL, *filecur=NULL, *new_file=NULL; +- void ** x = other; ++ struct afp_file_info * filebase = NULL, *filecur = NULL, *new_file = NULL, **x = (struct afp_file_info **) other; + + if (reply->dsi_header.return_code.error_code) { + return reply->dsi_header.return_code.error_code; +diff -Naur afpfs-ng-0.8.1/lib/proto_map.c afpfs-ng-0.8.1.patch/lib/proto_map.c +--- afpfs-ng-0.8.1/lib/proto_map.c 2011-09-10 12:14:34.207716979 +0200 ++++ afpfs-ng-0.8.1.patch/lib/proto_map.c 2011-09-10 12:16:47.318505443 +0200 +@@ -122,7 +122,7 @@ + + if (reply->header.return_code.error_code!=kFPNoErr) return -1; + +- copy_from_pascal_two(name,&reply->name,255); ++ copy_from_pascal_two(name,reply->name,255); + + return 0; + } +diff -Naur afpfs-ng-0.8.1/lib/proto_session.c afpfs-ng-0.8.1.patch/lib/proto_session.c +--- afpfs-ng-0.8.1/lib/proto_session.c 2011-09-10 12:14:34.208716992 +0200 ++++ afpfs-ng-0.8.1.patch/lib/proto_session.c 2011-09-10 12:16:47.318505443 +0200 +@@ -39,7 +39,7 @@ + switch (type) { + case kLoginWithTimeAndID: + case kReconnWithTimeAndID: { +- uint32_t *p = (void *) (((unsigned int) request)+ ++ uint32_t *p = (void *) (((unsigned long) request)+ + sizeof(*request)); + + offset=sizeof(timestamp); +@@ -63,7 +63,7 @@ + goto error; + } + +- data=(void *) (((unsigned int) request)+sizeof(*request)+offset); ++ data=(void *) (((unsigned long) request)+sizeof(*request)+offset); + request->idlength=htonl(datalen); + request->pad=0; + request->type=htons(type); +@@ -127,7 +127,7 @@ + if ((request=malloc(sizeof(*request) + AFP_TOKEN_MAX_LEN))==NULL) + return -1; + +- token_data = request + sizeof(*request); ++ token_data = (char *)request + sizeof(*request); + + request->type=htons(type); + +diff -Naur afpfs-ng-0.8.1/lib/uams.c afpfs-ng-0.8.1.patch/lib/uams.c +--- afpfs-ng-0.8.1/lib/uams.c 2011-09-10 12:14:34.212717047 +0200 ++++ afpfs-ng-0.8.1.patch/lib/uams.c 2011-09-10 12:16:47.319505457 +0200 +@@ -180,7 +180,7 @@ + goto cleartxt_fail; + + p += copy_to_pascal(p, username) + 1; +- if ((int)p & 0x1) ++ if ((long)p & 0x1) + len--; + else + p++; +@@ -230,7 +230,7 @@ + goto cleartxt_fail; + + p += copy_to_pascal(p, username) + 1; +- if ((int)p & 0x1) ++ if ((long)p & 0x1) + len--; + else + p++; +@@ -580,7 +580,7 @@ + if (ai == NULL) + goto dhx_noctx_fail; + d += copy_to_pascal(ai, username) + 1; +- if (((int)d) % 2) ++ if (((long)d) % 2) + d++; + else + ai_len--; +diff -Naur afpfs-ng-0.8.1/lib/utils.c afpfs-ng-0.8.1.patch/lib/utils.c +--- afpfs-ng-0.8.1/lib/utils.c 2011-09-10 12:14:34.213717060 +0200 ++++ afpfs-ng-0.8.1.patch/lib/utils.c 2011-09-10 12:16:47.319505457 +0200 +@@ -196,7 +196,7 @@ + maxlen=255; + + +- p=filename+1; ++ p=(char *)filename+1; + while ((q=strchr(p,'/'))) { + if (q>p+maxlen) + return 1; diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-04-boxee1.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-04-boxee1.patch new file mode 100644 index 0000000000..f50e6a7438 --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-04-boxee1.patch @@ -0,0 +1,26 @@ +diff -Naur afpfs-ng-0.8.1/include/afpfs-ng/dsi.h afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h +--- afpfs-ng-0.8.1/include/afpfs-ng/dsi.h 2011-09-10 12:14:34.170716482 +0200 ++++ afpfs-ng-0.8.1.patch/include/afpfs-ng/dsi.h 2011-09-10 12:22:28.790093211 +0200 +@@ -6,13 +6,15 @@ + + struct dsi_request + { +- unsigned short requestid; +- unsigned char subcommand; +- void * other; +- unsigned char wait; +- pthread_cond_t condition_cond; +- struct dsi_request * next; +- int return_code; ++ unsigned short requestid; ++ unsigned char subcommand; ++ void * other; ++ int wait; ++ int done_waiting; ++ pthread_cond_t waiting_cond; ++ pthread_mutex_t waiting_mutex; ++ struct dsi_request * next; ++ int return_code; + }; + + int dsi_receive(struct afp_server * server, void * data, int size); diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-05-boxee2.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-05-boxee2.patch new file mode 100644 index 0000000000..a952302a91 --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-05-boxee2.patch @@ -0,0 +1,90 @@ +diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c +--- afpfs-ng-0.8.1/lib/afp.c 2011-09-10 12:14:34.181716631 +0200 ++++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:23:15.935726602 +0200 +@@ -68,7 +68,7 @@ + afp_getsessiontoken_reply,afp_blank_reply, NULL, NULL, + afp_enumerateext2_reply, NULL, NULL, NULL, /*64 - 71 */ + afp_listextattrs_reply, NULL, NULL, NULL, +- afp_blank_reply, NULL, NULL, NULL, /*72 - 79 */ ++ afp_blank_reply, NULL, afp_blank_reply, afp_blank_reply, /*72 - 79 */ + + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, +@@ -320,8 +320,16 @@ + + struct dsi_request * p; + struct afp_server *s2; ++ ++ ++ if (s==NULL) ++ goto out; ++ + for (p=s->command_requests;p;p=p->next) { +- pthread_cond_signal(&p->condition_cond); ++ pthread_mutex_lock(&p->waiting_mutex); ++ p->done_waiting=1; ++ pthread_cond_signal(&p->waiting_cond); ++ pthread_mutex_unlock(&p->waiting_mutex); + } + + if (s==server_base) { +@@ -354,7 +362,7 @@ + s->exit_flag = 0; + s->path_encoding=kFPUTF8Name; /* This is a default */ + s->next=NULL; +- s->bufsize=2048; ++ s->bufsize=4096; + s->incoming_buffer=malloc(s->bufsize); + + s->attention_quantum=AFP_DEFAULT_ATTENTION_QUANTUM; +@@ -524,13 +532,14 @@ + kFPVolCreateDateBit|kFPVolIDBit | + kFPVolNameBit; + char new_encoding; ++ int ret; + + if (server->using_version->av_number>=30) + bitmap|= kFPVolNameBit|kFPVolBlockSizeBit; + +- switch (afp_volopen(volume,bitmap, +- (strlen(volume->volpassword)>0) ? volume->volpassword : NULL)) +- { ++ ret = afp_volopen(volume,bitmap, ++ (strlen(volume->volpassword)>0) ? volume->volpassword : NULL); ++ switch(ret){ + case kFPAccessDenied: + *l+=snprintf(mesg,max-*l, + "Incorrect volume password\n"); +@@ -544,6 +553,10 @@ + *l+=snprintf(mesg,max-*l, + "Could not open volume\n"); + goto error; ++ case ETIMEDOUT: ++ *l+=snprintf(mesg,max-*l, ++ "Timed out waiting to open volume\n"); ++ goto error; + } + + /* It is said that if a volume's encoding will be the same +@@ -641,7 +654,6 @@ + add_server(server); + + add_fd_and_signal(server->fd); +- + if (!full) { + return 0; + } +@@ -649,10 +661,13 @@ + /* Get the status, and calculate the transmit time. We use this to + * calculate our rx quantum. */ + gettimeofday(&t1,NULL); ++ + if ((error=dsi_getstatus(server))!=0) + goto error; + gettimeofday(&t2,NULL); + ++ afp_server_identify(server); ++ + if ((t2.tv_sec - t1.tv_sec) > 0) + server->tx_delay= (t2.tv_sec - t1.tv_sec) * 1000; + else diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-06-boxee3.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-06-boxee3.patch new file mode 100644 index 0000000000..7d17a7837c --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-06-boxee3.patch @@ -0,0 +1,142 @@ +diff -Naur afpfs-ng-0.8.1/lib/dsi.c afpfs-ng-0.8.1.patch/lib/dsi.c +--- afpfs-ng-0.8.1/lib/dsi.c 2011-09-10 12:21:39.948437027 +0200 ++++ afpfs-ng-0.8.1.patch/lib/dsi.c 2011-09-10 12:25:57.688903825 +0200 +@@ -64,7 +64,7 @@ + rx.size=0; + dsi_setup_header(server,&header,DSI_DSIGetStatus); + /* We're intentionally ignoring the results */ +- ret=dsi_send(server,(char *) &header,sizeof(struct dsi_header),20, ++ ret=dsi_send(server,(char *) &header,sizeof(struct dsi_header),60, + 0,(void *) &rx); + + free(rx.data); +@@ -197,6 +197,7 @@ + new_request->other=other; + new_request->wait=wait; + new_request->next=NULL; ++ new_request->done_waiting=0; + + pthread_mutex_lock(&server->request_queue_mutex); + if (server->command_requests==NULL) { +@@ -208,7 +209,8 @@ + server->stats.requests_pending++; + pthread_mutex_unlock(&server->request_queue_mutex); + +- pthread_cond_init(&new_request->condition_cond,NULL); ++ pthread_cond_init(&new_request->waiting_cond,NULL); ++ pthread_mutex_init(&new_request->waiting_mutex,NULL); + + if (server->connect_state==SERVER_STATE_DISCONNECTED) { + char mesg[1024]; +@@ -240,16 +242,12 @@ + server->stats.tx_bytes+=size; + pthread_mutex_unlock(&server->send_mutex); + +- int tmpwait=new_request->wait; + #ifdef DEBUG_DSI + printf("=== Waiting for response for %d %s\n", + new_request->requestid, + afp_get_command_name(new_request->subcommand)); + #endif +- if (tmpwait<0) { +- +- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; +- pthread_mutex_lock(&mutex); ++ if (new_request->wait<0) { + + /* Wait forever */ + #ifdef DEBUG_DSI +@@ -258,14 +256,17 @@ + afp_get_command_name(new_request->subcommand)); + #endif + +- rc=pthread_cond_wait( +- &new_request->condition_cond, +- &mutex ); +- pthread_mutex_unlock(&mutex); +- +- } else if (tmpwait>0) { +- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; +- pthread_mutex_lock(&mutex); ++ pthread_mutex_lock(&new_request->waiting_mutex); ++ ++ if (new_request->done_waiting==0) ++ rc=pthread_cond_wait( ++ &new_request->waiting_cond, ++ &new_request->waiting_mutex ); ++ ++ pthread_mutex_unlock(&new_request->waiting_mutex); ++ ++ } else if (new_request->wait>0) { ++ /* wait for new_request->wait seconds */ + + #ifdef DEBUG_DSI + printf("=== Waiting for %d %s, for %ds\n", +@@ -283,13 +284,15 @@ + printf("=== Changing my mind, no longer waiting for %d\n", + new_request->requestid); + #endif +- pthread_mutex_unlock(&mutex); + goto skip; + } +- rc=pthread_cond_timedwait( +- &new_request->condition_cond, +- &mutex,&ts); +- pthread_mutex_unlock(&mutex); ++ pthread_mutex_lock(&new_request->waiting_mutex); ++ if (new_request->done_waiting==0) ++ rc=pthread_cond_timedwait( ++ &new_request->waiting_cond, ++ &new_request->waiting_mutex,&ts); ++ pthread_mutex_unlock(&new_request->waiting_mutex); ++ + if (rc==ETIMEDOUT) { + /* FIXME: should handle this case properly */ + #ifdef DEBUG_DSI +@@ -299,6 +302,7 @@ + goto out; + } + } else { ++ /* Don't wait */ + #ifdef DEBUG_DSI + printf("=== Skipping wait altogether for %d\n",new_request->requestid); + #endif +@@ -474,7 +478,7 @@ + } + server->flags=ntohs(reply1->flags); + +- p=(void *)((unsigned long) server->incoming_buffer + sizeof(*reply1)); ++ p=(void *)((unsigned int) server->incoming_buffer + sizeof(*reply1)); + p+=copy_from_pascal(server->server_name,p,AFP_SERVER_NAME_LEN)+1; + + /* Now work our way through the variable bits */ +@@ -577,6 +581,7 @@ + unsigned char mins=0; + unsigned char checkmessage=0; + ++ memset(mesg,0,AFP_LOGINMESG_LEN); + + /* The logic here's undocumented. If we get an attention packet and + there's no flag, then go check the message. Also, go check the +@@ -757,7 +762,7 @@ + printf("<<< read() of rest of AFP, %d bytes\n",amount_to_read); + #endif + ret = read(server->fd, (void *) +- (((unsigned long) server->incoming_buffer)+server->data_read), ++ (((unsigned int) server->incoming_buffer)+server->data_read), + amount_to_read); + if (ret<0) return -1; + if (ret==0) { +@@ -862,8 +867,11 @@ + #ifdef DEBUG_DSI + printf("<<< Signalling %d, returning %d or %d\n",request->requestid,request->return_code,rc); + #endif ++ pthread_mutex_lock(&request->waiting_mutex); + request->wait=0; +- pthread_cond_signal(&request->condition_cond); ++ request->done_waiting=1; ++ pthread_cond_signal(&request->waiting_cond); ++ pthread_mutex_unlock(&request->waiting_mutex); + } else { + dsi_remove_from_request_queue(server,request); + } diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-07-boxee4.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-07-boxee4.patch new file mode 100644 index 0000000000..e5ce7d1af1 --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-07-boxee4.patch @@ -0,0 +1,28 @@ +diff -Naur afpfs-ng-0.8.1/lib/identify.c afpfs-ng-0.8.1.patch/lib/identify.c +--- afpfs-ng-0.8.1/lib/identify.c 1970-01-01 01:00:00.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/identify.c 2011-09-10 12:26:30.257389169 +0200 +@@ -0,0 +1,24 @@ ++#include ++#include "afpfs-ng/afp.h" ++ ++ ++/* ++ * afp_server_identify() ++ * ++ * Identifies a server ++ * ++ * Right now, this only does identification using the machine_type ++ * given in getsrvrinfo, but this could later use mDNS to get ++ * more details. ++ */ ++void afp_server_identify(struct afp_server * s) ++{ ++ if (strcmp(s->machine_type,"Netatalk")==0) ++ s->server_type=AFPFS_SERVER_TYPE_NETATALK; ++ else if (strcmp(s->machine_type,"AirPort")==0) ++ s->server_type=AFPFS_SERVER_TYPE_AIRPORT; ++ else if (strcmp(s->machine_type,"Macintosh")==0) ++ s->server_type=AFPFS_SERVER_TYPE_MACINTOSH; ++ else ++ s->server_type=AFPFS_SERVER_TYPE_UNKNOWN; ++} diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-08-boxee5.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-08-boxee5.patch new file mode 100644 index 0000000000..3605626a5e --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-08-boxee5.patch @@ -0,0 +1,12 @@ +diff -Naur afpfs-ng-0.8.1/lib/Makefile.am afpfs-ng-0.8.1.patch/lib/Makefile.am +--- afpfs-ng-0.8.1/lib/Makefile.am 2008-02-18 04:34:32.000000000 +0100 ++++ afpfs-ng-0.8.1.patch/lib/Makefile.am 2011-09-10 12:27:09.833978612 +0200 +@@ -4,7 +4,7 @@ + + lib_LTLIBRARIES = libafpclient.la + +-libafpclient_la_SOURCES = afp.c codepage.c did.c dsi.c map_def.c uams.c uams_def.c unicode.c users.c utils.c resource.c log.c client.c server.c connect.c loop.c midlevel.c proto_attr.c proto_desktop.c proto_directory.c proto_files.c proto_fork.c proto_login.c proto_map.c proto_replyblock.c proto_server.c proto_volume.c proto_session.c afp_url.c status.c forklist.c debug.c lowlevel.c ++libafpclient_la_SOURCES = afp.c codepage.c did.c dsi.c map_def.c uams.c uams_def.c unicode.c users.c utils.c resource.c log.c client.c server.c connect.c loop.c midlevel.c proto_attr.c proto_desktop.c proto_directory.c proto_files.c proto_fork.c proto_login.c proto_map.c proto_replyblock.c proto_server.c proto_volume.c proto_session.c afp_url.c status.c forklist.c debug.c lowlevel.c identify.c + + # libafpclient_la_LDFLAGS = -module -avoid-version + diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-10-fix-errno.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-10-fix-errno.patch new file mode 100644 index 0000000000..d53d8e8a2d --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-10-fix-errno.patch @@ -0,0 +1,25 @@ +diff -Naur afpfs-ng-0.8.1/lib/afp.c afpfs-ng-0.8.1.patch/lib/afp.c +--- afpfs-ng-0.8.1/lib/afp.c 2011-09-10 12:23:38.207025811 +0200 ++++ afpfs-ng-0.8.1.patch/lib/afp.c 2011-09-10 12:30:20.305810381 +0200 +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + + #include "afpfs-ng/afp_protocol.h" + #include "afpfs-ng/libafpclient.h" +diff -Naur afpfs-ng-0.8.1/lib/afp_url.c afpfs-ng-0.8.1.patch/lib/afp_url.c +--- afpfs-ng-0.8.1/lib/afp_url.c 2011-09-10 12:21:39.946437001 +0200 ++++ afpfs-ng-0.8.1.patch/lib/afp_url.c 2011-09-10 12:30:20.306810396 +0200 +@@ -21,7 +21,9 @@ + + static int check_port(char * port) + { +- long long ret = strtol(port,NULL,10); ++ long long ret = 0; ++ errno = 0; ++ ret = strtol(port,NULL,10); + if ((ret<0) || (ret>32767)) return -1; + if (errno) { + printf("port error\n"); diff --git a/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-11-fix-stat.patch b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-11-fix-stat.patch new file mode 100644 index 0000000000..09e9a35231 --- /dev/null +++ b/packages/network/afpfs-ng/patches/afpfs-ng-0.8.1-11-fix-stat.patch @@ -0,0 +1,11 @@ +--- afpfs-ng-0.8.1/lib/lowlevel.c 2011-10-01 20:36:55.000000000 +0200 ++++ afpfs-ng-0.8.1/lib/lowlevel.c 2011-10-01 20:46:00.000000000 +0200 +@@ -579,7 +579,7 @@ + return -EIO; + } + +- if (volume->server->using_version->av_number>=30) ++ if (volume->server->using_version->av_number>=30 && fp.unixprivs.permissions != 0) + stbuf->st_mode |= fp.unixprivs.permissions; + else + set_nonunix_perms(&stbuf->st_mode,&fp); diff --git a/packages/network/avahi/init.d/53_avahi b/packages/network/avahi/init.d/53_avahi index c23073a39c..49ec27cc49 100644 --- a/packages/network/avahi/init.d/53_avahi +++ b/packages/network/avahi/init.d/53_avahi @@ -23,8 +23,6 @@ # runlevels: openelec, textmode ( - wait_for_network - progress "Starting Avahi Daemon" mkdir -p /var/run/avahi-daemon diff --git a/packages/network/cifs-utils/build b/packages/network/cifs-utils/build deleted file mode 100755 index 04c8625c4d..0000000000 --- a/packages/network/cifs-utils/build +++ /dev/null @@ -1,41 +0,0 @@ -#!/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 - -cd $PKG_BUILD -ac_cv_func_malloc_0_nonnull=yes \ -ac_cv_func_realloc_0_nonnull=yes \ -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --sysconfdir=/etc \ - --libexecdir=/usr/lib \ - --localstatedir=/var \ - --disable-cifsupcall \ - --disable-cifscreds \ - --disable-cifsidmap \ - --disable-cifsacl \ - --with-libcap-ng \ - --with-libcap \ - -make diff --git a/packages/network/cifs-utils/install b/packages/network/cifs-utils/install deleted file mode 100755 index 2cfcc0c72a..0000000000 --- a/packages/network/cifs-utils/install +++ /dev/null @@ -1,26 +0,0 @@ -#!/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/sbin - cp $PKG_BUILD/mount.cifs $INSTALL/sbin diff --git a/packages/network/cifs-utils/meta b/packages/network/cifs-utils/meta deleted file mode 100644 index 86ef4f4988..0000000000 --- a/packages/network/cifs-utils/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="cifs-utils" -PKG_VERSION="5.1" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.samba.org" -PKG_URL="ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="libcap-ng" -PKG_BUILD_DEPENDS="toolchain libcap-ng" -PKG_PRIORITY="optional" -PKG_SECTION="network" -PKG_SHORTDESC="cifs-utils: a set of user-space tools to mount/umount CIFS filesystems" -PKG_LONGDESC="The in-kernel CIFS filesystem relies on a set of user-space tools. That package of tools is called cifs-utils. Although not really part of Samba proper, these tools were originally part of the Samba package. For several reasons, shipping these tools as part of Samba was problematic and it was deemed better to split them off into their own package." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="yes" diff --git a/packages/network/connman/meta b/packages/network/connman/meta index e383e4c3b3..5b29edb1bb 100644 --- a/packages/network/connman/meta +++ b/packages/network/connman/meta @@ -28,7 +28,7 @@ PKG_SITE="http://www.connman.net" PKG_URL="http://www.mirrorservice.org/sites/ftp.kernel.org/pub/linux/network/connman/$PKG_NAME-$PKG_VERSION.tar.bz2" #PKG_URL="ftp://ftp.pgpi.com/linux/kernel/pub/linux/network/connman//$PKG_NAME-$PKG_VERSION.tar.bz2" #PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="glib dbus udev iptables wpa_supplicant ntp netstatus" +PKG_DEPENDS="glib dbus udev iptables wpa_supplicant ntp" PKG_BUILD_DEPENDS="toolchain glib dbus udev iptables" PKG_PRIORITY="optional" PKG_SECTION="network" diff --git a/packages/network/install b/packages/network/install index 2fd089413d..09c85ca17b 100755 --- a/packages/network/install +++ b/packages/network/install @@ -25,7 +25,3 @@ $SCRIPTS/install connman $SCRIPTS/install ethtool $SCRIPTS/install openssh - -if [ "$NETMOUNT" = "yes" ]; then - $SCRIPTS/install netmount -fi diff --git a/packages/devel/libimobiledevice/build b/packages/network/libnfs/build similarity index 88% rename from packages/devel/libimobiledevice/build rename to packages/network/libnfs/build index d663aa9d58..6cc0ac13ab 100755 --- a/packages/devel/libimobiledevice/build +++ b/packages/network/libnfs/build @@ -22,16 +22,18 @@ . config/options $1 +# libnfs fails to build with LTO support + strip_lto + cd $PKG_BUILD ./configure --host=$TARGET_NAME \ --build=$HOST_NAME \ --prefix=/usr \ + --libdir=/usr/lib \ --sysconfdir=/etc \ - --disable-static \ - --enable-shared \ - --without-swig \ - --disable-largefile \ - --with-gnu-ld + --disable-examples \ + --disable-tirpc \ -make V=1 +make $MAKEINSTALL + diff --git a/packages/audio/wavpack/install b/packages/network/libnfs/install similarity index 95% rename from packages/audio/wavpack/install rename to packages/network/libnfs/install index 236f10acaf..a5352d0786 100755 --- a/packages/audio/wavpack/install +++ b/packages/network/libnfs/install @@ -23,5 +23,5 @@ . config/options $1 mkdir -p $INSTALL/usr/lib - cp -P $PKG_BUILD/src/.libs/*.so* $INSTALL/usr/lib + cp -P $PKG_BUILD/lib/.libs/*.so* $INSTALL/usr/lib/ diff --git a/packages/network/netstatus/meta b/packages/network/libnfs/meta similarity index 74% rename from packages/network/netstatus/meta rename to packages/network/libnfs/meta index 15c657a8c9..4cd20ac533 100644 --- a/packages/network/netstatus/meta +++ b/packages/network/libnfs/meta @@ -1,7 +1,6 @@ ################################################################################ # This file is part of OpenELEC - http://www.openelec.tv # Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -#      Copyright (C) 2010-2011 Roman Weber (roman@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 @@ -19,19 +18,19 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -PKG_NAME="netstatus" -PKG_VERSION="1" +PKG_NAME="libnfs" +PKG_VERSION="14a062e" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" -PKG_SITE="http://wiki.meego.com/D-Bus/Overview#D-Bus_GLib" +PKG_SITE="https://github.com/sahlberg/libnfs" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="dbus glib dbus-glib" -PKG_BUILD_DEPENDS="toolchain dbus glib dbus-glib" +PKG_DEPENDS="libtirpc" +PKG_BUILD_DEPENDS="toolchain libtirpc" PKG_PRIORITY="optional" PKG_SECTION="network" -PKG_SHORTDESC="netstatus: asmall utility to know if we are online or not" -PKG_LONGDESC="netstatus is a small utility to know if we are online or not" +PKG_SHORTDESC="libnfs: a client library for accessing NFS shares over a network." +PKG_LONGDESC="LIBNFS is a client library for accessing NFS shares over a network." PKG_IS_ADDON="no" -PKG_AUTORECONF="no" +PKG_AUTORECONF="yes" diff --git a/packages/audio/wavpack/build b/packages/network/libshairport/build similarity index 100% rename from packages/audio/wavpack/build rename to packages/network/libshairport/build diff --git a/packages/devel/libimobiledevice/install b/packages/network/libshairport/install similarity index 100% rename from packages/devel/libimobiledevice/install rename to packages/network/libshairport/install diff --git a/packages/3rdparty/multimedia/shairport/meta b/packages/network/libshairport/meta old mode 100755 new mode 100644 similarity index 75% rename from packages/3rdparty/multimedia/shairport/meta rename to packages/network/libshairport/meta index 2bf3666181..96e246c5df --- a/packages/3rdparty/multimedia/shairport/meta +++ b/packages/network/libshairport/meta @@ -18,18 +18,19 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -PKG_NAME="shairport" -PKG_VERSION="346db95" +PKG_NAME="libshairport" +PKG_VERSION="1.2.0.20310_lib" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" -PKG_SITE="https://github.com/Andywebs/shairport" -PKG_URL="http://dl.dropbox.com/u/8224157/OpenELEC-Ultra/addons/${PKG_NAME}-${PKG_VERSION}.tar.xz" +PKG_SITE="http://www.xbmc.org" +PKG_URL="http://mirrors.xbmc.org/build-deps/darwin-libs/${PKG_NAME}-${PKG_VERSION}.tar.gz" PKG_DEPENDS="" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="network" -PKG_SHORTDESC="shairport: emulates AirPort Express" -PKG_LONGDESC="ShairPort emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods." +PKG_SHORTDESC="libshairport: emulates AirPort Express" +PKG_LONGDESC="libshairPort emulates an AirPort Express for the purpose of streaming music from iTunes and compatible iPods." PKG_IS_ADDON="no" -PKG_AUTORECONF="no" + +PKG_AUTORECONF="yes" diff --git a/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-001_add_ao.patch b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-001_add_ao.patch new file mode 100644 index 0000000000..afeeef2db7 --- /dev/null +++ b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-001_add_ao.patch @@ -0,0 +1,270 @@ +diff -uP libshairport-1.2.0.20310_lib/src/ao.h ../../../../../libshairport-1.2.0.20310_lib/src/ao.h +--- a/src/ao.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/src/ao.h 2011-09-25 20:36:36.000000000 +0200 +@@ -0,0 +1,156 @@ ++/* ++ * ++ * ao.h ++ * ++ * Original Copyright (C) Aaron Holtzman - May 1999 ++ * Modifications Copyright (C) Stan Seibert - July 2000, July 2001 ++ * More Modifications Copyright (C) Jack Moffitt - October 2000 ++ * ++ * This file is part of libao, a cross-platform audio outputlibrary. See ++ * README for a history of this source code. ++ * ++ * libao 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. ++ * ++ * libao 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 GNU Make; see the file COPYING. If not, write to ++ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ++ */ ++#ifndef __AO_H__ ++#define __AO_H__ ++ ++#ifdef __cplusplus ++extern "C" ++{ ++#endif /* __cplusplus */ ++ ++#include ++#include ++#include ++#include ++ ++/* --- Constants ---*/ ++ ++#define AO_TYPE_LIVE 1 ++#define AO_TYPE_FILE 2 ++ ++ ++#define AO_ENODRIVER 1 ++#define AO_ENOTFILE 2 ++#define AO_ENOTLIVE 3 ++#define AO_EBADOPTION 4 ++#define AO_EOPENDEVICE 5 ++#define AO_EOPENFILE 6 ++#define AO_EFILEEXISTS 7 ++#define AO_EBADFORMAT 8 ++ ++#define AO_EFAIL 100 ++ ++ ++#define AO_FMT_LITTLE 1 ++#define AO_FMT_BIG 2 ++#define AO_FMT_NATIVE 4 ++ ++/* --- Structures --- */ ++ ++typedef struct ao_info { ++ int type; /* live output or file output? */ ++ char *name; /* full name of driver */ ++ char *short_name; /* short name of driver */ ++ char *author; /* driver author */ ++ char *comment; /* driver comment */ ++ int preferred_byte_format; ++ int priority; ++ char **options; ++ int option_count; ++} ao_info; ++ ++typedef struct ao_functions ao_functions; ++typedef struct ao_device ao_device; ++ ++typedef struct ao_sample_format { ++ int bits; /* bits per sample */ ++ int rate; /* samples per second (in a single channel) */ ++ int channels; /* number of audio channels */ ++ int byte_format; /* Byte ordering in sample, see constants below */ ++ char *matrix; /* input channel location/ordering */ ++} ao_sample_format; ++ ++typedef struct ao_option { ++ char *key; ++ char *value; ++ struct ao_option *next; ++} ao_option; ++ ++#if defined(AO_BUILDING_LIBAO) ++#include "ao_private.h" ++#endif ++ ++/* --- Functions --- */ ++ ++/* library setup/teardown */ ++void ao_initialize(void); ++void ao_shutdown(void); ++ ++/* device setup/playback/teardown */ ++int ao_append_global_option(const char *key, ++ const char *value); ++int ao_append_option(ao_option **options, ++ const char *key, ++ const char *value); ++void ao_free_options(ao_option *options); ++ ++char* ao_get_option(ao_option *options, const char* key); ++ ++ao_device* ao_open_live(int driver_id, ++ ao_sample_format *format, ++ ao_option *option); ++ao_device* ao_open_file(int driver_id, ++ const char *filename, ++ int overwrite, ++ ao_sample_format *format, ++ ao_option *option); ++ ++int ao_play(ao_device *device, ++ char *output_samples, ++ uint32_t num_bytes); ++int ao_close(ao_device *device); ++ ++/* driver information */ ++int ao_driver_id(const char *short_name); ++int ao_default_driver_id(void); ++ao_info *ao_driver_info(int driver_id); ++ao_info **ao_driver_info_list(int *driver_count); ++char *ao_file_extension(int driver_id); ++ ++/* miscellaneous */ ++int ao_is_big_endian(void); ++ ++ ++#ifdef __cplusplus ++} ++#endif /* __cplusplus */ ++ ++#endif /* __AO_H__ */ ++ ++extern struct AudioOutput g_ao; ++struct AudioOutput ++ { ++ void (*ao_initialize)(void); ++ int (*ao_play)(ao_device *, char *, uint32_t); ++ int (*ao_default_driver_id)(void); ++ ao_device* (*ao_open_live)( int, ao_sample_format *, ao_option *); ++ int (*ao_close)(ao_device *); ++ /* -- Device Setup/Playback/Teardown -- */ ++ int (*ao_append_option)(ao_option **, const char *, const char *); ++ void (*ao_free_options)(ao_option *); ++ char* (*ao_get_option)(ao_option *, const char* ); ++ }; +diff -uP libshairport-1.2.0.20310_lib/src/hairtunes.c ../../../../../libshairport-1.2.0.20310_lib/src/hairtunes.c +--- a/src/hairtunes.c 2011-09-23 21:55:48.000000000 +0200 ++++ b/src/hairtunes.c 2011-09-25 20:37:49.000000000 +0200 +@@ -25,7 +25,7 @@ + */ + + #define XBMC +-//#defined HAS_AO ++#define HAS_AO + + #include + #include +@@ -45,7 +45,7 @@ + #include + #include + #ifdef HAS_AO +-#include ++#include "ao.h" + #endif + + #ifdef FANCY_RESAMPLING +@@ -881,7 +881,7 @@ + } + #ifdef HAS_AO + } else { +- ao_play(dev, (char *)outbuf, play_samples*4); ++ g_ao.ao_play(dev, (char *)outbuf, play_samples*4); + #endif + } + } +@@ -906,7 +906,7 @@ + ao_device *dev; + + void* init_ao() { +- ao_initialize(); ++ g_ao.ao_initialize(); + + int driver; + #ifndef XBMC +@@ -921,7 +921,7 @@ + #endif + { + // otherwise choose the default +- driver = ao_default_driver_id(); ++ driver = g_ao.ao_default_driver_id(); + } + + ao_sample_format fmt; +@@ -944,9 +944,9 @@ + } + #endif + +- ao_append_option(&ao_opts, "name", "Streaming..."); ++ g_ao.ao_append_option(&ao_opts, "name", "Streaming..."); + +- dev = ao_open_live(driver, &fmt, ao_opts); ++ dev = g_ao.ao_open_live(driver, &fmt, ao_opts); + if (dev == NULL) { + die("Could not open ao device"); + } +@@ -985,7 +985,7 @@ + audio_running = 0; + pthread_join(audio_thread, NULL); + #ifdef HAS_AO +- ao_close(dev); ++ g_ao.ao_close(dev); + #endif + } + +diff -uP libshairport-1.2.0.20310_lib/src/shairport.c ../../../../../libshairport-1.2.0.20310_lib/src/shairport.c +--- a/src/shairport.c 2011-08-21 01:57:56.000000000 +0200 ++++ b/src/shairport.c 2011-09-25 20:44:40.000000000 +0200 +@@ -92,6 +92,14 @@ + static char tPassword[56] = ""; + static char tHWID[HWID_SIZE] = {0,51,52,53,54,55}; + ++#ifdef XBMC ++struct AudioOutput g_ao; ++void shairport_set_ao(struct AudioOutput *ao) ++{ ++ g_ao=*ao; ++} ++#endif ++ + #ifndef XBMC + int main(int argc, char **argv) + #else +diff -uP libshairport-1.2.0.20310_lib/src/shairport.h ../../../../../libshairport-1.2.0.20310_lib/src/shairport.h +--- a/src/shairport.h 2011-08-21 01:58:11.000000000 +0200 ++++ b/src/shairport.h 2011-09-25 20:36:43.000000000 +0200 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include "ao.h" + + + #define HWID_SIZE 6 +@@ -62,9 +63,11 @@ + void shairport_exit(void); + int shairport_loop(void); + int shairport_is_running(void); ++void shairport_set_ao(struct AudioOutput *ao); + + #ifdef __cplusplus + } + #endif /* __cplusplus */ + + #endif ++ diff --git a/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-002_fix_install_header.patch b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-002_fix_install_header.patch new file mode 100644 index 0000000000..15a1dd379a --- /dev/null +++ b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-002_fix_install_header.patch @@ -0,0 +1,12 @@ +--- a/src/Makefile.am.old 2011-09-23 23:14:39.000000000 +0200 ++++ b/src/Makefile.am 2011-09-25 21:38:08.000000000 +0200 +@@ -1,7 +1,7 @@ + lib_LTLIBRARIES=libshairport.la + +-library_includedir=$(includedir) +-library_include_HEADERS = shairport.h ++library_includedir=$(includedir)/shairport ++library_include_HEADERS = shairport.h ao.h socketlib.h + + libshairport_la_SOURCES=shairport.c hairtunes.c socketlib.c alac.c + libshairport_la_LDFLAGS=-dynamiclib diff --git a/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch new file mode 100644 index 0000000000..d685391d98 --- /dev/null +++ b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-003_fix_deadlock.patch @@ -0,0 +1,10 @@ +--- a/src/hairtunes.c.orig 2011-09-25 21:58:08.000000000 +0200 ++++ b/src/hairtunes.c 2011-09-25 21:58:12.000000000 +0200 +@@ -991,6 +991,7 @@ + + void hairtunes_cleanup(void) + { ++ pthread_cond_signal(&ab_buffer_ready); + clean_output(); + clean_rtp(); + clean_buffer(); diff --git a/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch new file mode 100644 index 0000000000..8a39598437 --- /dev/null +++ b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-004_fix_bad_access.patch @@ -0,0 +1,22 @@ +--- a/src/hairtunes.c.orig 2011-09-25 23:26:56.000000000 +0200 ++++ b/src/hairtunes.c 2011-09-25 23:29:27.000000000 +0200 +@@ -89,7 +89,6 @@ + // maximal resampling shift - conservative + #define OUTFRAME_BYTES (4*(frame_size+3)) + +- + alac_file *decoder_info; + + #ifdef FANCY_RESAMPLING +@@ -849,6 +848,11 @@ + inbuf = buffer_get_frame(); + } while (!inbuf && audio_running); + ++ if(!audio_running) ++ { ++ return 0; //don't access inbuf if audio stopped ++ } ++ + #ifdef FANCY_RESAMPLING + if (fancy_resampling) { + int i; diff --git a/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch new file mode 100644 index 0000000000..775c825649 --- /dev/null +++ b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-005_fix_shutdown.patch @@ -0,0 +1,10 @@ +--- a/src/shairport.c 2011-09-25 23:58:06.000000000 +0200 ++++ b/src/shairport.c.new 2011-09-25 23:57:54.000000000 +0200 +@@ -368,6 +368,7 @@ + void shairport_exit(void) + { + m_running = 0; ++ close(tServerSock); + } + + int shairport_is_running(void) diff --git a/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-006_no_printf.patch b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-006_no_printf.patch new file mode 100644 index 0000000000..b4e721b526 --- /dev/null +++ b/packages/network/libshairport/patches/libshairport-1.2.0.20310_lib-006_no_printf.patch @@ -0,0 +1,843 @@ +--- a/src/alac.c 2011-08-21 00:06:21.000000000 +0200 ++++ b/src/alac.c 2011-10-01 04:12:09.000000000 +0200 +@@ -804,7 +804,7 @@ + } + else + { +- fprintf(stderr, "FIXME: unhandled predicition type: %i\n", prediction_type); ++ xprintf("FIXME: unhandled predicition type: %i\n", prediction_type); + /* i think the only other prediction type (or perhaps this is just a + * boolean?) runs adaptive fir twice.. like: + * predictor_decompress_fir_adapt(predictor_error, tempout, ...) +@@ -885,7 +885,7 @@ + } + case 20: + case 32: +- fprintf(stderr, "FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); ++ xprintf("FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); + break; + default: + break; +@@ -1004,7 +1004,7 @@ + } + else + { /* see mono case */ +- fprintf(stderr, "FIXME: unhandled predicition type: %i\n", prediction_type_a); ++ xprintf("FIXME: unhandled predicition type: %i\n", prediction_type_a); + } + + /* channel 2 */ +@@ -1029,7 +1029,7 @@ + } + else + { +- fprintf(stderr, "FIXME: unhandled predicition type: %i\n", prediction_type_b); ++ xprintf("FIXME: unhandled predicition type: %i\n", prediction_type_b); + } + } + else +@@ -1106,7 +1106,7 @@ + } + case 20: + case 32: +- fprintf(stderr, "FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); ++ xprintf("FIXME: unimplemented sample size %i\n", alac->setinfo_sample_size); + break; + default: + break; +--- a/src/hairtunes.c 2011-10-01 17:45:08.000000000 +0200 ++++ b/src/hairtunes.c 2011-10-01 17:42:07.000000000 +0200 +@@ -121,8 +121,8 @@ + pthread_cond_t ab_buffer_ready; + + static void die(char *why) { +- fprintf(stderr, "FATAL: %s\n", why); +- exit(1); ++ xprintf("FATAL: %s\n", why); ++ //exit(1); + } + + static int hex2bin(unsigned char *buf, char *hex) { +@@ -245,13 +245,13 @@ + continue; + } + if (!strcmp(line, "exit\n")) { +- exit(0); ++ ;//exit(0); + } + if (!strcmp(line, "flush\n")) { + hairtunes_flush(); + } + } +- fprintf(stderr, "bye!\n"); ++ xprintf("bye!\n"); + fflush(stderr); + #endif + +@@ -262,7 +262,7 @@ + { + assert(f<=0); + if (debug) +- fprintf(stderr, "VOL: %lf\n", f); ++ xprintf("VOL: %lf\n", f); + volume = pow(10.0,0.05*f); + fix_volume = 65536.0 * volume; + } +@@ -273,7 +273,7 @@ + ab_resync(); + pthread_mutex_unlock(&ab_mutex); + if (debug) +- fprintf(stderr, "FLUSH\n"); ++ xprintf("FLUSH\n"); + } + + #ifdef HAIRTUNES_STANDALONE +@@ -423,7 +423,7 @@ + } else if (seq_order(ab_read, seqno)) { // late but not yet played + abuf = audio_buffer + BUFIDX(seqno); + } else { // too late. +- fprintf(stderr, "\nlate packet %04X (%04X:%04X)\n", seqno, ab_read, ab_write); ++ xprintf("\nlate packet %04X (%04X:%04X)\n", seqno, ab_read, ab_write); + } + buf_fill = ab_write - ab_read; + pthread_mutex_unlock(&ab_mutex); +@@ -520,7 +520,7 @@ + if (seq_order(last, first)) + return; + +- fprintf(stderr, "requesting resend on %d packets (port %d)\n", last-first+1, controlport); ++ xprintf("requesting resend on %d packets (port %d)\n", last-first+1, controlport); + + char req[8]; // *not* a standard RTCP NACK + req[0] = 0x80; +@@ -604,8 +604,8 @@ + port += 3; + } + +- printf("port: %d\n", port); // let our handler know where we end up listening +- printf("cport: %d\n", port+1); ++ xprintf("port: %d\n", port); // let our handler know where we end up listening ++ xprintf("cport: %d\n", port+1); + + rtp_sockets[0] = sock; + rtp_sockets[1] = csock; +@@ -708,7 +708,7 @@ + bf_est_drift = biquad_filt(&bf_drift_lpf, CONTROL_B*(bf_est_err*CONTROL_A + err_deriv) + bf_est_drift); + + if (debug) +- fprintf(stderr, "bf %d err %f drift %f desiring %f ed %f estd %f\r", fill, bf_est_err, bf_est_drift, desired_fill, err_deriv, err_deriv + CONTROL_A*bf_est_err); ++ xprintf("bf %d err %f drift %f desiring %f ed %f estd %f\r", fill, bf_est_err, bf_est_drift, desired_fill, err_deriv, err_deriv + CONTROL_A*bf_est_err); + bf_playback_rate = 1.0 + CONTROL_A*bf_est_err + bf_est_drift; + + bf_last_err = bf_est_err; +@@ -724,7 +724,7 @@ + buf_fill = ab_write - ab_read; + if (buf_fill < 1 || !ab_synced || ab_buffering) { // init or underrun. stop and wait + if (ab_synced) +- fprintf(stderr, "\nunderrun\n"); ++ xprintf("\nunderrun\n"); + + ab_buffering = 1; + pthread_cond_wait(&ab_buffer_ready, &ab_mutex); +@@ -736,7 +736,7 @@ + return 0; + } + if (buf_fill >= BUFFER_FRAMES) { // overrunning! uh-oh. restart at a sane distance +- fprintf(stderr, "\noverrun.\n"); ++ xprintf("\noverrun.\n"); + ab_read = ab_write - START_FILL; + } + read = ab_read; +@@ -748,7 +748,7 @@ + + volatile abuf_t *curframe = audio_buffer + BUFIDX(read); + if (!curframe->ready) { +- fprintf(stderr, "\nmissing frame.\n"); ++ xprintf("\nmissing frame.\n"); + memset(curframe->data, 0, FRAME_BYTES); + } + curframe->ready = 0; +@@ -775,13 +775,13 @@ + if (stuff) { + if (stuff==1) { + if (debug) +- fprintf(stderr, "+++++++++\n"); ++ xprintf("+++++++++\n"); + // interpolate one sample + *outptr++ = dithered_vol(((long)inptr[-2] + (long)inptr[0]) >> 1); + *outptr++ = dithered_vol(((long)inptr[-1] + (long)inptr[1]) >> 1); + } else if (stuff==-1) { + if (debug) +- fprintf(stderr, "---------\n"); ++ xprintf("---------\n"); + inptr++; + inptr++; + } +--- a/src/shairport.c 2011-10-01 17:45:08.000000000 +0200 ++++ b/src/shairport.c 2011-10-01 17:41:04.000000000 +0200 +@@ -31,6 +31,27 @@ + #include "shairport.h" + #include "hairtunes.h" + ++static struct printfPtr g_printf={NULL}; ++ ++int xprintf(const char *format, ...) ++{ ++ char dbg[2048]; ++ va_list args; ++ va_start(args, format); ++ vsnprintf(dbg, sizeof(dbg), format, args); ++ va_end(args); ++ if(g_printf.extprintf) ++ { ++ g_printf.extprintf(dbg, sizeof(dbg)); ++ } ++ else ++ { ++ printf(dbg); ++ } ++ ++ return 1; ++} ++ + #ifndef TRUE + #define TRUE (-1) + #endif +@@ -98,6 +119,11 @@ + { + g_ao=*ao; + } ++ ++void shairport_set_printf(struct printfPtr *funcPtr) ++{ ++ g_printf = *funcPtr; ++} + #endif + + #ifndef XBMC +@@ -106,7 +132,7 @@ + int shairport_main(int argc, char **argv) + #endif + { +- printf("initializing shairport\n"); ++ xprintf("initializing shairport\n",NULL); + char tHWID_Hex[HWID_SIZE * 2 + 1]; + char tKnownHwid[32]; + +@@ -185,22 +211,22 @@ + } + else if(!strcmp(arg, "-h") || !strcmp(arg, "--help")) + { +- slog(LOG_INFO, "ShairPort version 0.05 C port - Airport Express emulator\n"); +- slog(LOG_INFO, "Usage:\nshairport [OPTION...]\n\nOptions:\n"); +- slog(LOG_INFO, " -a, --apname=AirPort Sets Airport name\n"); +- slog(LOG_INFO, " -p, --password=secret Sets Password (not working)\n"); +- slog(LOG_INFO, " -o, --server_port=5000 Sets Port for Avahi/dns-sd\n"); +- slog(LOG_INFO, " -b, --buffer=282 Sets Number of frames to buffer before beginning playback\n"); +- slog(LOG_INFO, " -d Daemon mode\n"); +- slog(LOG_INFO, " -q, --quiet Supresses all output.\n"); +- slog(LOG_INFO, " -v,-v2,-v3,-vv Various debugging levels\n"); +- slog(LOG_INFO, "\n"); ++ xprintf("ShairPort version 0.05 C port - Airport Express emulator\n"); ++ xprintf("Usage:\nshairport [OPTION...]\n\nOptions:\n"); ++ xprintf(" -a, --apname=AirPort Sets Airport name\n"); ++ xprintf(" -p, --password=secret Sets Password (not working)\n"); ++ xprintf(" -o, --server_port=5000 Sets Port for Avahi/dns-sd\n"); ++ xprintf(" -b, --buffer=282 Sets Number of frames to buffer before beginning playback\n"); ++ xprintf(" -d Daemon mode\n"); ++ xprintf(" -q, --quiet Supresses all output.\n"); ++ xprintf(" -v,-v2,-v3,-vv Various debugging levels\n"); ++ xprintf("\n"); + return 0; + } + } + + if ( buffer_start_fill < 30 || buffer_start_fill > BUFFER_FRAMES ) { +- fprintf(stderr, "buffer value must be > 30 and < %d\n", BUFFER_FRAMES); ++ xprintf("buffer value must be > 30 and < %d\n", BUFFER_FRAMES); + return(0); + } + +@@ -209,11 +235,11 @@ + int tPid = fork(); + if(tPid < 0) + { +- exit(1); // Error on fork ++ //exit(1); // Error on fork + } + else if(tPid > 0) + { +- exit(0); ++ //exit(0); + } + else + { +@@ -254,10 +280,10 @@ + sscanf(tHWID_Hex, "%02X%02X%02X%02X%02X%02X", &tHWID[0], &tHWID[1], &tHWID[2], &tHWID[3], &tHWID[4], &tHWID[5]); + } + +- slog(LOG_INFO, "LogLevel: %d\n", kCurrentLogLevel); +- slog(LOG_INFO, "AirName: %s\n", tServerName); +- slog(LOG_INFO, "HWID: %.*s\n", HWID_SIZE, tHWID+1); +- slog(LOG_INFO, "HWID_Hex(%d): %s\n", strlen(tHWID_Hex), tHWID_Hex); ++ xprintf("LogLevel: %d\n", kCurrentLogLevel); ++ xprintf("AirName: %s\n", tServerName); ++ xprintf("HWID: %.*s\n", HWID_SIZE, tHWID+1); ++ xprintf("HWID_Hex(%d): %s\n", strlen(tHWID_Hex), tHWID_Hex); + + if(tSimLevel >= 1) + { +@@ -271,12 +297,12 @@ + #ifndef XBMC + startAvahi(tHWID_Hex, tServerName, tPort); + #endif +- slog(LOG_DEBUG_V, "Starting connection server: specified server port: %d\n", tPort); ++ xprintf("Starting connection server: specified server port: %d\n", tPort); + tServerSock = setupListenServer(&tAddrInfo, tPort); + if(tServerSock < 0) + { + freeaddrinfo(tAddrInfo); +- slog(LOG_INFO, "Error setting up server socket on port %d, try specifying a different port\n", tPort); ++ xprintf("Error setting up server socket on port %d, try specifying a different port\n", tPort); + return 0; + } + +@@ -303,7 +329,7 @@ + + int readsock; + +- slog(LOG_DEBUG_V, "Waiting for clients to connect\n"); ++ xprintf("Waiting for clients to connect\n"); + + while(m_running) + { +@@ -335,7 +361,7 @@ + { + freeaddrinfo(tAddrInfo); + tAddrInfo = NULL; +- slog(LOG_DEBUG, "...Accepted Client Connection..\n"); ++ xprintf("...Accepted Client Connection..\n"); + close(tServerSock); + handleClient(tClientSock, tPassword, tHWID); + //close(tClientSock); +@@ -343,11 +369,11 @@ + } + else + { +- slog(LOG_DEBUG_VV, "Child now busy handling new client\n"); ++ xprintf("Child now busy handling new client\n"); + close(tClientSock); + } + #else +- slog(LOG_DEBUG, "...Accepted Client Connection..\n"); ++ xprintf("...Accepted Client Connection..\n"); + handleClient(tClientSock, tPassword, tHWID); + #endif + } +@@ -357,7 +383,7 @@ + } + } + +- slog(LOG_DEBUG_VV, "Finished\n"); ++ xprintf("Finished\n"); + if(tAddrInfo != NULL) + { + freeaddrinfo(tAddrInfo); +@@ -416,7 +442,7 @@ + + void handleClient(int pSock, char *pPassword, char *pHWADDR) + { +- slog(LOG_DEBUG_VV, "In Handle Client\n"); ++ xprintf("In Handle Client\n"); + fflush(stdout); + + socklen_t len; +@@ -435,7 +461,7 @@ + + // deal with both IPv4 and IPv6: + if (addr.ss_family == AF_INET) { +- slog(LOG_DEBUG_V, "Constructing ipv4 address\n"); ++ xprintf("Constructing ipv4 address\n"); + struct sockaddr_in *s = (struct sockaddr_in *)&addr; + port = ntohs(s->sin_port); + inet_ntop(AF_INET, &s->sin_addr, ipstr, sizeof ipstr); +@@ -455,20 +481,20 @@ + if(memcmp(&addr.bin[0], "\x00\x00\x00\x00" "\x00\x00\x00\x00" "\x00\x00\xff\xff", 12) == 0) + { + // its ipv4... +- slog(LOG_DEBUG_V, "Constructing ipv4 from ipv6 address\n"); ++ xprintf("Constructing ipv4 from ipv6 address\n"); + memcpy(ipbin, &addr.bin[12], 4); + ipbinlen = 4; + } + else + { +- slog(LOG_DEBUG_V, "Constructing ipv6 address\n"); ++ xprintf("Constructing ipv6 address\n"); + memcpy(ipbin, &s->sin6_addr, 16); + ipbinlen = 16; + } + } + +- slog(LOG_DEBUG_V, "Peer IP address: %s\n", ipstr); +- slog(LOG_DEBUG_V, "Peer port : %d\n", port); ++ xprintf("Peer IP address: %s\n", ipstr); ++ xprintf("Peer port : %d\n", port); + + int tMoreDataNeeded = 1; + struct keyring tKeys; +@@ -489,16 +515,16 @@ + tError = readDataFromClient(pSock, &(tConn.recv)); + if(!tError && strlen(tConn.recv.data) > 0) + { +- slog(LOG_DEBUG_VV, "Finished Reading some data from client\n"); ++ xprintf("Finished Reading some data from client\n"); + // parse client request + tMoreDataNeeded = parseMessage(&tConn, ipbin, ipbinlen, pHWADDR); + if(1 == tMoreDataNeeded) + { +- slog(LOG_DEBUG_VV, "\n\nNeed to read more data\n"); ++ xprintf("\n\nNeed to read more data\n"); + } + else if(-1 == tMoreDataNeeded) // Forked process down below ended. + { +- slog(LOG_DEBUG_V, "Forked Process ended...cleaning up\n"); ++ xprintf("Forked Process ended...cleaning up\n"); + cleanup(&tConn); + // pSock was already closed + return; +@@ -507,13 +533,13 @@ + } + else + { +- slog(LOG_DEBUG, "Error reading from socket, closing client\n"); ++ xprintf("Error reading from socket, closing client\n"); + // Error reading data....quit. + cleanup(&tConn); + return; + } + } +- slog(LOG_DEBUG_VV, "Writing: %d chars to socket\n", tConn.resp.current); ++ xprintf("Writing: %d chars to socket\n", tConn.resp.current); + //tConn->resp.data[tConn->resp.current-1] = '\0'; + writeDataToClient(pSock, &(tConn.resp)); + // Finished reading one message... +@@ -526,9 +552,9 @@ + + void writeDataToClient(int pSock, struct shairbuffer *pResponse) + { +- slog(LOG_DEBUG_VV, "\n----Beg Send Response Header----\n%.*s\n", pResponse->current, pResponse->data); ++ xprintf("\n----Beg Send Response Header----\n%.*s\n", pResponse->current, pResponse->data); + send(pSock, pResponse->data, pResponse->current,0); +- slog(LOG_DEBUG_VV, "----Send Response Header----\n"); ++ xprintf("----Send Response Header----\n"); + } + + int readDataFromClient(int pSock, struct shairbuffer *pClientBuffer) +@@ -541,7 +567,7 @@ + while(tRetval > 0 && tEnd < 0) + { + // Read from socket until \n\n, \r\n\r\n, or \r\r is found +- slog(LOG_DEBUG_V, "Waiting To Read...\n"); ++ xprintf("Waiting To Read...\n"); + fflush(stdout); + tRetval = read(pSock, tReadBuf, MAX_SIZE); + // if new buffer contains the end of request string, only copy partial buffer? +@@ -552,40 +578,40 @@ + { + pClientBuffer->marker = tEnd+1; // Marks start of content + } +- slog(SOCKET_LOG_LEVEL, "Found end of http request at: %d\n", tEnd); ++ xprintf("Found end of http request at: %d\n", tEnd); + fflush(stdout); + } + else + { + tEnd = MAX_SIZE; +- slog(SOCKET_LOG_LEVEL, "Read %d of data so far\n%s\n", tRetval, tReadBuf); ++ xprintf("Read %d of data so far\n%s\n", tRetval, tReadBuf); + fflush(stdout); + } + if(tRetval > 0) + { + // Copy read data into tReceive; +- slog(SOCKET_LOG_LEVEL, "Read %d data, using %d of it\n", tRetval, tEnd); ++ xprintf("Read %d data, using %d of it\n", tRetval, tEnd); + addNToShairBuffer(pClientBuffer, tReadBuf, tRetval); +- slog(LOG_DEBUG_VV, "Finished copying data\n"); ++ xprintf("Finished copying data\n"); + } + else + { +- slog(LOG_DEBUG, "Error reading data from socket, got: %d bytes", tRetval); ++ xprintf("Error reading data from socket, got: %d bytes", tRetval); + return tRetval; + } + } + if(tEnd + 1 != tRetval) + { +- slog(SOCKET_LOG_LEVEL, "Read more data after end of http request. %d instead of %d\n", tRetval, tEnd+1); ++ xprintf("Read more data after end of http request. %d instead of %d\n", tRetval, tEnd+1); + } +- slog(SOCKET_LOG_LEVEL, "Finished Reading Data:\n%s\nEndOfData\n", pClientBuffer->data); ++ xprintf("Finished Reading Data:\n%s\nEndOfData\n", pClientBuffer->data); + fflush(stdout); + return 0; + } + + char *getFromBuffer(char *pBufferPtr, const char *pField, int pLenAfterField, int *pReturnSize, char *pDelims) + { +- slog(LOG_DEBUG_V, "GettingFromBuffer: %s\n", pField); ++ xprintf("GettingFromBuffer: %s\n", pField); + char* tFound = strstr(pBufferPtr, pField); + int tSize = 0; + if(tFound != NULL) +@@ -606,7 +632,7 @@ + } + + tSize = (int) (tShortest - tFound); +- slog(LOG_DEBUG_VV, "Found %.*s length: %d\n", tSize, tFound, tSize); ++ xprintf("Found %.*s length: %d\n", tSize, tFound, tSize); + if(pReturnSize != NULL) + { + *pReturnSize = tSize; +@@ -614,7 +640,7 @@ + } + else + { +- slog(LOG_DEBUG_V, "Not Found\n"); ++ xprintf("Not Found\n"); + } + return tFound; + } +@@ -648,10 +674,10 @@ + { + char tTrim[tFoundSize + 2]; + getTrimmed(tFound, tFoundSize, TRUE, TRUE, tTrim); +- slog(LOG_DEBUG_VV, "HeaderChallenge: [%s] len: %d sizeFound: %d\n", tTrim, strlen(tTrim), tFoundSize); ++ xprintf("HeaderChallenge: [%s] len: %d sizeFound: %d\n", tTrim, strlen(tTrim), tFoundSize); + int tChallengeDecodeSize = 16; + char *tChallenge = decode_base64((unsigned char *)tTrim, tFoundSize, &tChallengeDecodeSize); +- slog(LOG_DEBUG_VV, "Challenge Decode size: %d expected 16\n", tChallengeDecodeSize); ++ xprintf("Challenge Decode size: %d expected 16\n", tChallengeDecodeSize); + + int tCurSize = 0; + unsigned char tChalResp[38]; +@@ -673,7 +699,7 @@ + } + + char *tTmp = encode_base64((unsigned char *)tChalResp, tCurSize); +- slog(LOG_DEBUG_VV, "Full sig: %s\n", tTmp); ++ xprintf("Full sig: %s\n", tTmp); + free(tTmp); + + // RSA Encrypt +@@ -722,10 +748,10 @@ + { + if(isLogEnabledFor(HEADER_LOG_LEVEL)) + { +- slog(HEADER_LOG_LEVEL, "Content-Length: %s value -> %d\n", tContent, tContentSize); ++ xprintf("Content-Length: %s value -> %d\n", tContent, tContentSize); + if(pConn->recv.marker != 0) + { +- slog(HEADER_LOG_LEVEL, "ContentPtr has %d, but needs %d\n", ++ xprintf("ContentPtr has %d, but needs %d\n", + strlen(pConn->recv.data+pConn->recv.marker), tContentSize); + } + } +@@ -735,7 +761,7 @@ + } + else + { +- slog(LOG_DEBUG_VV, "No content, header only\n"); ++ xprintf("No content, header only\n"); + } + + // "Creates" a new Response Header for our response message +@@ -748,7 +774,7 @@ + { + tLen = 20; + } +- slog(LOG_INFO, "********** RECV %.*s **********\n", tLen, pConn->recv.data); ++ xprintf("********** RECV %.*s **********\n", tLen, pConn->recv.data); + } + + if(pConn->password != NULL) +@@ -758,7 +784,7 @@ + + if(buildAppleResponse(pConn, pIpBin, pIpBinLen, pHWID)) // need to free sig + { +- slog(LOG_DEBUG_V, "Added AppleResponse to Apple-Challenge request\n"); ++ xprintf("Added AppleResponse to Apple-Challenge request\n"); + } + + // Find option, then based on option, do different actions. +@@ -778,14 +804,14 @@ + int tKeySize = 0; + char tEncodedAesIV[tSize + 2]; + getTrimmed(tHeaderVal, tSize, TRUE, TRUE, tEncodedAesIV); +- slog(LOG_DEBUG_VV, "AESIV: [%.*s] Size: %d Strlen: %d\n", tSize, tEncodedAesIV, tSize, strlen(tEncodedAesIV)); ++ xprintf("AESIV: [%.*s] Size: %d Strlen: %d\n", tSize, tEncodedAesIV, tSize, strlen(tEncodedAesIV)); + char *tDecodedIV = decode_base64((unsigned char*) tEncodedAesIV, tSize, &tSize); + + // grab the key, copy it out of the receive buffer + tHeaderVal = getFromContent(tContent, "a=rsaaeskey", &tKeySize); + char tEncodedAesKey[tKeySize + 2]; // +1 for nl, +1 for \0 + getTrimmed(tHeaderVal, tKeySize, TRUE, TRUE, tEncodedAesKey); +- slog(LOG_DEBUG_VV, "AES KEY: [%s] Size: %d Strlen: %d\n", tEncodedAesKey, tKeySize, strlen(tEncodedAesKey)); ++ xprintf("AES KEY: [%s] Size: %d Strlen: %d\n", tEncodedAesKey, tKeySize, strlen(tEncodedAesKey)); + // remove base64 coding from key + char *tDecodedAesKey = decode_base64((unsigned char*) tEncodedAesKey, + tKeySize, &tKeySize); // Need to free DecodedAesKey +@@ -794,7 +820,7 @@ + int tFmtpSize = 0; + char *tFmtp = getFromContent(tContent, "a=fmtp", &tFmtpSize); // Don't need to free + tFmtp = getTrimmedMalloc(tFmtp, tFmtpSize, TRUE, FALSE); // will need to free +- slog(LOG_DEBUG_VV, "Format: %s\n", tFmtp); ++ xprintf("Format: %s\n", tFmtp); + + RSA *rsa = loadKey(); + // Decrypt the binary aes key +@@ -803,11 +829,11 @@ + if(RSA_private_decrypt(tKeySize, (unsigned char *)tDecodedAesKey, + (unsigned char*) tDecryptedKey, rsa, RSA_PKCS1_OAEP_PADDING) >= 0) + { +- slog(LOG_DEBUG, "Decrypted AES key from RSA Successfully\n"); ++ xprintf("Decrypted AES key from RSA Successfully\n"); + } + else + { +- slog(LOG_INFO, "Error Decrypting AES key from RSA\n"); ++ xprintf("Error Decrypting AES key from RSA\n"); + } + free(tDecodedAesKey); + RSA_free(rsa); +@@ -823,13 +849,13 @@ + // struct comms *tComms = pConn->hairtunes; + // if (! (pipe(tComms->in) == 0 && pipe(tComms->out) == 0)) + // { +-// slog(LOG_INFO, "Error setting up hairtunes communications...some things probably wont work very well.\n"); ++// xprintf("Error setting up hairtunes communications...some things probably wont work very well.\n"); + // } + + // Setup fork + char tPort[8] = "6000"; // get this from dup()'d stdout of child pid + +- printf("******** SETUP!!!!!\n"); ++ xprintf("******** SETUP!!!!!\n",NULL); + #ifndef XBMC + int tPid = fork(); + if(tPid == 0) +@@ -845,11 +871,11 @@ + tFound = getFromSetup(pConn->recv.data, "timing_port", &tSize); + getTrimmed(tFound, tSize, 1, 0, tTPortStr); + +- slog(LOG_DEBUG_VV, "converting %s and %s from str->int\n", tCPortStr, tTPortStr); ++ xprintf("converting %s and %s from str->int\n", tCPortStr, tTPortStr); + int tControlport = atoi(tCPortStr); + int tTimingport = atoi(tTPortStr); + +- slog(LOG_DEBUG_V, "Got %d for CPort and %d for TPort\n", tControlport, tTimingport); ++ xprintf("Got %d for CPort and %d for TPort\n", tControlport, tTimingport); + char *tRtp = NULL; + char *tPipe = NULL; + char *tAoDriver = NULL; +@@ -884,7 +910,7 @@ + tDataport, tRtp, tPipe, tAoDriver, tAoDeviceName, tAoDeviceId); + #ifndef XBMC + // Quit when finished. +- slog(LOG_DEBUG, "Returned from hairtunes init....returning -1, should close out this whole side of the fork\n"); ++ xprintf("Returned from hairtunes init....returning -1, should close out this whole side of the fork\n"); + return -1; + } + else if(tPid >0) +@@ -897,7 +923,7 @@ + int tRead = read(tComms->out[0], tFromHairtunes, 80); + if(tRead <= 0) + { +- slog(LOG_INFO, "Error reading port from hairtunes function, assuming default port: %d\n", tPort); ++ xprintf("Error reading port from hairtunes function, assuming default port: %d\n", tPort); + } + else + { +@@ -909,7 +935,7 @@ + } + else + { +- slog(LOG_INFO, "Read %d bytes, Error translating %s into a port\n", tRead, tFromHairtunes); ++ xprintf("Read %d bytes, Error translating %s into a port\n", tRead, tFromHairtunes); + } + } + +@@ -930,7 +956,7 @@ + } + else + { +- slog(LOG_INFO, "Error forking process....dere' be errors round here.\n"); ++ xprintf("Error forking process....dere' be errors round here.\n"); + return -1; + } + #endif +@@ -942,7 +968,7 @@ + propogateCSeq(pConn); + #ifndef XBMC + close(pConn->hairtunes->in[1]); +- slog(LOG_DEBUG, "Tearing down connection, closing pipes\n"); ++ xprintf("Tearing down connection, closing pipes\n"); + #else + hairtunes_cleanup(); + #endif +@@ -964,7 +990,7 @@ + propogateCSeq(pConn); + int tSize = 0; + char *tVol = getFromHeader(pConn->recv.data, "volume", &tSize); +- slog(LOG_DEBUG_VV, "About to write [vol: %.*s] data to hairtunes\n", tSize, tVol); ++ xprintf("About to write [vol: %.*s] data to hairtunes\n", tSize, tVol); + // TBD VOLUME + #ifndef XBMC + write(pConn->hairtunes->in[1], "vol: ", 5); +@@ -973,11 +999,11 @@ + #else + hairtunes_setvolume(atof(tVol)); + #endif +- slog(LOG_DEBUG_VV, "Finished writing data write data to hairtunes\n"); ++ xprintf("Finished writing data write data to hairtunes\n"); + } + else + { +- slog(LOG_DEBUG, "\n\nUn-Handled recv: %s\n", pConn->recv.data); ++ xprintf("\n\nUn-Handled recv: %s\n", pConn->recv.data); + propogateCSeq(pConn); + } + addToShairBuffer(&(pConn->resp), "\r\n"); +@@ -1056,7 +1082,7 @@ + char tName[100 + HWID_SIZE + 3]; + if(strlen(pServerName) > tMaxServerName) + { +- slog(LOG_INFO,"Hey dog, we see you like long server names, " ++ xprintf("Hey dog, we see you like long server names, " + "so we put a strncat in our command so we don't buffer overflow, while you listen to your flow.\n" + "We just used the first %d characters. Pick something shorter if you want\n", tMaxServerName); + } +@@ -1067,7 +1093,7 @@ + strcat(tName, pHWStr); + strcat(tName, "@"); + strncat(tName, pServerName, tMaxServerName); +- slog(AVAHI_LOG_LEVEL, "Avahi/DNS-SD Name: %s\n", tName); ++ xprintf("Avahi/DNS-SD Name: %s\n", tName); + + execlp("avahi-publish-service", "avahi-publish-service", tName, + "_raop._tcp", tPort, "tp=UDP","sm=false","sv=false","ek=1","et=0,1", +@@ -1079,12 +1105,12 @@ + perror("error"); + } + +- slog(LOG_INFO, "Bad error... couldn't find or failed to run: avahi-publish-service OR dns-sd\n"); +- exit(1); ++ xprintf("Bad error... couldn't find or failed to run: avahi-publish-service OR dns-sd\n"); ++ //exit(1); + } + else + { +- slog(LOG_DEBUG_VV, "Avahi/DNS-SD started on PID: %d\n", tPid); ++ xprintf("Avahi/DNS-SD started on PID: %d\n", tPid); + } + return tPid; + } +@@ -1092,7 +1118,7 @@ + + void printBufferInfo(struct shairbuffer *pBuf, int pLevel) + { +- slog(pLevel, "Buffer: [%s] size: %d maxchars:%d\n", pBuf->data, pBuf->current, pBuf->maxsize/sizeof(char)); ++ xprintf("Buffer: [%s] size: %d maxchars:%d\n", pBuf->data, pBuf->current, pBuf->maxsize/sizeof(char)); + } + + int getAvailChars(struct shairbuffer *pBuf) +@@ -1173,7 +1199,8 @@ + { + va_list argp; + va_start(argp, pFormat); +- vprintf(pFormat, argp); ++ xprintf(pFormat, argp); ++ //vprintf(pFormat, argp); + va_end(argp); + } + //#endif +@@ -1227,9 +1254,9 @@ + { + if(pBuf->data != NULL) + { +- slog(LOG_DEBUG_VV, "Hrm, buffer wasn't cleaned up....trying to free\n"); ++ xprintf("Hrm, buffer wasn't cleaned up....trying to free\n"); + free(pBuf->data); +- slog(LOG_DEBUG_VV, "Free didn't seem to seg fault....huzzah\n"); ++ xprintf("Free didn't seem to seg fault....huzzah\n"); + } + pBuf->current = 0; + pBuf->marker = 0; +@@ -1287,6 +1314,6 @@ + BIO *tBio = BIO_new_mem_buf(AIRPORT_PRIVATE_KEY, -1); + RSA *rsa = PEM_read_bio_RSAPrivateKey(tBio, NULL, NULL, NULL); //NULL, NULL, NULL); + BIO_free(tBio); +- slog(RSA_LOG_LEVEL, "RSA Key: %d\n", RSA_check_key(rsa)); ++ xprintf("RSA Key: %d\n", RSA_check_key(rsa)); + return rsa; + } +--- a/src/shairport.h 2011-10-01 17:45:08.000000000 +0200 ++++ b/src/shairport.h 2011-10-01 17:19:43.000000000 +0200 +@@ -59,11 +59,17 @@ + { + #endif /* __cplusplus */ + ++struct printfPtr ++{ ++ int (*extprintf)(const char* msg, size_t msgSize); ++}; ++ + int shairport_main(int argc, char **argv); + void shairport_exit(void); + int shairport_loop(void); + int shairport_is_running(void); + void shairport_set_ao(struct AudioOutput *ao); ++void shairport_set_printf(struct printfPtr *funcPtr); + + #ifdef __cplusplus + } +--- a/src/socketlib.c 2011-09-23 22:00:48.000000000 +0200 ++++ b/src/socketlib.c 2011-10-01 17:42:39.000000000 +0200 +@@ -82,7 +82,7 @@ + delay(RETRY_DELAY, &tRes); + } + } +- printf("%d Retry attempts exceeded\n", RETRY_COUNT); ++ xprintf("%d Retry attempts exceeded\n", RETRY_COUNT); + return ERROR; + } + +@@ -102,7 +102,7 @@ + tError = getaddrinfo(pHostname, pService, &hints, pAddrInfo); + if(tError != 0) + { +- printf("Error getting address info\n"); ++ xprintf("Error getting address info\n"); + } + return tError; + } +@@ -200,7 +200,7 @@ + else + { + // Invalid encoded data, no other cases are possible. +- printf("Unrecoverable error....base64 values are incorrectly encoded\n"); ++ xprintf("Unrecoverable error....base64 values are incorrectly encoded\n"); + return pSize; + } + } +@@ -226,7 +226,7 @@ + memset(input, 0, length); + memcpy(input, pInput, pLength); + memset(input+pLength, '=', length-pLength); +- printf("Fixed value: [%.*s]\n", length, input); ++ xprintf("Fixed value: [%.*s]\n", length, input); + } + char *buffer = (char *)malloc(length); + memset(buffer, 0, length); diff --git a/packages/network/netmount/config/netmount.conf.sample b/packages/network/netmount/config/netmount.conf.sample deleted file mode 100644 index 6190c959e7..0000000000 --- a/packages/network/netmount/config/netmount.conf.sample +++ /dev/null @@ -1,50 +0,0 @@ -################################################################################ -# 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 -################################################################################ -# netmount.conf -# -# This configuration file allows you to setup network mounts via -# CIFS (Samba), NFS or AFP while the system is booting -# -# This is an sample file, please rename or copy this file to -# netmount.conf in the samba share "Configfiles" (or /storage/.config/) -# -# Usage: -# service | share on server | local mountpoint <| mount options> -# -# - "service" can be "nfs" for NFS mounts, "cifs" for CIFS (Samba) or -# "afp" for AFP (Apple File Protocol) mounts -# - Please use an "|" as delimiter -# - Don't use spaces in usernames, passwords and options -# - be aware of the different syntax for NFS and AFP mounts -# - Local mountpoints should only be on /storage -# -# Examples: -# AFP (Apple File Protocol) mounts, please specify username and password if -# needed. -# afp | 192.168.1.44/videos | /storage/mount/videos | : - -# CIFS (Samba/ Windows share) mounts, please specify username and password if -# needed (comma seperated). -# cifs | //192.168.1.44/videos | /storage/mount/videos | username=user,pass=secret -# cifs | //192.168.1.44/tv shows | /storage/mount/tvshows | username=user,pass=secret - -# NFS (Network File System) mounts, please specify additional options if needed -# (comma seperated). Default options are 'tcp' and 'nolock'. -# nfs | 192.168.1.44:/videos | /storage/mount/videos | ro,timeo=600 diff --git a/packages/network/netmount/init.d/59_netmount b/packages/network/netmount/init.d/59_netmount deleted file mode 100644 index a11b1a50bf..0000000000 --- a/packages/network/netmount/init.d/59_netmount +++ /dev/null @@ -1,30 +0,0 @@ -################################################################################ -# Copyright (C) 2009-2010 OpenELEC.tv -# http://www.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 Network shares -# -# runlevels: openelec, textmode - -( - wait_for_network - - progress "mounting Network shares" - netmount > /dev/null 2>&1 -)& diff --git a/packages/network/netmount/meta b/packages/network/netmount/meta deleted file mode 100644 index 339fa62b77..0000000000 --- a/packages/network/netmount/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="netmount" -PKG_VERSION="0.1" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.openelec.tv" -PKG_URL="" -PKG_DEPENDS="afpfs-ng cifs-utils sshfs-fuse connman" -PKG_BUILD_DEPENDS="toolchain" -PKG_PRIORITY="optional" -PKG_SECTION="tools" -PKG_SHORTDESC="netmount: scripts for mounting network shares on boottime" -PKG_LONGDESC="netmount: scripts for mounting network shares on boottime" -PKG_IS_ADDON="no" - -PKG_AUTORECONF="no" diff --git a/packages/network/netmount/scripts/netmount b/packages/network/netmount/scripts/netmount deleted file mode 100755 index 3a380f796d..0000000000 --- a/packages/network/netmount/scripts/netmount +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -################################################################################ -# Copyright (C) 2009-2010 OpenELEC.tv -# http://www.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 Network shares - -NETMOUNT_USERCONF="/storage/.config/netmount.conf" - -if [ -f "$NETMOUNT_USERCONF" ]; then - -IFS=" -" - for i in `tr -d '\r' < $NETMOUNT_USERCONF |grep -v "^#"`; do - SERVICE=`echo $i | awk -F\| '{print $1}' | sed 's/^[ \t]*//;s/[ \t]*$//'` - SHARE=`echo $i | awk -F\| '{print $2}' | sed 's/^[ \t]*//;s/[ \t]*$//'` - MOUNTPOINT=`echo $i | awk -F\| '{print $3}' | sed 's/^[ \t]*//;s/[ \t]*$//'` - OPTIONS=`echo $i | awk -F\| '{print $4}' | sed 's/^[ \t]*//;s/[ \t]*$//'` - - logger -t Netmount "... mounting $SHARE to $MOUNTPOINT via $SERVICE ..." - - mkdir -p $MOUNTPOINT - case "$SERVICE" in - afp) - sleep 1 - mount_afp afp://$OPTIONS@$SHARE "$MOUNTPOINT" - ;; - cifs) - mount.cifs "$SHARE" "$MOUNTPOINT" -o "$OPTIONS" & - ;; - nfs) - mount "$SHARE" "$MOUNTPOINT" -o nolock,tcp,"$OPTIONS" & - ;; - esac - done -fi - -exit 0 diff --git a/packages/network/netstatus/build b/packages/network/netstatus/build deleted file mode 100755 index e16a9e717b..0000000000 --- a/packages/network/netstatus/build +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -#      Copyright (C) 2010-2011 Roman Weber (roman@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 - -# dont use some optimizations because of problems - LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"` - -cd $PKG_BUILD - -make diff --git a/packages/network/netstatus/install b/packages/network/netstatus/install deleted file mode 100755 index 8990dd81ad..0000000000 --- a/packages/network/netstatus/install +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) -#      Copyright (C) 2010-2011 Roman Weber (roman@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/bin - cp $PKG_BUILD/netstatus $INSTALL/usr/bin diff --git a/packages/network/netstatus/profile.d/netstatus.conf b/packages/network/netstatus/profile.d/netstatus.conf deleted file mode 100644 index 3f851e0d45..0000000000 --- a/packages/network/netstatus/profile.d/netstatus.conf +++ /dev/null @@ -1,29 +0,0 @@ -################################################################################ -# 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 -################################################################################ - -wait_for_network () { - if [ -x /usr/bin/netstatus ]; then - val=`/usr/bin/netstatus` - while [ "$val" != "Network state is online" ]; do - val=`/usr/bin/netstatus` - usleep 250000 - done - fi -} diff --git a/packages/network/openssh/init.d/51_sshd b/packages/network/openssh/init.d/51_sshd index f97a02e92e..abff4202df 100644 --- a/packages/network/openssh/init.d/51_sshd +++ b/packages/network/openssh/init.d/51_sshd @@ -67,8 +67,6 @@ progress "Starting SSH Server" - wait_for_network - mkdir -p /var/empty chmod -R 600 /var/empty $SSHD diff --git a/packages/network/samba/scripts/52_samba b/packages/network/samba/scripts/52_samba index 62ea24a57f..7ebc7b5215 100644 --- a/packages/network/samba/scripts/52_samba +++ b/packages/network/samba/scripts/52_samba @@ -28,7 +28,8 @@ if [ "$SAMBA_START" = "true" ]; then - wait_for_network + # sleep 2 sec to be ensure network is started + usleep 2000000 progress "Starting Samba server" diff --git a/packages/security/libtasn1/install b/packages/security/libtasn1/install deleted file mode 100755 index b735c14c77..0000000000 --- a/packages/security/libtasn1/install +++ /dev/null @@ -1,26 +0,0 @@ -#!/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/lib - cp -P $PKG_BUILD/lib/.libs/*.so* $INSTALL/usr/lib diff --git a/packages/security/libtasn1/meta b/packages/security/libtasn1/meta deleted file mode 100644 index c60a72a046..0000000000 --- a/packages/security/libtasn1/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="libtasn1" -PKG_VERSION="2.9" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://www.gnupg.org/" -PKG_URL="http://ftp.gnu.org/gnu/libtasn1/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="toolchain" -PKG_PRIORITY="optional" -PKG_SECTION="security" -PKG_SHORTDESC="libtasn1: Library for ASN.1 and DER manipulation" -PKG_LONGDESC="Libtasn is a library written in C for manipulating ASN.1 objects including DER/BER encoding and DER/BER decoding. Libtasn is used by GnuTLS to manipulate X.509 objects and by GNU Shishi to handle Kerberos V5 packets." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="no" diff --git a/packages/sysutils/busybox/scripts/init b/packages/sysutils/busybox/scripts/init index 362db170ad..33136cdd7d 100755 --- a/packages/sysutils/busybox/scripts/init +++ b/packages/sysutils/busybox/scripts/init @@ -22,12 +22,11 @@ # mounting needed special filesystems # mount -n -t proc none /proc # mounted in initramfs - mount -n -t sysfs none /sys +# mount -n -t sysfs none /sys # mounted in initramfs +# mount -n -t devtmpfs none /dev # mounted in initramfs echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink -# mount -n -t devtmpfs none /dev # mounted in initramfs - mkdir -p /dev/pts mount -n -t devpts -o gid=5,mode=620 none /dev/pts diff --git a/packages/sysutils/fuse/build b/packages/sysutils/fuse/build deleted file mode 100755 index ea60500499..0000000000 --- a/packages/sysutils/fuse/build +++ /dev/null @@ -1,46 +0,0 @@ -#!/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 - -# fuse fails to build with GOLD linker - strip_gold - -export LDFLAGS="$LDFLAGS -liconv" - -cd $PKG_BUILD -am_cv_func_iconv=yes \ -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --enable-shared \ - --disable-static \ - --with-libiconv-prefix="$SYSROOT_PREFIX/usr" \ - --enable-lib \ - --enable-util \ - --disable-example \ - --enable-mtab \ - --disable-rpath \ - --with-gnu-ld \ - -make -$MAKEINSTALL diff --git a/packages/sysutils/fuse/config/fuse.conf b/packages/sysutils/fuse/config/fuse.conf deleted file mode 100644 index cd4c6bdaf3..0000000000 --- a/packages/sysutils/fuse/config/fuse.conf +++ /dev/null @@ -1,2 +0,0 @@ -# mount_max = 1000 -# user_allow_other diff --git a/packages/sysutils/fuse/init.d/15_fuse b/packages/sysutils/fuse/init.d/15_fuse deleted file mode 100644 index 76996f5d03..0000000000 --- a/packages/sysutils/fuse/init.d/15_fuse +++ /dev/null @@ -1,27 +0,0 @@ -################################################################################ -# Copyright (C) 2009-2010 OpenELEC.tv -# http://www.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 fuse filesystem -# -# runlevels: openelec, textmode - -progress "Starting Fuse" - mount -t fusectl fusectl /sys/fs/fuse/connections >/dev/null 2>&1 \ No newline at end of file diff --git a/packages/sysutils/fuse/install b/packages/sysutils/fuse/install deleted file mode 100755 index 3c6a105391..0000000000 --- a/packages/sysutils/fuse/install +++ /dev/null @@ -1,40 +0,0 @@ -#!/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/etc - cp $PKG_DIR/config/fuse.conf $INSTALL/etc - -mkdir -p $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/util/udev.rules $INSTALL/lib/udev/rules.d/99-fuse.rules - -mkdir -p $INSTALL/sbin - cp $PKG_BUILD/util/mount.fuse $INSTALL/sbin - -mkdir -p $INSTALL/bin - cp $PKG_BUILD/util/fusermount $INSTALL/bin - cp $PKG_BUILD/util/ulockmgr_server $INSTALL/bin - -mkdir -p $INSTALL/lib - cp -P $PKG_BUILD/lib/.libs/*.so* $INSTALL/lib - diff --git a/packages/sysutils/fuse/meta b/packages/sysutils/fuse/meta deleted file mode 100644 index 605d20f9a5..0000000000 --- a/packages/sysutils/fuse/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="fuse" -PKG_VERSION="2.8.6" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://sourceforge.net/projects/fuse/" -PKG_URL="$SOURCEFORGE_SRC/fuse/fuse-2.X/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="libiconv" -PKG_BUILD_DEPENDS="toolchain libiconv" -PKG_PRIORITY="optional" -PKG_SECTION="system" -PKG_SHORTDESC="fuse: A simple user-space filesystem interface for Linux" -PKG_LONGDESC="FUSE provides a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. FUSE also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="yes" diff --git a/packages/sysutils/fuse/patches/fuse-2.8.6-000-clone.patch b/packages/sysutils/fuse/patches/fuse-2.8.6-000-clone.patch deleted file mode 100644 index 08b9293bdf..0000000000 --- a/packages/sysutils/fuse/patches/fuse-2.8.6-000-clone.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur fuse-2.8.6/util/fusermount.c fuse-2.8.6.patch/util/fusermount.c ---- fuse-2.8.6/util/fusermount.c 2011-09-13 09:23:14.000000000 +0200 -+++ fuse-2.8.6.patch/util/fusermount.c 2011-09-18 00:19:46.120163595 +0200 -@@ -7,6 +7,9 @@ - */ - /* This program does the mounting and unmounting of FUSE filesystems */ - -+/* for CLONE_NEWNS in sched.h */ -+#define _GNU_SOURCE -+ - #include - - #include "mount_util.h" diff --git a/packages/sysutils/fuse/patches/fuse-2.8.6-001-Fix-udev-rules-Fedora-specific.patch b/packages/sysutils/fuse/patches/fuse-2.8.6-001-Fix-udev-rules-Fedora-specific.patch deleted file mode 100644 index d4bb54481c..0000000000 --- a/packages/sysutils/fuse/patches/fuse-2.8.6-001-Fix-udev-rules-Fedora-specific.patch +++ /dev/null @@ -1,20 +0,0 @@ -From ba47031f3557b81e732d41593c95e7b984b54b78 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Mon, 9 Aug 2010 12:09:00 +0400 -Subject: [PATCH 1/3] Fix udev rules (Fedora-specific) - -Signed-off-by: Peter Lemenkov ---- - util/udev.rules | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/util/udev.rules b/util/udev.rules -index 9585111..bb8033f 100644 ---- a/util/udev.rules -+++ b/util/udev.rules -@@ -1 +1 @@ --KERNEL=="fuse", MODE="0666" -+KERNEL=="fuse", MODE="0666",OWNER="root",GROUP="root" --- -1.7.3.1 - diff --git a/packages/sysutils/fuse/patches/fuse-2.8.6-002-More-parentheses.patch b/packages/sysutils/fuse/patches/fuse-2.8.6-002-More-parentheses.patch deleted file mode 100644 index bf0eef0a2f..0000000000 --- a/packages/sysutils/fuse/patches/fuse-2.8.6-002-More-parentheses.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 459c84a3e5fda1ef7f7060d44903b31215857e70 Mon Sep 17 00:00:00 2001 -From: Peter Lemenkov -Date: Mon, 9 Aug 2010 12:10:40 +0400 -Subject: [PATCH 2/3] More parentheses - -Signed-off-by: Peter Lemenkov ---- - lib/fuse.c | 8 +++----- - lib/fuse_lowlevel.c | 2 +- - 2 files changed, 4 insertions(+), 6 deletions(-) - -diff --git a/lib/fuse.c b/lib/fuse.c -index 95cf50b..76c2681 100644 ---- a/lib/fuse.c -+++ b/lib/fuse.c -@@ -961,17 +961,15 @@ static int fuse_compat_open(struct fuse_fs *fs, const char *path, - { - int err; - if (!fs->compat || fs->compat >= 25) -- err = fs->op.open(path, fi); -+ err = (fs->op.open)(path, fi); - else if (fs->compat == 22) { - struct fuse_file_info_compat tmp; - memcpy(&tmp, fi, sizeof(tmp)); -- err = ((struct fuse_operations_compat22 *) &fs->op)->open(path, -- &tmp); -+ err = (((struct fuse_operations_compat22 *) &fs->op)->open)(path, &tmp); - memcpy(fi, &tmp, sizeof(tmp)); - fi->fh = tmp.fh; - } else -- err = ((struct fuse_operations_compat2 *) &fs->op) -- ->open(path, fi->flags); -+ err = (((struct fuse_operations_compat2 *) &fs->op)->open)(path, fi->flags); - return err; - } - -diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c -index c519bfb..d6275b5 100644 ---- a/lib/fuse_lowlevel.c -+++ b/lib/fuse_lowlevel.c -@@ -716,7 +716,7 @@ static void do_open(fuse_req_t req, fuse_ino_t nodeid, const void *inarg) - fi.flags = arg->flags; - - if (req->f->op.open) -- req->f->op.open(req, nodeid, &fi); -+ (req->f->op.open)(req, nodeid, &fi); - else - fuse_reply_open(req, &fi); - } --- -1.7.3.1 - diff --git a/packages/sysutils/ifuse/build b/packages/sysutils/ifuse/build deleted file mode 100755 index 5559e24e5b..0000000000 --- a/packages/sysutils/ifuse/build +++ /dev/null @@ -1,30 +0,0 @@ -#!/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 - -cd $PKG_BUILD -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - -make diff --git a/packages/sysutils/ifuse/install b/packages/sysutils/ifuse/install deleted file mode 100755 index 7ed72d809a..0000000000 --- a/packages/sysutils/ifuse/install +++ /dev/null @@ -1,27 +0,0 @@ -#!/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/bin - cp $PKG_BUILD/src/ifuse $INSTALL/usr/bin - diff --git a/packages/sysutils/ifuse/udev.d/91-iphone-automount.rules b/packages/sysutils/ifuse/udev.d/91-iphone-automount.rules deleted file mode 100644 index 5362439727..0000000000 --- a/packages/sysutils/ifuse/udev.d/91-iphone-automount.rules +++ /dev/null @@ -1,43 +0,0 @@ -################################################################################ -# 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 -################################################################################ - -ACTION!="add|remove", GOTO="end" -SUBSYSTEM!="usb", GOTO="end" - -# Detect type of iPhoneOS it is - ENV{PRODUCT}=="5ac/129[1369e]/*", ENV{INTERFACE}=="255/*", ENV{dir_name}="iPod" - ENV{PRODUCT}=="5ac/129[0247]/*", ENV{INTERFACE}=="255/*", ENV{dir_name}="iPhone" - ENV{PRODUCT}=="5ac/129[a]/*", ENV{INTERFACE}=="255/*", ENV{dir_name}="iPad" - - ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[1369e]", ENV{dir_name}="iPod" - ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0247]", ENV{dir_name}="iPhone" - ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[a]", ENV{dir_name}="iPad" - -# mount the device on add - ACTION=="add", ATTR{idVendor}=="05ac", ATTR{idProduct}=="129[0-9a-f]", \ - RUN+="/bin/mkdir -p '/media/%E{dir_name}'", \ - RUN+="/usr/bin/ifuse '/media/%E{dir_name}' -u '%s{serial}' -o sync,allow_other" - -# unmount the device on remove - ACTION=="remove", ENV{PRODUCT}=="5ac/129[0-9a-f]/*", ENV{INTERFACE}=="255/*", \ - RUN+="/bin/umount -l '/media/%E{dir_name}'", \ - RUN+="/bin/rmdir '/media/%E{dir_name}'" - -LABEL="end" diff --git a/packages/sysutils/sshfs-fuse/install b/packages/sysutils/sshfs-fuse/install deleted file mode 100755 index a590424e19..0000000000 --- a/packages/sysutils/sshfs-fuse/install +++ /dev/null @@ -1,26 +0,0 @@ -#!/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/bin - cp $PKG_BUILD/sshfs $INSTALL/usr/bin diff --git a/packages/sysutils/sshfs-fuse/meta b/packages/sysutils/sshfs-fuse/meta deleted file mode 100644 index 2fa0e8058b..0000000000 --- a/packages/sysutils/sshfs-fuse/meta +++ /dev/null @@ -1,36 +0,0 @@ -################################################################################ -# 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="sshfs-fuse" -PKG_VERSION="2.2" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="GPL" -PKG_SITE="http://fuse.sourceforge.net/sshfs.html" -PKG_URL="$SOURCEFORGE_SRC/fuse/files/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="glib fuse" -PKG_BUILD_DEPENDS="toolchain glib fuse" -PKG_PRIORITY="optional" -PKG_SECTION="system" -PKG_SHORTDESC="sshfs-fuse: A filesystem client based on the SSH File Transfer Protocol" -PKG_LONGDESC="This is a filesystem client based on the SSH File Transfer Protocol. Since most SSH servers already support this protocol it is very easy to set up: i.e. on the server side there's nothing to do. On the client side mounting the filesystem is as easy as logging into the server with ssh." -PKG_IS_ADDON="no" - -PKG_AUTORECONF="yes" diff --git a/packages/sysutils/sshfs-fuse/patches/sshfs-fuse-2.2_add_dropbear_compatibility-0.1.patch b/packages/sysutils/sshfs-fuse/patches/sshfs-fuse-2.2_add_dropbear_compatibility-0.1.patch deleted file mode 100644 index 9df53d775a..0000000000 --- a/packages/sysutils/sshfs-fuse/patches/sshfs-fuse-2.2_add_dropbear_compatibility-0.1.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -Naur sshfs-fuse-2.2/sshfs.c sshfs-fuse-2.2.patch/sshfs.c ---- sshfs-fuse-2.2/sshfs.c 2008-10-20 14:10:09.000000000 +0200 -+++ sshfs-fuse-2.2.patch/sshfs.c 2011-03-03 21:23:02.721900708 +0100 -@@ -2920,7 +2920,7 @@ - return 1; - - case KEY_PORT: -- tmp = g_strdup_printf("-oPort=%s", arg + 2); -+ tmp = g_strdup_printf("-p %s", arg + 2); - ssh_add_arg(tmp); - g_free(tmp); - return 0; -@@ -3183,9 +3183,9 @@ - sshfs.ptyfd = -1; - sshfs.ptyslavefd = -1; - ssh_add_arg("ssh"); -- ssh_add_arg("-x"); -- ssh_add_arg("-a"); -- ssh_add_arg("-oClearAllForwardings=yes"); -+// ssh_add_arg("-x"); -+// ssh_add_arg("-a"); -+// ssh_add_arg("-oClearAllForwardings=yes"); - - if (fuse_opt_parse(&args, &sshfs, sshfs_opts, sshfs_opt_proc) == -1 || - parse_workarounds() == -1) diff --git a/packages/toolchain/devel/eglibc/meta b/packages/toolchain/devel/eglibc/meta index d853fe93f7..68bfdde822 100644 --- a/packages/toolchain/devel/eglibc/meta +++ b/packages/toolchain/devel/eglibc/meta @@ -19,12 +19,12 @@ ################################################################################ PKG_NAME="eglibc" -PKG_VERSION="2.13-14178" +PKG_VERSION="2.14-15360" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.eglibc.org/" -PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_DEPENDS="timezone-data" PKG_BUILD_DEPENDS="ccache autotools linux-headers gcc-core" PKG_PRIORITY="optional" diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.13-14178-Handle_DSOs_without_any_dependency_in_ld.so.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.13-14178-Handle_DSOs_without_any_dependency_in_ld.so.patch deleted file mode 100644 index 7d88fc3b77..0000000000 --- a/packages/toolchain/devel/eglibc/patches/eglibc-2.13-14178-Handle_DSOs_without_any_dependency_in_ld.so.patch +++ /dev/null @@ -1,205 +0,0 @@ -From glibc-cvs-return-51051-listarch-glibc-cvs=sources dot redhat dot com at sourceware dot org Mon May 30 16:32:22 2011 -Return-Path: -Delivered-To: listarch-glibc-cvs at sources dot redhat dot com -Received: (qmail 24844 invoked by alias); 30 May 2011 16:32:18 -0000 -Received: (qmail 24805 invoked by uid 321); 30 May 2011 16:32:17 -0000 -Date: 30 May 2011 16:32:15 -0000 -Message-ID: <20110530163215.24780.qmail@sourceware.org> -From: drepper at sourceware dot org -To: glibc-cvs at sourceware dot org -Subject: GNU C Library master sources branch, master, updated. glibc-2.13-254-g6b1e7d1 -X-Git-Refname: refs/heads/master -X-Git-Reftype: branch -X-Git-Oldrev: 4997db742946d08be4378cf91221f558f928bc73 -X-Git-Newrev: 6b1e7d1992cd89032df431c0e0d1418b97e57cd8 -Mailing-List: contact glibc-cvs-help at sourceware dot org; run by ezmlm -Precedence: bulk -List-Id: -List-Archive: -List-Post: -List-Help: , -Sender: glibc-cvs-owner at sourceware dot org -List-Subscribe: -Delivered-To: mailing list glibc-cvs at sourceware dot org - -This is an automated email from the git hooks/post-receive script. It was -generated because a ref change was pushed to the repository containing -the project "GNU C Library master sources". - -The branch, master has been updated - via 6b1e7d1992cd89032df431c0e0d1418b97e57cd8 (commit) - from 4997db742946d08be4378cf91221f558f928bc73 (commit) - -Those revisions listed above that are new to this repository have -not appeared on any other notification email; so we list those -revisions in full, below. - -- Log ----------------------------------------------------------------- -http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=6b1e7d1992cd89032df431c0e0d1418b97e57cd8 - -commit 6b1e7d1992cd89032df431c0e0d1418b97e57cd8 -Author: Ulrich Drepper -Date: Mon May 30 12:31:25 2011 -0400 - - Handle DSOs without any dependency in ld.so - -diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index d3c27f1..0b03b90 100644 ---- a/elf/dl-deps.c -+++ b/elf/dl-deps.c -@@ -617,61 +617,64 @@ Filters not supported with LD_TRACE_PRELINKING")); - map->l_searchlist.r_list[i]->l_reserved = 0; - } - -- /* Now determine the order in which the initialization has to happen. */ -+ /* Sort the initializer list to take dependencies into account. The binary -+ itself will always be initialize last. */ - memcpy (l_initfini, map->l_searchlist.r_list, - nlist * sizeof (struct link_map *)); -- -- /* We can skip looking for the binary itself which is at the front -- of the search list. */ -- assert (nlist > 1); -- i = 1; -- bool seen[nlist]; -- memset (seen, false, nlist * sizeof (seen[0])); -- while (1) -+ if (__builtin_expect (nlist > 1, 1)) - { -- /* Keep track of which object we looked at this round. */ -- seen[i] = true; -- struct link_map *thisp = l_initfini[i]; -- -- /* Find the last object in the list for which the current one is -- a dependency and move the current object behind the object -- with the dependency. */ -- unsigned int k = nlist - 1; -- while (k > i) -+ /* We can skip looking for the binary itself which is at the front -+ of the search list. */ -+ i = 1; -+ bool seen[nlist]; -+ memset (seen, false, nlist * sizeof (seen[0])); -+ while (1) - { -- struct link_map **runp = l_initfini[k]->l_initfini; -- if (runp != NULL) -- /* Look through the dependencies of the object. */ -- while (*runp != NULL) -- if (__builtin_expect (*runp++ == thisp, 0)) -- { -- /* Move the current object to the back past the last -- object with it as the dependency. */ -- memmove (&l_initfini[i], &l_initfini[i + 1], -- (k - i) * sizeof (l_initfini[0])); -- l_initfini[k] = thisp; -- -- if (seen[i + 1]) -+ /* Keep track of which object we looked at this round. */ -+ seen[i] = true; -+ struct link_map *thisp = l_initfini[i]; -+ -+ /* Find the last object in the list for which the current one is -+ a dependency and move the current object behind the object -+ with the dependency. */ -+ unsigned int k = nlist - 1; -+ while (k > i) -+ { -+ struct link_map **runp = l_initfini[k]->l_initfini; -+ if (runp != NULL) -+ /* Look through the dependencies of the object. */ -+ while (*runp != NULL) -+ if (__builtin_expect (*runp++ == thisp, 0)) - { -- ++i; -- goto next_clear; -+ /* Move the current object to the back past the last -+ object with it as the dependency. */ -+ memmove (&l_initfini[i], &l_initfini[i + 1], -+ (k - i) * sizeof (l_initfini[0])); -+ l_initfini[k] = thisp; -+ -+ if (seen[i + 1]) -+ { -+ ++i; -+ goto next_clear; -+ } -+ -+ memmove (&seen[i], &seen[i + 1], -+ (k - i) * sizeof (seen[0])); -+ seen[k] = true; -+ -+ goto next; - } - -- memmove (&seen[i], &seen[i + 1], (k - i) * sizeof (seen[0])); -- seen[k] = true; -+ --k; -+ } - -- goto next; -- } -+ if (++i == nlist) -+ break; -+ next_clear: -+ memset (&seen[i], false, (nlist - i) * sizeof (seen[0])); - -- --k; -+ next:; - } -- -- if (++i == nlist) -- break; -- next_clear: -- memset (&seen[i], false, (nlist - i) * sizeof (seen[0])); -- -- next:; - } - - /* Terminate the list of dependencies. */ -diff --git a/elf/dl-fini.c b/elf/dl-fini.c -index ba6c62a..269bcec 100644 ---- a/elf/dl-fini.c -+++ b/elf/dl-fini.c -@@ -33,9 +33,12 @@ internal_function - _dl_sort_fini (struct link_map *l, struct link_map **maps, size_t nmaps, - char *used, Lmid_t ns) - { -+ /* A list of one element need not be sorted. */ -+ if (nmaps == 1) -+ return; -+ - /* We can skip looking for the binary itself which is at the front - of the search list for the main namespace. */ -- assert (nmaps > 1); - unsigned int i = ns == LM_ID_BASE; - bool seen[nmaps]; - memset (seen, false, nmaps * sizeof (seen[0])); -@@ -195,9 +198,8 @@ _dl_fini (void) - assert (ns == LM_ID_BASE || i == nloaded || i == nloaded - 1); - nmaps = i; - -- if (nmaps > 1) -- /* Now we have to do the sorting. */ -- _dl_sort_fini (GL(dl_ns)[ns]._ns_loaded, maps, nmaps, NULL, ns); -+ /* Now we have to do the sorting. */ -+ _dl_sort_fini (GL(dl_ns)[ns]._ns_loaded, maps, nmaps, NULL, ns); - - /* We do not rely on the linked list of loaded object anymore from - this point on. We have our own list here (maps). The various - ------------------------------------------------------------------------ - -Summary of changes: - ChangeLog | 6 ++++ - NEWS | 4 +- - elf/dl-deps.c | 93 +++++++++++++++++++++++++++++--------------------------- - elf/dl-fini.c | 10 ++++-- - elf/rtld.c | 1 - - 5 files changed, 62 insertions(+), 52 deletions(-) - - -hooks/post-receive --- -GNU C Library master sources - diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-bad-fix.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-bad-fix.patch new file mode 100644 index 0000000000..1f67b780eb --- /dev/null +++ b/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-bad-fix.patch @@ -0,0 +1,137 @@ +From 675155e9084e060fd0e1e637b843f14e82898aa5 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Wed, 22 Sep 2010 12:06:30 +0200 +Subject: [PATCH] Fix memory leak on init/fini dependency list + +diff --git a/elf/dl-close.c b/elf/dl-close.c +index 73b2a2f..9bd91e3 100644 +--- a/elf/dl-close.c ++++ b/elf/dl-close.c +@@ -1,5 +1,5 @@ + /* Close a shared object opened by `_dl_open'. +- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) + if (map->l_direct_opencount > 0 || map->l_type != lt_loaded + || dl_close_state != not_pending) + { +- if (map->l_direct_opencount == 0) +- { +- if (map->l_type == lt_loaded) +- dl_close_state = rerun; +- else if (map->l_type == lt_library) +- { +- struct link_map **oldp = map->l_initfini; +- map->l_initfini = map->l_orig_initfini; +- _dl_scope_free (oldp); +- } +- } ++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded) ++ dl_close_state = rerun; + + /* There are still references to this object. Do nothing more. */ + if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) +diff --git a/elf/dl-deps.c b/elf/dl-deps.c +index 9e30594..3890d00 100644 +--- a/elf/dl-deps.c ++++ b/elf/dl-deps.c +@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, + nneeded * sizeof needed[0]); + atomic_write_barrier (); + l->l_initfini = l_initfini; ++ l->l_free_initfini = 1; + } + + /* If we have no auxiliary objects just go on to the next map. */ +@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING")); + l_initfini[nlist] = NULL; + atomic_write_barrier (); + map->l_initfini = l_initfini; ++ map->l_free_initfini = 1; + if (l_reldeps != NULL) + { + atomic_write_barrier (); +@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING")); + _dl_scope_free (old_l_reldeps); + } + if (old_l_initfini != NULL) +- map->l_orig_initfini = old_l_initfini; ++ _dl_scope_free (old_l_initfini); + } +diff --git a/elf/dl-libc.c b/elf/dl-libc.c +index 7be9483..a13fce3 100644 +--- a/elf/dl-libc.c ++++ b/elf/dl-libc.c +@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) + + for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) + { +- /* Remove all additional names added to the objects. */ + for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) + { + struct libname_list *lnp = l->l_libname->next; + + l->l_libname->next = NULL; + ++ /* Remove all additional names added to the objects. */ + while (lnp != NULL) + { + struct libname_list *old = lnp; +@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem) + if (! old->dont_free) + free (old); + } ++ ++ /* Free the initfini dependency list. */ ++ if (l->l_free_initfini) ++ free (l->l_initfini); + } + + if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 +diff --git a/elf/rtld.c b/elf/rtld.c +index 4a9109e..617e30e 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + lnp->dont_free = 1; + lnp = lnp->next; + } ++ l->l_free_initfini = 0; + + if (l != &GL(dl_rtld_map)) + _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, +diff --git a/include/link.h b/include/link.h +index e877104..051b99a 100644 +--- a/include/link.h ++++ b/include/link.h +@@ -1,6 +1,6 @@ + /* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. +- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -192,6 +192,9 @@ struct link_map + during LD_TRACE_PRELINKING=1 + contains any DT_SYMBOLIC + libraries. */ ++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be ++ freed, ie. not allocated with ++ the dummy malloc in ld.so. */ + + /* Collected information about own RPATH directories. */ + struct r_search_path_struct l_rpath_dirs; +@@ -240,9 +243,6 @@ struct link_map + + /* List of object in order of the init and fini calls. */ + struct link_map **l_initfini; +- /* The init and fini list generated at startup, saved when the +- object is also loaded dynamically. */ +- struct link_map **l_orig_initfini; + + /* List of the dependencies introduced through symbol binding. */ + struct link_map_reldeps diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.13-14178-libgcc_eh-1.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-libgcc_eh-1.patch similarity index 100% rename from packages/toolchain/devel/eglibc/patches/eglibc-2.13-14178-libgcc_eh-1.patch rename to packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-libgcc_eh-1.patch diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-restore-rpc+nis.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-restore-rpc+nis.patch new file mode 100644 index 0000000000..4d56a40358 --- /dev/null +++ b/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-restore-rpc+nis.patch @@ -0,0 +1,59 @@ +diff -Naur eglibc-2.14-15360/include/libc-symbols.h eglibc-2.14-15360.patch/include/libc-symbols.h +--- eglibc-2.14-15360/include/libc-symbols.h 2011-09-17 16:13:20.000000000 +0200 ++++ eglibc-2.14-15360.patch/include/libc-symbols.h 2011-09-18 19:00:16.559302295 +0200 +@@ -656,7 +656,7 @@ + # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) + # define libc_hidden_def(name) hidden_def (name) + # define libc_hidden_weak(name) hidden_weak (name) +-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) ++# define libc_hidden_nolink(name, version) hidden_def (name) + # define libc_hidden_ver(local, name) hidden_ver (local, name) + # define libc_hidden_data_def(name) hidden_data_def (name) + # define libc_hidden_data_weak(name) hidden_data_weak (name) +diff -Naur eglibc-2.14-15360/nis/Makefile eglibc-2.14-15360.patch/nis/Makefile +--- eglibc-2.14-15360/nis/Makefile 2011-09-17 16:13:06.000000000 +0200 ++++ eglibc-2.14-15360.patch/nis/Makefile 2011-09-18 19:00:16.526301845 +0200 +@@ -25,9 +25,9 @@ + + aux := nis_hash + ++headers := $(wildcard rpcsvc/*.[hx]) + distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ +- nisplus-parser.h nis_xdr.h nss \ +- $(wildcard rpcsvc/*.[hx]) ++ nisplus-parser.h nis_xdr.h nss + + # These are the databases available for the nis (and perhaps later nisplus) + # service. This must be a superset of the services in nss. +@@ -78,6 +78,8 @@ + + include ../Rules + ++CFLAGS-nis_findserv.c += -fno-strict-aliasing ++CFLAGS-ypclnt.c += -fno-strict-aliasing + + $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version) + $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ +diff -Naur eglibc-2.14-15360/sunrpc/Makefile eglibc-2.14-15360.patch/sunrpc/Makefile +--- eglibc-2.14-15360/sunrpc/Makefile 2011-09-17 16:13:12.000000000 +0200 ++++ eglibc-2.14-15360.patch/sunrpc/Makefile 2011-09-18 19:01:31.772325016 +0200 +@@ -55,7 +55,7 @@ + des_crypt.h) + headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +-headers = rpc/netdb.h ++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc) + generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ + $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen + generated-dirs := rpcsvc +@@ -165,6 +165,10 @@ + + CPPFLAGS += -D_RPC_THREAD_SAFE_ + ++CFLAGS-clnt_tcp.c += -fno-strict-aliasing ++CFLAGS-clnt_udp.c += -fno-strict-aliasing ++CFLAGS-clnt_unix.c += -fno-strict-aliasing ++ + $(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so + $(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so + $(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.13-14178-select_fd_type.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-select_fd_type.patch similarity index 100% rename from packages/toolchain/devel/eglibc/patches/eglibc-2.13-14178-select_fd_type.patch rename to packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-select_fd_type.patch diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index a33fdf9ed7..be91d507d6 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -549,7 +549,11 @@ CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE_DEMUX is not set # CONFIG_IP_MROUTE is not set @@ -773,7 +777,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # DRBD disabled because PROC_FS, INET or CONNECTOR not selected # -# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y @@ -2070,7 +2074,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set @@ -2497,6 +2501,7 @@ CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y # CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set diff --git a/projects/ATV/options b/projects/ATV/options index c01cf9401a..50d3b16ba1 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -1,5 +1,5 @@ # Name of the Distro to build (full name, without special charcters) - DISTRONAME="OpenELEC" + DISTRONAME="OpenELEC_EDEN" # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="##############################################" @@ -107,6 +107,8 @@ MEDIACENTER="xbmc" # Skins to install (Confluence) +# Space separated list is supported, +# e.g. SKINS="Confluence" SKINS="Confluence" # Default Skin (Confluence) @@ -121,11 +123,14 @@ XBMC_PLUGINS="" # build and install 'RSXS' Screensaver (yes / no) - XBMC_SCR_RSXS="no" + XBMC_SCR_RSXS="yes" # build and install 'ProjectM' Visualization (yes / no) XBMC_VIS_PROJECTM="yes" +# build and install 'GOOM' Visualization (yes / no) + XBMC_VIS_GOOM="yes" + # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" @@ -150,15 +155,24 @@ # build with network support (yes / no) NETWORK="yes" -# build with netmount (mounting network drives on boot) support (yes / no) - NETMOUNT="yes" - # build and install with XBMC webfrontend (yes / no) WEBSERVER="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" +# build with AirPlay support (stream videos from iDevices to XBMC) (yes / no) + AIRPLAY_SUPPORT="yes" + +# build with AirTunes support (stream music from iDevices to XBMC) (yes / no) + AIRTUNES_SUPPORT="yes" + +# build with libnfs support (mounting nfs shares with XBMC) (yes / no) + NFS_SUPPORT="yes" + +# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no) + AFP_SUPPORT="yes" + # build and install Samba Client support (yes / no) SAMBA_CLIENT="yes" @@ -185,9 +199,6 @@ # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" -# build and install Apple device mount support (via ifuse) (yes / no) - APPLEMOUNT="yes" - # Displayserver to use (xorg-server / no) DISPLAYSERVER="xorg-server" @@ -221,6 +232,9 @@ # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="yes" +# build and install CEC adapter support (yes / no) + CEC_SUPPORT="yes" + # LCD driver to Use - Possible drivers are ( Comma seperated: # bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx, # ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd, diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index cd85960931..a00dfdd40b 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -2313,7 +2313,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set diff --git a/projects/Fusion/linux/linux.x86_64.conf b/projects/Fusion/linux/linux.x86_64.conf index 2aaa6dd471..b8d83dba51 100644 --- a/projects/Fusion/linux/linux.x86_64.conf +++ b/projects/Fusion/linux/linux.x86_64.conf @@ -2264,7 +2264,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set diff --git a/projects/Fusion/options b/projects/Fusion/options index 15d9eac67a..079a7121ed 100644 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -1,5 +1,5 @@ # Name of the Distro to build (full name, without special charcters) - DISTRONAME="OpenELEC" + DISTRONAME="OpenELEC_EDEN" # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="##############################################" @@ -107,6 +107,8 @@ MEDIACENTER="xbmc" # Skins to install (Confluence) +# Space separated list is supported, +# e.g. SKINS="Confluence" SKINS="Confluence" # Default Skin (Confluence) @@ -121,11 +123,14 @@ XBMC_PLUGINS="" # build and install 'RSXS' Screensaver (yes / no) - XBMC_SCR_RSXS="no" + XBMC_SCR_RSXS="yes" # build and install 'ProjectM' Visualization (yes / no) XBMC_VIS_PROJECTM="yes" +# build and install 'GOOM' Visualization (yes / no) + XBMC_VIS_GOOM="yes" + # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" @@ -150,15 +155,24 @@ # build with network support (yes / no) NETWORK="yes" -# build with netmount (mounting network drives on boot) support (yes / no) - NETMOUNT="yes" - # build and install with XBMC webfrontend (yes / no) WEBSERVER="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" +# build with AirPlay support (stream videos from iDevices to XBMC) (yes / no) + AIRPLAY_SUPPORT="yes" + +# build with AirTunes support (stream music from iDevices to XBMC) (yes / no) + AIRTUNES_SUPPORT="yes" + +# build with libnfs support (mounting nfs shares with XBMC) (yes / no) + NFS_SUPPORT="yes" + +# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no) + AFP_SUPPORT="yes" + # build and install Samba Client support (yes / no) SAMBA_CLIENT="yes" @@ -185,9 +199,6 @@ # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" -# build and install Apple device mount support (via ifuse) (yes / no) - APPLEMOUNT="yes" - # Displayserver to use (xorg-server / no) DISPLAYSERVER="xorg-server" @@ -221,6 +232,9 @@ # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no" +# build and install CEC adapter support (yes / no) + CEC_SUPPORT="yes" + # LCD driver to Use - Possible drivers are ( Comma seperated: # bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx, # ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd, diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index 3102d0d946..d8119d1509 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -564,7 +564,11 @@ CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE_DEMUX is not set # CONFIG_IP_MROUTE is not set @@ -789,7 +793,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # DRBD disabled because PROC_FS, INET or CONNECTOR not selected # -# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y @@ -2491,7 +2495,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set @@ -3004,6 +3008,7 @@ CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y # CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set diff --git a/projects/Generic/options b/projects/Generic/options index 3edb183a37..c3c753166a 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -1,5 +1,5 @@ # Name of the Distro to build (full name, without special charcters) - DISTRONAME="OpenELEC" + DISTRONAME="OpenELEC_EDEN" # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="##############################################" @@ -109,8 +109,10 @@ # Skins to install (Confluence) SKINS="Confluence" -# Default Skin (Confluence) - SKIN_DEFAULT="Confluence" +# Skins to install (Confluence) +# Space separated list is supported, +# e.g. SKINS="Confluence" + SKINS="Confluence" # install extra subtitle Fonts for XBMC (yes / no) XBMC_EXTRA_FONTS="yes" @@ -121,11 +123,14 @@ XBMC_PLUGINS="" # build and install 'RSXS' Screensaver (yes / no) - XBMC_SCR_RSXS="no" + XBMC_SCR_RSXS="yes" # build and install 'ProjectM' Visualization (yes / no) XBMC_VIS_PROJECTM="yes" +# build and install 'GOOM' Visualization (yes / no) + XBMC_VIS_GOOM="yes" + # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" @@ -150,15 +155,24 @@ # build with network support (yes / no) NETWORK="yes" -# build with netmount (mounting network drives on boot) support (yes / no) - NETMOUNT="yes" - # build and install with XBMC webfrontend (yes / no) WEBSERVER="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" +# build with AirPlay support (stream videos from iDevices to XBMC) (yes / no) + AIRPLAY_SUPPORT="yes" + +# build with AirTunes support (stream music from iDevices to XBMC) (yes / no) + AIRTUNES_SUPPORT="yes" + +# build with libnfs support (mounting nfs shares with XBMC) (yes / no) + NFS_SUPPORT="yes" + +# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no) + AFP_SUPPORT="yes" + # build and install Samba Client support (yes / no) SAMBA_CLIENT="yes" @@ -185,9 +199,6 @@ # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" -# build and install Apple device mount support (via ifuse) (yes / no) - APPLEMOUNT="yes" - # Displayserver to use (xorg-server / no) DISPLAYSERVER="xorg-server" @@ -221,6 +232,9 @@ # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="yes" +# build and install CEC adapter support (yes / no) + CEC_SUPPORT="yes" + # LCD driver to Use - Possible drivers are ( Comma seperated: # bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx, # ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd, diff --git a/projects/Generic_OSS/linux/linux.i386.conf b/projects/Generic_OSS/linux/linux.i386.conf index b5e4d0922f..0b0dd06490 100644 --- a/projects/Generic_OSS/linux/linux.i386.conf +++ b/projects/Generic_OSS/linux/linux.i386.conf @@ -2493,7 +2493,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set diff --git a/projects/Generic_OSS/options b/projects/Generic_OSS/options index 5696b17aa2..0c61eeb2c6 100644 --- a/projects/Generic_OSS/options +++ b/projects/Generic_OSS/options @@ -1,5 +1,5 @@ # Name of the Distro to build (full name, without special charcters) - DISTRONAME="OpenELEC" + DISTRONAME="OpenELEC_EDEN" # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="##############################################" @@ -109,8 +109,10 @@ # Skins to install (Confluence) SKINS="Confluence" -# Default Skin (Confluence) - SKIN_DEFAULT="Confluence" +# Skins to install (Confluence) +# Space separated list is supported, +# e.g. SKINS="Confluence" + SKINS="Confluence" # install extra subtitle Fonts for XBMC (yes / no) XBMC_EXTRA_FONTS="yes" @@ -121,11 +123,14 @@ XBMC_PLUGINS="" # build and install 'RSXS' Screensaver (yes / no) - XBMC_SCR_RSXS="no" + XBMC_SCR_RSXS="yes" # build and install 'ProjectM' Visualization (yes / no) XBMC_VIS_PROJECTM="yes" +# build and install 'GOOM' Visualization (yes / no) + XBMC_VIS_GOOM="yes" + # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" @@ -150,15 +155,24 @@ # build with network support (yes / no) NETWORK="yes" -# build with netmount (mounting network drives on boot) support (yes / no) - NETMOUNT="yes" - # build and install with XBMC webfrontend (yes / no) WEBSERVER="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" +# build with AirPlay support (stream videos from iDevices to XBMC) (yes / no) + AIRPLAY_SUPPORT="yes" + +# build with AirTunes support (stream music from iDevices to XBMC) (yes / no) + AIRTUNES_SUPPORT="yes" + +# build with libnfs support (mounting nfs shares with XBMC) (yes / no) + NFS_SUPPORT="yes" + +# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no) + AFP_SUPPORT="yes" + # build and install Samba Client support (yes / no) SAMBA_CLIENT="yes" @@ -185,9 +199,6 @@ # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" -# build and install Apple device mount support (via ifuse) (yes / no) - APPLEMOUNT="yes" - # Displayserver to use (xorg-server / no) DISPLAYSERVER="xorg-server" @@ -221,6 +232,9 @@ # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="yes" +# build and install CEC adapter support (yes / no) + CEC_SUPPORT="yes" + # LCD driver to Use - Possible drivers are ( Comma seperated: # bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx, # ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd, diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index e99b0bc869..fd4e9a6d93 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -551,7 +551,11 @@ CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE_DEMUX is not set # CONFIG_IP_MROUTE is not set @@ -776,7 +780,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # DRBD disabled because PROC_FS, INET or CONNECTOR not selected # -# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y @@ -2342,7 +2346,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set @@ -2802,6 +2806,7 @@ CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y # CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index 076f3f2d53..653cd0c780 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -506,7 +506,11 @@ CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE_DEMUX is not set # CONFIG_IP_MROUTE is not set @@ -733,7 +737,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # DRBD disabled because PROC_FS, INET or CONNECTOR not selected # -# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y @@ -2284,7 +2288,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set @@ -2754,6 +2758,7 @@ CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y # CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set diff --git a/projects/ION/options b/projects/ION/options index eb1b9fda13..e628b802f9 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -1,5 +1,5 @@ # Name of the Distro to build (full name, without special charcters) - DISTRONAME="OpenELEC" + DISTRONAME="OpenELEC_EDEN" # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="##############################################" @@ -107,6 +107,8 @@ MEDIACENTER="xbmc" # Skins to install (Confluence) +# Space separated list is supported, +# e.g. SKINS="Confluence" SKINS="Confluence" # Default Skin (Confluence) @@ -121,11 +123,14 @@ XBMC_PLUGINS="" # build and install 'RSXS' Screensaver (yes / no) - XBMC_SCR_RSXS="no" + XBMC_SCR_RSXS="yes" # build and install 'ProjectM' Visualization (yes / no) XBMC_VIS_PROJECTM="yes" +# build and install 'GOOM' Visualization (yes / no) + XBMC_VIS_GOOM="yes" + # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" @@ -150,15 +155,24 @@ # build with network support (yes / no) NETWORK="yes" -# build with netmount (mounting network drives on boot) support (yes / no) - NETMOUNT="yes" - # build and install with XBMC webfrontend (yes / no) WEBSERVER="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" +# build with AirPlay support (stream videos from iDevices to XBMC) (yes / no) + AIRPLAY_SUPPORT="yes" + +# build with AirTunes support (stream music from iDevices to XBMC) (yes / no) + AIRTUNES_SUPPORT="yes" + +# build with libnfs support (mounting nfs shares with XBMC) (yes / no) + NFS_SUPPORT="yes" + +# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no) + AFP_SUPPORT="yes" + # build and install Samba Client support (yes / no) SAMBA_CLIENT="yes" @@ -185,9 +199,6 @@ # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" -# build and install Apple device mount support (via ifuse) (yes / no) - APPLEMOUNT="yes" - # Displayserver to use (xorg-server / no) DISPLAYSERVER="xorg-server" @@ -221,6 +232,9 @@ # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no" +# build and install CEC adapter support (yes / no) + CEC_SUPPORT="yes" + # LCD driver to Use - Possible drivers are ( Comma seperated: # bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx, # ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd, diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf index 78534dee90..fc0f3b8f6e 100644 --- a/projects/Intel/linux/linux.i386.conf +++ b/projects/Intel/linux/linux.i386.conf @@ -553,7 +553,11 @@ CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE_DEMUX is not set # CONFIG_IP_MROUTE is not set @@ -778,7 +782,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # DRBD disabled because PROC_FS, INET or CONNECTOR not selected # -# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y @@ -2398,7 +2402,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set @@ -2868,6 +2872,7 @@ CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y # CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf index 5cc1cb5dfb..7571226928 100644 --- a/projects/Intel/linux/linux.x86_64.conf +++ b/projects/Intel/linux/linux.x86_64.conf @@ -509,7 +509,11 @@ CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE_DEMUX is not set # CONFIG_IP_MROUTE is not set @@ -736,7 +740,7 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # # DRBD disabled because PROC_FS, INET or CONNECTOR not selected # -# CONFIG_BLK_DEV_NBD is not set +CONFIG_BLK_DEV_NBD=y # CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y @@ -2345,7 +2349,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set @@ -2816,6 +2820,7 @@ CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set CONFIG_NFS_V4=y # CONFIG_NFS_V4_1 is not set +CONFIG_ROOT_NFS=y # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y # CONFIG_NFS_USE_NEW_IDMAPPER is not set diff --git a/projects/Intel/options b/projects/Intel/options index 2756534ec7..ba6e55ac4d 100644 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -1,5 +1,5 @@ # Name of the Distro to build (full name, without special charcters) - DISTRONAME="OpenELEC" + DISTRONAME="OpenELEC_EDEN" # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="##############################################" @@ -107,6 +107,8 @@ MEDIACENTER="xbmc" # Skins to install (Confluence) +# Space separated list is supported, +# e.g. SKINS="Confluence" SKINS="Confluence" # Default Skin (Confluence) @@ -121,11 +123,14 @@ XBMC_PLUGINS="" # build and install 'RSXS' Screensaver (yes / no) - XBMC_SCR_RSXS="no" + XBMC_SCR_RSXS="yes" # build and install 'ProjectM' Visualization (yes / no) XBMC_VIS_PROJECTM="yes" +# build and install 'GOOM' Visualization (yes / no) + XBMC_VIS_GOOM="yes" + # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" @@ -150,15 +155,24 @@ # build with network support (yes / no) NETWORK="yes" -# build with netmount (mounting network drives on boot) support (yes / no) - NETMOUNT="yes" - # build and install with XBMC webfrontend (yes / no) WEBSERVER="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" +# build with AirPlay support (stream videos from iDevices to XBMC) (yes / no) + AIRPLAY_SUPPORT="yes" + +# build with AirTunes support (stream music from iDevices to XBMC) (yes / no) + AIRTUNES_SUPPORT="yes" + +# build with libnfs support (mounting nfs shares with XBMC) (yes / no) + NFS_SUPPORT="yes" + +# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no) + AFP_SUPPORT="yes" + # build and install Samba Client support (yes / no) SAMBA_CLIENT="yes" @@ -185,9 +199,6 @@ # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" -# build and install Apple device mount support (via ifuse) (yes / no) - APPLEMOUNT="yes" - # Displayserver to use (xorg-server / no) DISPLAYSERVER="xorg-server" @@ -221,6 +232,9 @@ # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no" +# build and install CEC adapter support (yes / no) + CEC_SUPPORT="yes" + # LCD driver to Use - Possible drivers are ( Comma seperated: # bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx, # ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd, diff --git a/projects/Ultra/linux/linux.x86_64.conf b/projects/Ultra/linux/linux.x86_64.conf index b856f035b1..95ccbe7cc8 100644 --- a/projects/Ultra/linux/linux.x86_64.conf +++ b/projects/Ultra/linux/linux.x86_64.conf @@ -2138,7 +2138,7 @@ CONFIG_USB_UHCI_HCD=y # # USB Device Class drivers # -# CONFIG_USB_ACM is not set +CONFIG_USB_ACM=m # CONFIG_USB_PRINTER is not set # CONFIG_USB_WDM is not set # CONFIG_USB_TMC is not set diff --git a/projects/Ultra/options b/projects/Ultra/options index ce14da3c00..0a24018ba0 100644 --- a/projects/Ultra/options +++ b/projects/Ultra/options @@ -1,5 +1,5 @@ # Name of the Distro to build (full name, without special charcters) - DISTRONAME="OpenELEC" + DISTRONAME="OpenELEC_EDEN" # Welcome Message for e.g. SSH Server (up to 5 Lines) GREATING0="##############################################" @@ -107,6 +107,8 @@ MEDIACENTER="xbmc" # Skins to install (Confluence) +# Space separated list is supported, +# e.g. SKINS="Confluence" SKINS="Confluence" # Default Skin (Confluence) @@ -121,11 +123,14 @@ XBMC_PLUGINS="" # build and install 'RSXS' Screensaver (yes / no) - XBMC_SCR_RSXS="no" + XBMC_SCR_RSXS="yes" # build and install 'ProjectM' Visualization (yes / no) XBMC_VIS_PROJECTM="yes" +# build and install 'GOOM' Visualization (yes / no) + XBMC_VIS_GOOM="yes" + # build and install PulseAudio support (yes / no) PULSEAUDIO_SUPPORT="no" @@ -150,15 +155,24 @@ # build with network support (yes / no) NETWORK="yes" -# build with netmount (mounting network drives on boot) support (yes / no) - NETMOUNT="yes" - # build and install with XBMC webfrontend (yes / no) WEBSERVER="yes" # build and install Avahi (Zeroconf) daemon (yes / no) AVAHI_DAEMON="yes" +# build with AirPlay support (stream videos from iDevices to XBMC) (yes / no) + AIRPLAY_SUPPORT="yes" + +# build with AirTunes support (stream music from iDevices to XBMC) (yes / no) + AIRTUNES_SUPPORT="yes" + +# build and install with NFS mount support in XBMC (yes / no) + NFS_SUPPORT="yes" + +# build with afpfs-ng support (mounting AFP shares with XBMC) (yes / no) + AFP_SUPPORT="yes" + # build and install Samba Client support (yes / no) SAMBA_CLIENT="yes" @@ -185,9 +199,6 @@ # build and install hfs filesystem utilities (yes / no) HFSTOOLS="yes" -# build and install Apple device mount support (via ifuse) (yes / no) - APPLEMOUNT="yes" - # Displayserver to use (xorg-server / no) DISPLAYSERVER="xorg-server" @@ -221,6 +232,9 @@ # build and install ATV IR remote support (yes / no) ATVCLIENT_SUPPORT="no" +# build and install CEC adapter support (yes / no) + CEC_SUPPORT="yes" + # LCD driver to Use - Possible drivers are ( Comma seperated: # bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx, # ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd, diff --git a/scripts/image b/scripts/image index 6485ffaa63..f2ae1a0bd7 100755 --- a/scripts/image +++ b/scripts/image @@ -124,9 +124,6 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION" # NTFS 3G support [ "$NTFS3G" = "yes" ] && $SCRIPTS/install ntfs-3g_ntfsprogs -# Apple mount (ifuse) support - [ "$APPLEMOUNT" = "yes" ] && $SCRIPTS/install ifuse - # Remote support [ "$REMOTE_SUPPORT" = "yes" ] && $SCRIPTS/install remote diff --git a/tools/mkpkg/mkpkg_Mesa-7.11 b/tools/mkpkg/mkpkg_Mesa-7.11 deleted file mode 100755 index 21e01f89f1..0000000000 --- a/tools/mkpkg/mkpkg_Mesa-7.11 +++ /dev/null @@ -1,43 +0,0 @@ -#!/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 -################################################################################ - -echo "getting sources..." - if [ ! -d Mesa-7.11.git ]; then - git clone git://anongit.freedesktop.org/mesa/mesa -b 7.11 Mesa-7.11.git - fi - - cd Mesa-7.11.git - git pull - GIT_REV=`git log -n1 --format=%h` - cd .. - -echo "copying sources..." - rm -rf Mesa-7.11-$GIT_REV - cp -R Mesa-7.11.git Mesa-7.11-$GIT_REV - -echo "cleaning sources..." - rm -rf Mesa-7.11-$GIT_REV/.git - -echo "packing sources..." - tar cvJf Mesa-7.11-$GIT_REV.tar.xz Mesa-7.11-$GIT_REV - -echo "remove temporary sourcedir..." - rm -rf Mesa-7.11-$GIT_REV diff --git a/tools/mkpkg/mkpkg_eglibc-2.12 b/tools/mkpkg/mkpkg_eglibc-2.12 deleted file mode 100755 index 316d223945..0000000000 --- a/tools/mkpkg/mkpkg_eglibc-2.12 +++ /dev/null @@ -1,45 +0,0 @@ -#!/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 -################################################################################ - -echo "getting sources..." - svn co svn://svn.eglibc.org/branches/eglibc-2_12/libc eglibc-2.12-latest - svn co svn://svn.eglibc.org/branches/eglibc-2_12/ports eglibc-2.12-latest/ports - svn co svn://svn.eglibc.org/branches/eglibc-2_12/linuxthreads/linuxthreads eglibc-2.12-latest/linuxthreads - svn co svn://svn.eglibc.org/branches/eglibc-2_12/linuxthreads/linuxthreads_db eglibc-2.12-latest/linuxthreads_db - -echo "getting version..." - cd eglibc-2.12-latest - SVN_REV=`LANG=C svn info 2>/dev/null | grep Revision: | sed -e 's/.*\: //'` - echo $SVN_REV - cd .. - -echo "copying sources..." - rm -rf eglibc-2.12-$SVN_REV - cp -R eglibc-2.12-latest eglibc-2.12-$SVN_REV - -echo "cleaning sources..." - find eglibc-2.12-$SVN_REV -name .svn -exec rm -rf {} ";" - -echo "packing sources..." - tar cvjf eglibc-2.12-$SVN_REV.tar.bz2 eglibc-2.12-$SVN_REV - -echo "remove temporary sourcedir..." - rm -rf eglibc-2.12-$SVN_REV diff --git a/tools/mkpkg/mkpkg_eglibc-2.13 b/tools/mkpkg/mkpkg_eglibc-2.13 deleted file mode 100755 index 93c64c1293..0000000000 --- a/tools/mkpkg/mkpkg_eglibc-2.13 +++ /dev/null @@ -1,45 +0,0 @@ -#!/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 -################################################################################ - -echo "getting sources..." - svn co svn://svn.eglibc.org/branches/eglibc-2_13/libc eglibc-2.13-latest - svn co svn://svn.eglibc.org/branches/eglibc-2_13/ports eglibc-2.13-latest/ports - svn co svn://svn.eglibc.org/branches/eglibc-2_13/linuxthreads/linuxthreads eglibc-2.13-latest/linuxthreads - svn co svn://svn.eglibc.org/branches/eglibc-2_13/linuxthreads/linuxthreads_db eglibc-2.13-latest/linuxthreads_db - -echo "getting version..." - cd eglibc-2.13-latest - SVN_REV=`LANG=C svn info 2>/dev/null | grep Revision: | sed -e 's/.*\: //'` - echo $SVN_REV - cd .. - -echo "copying sources..." - rm -rf eglibc-2.13-$SVN_REV - cp -R eglibc-2.13-latest eglibc-2.13-$SVN_REV - -echo "cleaning sources..." - find eglibc-2.13-$SVN_REV -name .svn -exec rm -rf {} ";" - -echo "packing sources..." - tar cvjf eglibc-2.13-$SVN_REV.tar.bz2 eglibc-2.13-$SVN_REV - -echo "remove temporary sourcedir..." - rm -rf eglibc-2.13-$SVN_REV diff --git a/tools/mkpkg/mkpkg_eglibc-localedef-2.12 b/tools/mkpkg/mkpkg_eglibc-2.14 similarity index 67% rename from tools/mkpkg/mkpkg_eglibc-localedef-2.12 rename to tools/mkpkg/mkpkg_eglibc-2.14 index fc38e970bb..6ba13b3c6c 100755 --- a/tools/mkpkg/mkpkg_eglibc-localedef-2.12 +++ b/tools/mkpkg/mkpkg_eglibc-2.14 @@ -20,23 +20,26 @@ ################################################################################ echo "getting sources..." - svn co svn://svn.eglibc.org/branches/eglibc-2_12/localedef eglibc-localedef-2.12-latest + svn co svn://svn.eglibc.org/branches/eglibc-2_14/libc eglibc-2.14-latest + svn co svn://svn.eglibc.org/branches/eglibc-2_14/ports eglibc-2.14-latest/ports + svn co svn://svn.eglibc.org/branches/eglibc-2_14/linuxthreads/linuxthreads eglibc-2.14-latest/linuxthreads + svn co svn://svn.eglibc.org/branches/eglibc-2_14/linuxthreads/linuxthreads_db eglibc-2.14-latest/linuxthreads_db echo "getting version..." - cd eglibc-localedef-2.12-latest + cd eglibc-2.14-latest SVN_REV=`LANG=C svn info 2>/dev/null | grep Revision: | sed -e 's/.*\: //'` echo $SVN_REV cd .. echo "copying sources..." - rm -rf eglibc-localedef-2.12-$SVN_REV - cp -R eglibc-localedef-2.12-latest eglibc-localedef-2.12-$SVN_REV + rm -rf eglibc-2.14-$SVN_REV + cp -R eglibc-2.14-latest eglibc-2.14-$SVN_REV echo "cleaning sources..." - find eglibc-localedef-2.12-$SVN_REV -name .svn -exec rm -rf {} ";" + find eglibc-2.14-$SVN_REV -name .svn -exec rm -rf {} ";" echo "packing sources..." - tar cvjf eglibc-localedef-2.12-$SVN_REV.tar.bz2 eglibc-localedef-2.12-$SVN_REV + tar cvJf eglibc-2.14-$SVN_REV.tar.xz eglibc-2.14-$SVN_REV echo "remove temporary sourcedir..." - rm -rf eglibc-localedef-2.12-$SVN_REV + rm -rf eglibc-2.14-$SVN_REV diff --git a/tools/mkpkg/mkpkg_airplayer b/tools/mkpkg/mkpkg_libcec similarity index 80% rename from tools/mkpkg/mkpkg_airplayer rename to tools/mkpkg/mkpkg_libcec index 15a0d71a1e..2e15a5f8e0 100755 --- a/tools/mkpkg/mkpkg_airplayer +++ b/tools/mkpkg/mkpkg_libcec @@ -20,24 +20,24 @@ ################################################################################ echo "getting sources..." - if [ ! -d Airplayer.git ]; then - git clone git://github.com/PascalW/Airplayer.git Airplayer.git + if [ ! -d libcec.git ]; then + git clone git://github.com/Pulse-Eight/libcec.git -b release libcec.git fi - cd Airplayer.git + cd libcec.git git pull GIT_REV=`git log -n1 --format=%h` cd .. echo "copying sources..." - rm -rf airplayer-$GIT_REV - cp -R Airplayer.git airplayer-$GIT_REV + rm -rf libcec-$GIT_REV + cp -R libcec.git libcec-$GIT_REV echo "cleaning sources..." - rm -rf airplayer-$GIT_REV/.git + rm -rf libcec-$GIT_REV/.git echo "packing sources..." - tar cvJf airplayer-$GIT_REV.tar.xz airplayer-$GIT_REV + tar cvJf libcec-$GIT_REV.tar.xz libcec-$GIT_REV echo "remove temporary sourcedir..." - rm -rf airplayer-$GIT_REV + rm -rf libcec-$GIT_REV diff --git a/tools/mkpkg/mkpkg_shairport b/tools/mkpkg/mkpkg_libnfs similarity index 80% rename from tools/mkpkg/mkpkg_shairport rename to tools/mkpkg/mkpkg_libnfs index 161f13e2a2..612c4302e6 100755 --- a/tools/mkpkg/mkpkg_shairport +++ b/tools/mkpkg/mkpkg_libnfs @@ -20,24 +20,24 @@ ################################################################################ echo "getting sources..." - if [ ! -d shairport.git ]; then - git clone git://github.com/albertz/shairport.git shairport.git + if [ ! -d libnfs.git ]; then + git clone git://github.com/sahlberg/libnfs.git libnfs.git fi - cd shairport.git + cd libnfs.git git pull GIT_REV=`git log -n1 --format=%h` cd .. echo "copying sources..." - rm -rf shairport-$GIT_REV - cp -R shairport.git shairport-$GIT_REV + rm -rf libnfs-$GIT_REV + cp -R libnfs.git libnfs-$GIT_REV echo "cleaning sources..." - rm -rf shairport-$GIT_REV/.git + rm -rf libnfs-$GIT_REV/.git echo "packing sources..." - tar cvJf shairport-$GIT_REV.tar.xz shairport-$GIT_REV + tar cvjf libnfs-$GIT_REV.tar.bz2 libnfs-$GIT_REV echo "remove temporary sourcedir..." - rm -rf shairport-$GIT_REV + rm -rf libnfs-$GIT_REV diff --git a/tools/mkpkg/mkpkg_siglaunchd b/tools/mkpkg/mkpkg_siglaunchd deleted file mode 100755 index 384f40f190..0000000000 --- a/tools/mkpkg/mkpkg_siglaunchd +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -echo "getting sources..." - svn checkout svn://svn.projects.openmoko.org/svnroot/siglaunchd/trunk siglaunchd-latest - -echo "getting version..." - cd siglaunchd-latest - SVN_REV=`LANG=C svn info 2>/dev/null | grep Revision: | sed -e 's/.*\: //'` - echo $SVN_REV - cd .. - -echo "copying sources..." - rm -rf siglaunchd-$SVN_REV - cp -R siglaunchd-latest siglaunchd-$SVN_REV - -echo "cleaning sources..." - find siglaunchd-$SVN_REV -name .svn -exec rm -rf {} ";" - -echo "packing sources..." - tar cvjf siglaunchd-$SVN_REV.tar.bz2 siglaunchd-$SVN_REV - -echo "remove temporary sourcedir..." - rm -rf siglaunchd-$SVN_REV - diff --git a/tools/mkpkg/mkpkg_simplejson-ap b/tools/mkpkg/mkpkg_simplejson-ap deleted file mode 100755 index 16ef14a76c..0000000000 --- a/tools/mkpkg/mkpkg_simplejson-ap +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 -################################################################################ - -echo "getting sources..." - - if [ ! -f simplejson-2.1.3.tar.gz ]; then - wget -O simplejson-2.1.3.tar.gz http://pypi.python.org/packages/source/s/simplejson/simplejson-2.1.3.tar.gz - fi - - tar xzf simplejson-2.1.3.tar.gz - echo "renaming folder name..." - mv simplejson-2.1.3 simplejson-ap-2.1.3 - echo "packing sources..." - tar czf simplejson-ap-2.1.3.tar.gz simplejson-ap-2.1.3 - echo "remove temporary sourcedir..." - rm -rf simplejson-ap-2.1.3 diff --git a/tools/mkpkg/mkpkg_tornado-ap b/tools/mkpkg/mkpkg_tornado-ap deleted file mode 100755 index bcb40ecb2f..0000000000 --- a/tools/mkpkg/mkpkg_tornado-ap +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 -################################################################################ - -echo "getting sources..." - - if [ ! -f tornado-1.2.1.tar.gz ]; then - wget -O tornado-1.2.1.tar.gz https://github.com/downloads/facebook/tornado/tornado-1.2.1.tar.gz - fi - - tar xzf tornado-1.2.1.tar.gz - echo "renaming folder name..." - mv tornado-1.2.1 tornado-ap-1.2.1 - echo "packing sources..." - tar czf tornado-ap-1.2.1.tar.gz tornado-ap-1.2.1 - echo "remove temporary sourcedir..." - rm -rf tornado-ap-1.2.1 diff --git a/tools/mkpkg/mkpkg_xbmc b/tools/mkpkg/mkpkg_xbmc index c86609a7b3..51396a48d7 100755 --- a/tools/mkpkg/mkpkg_xbmc +++ b/tools/mkpkg/mkpkg_xbmc @@ -19,50 +19,62 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ +PKG_NAME="xbmc" +GIT_REPO="-b master git://github.com/xbmc/xbmc.git" +DEST_DIR="$PKG_NAME" + echo "getting sources..." - svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk xbmc-latest + if [ ! -d $DEST_DIR-latest ]; then + git clone $GIT_REPO $DEST_DIR-latest + fi + + cd $DEST_DIR-latest + git pull echo "getting version..." - cd xbmc-latest - SVN_REV=`LANG=C svn info 2>/dev/null | grep Revision: | sed -e 's/.*\: //'` - echo $SVN_REV + GIT_REV=`git log -n1 --format=%h` + echo $GIT_REV cd .. echo "copying sources..." - rm -rf xbmc-$SVN_REV - cp -R xbmc-latest xbmc-$SVN_REV - echo "$SVN_REV" > xbmc-$SVN_REV/svn.version + rm -rf $PKG_NAME-$GIT_REV + cp -R $DEST_DIR-latest $PKG_NAME-$GIT_REV + echo "$GIT_REV" > $PKG_NAME-$GIT_REV/git.version echo "cleaning sources..." - find xbmc-$SVN_REV -name .svn -exec rm -rf {} ";" + rm -rf $PKG_NAME-$GIT_REV/.git echo "seperating theme..." - rm -rf xbmc-theme-Confluence-$SVN_REV - mv xbmc-$SVN_REV/addons/skin.confluence xbmc-theme-Confluence-$SVN_REV + rm -rf $PKG_NAME-theme-Confluence-$GIT_REV + mv $PKG_NAME-$GIT_REV/addons/skin.confluence $PKG_NAME-theme-Confluence-$GIT_REV +# rm -rf $PKG_NAME-theme-Touched-$GIT_REV +# mv $PKG_NAME-$GIT_REV/addons/skin.touched $PKG_NAME-theme-Touched-$GIT_REV echo "cleaning sources..." - rm -rf xbmc-$SVN_REV/visualisations - rm -rf xbmc-$SVN_REV/lib/libSDL-* - rm -rf xbmc-$SVN_REV/lib/libcurl-* - rm -rf xbmc-$SVN_REV/project + rm -rf $PKG_NAME-$GIT_REV/visualisations + rm -rf $PKG_NAME-$GIT_REV/lib/libSDL-* + rm -rf $PKG_NAME-$GIT_REV/lib/libcurl-* + rm -rf $PKG_NAME-$GIT_REV/project for i in "Changelog" "Fake\ Episode\ Maker" "MingwBuildEnvironment" \ "PackageMaker" "Translator" "XBMCLive" "XprPack" \ "HardwareConfigure" "Mach5" "osx" "UpdateThumbs.py" "XBMCTex"; do - rm -rf xbmc-$SVN_REV/tools/$i + rm -rf $PKG_NAME-$GIT_REV/tools/$i done for i in dll a lib so bat; do - find xbmc-$SVN_REV -name *.$i -exec rm -rf {} ";" + find $PKG_NAME-$GIT_REV -name *.$i -exec rm -rf {} ";" done # bundled win32 binaries - rm -r xbmc-$SVN_REV/xbmc/visualizations/XBMCProjectM/win32 + rm -r $PKG_NAME-$GIT_REV/xbmc/visualizations/XBMCProjectM/win32 echo "packing sources..." - tar cvjf xbmc-$SVN_REV.tar.bz2 xbmc-$SVN_REV - tar cvjf xbmc-theme-Confluence-$SVN_REV.tar.bz2 xbmc-theme-Confluence-$SVN_REV + tar cvJf $PKG_NAME-$GIT_REV.tar.xz $PKG_NAME-$GIT_REV + tar cvJf $PKG_NAME-theme-Confluence-$GIT_REV.tar.xz $PKG_NAME-theme-Confluence-$GIT_REV +# tar cvJf $PKG_NAME-theme-Touched-$GIT_REV.tar.xz $PKG_NAME-theme-Touched-$GIT_REV echo "remove temporary sourcedir..." - rm -rf xbmc-$SVN_REV - rm -rf xbmc-theme-Confluence-$SVN_REV + rm -rf $PKG_NAME-$GIT_REV + rm -rf $PKG_NAME-theme-Confluence-$GIT_REV +# rm -rf $PKG_NAME-theme-Touched-$GIT_REV diff --git a/tools/mkpkg/mkpkg_xbmc-10.1-dharma b/tools/mkpkg/mkpkg_xbmc-10.1-dharma deleted file mode 100755 index 49b37be8d3..0000000000 --- a/tools/mkpkg/mkpkg_xbmc-10.1-dharma +++ /dev/null @@ -1,78 +0,0 @@ -#!/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 -################################################################################ - -PKG_NAME="xbmc" -PKG_VERSION="10.1-Dharma" -GIT_REPO="-b Dharma git@github.com:xbmc/xbmc.git" -DEST_DIR="$PKG_NAME-$PKG_VERSION" - -echo "getting sources..." - if [ ! -d $DEST_DIR-latest ]; then - git clone $GIT_REPO $DEST_DIR-latest - fi - - cd $DEST_DIR-latest - git checkout $PKG_VERSION - git pull - -echo "getting version..." - GIT_REV=`git log -n1 --format=%h` - echo $GIT_REV - cd .. - -echo "copying sources..." - rm -rf $PKG_NAME-$PKG_VERSION - cp -R $DEST_DIR-latest $PKG_NAME-$PKG_VERSION - echo "$GIT_REV" > $PKG_NAME-$PKG_VERSION/git.version - -echo "cleaning sources..." - rm -rf $PKG_NAME-$PKG_VERSION/.git - -echo "seperating theme..." - rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION - mv $PKG_NAME-$PKG_VERSION/addons/skin.confluence $PKG_NAME-theme-Confluence-$PKG_VERSION - -echo "cleaning sources..." - rm -rf $PKG_NAME-$PKG_VERSION/visualisations - rm -rf $PKG_NAME-$PKG_VERSION/lib/libSDL-* - rm -rf $PKG_NAME-$PKG_VERSION/lib/libcurl-* - rm -rf $PKG_NAME-$PKG_VERSION/project - - for i in "Changelog" "Fake\ Episode\ Maker" "MingwBuildEnvironment" \ - "PackageMaker" "Translator" "XBMCLive" "XprPack" \ - "HardwareConfigure" "Mach5" "osx" "UpdateThumbs.py" "XBMCTex"; do - rm -rf $PKG_NAME-$PKG_VERSION/tools/$i - done - - for i in dll a lib so bat; do - find $PKG_NAME-$PKG_VERSION -name *.$i -exec rm -rf {} ";" - done - - # bundled win32 binaries - rm -r $PKG_NAME-$PKG_VERSION/xbmc/visualizations/XBMCProjectM/win32 - -echo "packing sources..." - tar cvjf $PKG_NAME-$PKG_VERSION.tar.bz2 $PKG_NAME-$PKG_VERSION - tar cvjf $PKG_NAME-theme-Confluence-$PKG_VERSION.tar.bz2 $PKG_NAME-theme-Confluence-$PKG_VERSION - -echo "remove temporary sourcedir..." - rm -rf $PKG_NAME-$PKG_VERSION - rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION diff --git a/tools/mkpkg/mkpkg_xbmc-dharma b/tools/mkpkg/mkpkg_xbmc-dharma deleted file mode 100755 index 58bc2535e5..0000000000 --- a/tools/mkpkg/mkpkg_xbmc-dharma +++ /dev/null @@ -1,68 +0,0 @@ -#!/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 -################################################################################ - -echo "getting sources..." - svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/Dharma/ xbmc-dharma-latest - -echo "getting version..." - cd xbmc-dharma-latest - SVN_REV=`LANG=C svn info 2>/dev/null | grep Revision: | sed -e 's/.*\: //'` - echo $SVN_REV - cd .. - -echo "copying sources..." - rm -rf xbmc-dharma-$SVN_REV - cp -R xbmc-dharma-latest xbmc-dharma-$SVN_REV - echo "$SVN_REV" > xbmc-dharma-$SVN_REV/svn.version - -echo "cleaning sources..." - find xbmc-dharma-$SVN_REV -name .svn -exec rm -rf {} ";" - -echo "seperating theme..." - rm -rf xbmc-theme-Confluence-$SVN_REV - mv xbmc-dharma-$SVN_REV/addons/skin.confluence xbmc-dharma-theme-Confluence-$SVN_REV - -echo "cleaning sources..." - rm -rf xbmc-dharma-$SVN_REV/visualisations - rm -rf xbmc-dharma-$SVN_REV/lib/libSDL-* - rm -rf xbmc-dharma-$SVN_REV/lib/libcurl-* - rm -rf xbmc-dharma-$SVN_REV/project - - for i in "Changelog" "Fake\ Episode\ Maker" "MingwBuildEnvironment" \ - "PackageMaker" "Translator" "XBMCLive" "XprPack" \ - "HardwareConfigure" "Mach5" "osx" "UpdateThumbs.py" "XBMCTex"; do - rm -rf xbmc-dharma-$SVN_REV/tools/$i - done - - for i in dll a lib so bat; do - find xbmc-dharma-$SVN_REV -name *.$i -exec rm -rf {} ";" - done - - # bundled win32 binaries - rm -r xbmc-dharma-$SVN_REV/xbmc/visualizations/XBMCProjectM/win32 - -echo "packing sources..." - tar cvjf xbmc-dharma-$SVN_REV.tar.bz2 xbmc-dharma-$SVN_REV - tar cvjf xbmc-dharma-theme-Confluence-$SVN_REV.tar.bz2 xbmc-dharma-theme-Confluence-$SVN_REV - -echo "remove temporary sourcedir..." - rm -rf xbmc-dharma-$SVN_REV - rm -rf xbmc-dharma-theme-Confluence-$SVN_REV diff --git a/tools/mkpkg/mkpkg_xbmc-dharma-final b/tools/mkpkg/mkpkg_xbmc-dharma-final deleted file mode 100755 index efee527234..0000000000 --- a/tools/mkpkg/mkpkg_xbmc-dharma-final +++ /dev/null @@ -1,68 +0,0 @@ -#!/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 -################################################################################ - -REV="10.0-Dharma" - -echo "getting sources..." - svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/tags/$REV xbmc-$REV - -echo "getting version..." - cd xbmc-$REV - SVN_REV=`LANG=C svn info 2>/dev/null | grep Rev: | sed -e 's/.*\: //'` - echo $SVN_REV - cd .. - -echo "copying sources..." - echo "$SVN_REV" > xbmc-$REV/svn.version - -echo "cleaning sources..." - find xbmc-$REV -name .svn -exec rm -rf {} ";" - -echo "seperating theme..." - rm -rf xbmc-theme-Confluence-$REV - mv xbmc-$REV/addons/skin.confluence xbmc-theme-Confluence-$REV - -echo "cleaning sources..." - rm -rf xbmc-$REV/visualisations - rm -rf xbmc-$REV/lib/libSDL-* - rm -rf xbmc-$REV/lib/libcurl-* - rm -rf xbmc-$REV/project - - for i in "Changelog" "Fake\ Episode\ Maker" "MingwBuildEnvironment" \ - "PackageMaker" "Translator" "XBMCLive" "XprPack" \ - "HardwareConfigure" "Mach5" "osx" "UpdateThumbs.py" "XBMCTex"; do - rm -rf xbmc-$REV/tools/$i - done - - for i in dll a lib so bat; do - find xbmc-$REV -name *.$i -exec rm -rf {} ";" - done - - # bundled win32 binaries - rm -r xbmc-$REV/xbmc/visualizations/XBMCProjectM/win32 - -echo "packing sources..." - tar cvjf xbmc-$REV.tar.bz2 xbmc-$REV - tar cvjf xbmc-theme-Confluence-$REV.tar.bz2 xbmc-theme-Confluence-$REV - -# echo "remove temporary sourcedir..." -# rm -rf xbmc-$REV -# rm -rf xbmc-theme-Confluence-$REV