From 9a12169bb24abec4fafc39f033407251a3025b93 Mon Sep 17 00:00:00 2001 From: Travis Glenn Hansen Date: Mon, 16 May 2011 11:43:53 -0600 Subject: [PATCH 01/52] adding darwrin-cross adding atv-bootloader updating scripts to be able to create a mach_kernel compatible kernel image adding udev rule with diskdev_cmds to auto fsck hfs/hfsplus partitions --- .../diskdev_cmds/udev.d/10-fsck-hfs.rules | 29 +++++++++++++++ .../toolchain/toolchains/darwin-cross/meta | 36 +++++++++++++++++++ .../toolchain/toolchains/darwin-cross/unpack | 27 ++++++++++++++ packages/tools/atv-bootloader/build | 30 ++++++++++++++++ packages/tools/atv-bootloader/meta | 36 +++++++++++++++++++ projects/ATV/options | 2 +- scripts/image_squashfs | 15 +++++++- 7 files changed, 173 insertions(+), 2 deletions(-) create mode 100644 packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules create mode 100644 packages/toolchain/toolchains/darwin-cross/meta create mode 100755 packages/toolchain/toolchains/darwin-cross/unpack create mode 100755 packages/tools/atv-bootloader/build create mode 100644 packages/tools/atv-bootloader/meta diff --git a/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules b/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules new file mode 100644 index 0000000000..961dcc02da --- /dev/null +++ b/packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules @@ -0,0 +1,29 @@ +################################################################################ +# 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 +################################################################################ + +SUBSYSTEM!="block", GOTO="end" +ACTION!="add", GOTO="end" + +ACTION=="add", IMPORT{program}="/sbin/blkid -o udev -p %N" +ACTION=="add", ENV{ID_FS_TYPE}=="hfs|hfsplus", RUN+="/usr/sbin/fsck.hfsplus -r -y /dev/%k" + +# exit +LABEL="end" diff --git a/packages/toolchain/toolchains/darwin-cross/meta b/packages/toolchain/toolchains/darwin-cross/meta new file mode 100644 index 0000000000..3c96175b4b --- /dev/null +++ b/packages/toolchain/toolchains/darwin-cross/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="darwin-cross" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://gcc.gnu.org/" +PKG_URL="http://atv-bootloader.googlecode.com/files/$PKG_NAME.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="" +PKG_PRIORITY="optional" +PKG_SECTION="toolchain/toolchains" +PKG_SHORTDESC="darwin-cross: darwin gcc etc" +PKG_LONGDESC="This package contains the GNU Compiler Collection to build for darwin systems" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/toolchain/toolchains/darwin-cross/unpack b/packages/toolchain/toolchains/darwin-cross/unpack new file mode 100755 index 0000000000..0f3856fa43 --- /dev/null +++ b/packages/toolchain/toolchains/darwin-cross/unpack @@ -0,0 +1,27 @@ +#!/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 + +tar -xzf "${PKG_BUILD}/darwin-cross.tar.gz" -C "${PKG_BUILD}" +mv "${PKG_BUILD}/darwin-cross/"* "${PKG_BUILD}" diff --git a/packages/tools/atv-bootloader/build b/packages/tools/atv-bootloader/build new file mode 100755 index 0000000000..522e4cef36 --- /dev/null +++ b/packages/tools/atv-bootloader/build @@ -0,0 +1,30 @@ +#!/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 + +TOOLS_PREFIX=$(readlink -f ../) + +sed -i -e "s:/opt:$TOOLS_PREFIX:" Makefile + diff --git a/packages/tools/atv-bootloader/meta b/packages/tools/atv-bootloader/meta new file mode 100644 index 0000000000..1c0b9d48b1 --- /dev/null +++ b/packages/tools/atv-bootloader/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="atv-bootloader" +PKG_VERSION="r518" +PKG_REV="1" +PKG_ARCH="i386 x86_64" +PKG_LICENSE="GPL" +PKG_SITE="http://code.google.com/p/atv-bootloader/" +PKG_URL="http://travisghansen.openelec.tv/sources/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="darwin-cross" +PKG_BUILD_DEPENDS="" +PKG_PRIORITY="optional" +PKG_SECTION="tools" +PKG_SHORTDESC="atv-bootloader: Tool to create a mach_kernel compaitible kernel image" +PKG_LONGDESC="atv-bootloader which uses principals from mach_linux_boot to boot a compiled-in Linux kernel" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/projects/ATV/options b/projects/ATV/options index 0b52d8d9f6..2fa6fd7efc 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -78,7 +78,7 @@ PROJECT_CFLAGS="" # Bootloader to use (syslinux / u-boot) - BOOTLOADER="" + BOOTLOADER="atv-bootloader" # Configuration for u-boot UBOOT_CONFIG="" diff --git a/scripts/image_squashfs b/scripts/image_squashfs index abf205f707..03edaf095b 100755 --- a/scripts/image_squashfs +++ b/scripts/image_squashfs @@ -46,11 +46,24 @@ mkdir -p $TARGET_IMG KERNEL_ARCH="arm" fi - cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + if [ "$BOOTLOADER" = "atv-bootloader" ]; then + $SCRIPTS/build atv-bootloader + echo "creating mach_kernel compatible kernel image" + cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $BUILD/atv-bootloader* + cd $BUILD/atv-bootloader* + mv $KERNEL_IMAGE vmlinuz + make clean + make LDFLAGS="" + cd - + cp -PR $BUILD/atv-bootloader*/mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + else + cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + fi echo "rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system" >> $FAKEROOT_SCRIPT # echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend -comp xz" >> $FAKEROOT_SCRIPT echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend" >> $FAKEROOT_SCRIPT $ROOT/$TOOLCHAIN/bin/fakeroot -- $FAKEROOT_SCRIPT chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system + chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel rm -rf $FAKEROOT_SCRIPT From a8831734066ad9da5f002da32a9e281d3e00bcd4 Mon Sep 17 00:00:00 2001 From: Travis Glenn Hansen Date: Tue, 17 May 2011 01:27:45 -0600 Subject: [PATCH 02/52] reworking atv-bootloader build script to create a mach_kernel directly --- packages/tools/atv-bootloader/build | 11 ++++++++++- packages/tools/atv-bootloader/meta | 4 ++-- scripts/image_squashfs | 12 ++---------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/tools/atv-bootloader/build b/packages/tools/atv-bootloader/build index 522e4cef36..a0e651676f 100755 --- a/packages/tools/atv-bootloader/build +++ b/packages/tools/atv-bootloader/build @@ -22,9 +22,18 @@ . config/options $1 +get_version + cd $PKG_BUILD -TOOLS_PREFIX=$(readlink -f ../) +TOOLS_PREFIX="$ROOT/$BUILD" sed -i -e "s:/opt:$TOOLS_PREFIX:" Makefile +cp -PR $ROOT/$BUILD/linux-*/arch/x86/boot/bzImage vmlinuz + +make clean +make LDFLAGS="" + +cp -PR mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel +chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel diff --git a/packages/tools/atv-bootloader/meta b/packages/tools/atv-bootloader/meta index 1c0b9d48b1..62846e9fb7 100644 --- a/packages/tools/atv-bootloader/meta +++ b/packages/tools/atv-bootloader/meta @@ -25,8 +25,8 @@ PKG_ARCH="i386 x86_64" PKG_LICENSE="GPL" PKG_SITE="http://code.google.com/p/atv-bootloader/" PKG_URL="http://travisghansen.openelec.tv/sources/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="darwin-cross" -PKG_BUILD_DEPENDS="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="darwin-cross linux" PKG_PRIORITY="optional" PKG_SECTION="tools" PKG_SHORTDESC="atv-bootloader: Tool to create a mach_kernel compaitible kernel image" diff --git a/scripts/image_squashfs b/scripts/image_squashfs index 03edaf095b..8488e0f0cd 100755 --- a/scripts/image_squashfs +++ b/scripts/image_squashfs @@ -46,18 +46,10 @@ mkdir -p $TARGET_IMG KERNEL_ARCH="arm" fi + cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + if [ "$BOOTLOADER" = "atv-bootloader" ]; then $SCRIPTS/build atv-bootloader - echo "creating mach_kernel compatible kernel image" - cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $BUILD/atv-bootloader* - cd $BUILD/atv-bootloader* - mv $KERNEL_IMAGE vmlinuz - make clean - make LDFLAGS="" - cd - - cp -PR $BUILD/atv-bootloader*/mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel - else - cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel fi echo "rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system" >> $FAKEROOT_SCRIPT From b0424af78ce01028e7cf7a5932591208dca9d8a7 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 17 May 2011 20:02:52 +0200 Subject: [PATCH 03/52] new package: add package 'llvm' Signed-off-by: Stephan Raue --- packages/devel/llvm-host/build | 66 +++++++++++ packages/devel/llvm-host/meta | 36 ++++++ packages/devel/llvm/build | 67 +++++++++++ packages/devel/llvm/install | 27 +++++ packages/devel/llvm/meta | 36 ++++++ .../devel/llvm/patches/llvm-2.9-cross.patch | 105 ++++++++++++++++++ 6 files changed, 337 insertions(+) create mode 100755 packages/devel/llvm-host/build create mode 100644 packages/devel/llvm-host/meta create mode 100755 packages/devel/llvm/build create mode 100755 packages/devel/llvm/install create mode 100644 packages/devel/llvm/meta create mode 100644 packages/devel/llvm/patches/llvm-2.9-cross.patch diff --git a/packages/devel/llvm-host/build b/packages/devel/llvm-host/build new file mode 100755 index 0000000000..745146e807 --- /dev/null +++ b/packages/devel/llvm-host/build @@ -0,0 +1,66 @@ +#!/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 + +$SCRIPTS/unpack llvm + +setup_toolchain host + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 +fi + +LLVM_DIR=`ls -d $BUILD/llvm-[0-9]*` + +cd $LLVM_DIR + +cd autoconf + aclocal --force --verbose -I m4 + autoconf --force --verbose -I m4 -o ../configure +cd .. + +mkdir -p .build-host && cd .build-host + +../configure --prefix=$ROOT/$TOOLCHAIN \ + --enable-polly \ + --enable-optimized \ + --disable-profiling \ + --disable-assertions \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-debug-symbols \ + --enable-jit \ + --disable-docs \ + --disable-doxygen \ + --enable-threads \ + --enable-pthreads \ + --enable-pic \ + --enable-shared \ + --enable-embed-stdcxx \ + --enable-timestamps \ + --enable-targets=$ARCH \ + +make +make install \ No newline at end of file diff --git a/packages/devel/llvm-host/meta b/packages/devel/llvm-host/meta new file mode 100644 index 0000000000..236dc4b165 --- /dev/null +++ b/packages/devel/llvm-host/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="llvm" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://llvm.org/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="ccache" +PKG_PRIORITY="optional" +PKG_SECTION="toolchain/lang" +PKG_SHORTDESC="llvm: Low Level Virtual Machine" +PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86-64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/devel/llvm/build b/packages/devel/llvm/build new file mode 100755 index 0000000000..5b6560618d --- /dev/null +++ b/packages/devel/llvm/build @@ -0,0 +1,67 @@ +#!/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 + +# llvm fails to build with LTO support + strip_lto + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 +fi + +LLVM_DIR=`ls -d $BUILD/llvm-[0-9]*` + +cd $LLVM_DIR + +mkdir -p .build-target && cd .build-target + +../configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --enable-polly \ + --enable-optimized \ + --disable-profiling \ + --disable-assertions \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-debug-symbols \ + --enable-jit \ + --disable-docs \ + --disable-doxygen \ + --enable-threads \ + --enable-pthreads \ + --enable-pic \ + --enable-shared \ + --enable-embed-stdcxx \ + --enable-timestamps \ + --enable-targets=$ARCH \ + +TBLGEN="$ROOT/$TOOLCHAIN/bin/tblgen" \ +TCLSH="$ROOT/$TOOLCHAIN/bin/tclsh" \ +make + +TBLGEN="$ROOT/$TOOLCHAIN/bin/tblgen" \ +TCLSH="$ROOT/$TOOLCHAIN/bin/tclsh" \ +$MAKEINSTALL diff --git a/packages/devel/llvm/install b/packages/devel/llvm/install new file mode 100755 index 0000000000..3f8a5059e3 --- /dev/null +++ b/packages/devel/llvm/install @@ -0,0 +1,27 @@ +#!/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/.build-target/Release/lib/libLLVM-*.so $INSTALL/usr/lib + diff --git a/packages/devel/llvm/meta b/packages/devel/llvm/meta new file mode 100644 index 0000000000..7a9b830624 --- /dev/null +++ b/packages/devel/llvm/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="llvm" +PKG_VERSION="2.9" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://llvm.org/" +PKG_URL="http://llvm.org/releases/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tgz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain llvm-host" +PKG_PRIORITY="optional" +PKG_SECTION="toolchain/lang" +PKG_SHORTDESC="llvm: Low Level Virtual Machine" +PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86-64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/devel/llvm/patches/llvm-2.9-cross.patch b/packages/devel/llvm/patches/llvm-2.9-cross.patch new file mode 100644 index 0000000000..d258bff854 --- /dev/null +++ b/packages/devel/llvm/patches/llvm-2.9-cross.patch @@ -0,0 +1,105 @@ +diff -Naur llvm-2.9-old/autoconf/configure.ac llvm-2.9-new/autoconf/configure.ac +--- llvm-2.9-old/autoconf/configure.ac 2011-03-25 00:56:32.000000000 -0700 ++++ llvm-2.9-new/autoconf/configure.ac 2011-05-05 13:33:38.000000000 -0700 +@@ -384,6 +384,10 @@ + AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++) + fi + fi ++ AC_SUBST(BUILD_CPPFLAGS) ++ AC_SUBST(BUILD_CFLAGS) ++ AC_SUBST(BUILD_CXXFLAGS) ++ AC_SUBST(BUILD_LDFLAGS) + else + AC_SUBST(LLVM_CROSS_COMPILING, [0]) + fi +diff -Naur llvm-2.9-old/autoconf/m4/build_exeext.m4 llvm-2.9-new/autoconf/m4/build_exeext.m4 +--- llvm-2.9-old/autoconf/m4/build_exeext.m4 2008-09-26 10:27:58.000000000 -0700 ++++ llvm-2.9-new/autoconf/m4/build_exeext.m4 2011-05-05 12:29:10.000000000 -0700 +@@ -18,7 +18,7 @@ + fi + fi + test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) +- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD' ++ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD' + rm -f conftest* + echo 'int main () { return 0; }' > conftest.$ac_ext + ac_cv_build_exeext= +diff -Naur llvm-2.9-old/Makefile llvm-2.9-new/Makefile +--- llvm-2.9-old/Makefile 2010-11-29 10:16:10.000000000 -0800 ++++ llvm-2.9-new/Makefile 2011-05-05 13:35:06.000000000 -0700 +@@ -104,37 +104,6 @@ + DIRS := $(filter-out unittests, $(DIRS)) + endif + +-# If we're cross-compiling, build the build-hosted tools first +-ifeq ($(LLVM_CROSS_COMPILING),1) +-all:: cross-compile-build-tools +- +-clean:: +- $(Verb) rm -rf BuildTools +- +-cross-compile-build-tools: +- $(Verb) if [ ! -f BuildTools/Makefile ]; then \ +- $(MKDIR) BuildTools; \ +- cd BuildTools ; \ +- unset CFLAGS ; \ +- unset CXXFLAGS ; \ +- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \ +- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE); \ +- cd .. ; \ +- fi; \ +- (unset SDKROOT; \ +- $(MAKE) -C BuildTools \ +- BUILD_DIRS_ONLY=1 \ +- UNIVERSAL= \ +- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \ +- ENABLE_PROFILING=$(ENABLE_PROFILING) \ +- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \ +- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \ +- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \ +- CFLAGS= \ +- CXXFLAGS= \ +- ) || exit 1; +-endif +- + # Include the main makefile machinery. + include $(LLVM_SRC_ROOT)/Makefile.rules + +diff -Naur llvm-2.9-old/Makefile.config.in llvm-2.9-new/Makefile.config.in +--- llvm-2.9-old/Makefile.config.in 2010-12-28 19:59:14.000000000 -0800 ++++ llvm-2.9-new/Makefile.config.in 2011-05-05 12:25:34.000000000 -0700 +@@ -113,6 +113,10 @@ + # call if we're cross-compiling). + BUILD_CC=@BUILD_CC@ + BUILD_CXX=@BUILD_CXX@ ++BUILD_CPPFLAGS=@BUILD_CPPFLAGS@ ++BUILD_CFLAGS=@BUILD_CFLAGS@ ++BUILD_CXXFLAGS=@BUILD_CXXFLAGS@ ++BUILD_LDFLAGS=@BUILD_LDFLAGS@ + + # Triple for configuring build tools when cross-compiling + BUILD_TRIPLE=@build@ +diff -Naur llvm-2.9-old/Makefile.rules llvm-2.9-new/Makefile.rules +--- llvm-2.9-old/Makefile.rules 2011-03-24 23:26:58.000000000 -0700 ++++ llvm-2.9-new/Makefile.rules 2011-05-05 12:24:42.000000000 -0700 +@@ -647,15 +647,15 @@ + $(CPP.BaseFlags) + + ifeq ($(BUILD_COMPONENT), 1) +- Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ ++ Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) \ + $(TargetCommonOpts) $(CompileCommonOpts) -c +- Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ ++ Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \ + $(CPPFLAGS) \ + $(TargetCommonOpts) $(CompileCommonOpts) -c +- Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(CPPFLAGS) $(TargetCommonOpts) \ ++ Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(BUILD_CPPFLAGS) $(TargetCommonOpts) \ + $(CompileCommonOpts) $(CXX.Flags) -E +- Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \ +- $(LD.Flags) $(LDFLAGS) \ ++ Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \ ++ $(LD.Flags) $(BUILD_LDFLAGS) \ + $(TargetCommonOpts) $(CompileCommonOpts) $(Strip) + else + Compile.C = $(CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \ From 189db4b68b41eadd5456dfc876c440dedd843ac0 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 17 May 2011 20:03:24 +0200 Subject: [PATCH 04/52] Mesa: add patches for building with llvm support Signed-off-by: Stephan Raue --- .../graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch | 12 ++++++++++++ .../Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch create mode 100644 packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch diff --git a/packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch new file mode 100644 index 0000000000..8a924662ca --- /dev/null +++ b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch @@ -0,0 +1,12 @@ +diff -Naur Mesa-7.10.2-old/configure.ac Mesa-7.10.2-new/configure.ac +--- Mesa-7.10.2-old/configure.ac 2011-02-11 14:49:47.000000000 -0800 ++++ Mesa-7.10.2-new/configure.ac 2011-05-05 16:31:18.000000000 -0700 +@@ -1551,7 +1551,7 @@ + if test "x$LLVM_CONFIG" != xno; then + LLVM_VERSION=`$LLVM_CONFIG --version` + LLVM_CFLAGS=`$LLVM_CONFIG --cppflags` +- LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++" ++ LLVM_LIBS="-lLLVM-$LLVM_VERSION -lstdc++" + + if test "x$HAS_UDIS86" != xno; then + LLVM_LIBS="$LLVM_LIBS -ludis86" diff --git a/packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch new file mode 100644 index 0000000000..1fa972db2e --- /dev/null +++ b/packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch @@ -0,0 +1,12 @@ +diff -Naur Mesa-7.10.2-old/src/gallium/drivers/llvmpipe/Makefile Mesa-7.10.2-new/src/gallium/drivers/llvmpipe/Makefile +--- Mesa-7.10.2-old/src/gallium/drivers/llvmpipe/Makefile 2011-01-04 09:44:17.000000000 -0800 ++++ Mesa-7.10.2-new/src/gallium/drivers/llvmpipe/Makefile 2011-05-05 15:48:06.000000000 -0700 +@@ -71,7 +71,7 @@ + + LDFLAGS += $(LLVM_LDFLAGS) + LIBS += -L../../auxiliary/ -lgallium libllvmpipe.a $(LLVM_LIBS) $(GL_LIB_DEPS) +-LD=g++ ++LD = $(CXX) + + $(PROGS): lp_test_main.o libllvmpipe.a + From 333550bcf3302e09f258d6466f3c67150335fd04 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 17 May 2011 20:32:11 +0200 Subject: [PATCH 05/52] config/options: prepare for llvm builds Signed-off-by: Stephan Raue --- config/options | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/options b/config/options index 8343cbe49b..4f4054975a 100644 --- a/config/options +++ b/config/options @@ -92,14 +92,17 @@ get_graphicdrivers() { if [ "$drv" = "i915" -o "$drv" = "i965" ]; then XORG_DRIVERS="$XORG_DRIVERS intel" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "r200" -o "$drv" = "r300" -o "$drv" = "r600" -o "$drv" = "radeon" ]; then XORG_DRIVERS="$XORG_DRIVERS ati" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "nouveau" ]; then XORG_DRIVERS="$XORG_DRIVERS nouveau" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "nvidia" ]; then @@ -113,10 +116,12 @@ get_graphicdrivers() { if [ "$drv" = "omapfb" ]; then XORG_DRIVERS="$XORG_DRIVERS ompafb" +# LLVM_SUPPORT="yes" fi if [ "$drv" = "vmware" ]; then XINERAMA_SUPPORT="yes" +# LLVM_SUPPORT="yes" fi done } From be8af6fcadbfaaa5bd1a19d67acb55c38dc69c60 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 17 May 2011 20:35:02 +0200 Subject: [PATCH 06/52] Mesa: prepare for llvm builds Signed-off-by: Stephan Raue --- packages/graphics/Mesa/meta | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/graphics/Mesa/meta b/packages/graphics/Mesa/meta index 61d106c3cf..639e6ee743 100644 --- a/packages/graphics/Mesa/meta +++ b/packages/graphics/Mesa/meta @@ -35,6 +35,13 @@ PKG_IS_ADDON="no" PKG_AUTORECONF="yes" +get_graphicdrivers + +if [ "$LLVM_SUPPORT" = "yes" ]; then + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS llvm" + PKG_DEPENDS="$PKG_DEPENDS llvm" +fi + if [ "$MESA_MASTER" = "yes" ]; then PKG_VERSION="7.11-git2812b60" PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" From cb2d4b340dbcd53b5e1ff8fc77d135f77eb2295c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Tue, 17 May 2011 20:36:03 +0200 Subject: [PATCH 07/52] Mesa: prepare for llvm builds, cosmetics Signed-off-by: Stephan Raue --- packages/graphics/Mesa/build | 43 +++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/packages/graphics/Mesa/build b/packages/graphics/Mesa/build index f58bb9047c..4da2e2644f 100755 --- a/packages/graphics/Mesa/build +++ b/packages/graphics/Mesa/build @@ -36,29 +36,42 @@ MESA_CONFIG=" --disable-gallium --disable-gallium-nouveau --disable-gallium-i915 MESA_CONFIG="$MESA_CONFIG --disable-gallium-radeon --disable-gallium-r300 --disable-gallium-r600" MESA_CONFIG="$MESA_CONFIG --disable-gallium-svga --disable-gallium-swrast" +if [ "$LLVM_SUPPORT" = "yes" ]; then + export LLVM_CONFIG="$SYSROOT_PREFIX/usr/bin/llvm-config" + MESA_CONFIG="$MESA_CONFIG --enable-gallium --enable-gallium-llvm" +fi + for drv in $GRAPHIC_DRIVERS; do - [ "$drv" = i915 ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i915/disable-gallium-i915/'` - - [ "$drv" = i965 ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i965/disable-gallium-i965/'` - - [ "$drv" = r300 -o "$drv" = radeon ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-radeon/enable-gallium-radeon/'` && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r300/enable-gallium-r300/'` && \ + if [ "$drv" = i915 ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i915/enable-gallium-i915/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi - [ "$drv" = r600 ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r600/enable-gallium-r600/'` && \ + if [ "$drv" = i965 ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i965/enable-gallium-i965/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi - [ "$drv" = nouveau ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-nouveau/enable-gallium-nouveau/'` && \ + if [ "$drv" = r300 -o "$drv" = radeon ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-radeon/enable-gallium-radeon/'` + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r300/enable-gallium-r300/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi - [ "$drv" = vmware ] && \ - MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-svga/enable-gallium-svga/'` && \ + if [ "$drv" = r600 ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r600/enable-gallium-r600/'` MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi + + if [ "$drv" = nouveau ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-nouveau/enable-gallium-nouveau/'` + MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi + + if [ "$drv" = vmware ]; then + MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-svga/enable-gallium-svga/'` + MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium" + fi done cd $PKG_BUILD From 0e13d029cab565c384b6de8aef28244446d7d8db Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:11:23 +0200 Subject: [PATCH 08/52] new package: add subpackage 'zlib-initramfs' Signed-off-by: Stephan Raue --- .../initramfs/compress/zlib-initramfs/install | 28 +++++++++++++++ .../initramfs/compress/zlib-initramfs/meta | 36 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100755 packages/initramfs/compress/zlib-initramfs/install create mode 100644 packages/initramfs/compress/zlib-initramfs/meta diff --git a/packages/initramfs/compress/zlib-initramfs/install b/packages/initramfs/compress/zlib-initramfs/install new file mode 100755 index 0000000000..6c59423c48 --- /dev/null +++ b/packages/initramfs/compress/zlib-initramfs/install @@ -0,0 +1,28 @@ +#!/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 + +ZLIB_DIR="$BUILD/zlib-*" + +mkdir -p $INSTALL/lib + cp -R $ZLIB_DIR/*.so* $INSTALL/lib diff --git a/packages/initramfs/compress/zlib-initramfs/meta b/packages/initramfs/compress/zlib-initramfs/meta new file mode 100644 index 0000000000..a8cb1fd381 --- /dev/null +++ b/packages/initramfs/compress/zlib-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="zlib-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.zlib.net" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain zlib" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/compress" +PKG_SHORTDESC="zlib: A general purpose (ZIP) data compression library" +PKG_LONGDESC="zlib is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format)." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 02ba3f01043a06989150aeedfe13a3298d59ead5 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:11:39 +0200 Subject: [PATCH 09/52] new package: add subpackage 'eglibc-initramfs' Signed-off-by: Stephan Raue --- .../initramfs/devel/eglibc-initramfs/install | 30 ++++++++++++++++ .../initramfs/devel/eglibc-initramfs/meta | 36 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100755 packages/initramfs/devel/eglibc-initramfs/install create mode 100644 packages/initramfs/devel/eglibc-initramfs/meta diff --git a/packages/initramfs/devel/eglibc-initramfs/install b/packages/initramfs/devel/eglibc-initramfs/install new file mode 100755 index 0000000000..fff49ebbbd --- /dev/null +++ b/packages/initramfs/devel/eglibc-initramfs/install @@ -0,0 +1,30 @@ +#!/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 + +EGLIBC_DIR="$BUILD/eglibc-*" + +mkdir -p $INSTALL/lib + cp $EGLIBC_DIR/objdir-eglibc/elf/ld*.so.* $INSTALL/lib + cp $EGLIBC_DIR/objdir-eglibc/libc.so.6 $INSTALL/lib + cp $EGLIBC_DIR/objdir-eglibc/math/libm.so.6 $INSTALL/lib diff --git a/packages/initramfs/devel/eglibc-initramfs/meta b/packages/initramfs/devel/eglibc-initramfs/meta new file mode 100644 index 0000000000..831345f6f9 --- /dev/null +++ b/packages/initramfs/devel/eglibc-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="eglibc-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.eglibc.org/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="eglibc" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/devel" +PKG_SHORTDESC="eglibc: The Embedded GNU C library" +PKG_LONGDESC="The Embedded GLIBC (EGLIBC) is a variant of the GNU C Library (GLIBC) that is designed to work well on embedded systems. EGLIBC strives to be source and binary compatible with GLIBC. EGLIBC's goals include reduced footprint, configurable components, better support for cross-compilation and cross-testing. In contrast to what Ulrich Drepper makes out of GLIBC, in EGLIBC all patches assigned to the FSF will be considered regardless of individual or company affiliation and cooperation is encouraged, as well as communication, civility, and respect among developers." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From c34416a8cacf08d981da6f620648b97d6e84c723 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:12:01 +0200 Subject: [PATCH 10/52] new package: add subpackage 'libpng-initramfs' Signed-off-by: Stephan Raue --- .../graphics/libpng-initramfs/install | 28 +++++++++++++++ .../initramfs/graphics/libpng-initramfs/meta | 36 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100755 packages/initramfs/graphics/libpng-initramfs/install create mode 100644 packages/initramfs/graphics/libpng-initramfs/meta diff --git a/packages/initramfs/graphics/libpng-initramfs/install b/packages/initramfs/graphics/libpng-initramfs/install new file mode 100755 index 0000000000..7439cd14b9 --- /dev/null +++ b/packages/initramfs/graphics/libpng-initramfs/install @@ -0,0 +1,28 @@ +#!/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 + +LIBPNG_DIR="$BUILD/libpng-*" + +mkdir -p $INSTALL/lib + cp -P $LIBPNG_DIR/.libs/libpng*.so* $INSTALL/lib diff --git a/packages/initramfs/graphics/libpng-initramfs/meta b/packages/initramfs/graphics/libpng-initramfs/meta new file mode 100644 index 0000000000..48c1d61dfa --- /dev/null +++ b/packages/initramfs/graphics/libpng-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="libpng-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.libpng.org/" +PKG_URL="" +PKG_DEPENDS="zlib-initramfs" +PKG_BUILD_DEPENDS="toolchain libpng" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/graphics" +PKG_SHORTDESC="libpng: Portable Network Graphics (PNG) Reference Library" +PKG_LONGDESC="PNG (Portable Network Graphics) is an extensible file format for the lossless, portable, well-compressed storage of raster images. PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF. Indexed-color, grayscale, and truecolor images are supported, plus an optional alpha channel. Sample depths range from 1 to 16 bits." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 88fea3a891367bc8310550426a0ff8fc3ed94dc5 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:12:20 +0200 Subject: [PATCH 11/52] new package: add subpackage 'gcc-initramfs' Signed-off-by: Stephan Raue --- packages/initramfs/lang/gcc-initramfs/install | 28 +++++++++++++++ packages/initramfs/lang/gcc-initramfs/meta | 36 +++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100755 packages/initramfs/lang/gcc-initramfs/install create mode 100644 packages/initramfs/lang/gcc-initramfs/meta diff --git a/packages/initramfs/lang/gcc-initramfs/install b/packages/initramfs/lang/gcc-initramfs/install new file mode 100755 index 0000000000..ed5c5b017b --- /dev/null +++ b/packages/initramfs/lang/gcc-initramfs/install @@ -0,0 +1,28 @@ +#!/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 + +GCC_DIR="$BUILD/gcc-*" + +mkdir -p $INSTALL/lib + cp -P $GCC_DIR/objdir-gcc-final/$TARGET_NAME/libgcc/libgcc_s.so* $INSTALL/lib diff --git a/packages/initramfs/lang/gcc-initramfs/meta b/packages/initramfs/lang/gcc-initramfs/meta new file mode 100644 index 0000000000..32e61a28d6 --- /dev/null +++ b/packages/initramfs/lang/gcc-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="gcc-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://gcc.gnu.org/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="gcc-final" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/lang" +PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)" +PKG_LONGDESC="This package contains the GNU Compiler Collection. It includes compilers for the languages C, C++, Objective C, Fortran 95, Java and others ... This GCC contains the Stack-Smashing Protector Patch which can be enabled with the -fstack-protector command-line option. More information about it ca be found at http://www.research.ibm.com/trl/projects/security/ssp/." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 8ae68fc2532520f96329e5977048644b93211e4c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:13:42 +0200 Subject: [PATCH 12/52] new package: add subpackage 'diskdev_cmds-initramfs' Signed-off-by: Stephan Raue --- .../sysutils/diskdev_cmds-initramfs/install | 30 ++++++++++++++++ .../sysutils/diskdev_cmds-initramfs/meta | 36 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100755 packages/initramfs/sysutils/diskdev_cmds-initramfs/install create mode 100644 packages/initramfs/sysutils/diskdev_cmds-initramfs/meta diff --git a/packages/initramfs/sysutils/diskdev_cmds-initramfs/install b/packages/initramfs/sysutils/diskdev_cmds-initramfs/install new file mode 100755 index 0000000000..3e4e3ef6e3 --- /dev/null +++ b/packages/initramfs/sysutils/diskdev_cmds-initramfs/install @@ -0,0 +1,30 @@ +#!/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 + +DISKDEV_CMDS_DIR="$BUILD/diskdev_cmds-*" + +mkdir -p $INSTALL/sbin + cp $DISKDEV_CMDS_DIR/fsck_hfs.tproj/fsck_hfs $INSTALL/sbin + ln -sf fsck_hfs $INSTALL/sbin/fsck.hfs + ln -sf fsck_hfs $INSTALL/sbin/fsck.hfsplus diff --git a/packages/initramfs/sysutils/diskdev_cmds-initramfs/meta b/packages/initramfs/sysutils/diskdev_cmds-initramfs/meta new file mode 100644 index 0000000000..48bc6a8006 --- /dev/null +++ b/packages/initramfs/sysutils/diskdev_cmds-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="diskdev_cmds-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="APSL" +PKG_SITE="http://src.gnu-darwin.org/DarwinSourceArchive/expanded/diskdev_cmds/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain diskdev_cmds" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/system" +PKG_SHORTDESC="diskdev_cmds: hfs filesystem utilities" +PKG_LONGDESC="The fsck and mkfs utliities for hfs and hfsplus filesystems." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 6d657762f419e95008676e7ad760d8a09a49503a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:14:34 +0200 Subject: [PATCH 13/52] busybox-initramfs: move to packages/initramfs Signed-off-by: Stephan Raue --- .../sysutils/busybox-initramfs/build | 0 .../config/busybox-initramfs.conf | 6 +++--- .../sysutils/busybox-initramfs/install | 16 +++++++++++----- .../sysutils/busybox-initramfs/meta | 0 .../sysutils/busybox-initramfs/scripts/init | 0 5 files changed, 14 insertions(+), 8 deletions(-) rename packages/{ => initramfs}/sysutils/busybox-initramfs/build (100%) rename packages/{ => initramfs}/sysutils/busybox-initramfs/config/busybox-initramfs.conf (99%) rename packages/{ => initramfs}/sysutils/busybox-initramfs/install (79%) rename packages/{ => initramfs}/sysutils/busybox-initramfs/meta (100%) rename packages/{ => initramfs}/sysutils/busybox-initramfs/scripts/init (100%) diff --git a/packages/sysutils/busybox-initramfs/build b/packages/initramfs/sysutils/busybox-initramfs/build similarity index 100% rename from packages/sysutils/busybox-initramfs/build rename to packages/initramfs/sysutils/busybox-initramfs/build diff --git a/packages/sysutils/busybox-initramfs/config/busybox-initramfs.conf b/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf similarity index 99% rename from packages/sysutils/busybox-initramfs/config/busybox-initramfs.conf rename to packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf index 0d3038fa5e..041e93cfe2 100644 --- a/packages/sysutils/busybox-initramfs/config/busybox-initramfs.conf +++ b/packages/initramfs/sysutils/busybox-initramfs/config/busybox-initramfs.conf @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.18.0 -# Tue Nov 23 18:27:38 2010 +# Busybox version: 1.18.4 +# Tue May 17 21:21:08 2011 # CONFIG_HAVE_DOT_CONFIG=y @@ -54,7 +54,7 @@ CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" # # Build Options # -CONFIG_STATIC=y +# CONFIG_STATIC is not set # CONFIG_PIE is not set # CONFIG_NOMMU is not set # CONFIG_BUILD_LIBBUSYBOX is not set diff --git a/packages/sysutils/busybox-initramfs/install b/packages/initramfs/sysutils/busybox-initramfs/install similarity index 79% rename from packages/sysutils/busybox-initramfs/install rename to packages/initramfs/sysutils/busybox-initramfs/install index e463324635..272e82f227 100755 --- a/packages/sysutils/busybox-initramfs/install +++ b/packages/initramfs/sysutils/busybox-initramfs/install @@ -22,11 +22,17 @@ . config/options $1 -$SCRIPTS/unpack linux -$SCRIPTS/install plymouth-lite - - mkdir -p $INSTALL - cp -PR $BUILD/busybox*/_install-initramfs/* $INSTALL +mkdir -p $INSTALL/bin + cp -PR $BUILD/busybox*/_install-initramfs/bin/busybox $INSTALL/bin + ln -sf busybox $INSTALL/bin/sh chmod 4755 $INSTALL/bin/busybox +mkdir -p $INSTALL/dev +mkdir -p $INSTALL/proc +mkdir -p $INSTALL/sys +mkdir -p $INSTALL/flash +mkdir -p $INSTALL/sysroot +mkdir -p $INSTALL/storage + cp $PKG_DIR/scripts/init $INSTALL + chmod 755 $INSTALL/init diff --git a/packages/sysutils/busybox-initramfs/meta b/packages/initramfs/sysutils/busybox-initramfs/meta similarity index 100% rename from packages/sysutils/busybox-initramfs/meta rename to packages/initramfs/sysutils/busybox-initramfs/meta diff --git a/packages/sysutils/busybox-initramfs/scripts/init b/packages/initramfs/sysutils/busybox-initramfs/scripts/init similarity index 100% rename from packages/sysutils/busybox-initramfs/scripts/init rename to packages/initramfs/sysutils/busybox-initramfs/scripts/init From d9ed48a45944277d465238feea548ebc56e1e91a Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:15:02 +0200 Subject: [PATCH 14/52] plymouth-lite: move to packages/initramfs Signed-off-by: Stephan Raue --- .../{ => initramfs}/sysutils/plymouth-lite/build | 0 .../{ => initramfs}/sysutils/plymouth-lite/install | 0 .../{ => initramfs}/sysutils/plymouth-lite/meta | 2 +- .../patches/plymouth-lite-0.6.0-cursor.patch | 0 .../patches/plymouth-lite-0.6.0-fix-build.patch | 2 +- .../patches/plymouth-lite-0.6.0-libpng_1.4.0.patch | 0 .../patches/plymouth-lite-0.6.0-resize.patch | 0 .../sysutils/plymouth-lite/splash/splash.png | Bin .../sysutils/plymouth-lite/splash/splash1.png | Bin 9 files changed, 2 insertions(+), 2 deletions(-) rename packages/{ => initramfs}/sysutils/plymouth-lite/build (100%) rename packages/{ => initramfs}/sysutils/plymouth-lite/install (100%) rename packages/{ => initramfs}/sysutils/plymouth-lite/meta (97%) rename packages/{ => initramfs}/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch (100%) rename packages/{ => initramfs}/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch (73%) rename packages/{ => initramfs}/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch (100%) rename packages/{ => initramfs}/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch (100%) rename packages/{ => initramfs}/sysutils/plymouth-lite/splash/splash.png (100%) rename packages/{ => initramfs}/sysutils/plymouth-lite/splash/splash1.png (100%) diff --git a/packages/sysutils/plymouth-lite/build b/packages/initramfs/sysutils/plymouth-lite/build similarity index 100% rename from packages/sysutils/plymouth-lite/build rename to packages/initramfs/sysutils/plymouth-lite/build diff --git a/packages/sysutils/plymouth-lite/install b/packages/initramfs/sysutils/plymouth-lite/install similarity index 100% rename from packages/sysutils/plymouth-lite/install rename to packages/initramfs/sysutils/plymouth-lite/install diff --git a/packages/sysutils/plymouth-lite/meta b/packages/initramfs/sysutils/plymouth-lite/meta similarity index 97% rename from packages/sysutils/plymouth-lite/meta rename to packages/initramfs/sysutils/plymouth-lite/meta index 05a24bfc2d..fea59ea025 100644 --- a/packages/sysutils/plymouth-lite/meta +++ b/packages/initramfs/sysutils/plymouth-lite/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.meego.com" PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="" +PKG_DEPENDS="gcc-initramfs libpng-initramfs" PKG_BUILD_DEPENDS="toolchain libpng" PKG_PRIORITY="optional" PKG_SECTION="system" diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch similarity index 100% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-cursor.patch diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch similarity index 73% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch index 5525d629ca..f9baa38536 100644 --- a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch +++ b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-fix-build.patch @@ -4,7 +4,7 @@ ply-image: ply-image.c ply-frame-buffer.c Makefile - gcc -O2 -march=core2 -mtune=generic -lm `pkg-config --cflags libpng12` `pkg-config --libs libpng12` ply-image.c ply-frame-buffer.c -o ply-image -+ $(CC) -static $(CFLAGS) `pkg-config --cflags libpng` ply-image.c ply-frame-buffer.c -o ply-image -lm `pkg-config --libs libpng` -lm -lz ++ $(CC) $(CFLAGS) `pkg-config --cflags libpng` ply-image.c ply-frame-buffer.c -o ply-image -lm `pkg-config --libs libpng` -lm -lz clean: rm -f ply-image *~ gmon.out diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch similarity index 100% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-libpng_1.4.0.patch diff --git a/packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch b/packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch similarity index 100% rename from packages/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch rename to packages/initramfs/sysutils/plymouth-lite/patches/plymouth-lite-0.6.0-resize.patch diff --git a/packages/sysutils/plymouth-lite/splash/splash.png b/packages/initramfs/sysutils/plymouth-lite/splash/splash.png similarity index 100% rename from packages/sysutils/plymouth-lite/splash/splash.png rename to packages/initramfs/sysutils/plymouth-lite/splash/splash.png diff --git a/packages/sysutils/plymouth-lite/splash/splash1.png b/packages/initramfs/sysutils/plymouth-lite/splash/splash1.png similarity index 100% rename from packages/sysutils/plymouth-lite/splash/splash1.png rename to packages/initramfs/sysutils/plymouth-lite/splash/splash1.png From 4fae2dfe37b12d08688fe41fea4c45bb85d6acee Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:16:47 +0200 Subject: [PATCH 15/52] new package: add package 'initramfs' for building a shared linked initramfs Signed-off-by: Stephan Raue --- packages/initramfs/meta | 40 ++++++++++++++++++++++++++++++++++++++++ packages/linux/build | 9 +++++++-- packages/linux/unpack | 3 ++- 3 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 packages/initramfs/meta diff --git a/packages/initramfs/meta b/packages/initramfs/meta new file mode 100644 index 0000000000..06f1b882a8 --- /dev/null +++ b/packages/initramfs/meta @@ -0,0 +1,40 @@ +################################################################################ +# 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="initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.openelec.tv" +PKG_URL="" +PKG_DEPENDS="eglibc-initramfs busybox-initramfs plymouth-lite diskdev_cmds-initramfs" +PKG_BUILD_DEPENDS="toolchain eglibc-initramfs busybox-initramfs plymouth-lite" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs" +PKG_SHORTDESC="initramfs: Metapackage for installing initramfs" +PKG_LONGDESC="debug is a Metapackage for installing initramfs" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" + +if [ "$HFSTOOLS" = "yes" ]; then + PKG_DEPENDS="$PKG_DEPENDS diskdev_cmds-initramfs" +fi diff --git a/packages/linux/build b/packages/linux/build index ed0d622184..e83c67c093 100755 --- a/packages/linux/build +++ b/packages/linux/build @@ -22,8 +22,13 @@ . config/options $1 -export INSTALL=$(kernel_path)/initramfs -$SCRIPTS/install busybox-initramfs +# export INSTALL=$(kernel_path)/initramfs +export INSTALL=$ROOT/$BUILD/image/initramfs/root-image +$SCRIPTS/install initramfs + +cd $INSTALL + find . | cpio -H newc -ov -R 0:0 > $ROOT/$BUILD/image/initramfs.cpio +cd - if [ "$BOOTLOADER" = "u-boot" ]; then $SCRIPTS/build u-boot diff --git a/packages/linux/unpack b/packages/linux/unpack index 37fe003e97..9523cd3a1a 100755 --- a/packages/linux/unpack +++ b/packages/linux/unpack @@ -37,7 +37,8 @@ sed -i -e "s|^HOSTCC[[:space:]]*=.*$|HOSTCC = $HOST_CC|" \ $LINUX/Makefile cp $KERNEL_CFG_FILE $LINUX/.config -sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$PKG_DIR/config/initramfs\"|" \ +#sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$PKG_DIR/config/initramfs\"|" \ +sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$BUILD/image/initramfs.cpio\"|" \ $LINUX/.config # copy some extra firmware to linux tree From 03b34829b5f33f1b6ba8bbfddd38e324cd894963 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 18 May 2011 01:20:31 +0200 Subject: [PATCH 16/52] initramfs: fix dependencies Signed-off-by: Stephan Raue --- packages/initramfs/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/initramfs/meta b/packages/initramfs/meta index 06f1b882a8..6bbab40a01 100644 --- a/packages/initramfs/meta +++ b/packages/initramfs/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.openelec.tv" PKG_URL="" -PKG_DEPENDS="eglibc-initramfs busybox-initramfs plymouth-lite diskdev_cmds-initramfs" +PKG_DEPENDS="eglibc-initramfs busybox-initramfs plymouth-lite" PKG_BUILD_DEPENDS="toolchain eglibc-initramfs busybox-initramfs plymouth-lite" PKG_PRIORITY="optional" PKG_SECTION="initramfs" From 70df6f6d29b1f506f10bba434bfbabf14b0ad98d Mon Sep 17 00:00:00 2001 From: Travis Glenn Hansen Date: Wed, 18 May 2011 21:25:55 -0600 Subject: [PATCH 17/52] adding real blkid to initramfs supporting single-boot ATV update process --- packages/initramfs/meta | 2 +- .../sysutils/busybox-initramfs/scripts/init | 18 ++++++++++ .../sysutils/util-linux-initramfs/install | 28 +++++++++++++++ .../sysutils/util-linux-initramfs/meta | 36 +++++++++++++++++++ 4 files changed, 83 insertions(+), 1 deletion(-) create mode 100755 packages/initramfs/sysutils/util-linux-initramfs/install create mode 100644 packages/initramfs/sysutils/util-linux-initramfs/meta diff --git a/packages/initramfs/meta b/packages/initramfs/meta index 6bbab40a01..a7cd1ce35f 100644 --- a/packages/initramfs/meta +++ b/packages/initramfs/meta @@ -36,5 +36,5 @@ PKG_IS_ADDON="no" PKG_AUTORECONF="no" if [ "$HFSTOOLS" = "yes" ]; then - PKG_DEPENDS="$PKG_DEPENDS diskdev_cmds-initramfs" + PKG_DEPENDS="$PKG_DEPENDS diskdev_cmds-initramfs util-linux-initramfs" fi diff --git a/packages/initramfs/sysutils/busybox-initramfs/scripts/init b/packages/initramfs/sysutils/busybox-initramfs/scripts/init index c6e8c4eede..e11f839414 100755 --- a/packages/initramfs/sysutils/busybox-initramfs/scripts/init +++ b/packages/initramfs/sysutils/busybox-initramfs/scripts/init @@ -115,8 +115,26 @@ REBOOT="0" fi } + hfsdiskprep() { + for DEV in `/bin/busybox ls /dev/sd*`; do + FS_TYPE=$(/sbin/blkid -o value -s TYPE $DEV) + if [ "$FS_TYPE" = "hfs" -o "$FS_TYPE" = "hfsplus" ]; then + /sbin/fsck_hfs -r -y $DEV > /dev/null 2>&1 + fi + done + } + +# deal with hfs partitions + if [ -x /sbin/fsck_hfs ]; then + hfsdiskprep + fi + mount_part "$boot" "/flash" "ro,noatime" + if [ -f "/flash/atv_single_boot" ]; then + IMAGE_KERNEL="MACH_KERNEL" + fi + show_splash if [ -n "$disk" ]; then diff --git a/packages/initramfs/sysutils/util-linux-initramfs/install b/packages/initramfs/sysutils/util-linux-initramfs/install new file mode 100755 index 0000000000..67aeeddaa2 --- /dev/null +++ b/packages/initramfs/sysutils/util-linux-initramfs/install @@ -0,0 +1,28 @@ +#!/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 + +UTIL_LINUX_DIR="$BUILD/util-linux-*" + +mkdir -p $INSTALL/sbin + cp $UTIL_LINUX_DIR/misc-utils/blkid $INSTALL/sbin diff --git a/packages/initramfs/sysutils/util-linux-initramfs/meta b/packages/initramfs/sysutils/util-linux-initramfs/meta new file mode 100644 index 0000000000..6b38110560 --- /dev/null +++ b/packages/initramfs/sysutils/util-linux-initramfs/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="util-linux-initramfs" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="APSL" +PKG_SITE="http://userweb.kernel.org/~kzak/util-linux-ng/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain util-linux" +PKG_PRIORITY="optional" +PKG_SECTION="initramfs/system" +PKG_SHORTDESC="util-linux: Miscellaneous system utilities for Linux" +PKG_LONGDESC="The util-linux package contains a large variety of low-level system utilities that are necessary for a Linux system to function. Among many features, Util-linux contains the fdisk configuration tool and the login program." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 28bca683fd8074cd10a4a4318b40ae5b569abe11 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 19 May 2011 09:08:03 +0200 Subject: [PATCH 18/52] new package: add package 'cpio' Signed-off-by: Stephan Raue --- packages/compress/cpio/build | 31 +++++++++++++++++++++++++++++++ packages/compress/cpio/meta | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100755 packages/compress/cpio/build create mode 100644 packages/compress/cpio/meta diff --git a/packages/compress/cpio/build b/packages/compress/cpio/build new file mode 100755 index 0000000000..a7263ddde3 --- /dev/null +++ b/packages/compress/cpio/build @@ -0,0 +1,31 @@ +#!/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 + +setup_toolchain host + +cd $PKG_BUILD +./configure --prefix=$ROOT/$TOOLCHAIN + +make +make install diff --git a/packages/compress/cpio/meta b/packages/compress/cpio/meta new file mode 100644 index 0000000000..765f304378 --- /dev/null +++ b/packages/compress/cpio/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="cpio" +PKG_VERSION="2.11" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.gnu.org/software/cpio/cpio.html" +PKG_URL="http://ftp.gnu.org/gnu/cpio/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="compress" +PKG_SHORTDESC="cpio: A GNU archiving program" +PKG_LONGDESC="This is GNU cpio, a program to manage archives of files. As of version 2.0, it supports the features of the System V release 4 cpio, including support for tar archives." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" From f20eac9c11f8c5afba3cd10129a2c271126d57b9 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 19 May 2011 09:08:32 +0200 Subject: [PATCH 19/52] linux: depends on package cpio Signed-off-by: Stephan Raue --- packages/linux/build | 1 - packages/linux/meta | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/linux/build b/packages/linux/build index e83c67c093..5e767a82b8 100755 --- a/packages/linux/build +++ b/packages/linux/build @@ -22,7 +22,6 @@ . config/options $1 -# export INSTALL=$(kernel_path)/initramfs export INSTALL=$ROOT/$BUILD/image/initramfs/root-image $SCRIPTS/install initramfs diff --git a/packages/linux/meta b/packages/linux/meta index 30509cc23f..ab9a71e275 100644 --- a/packages/linux/meta +++ b/packages/linux/meta @@ -27,7 +27,7 @@ PKG_SITE="http://www.kernel.org" #PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="busybox linux-drivers linux-firmware" -PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz" +PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio" PKG_PRIORITY="optional" PKG_SECTION="linux" PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and modules" From 762e56d090a2553b463d935e414540b9673e1a4d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 19 May 2011 10:25:21 +0200 Subject: [PATCH 20/52] busybox: update upstream patches Signed-off-by: Stephan Raue --- .../busybox/patches/busybox-1.18.4-hush.patch | 160 ++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch diff --git a/packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch b/packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch new file mode 100644 index 0000000000..4e995afee2 --- /dev/null +++ b/packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch @@ -0,0 +1,160 @@ +--- busybox-1.18.4/shell/hush.c ++++ busybox-1.18.4-hush/shell/hush.c +@@ -427,6 +427,15 @@ enum { + /* Used for initialization: o_string foo = NULL_O_STRING; */ + #define NULL_O_STRING { NULL } + ++#ifndef debug_printf_parse ++static const char *const assignment_flag[] = { ++ "MAYBE_ASSIGNMENT", ++ "DEFINITELY_ASSIGNMENT", ++ "NOT_ASSIGNMENT", ++ "WORD_IS_KEYWORD", ++}; ++#endif ++ + /* I can almost use ordinary FILE*. Is open_memstream() universally + * available? Where is it documented? */ + typedef struct in_str { +@@ -2885,24 +2894,24 @@ static const struct reserved_combo* matc + */ + static const struct reserved_combo reserved_list[] = { + # if ENABLE_HUSH_IF +- { "!", RES_NONE, NOT_ASSIGNMENT , 0 }, +- { "if", RES_IF, WORD_IS_KEYWORD, FLAG_THEN | FLAG_START }, +- { "then", RES_THEN, WORD_IS_KEYWORD, FLAG_ELIF | FLAG_ELSE | FLAG_FI }, +- { "elif", RES_ELIF, WORD_IS_KEYWORD, FLAG_THEN }, +- { "else", RES_ELSE, WORD_IS_KEYWORD, FLAG_FI }, +- { "fi", RES_FI, NOT_ASSIGNMENT , FLAG_END }, ++ { "!", RES_NONE, NOT_ASSIGNMENT , 0 }, ++ { "if", RES_IF, MAYBE_ASSIGNMENT, FLAG_THEN | FLAG_START }, ++ { "then", RES_THEN, MAYBE_ASSIGNMENT, FLAG_ELIF | FLAG_ELSE | FLAG_FI }, ++ { "elif", RES_ELIF, MAYBE_ASSIGNMENT, FLAG_THEN }, ++ { "else", RES_ELSE, MAYBE_ASSIGNMENT, FLAG_FI }, ++ { "fi", RES_FI, NOT_ASSIGNMENT , FLAG_END }, + # endif + # if ENABLE_HUSH_LOOPS +- { "for", RES_FOR, NOT_ASSIGNMENT , FLAG_IN | FLAG_DO | FLAG_START }, +- { "while", RES_WHILE, WORD_IS_KEYWORD, FLAG_DO | FLAG_START }, +- { "until", RES_UNTIL, WORD_IS_KEYWORD, FLAG_DO | FLAG_START }, +- { "in", RES_IN, NOT_ASSIGNMENT , FLAG_DO }, +- { "do", RES_DO, WORD_IS_KEYWORD, FLAG_DONE }, +- { "done", RES_DONE, NOT_ASSIGNMENT , FLAG_END }, ++ { "for", RES_FOR, NOT_ASSIGNMENT , FLAG_IN | FLAG_DO | FLAG_START }, ++ { "while", RES_WHILE, MAYBE_ASSIGNMENT, FLAG_DO | FLAG_START }, ++ { "until", RES_UNTIL, MAYBE_ASSIGNMENT, FLAG_DO | FLAG_START }, ++ { "in", RES_IN, NOT_ASSIGNMENT , FLAG_DO }, ++ { "do", RES_DO, MAYBE_ASSIGNMENT, FLAG_DONE }, ++ { "done", RES_DONE, NOT_ASSIGNMENT , FLAG_END }, + # endif + # if ENABLE_HUSH_CASE +- { "case", RES_CASE, NOT_ASSIGNMENT , FLAG_MATCH | FLAG_START }, +- { "esac", RES_ESAC, NOT_ASSIGNMENT , FLAG_END }, ++ { "case", RES_CASE, NOT_ASSIGNMENT , FLAG_MATCH | FLAG_START }, ++ { "esac", RES_ESAC, NOT_ASSIGNMENT , FLAG_END }, + # endif + }; + const struct reserved_combo *r; +@@ -2968,6 +2977,7 @@ static int reserved_word(o_string *word, + ctx->ctx_res_w = r->res; + ctx->old_flag = r->flag; + word->o_assignment = r->assignment_flag; ++ debug_printf_parse("word->o_assignment='%s'\n", assignment_flag[word->o_assignment]); + + if (ctx->old_flag & FLAG_END) { + struct parse_context *old; +@@ -3034,18 +3044,6 @@ static int done_word(o_string *word, str + debug_printf_parse("word stored in rd_filename: '%s'\n", word->data); + ctx->pending_redirect = NULL; + } else { +- /* If this word wasn't an assignment, next ones definitely +- * can't be assignments. Even if they look like ones. */ +- if (word->o_assignment != DEFINITELY_ASSIGNMENT +- && word->o_assignment != WORD_IS_KEYWORD +- ) { +- word->o_assignment = NOT_ASSIGNMENT; +- } else { +- if (word->o_assignment == DEFINITELY_ASSIGNMENT) +- command->assignment_cnt++; +- word->o_assignment = MAYBE_ASSIGNMENT; +- } +- + #if HAS_KEYWORDS + # if ENABLE_HUSH_CASE + if (ctx->ctx_dsemicolon +@@ -3065,8 +3063,9 @@ static int done_word(o_string *word, str + && ctx->ctx_res_w != RES_CASE + # endif + ) { +- debug_printf_parse("checking '%s' for reserved-ness\n", word->data); +- if (reserved_word(word, ctx)) { ++ int reserved = reserved_word(word, ctx); ++ debug_printf_parse("checking for reserved-ness: %d\n", reserved); ++ if (reserved) { + o_reset_to_empty_unquoted(word); + debug_printf_parse("done_word return %d\n", + (ctx->ctx_res_w == RES_SNTX)); +@@ -3087,6 +3086,23 @@ static int done_word(o_string *word, str + "groups and arglists don't mix\n"); + return 1; + } ++ ++ /* If this word wasn't an assignment, next ones definitely ++ * can't be assignments. Even if they look like ones. */ ++ if (word->o_assignment != DEFINITELY_ASSIGNMENT ++ && word->o_assignment != WORD_IS_KEYWORD ++ ) { ++ word->o_assignment = NOT_ASSIGNMENT; ++ } else { ++ if (word->o_assignment == DEFINITELY_ASSIGNMENT) { ++ command->assignment_cnt++; ++ debug_printf_parse("++assignment_cnt=%d\n", command->assignment_cnt); ++ } ++ debug_printf_parse("word->o_assignment was:'%s'\n", assignment_flag[word->o_assignment]); ++ word->o_assignment = MAYBE_ASSIGNMENT; ++ } ++ debug_printf_parse("word->o_assignment='%s'\n", assignment_flag[word->o_assignment]); ++ + if (word->has_quoted_part + /* optimization: and if it's ("" or '') or ($v... or `cmd`...): */ + && (word->data[0] == '\0' || word->data[0] == SPECIAL_VAR_SYMBOL) +@@ -4105,6 +4121,7 @@ static struct pipe *parse_stream(char ** + && is_well_formed_var_name(dest.data, '=') + ) { + dest.o_assignment = DEFINITELY_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + } + continue; + } +@@ -4154,6 +4171,7 @@ static struct pipe *parse_stream(char ** + heredoc_cnt = 0; + } + dest.o_assignment = MAYBE_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + ch = ';'; + /* note: if (is_blank) continue; + * will still trigger for us */ +@@ -4203,6 +4221,7 @@ static struct pipe *parse_stream(char ** + } + done_pipe(&ctx, PIPE_SEQ); + dest.o_assignment = MAYBE_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + /* Do we sit outside of any if's, loops or case's? */ + if (!HAS_KEYWORDS + IF_HAS_KEYWORDS(|| (ctx.ctx_res_w == RES_NONE && ctx.old_flag == 0)) +@@ -4309,6 +4328,7 @@ static struct pipe *parse_stream(char ** + /* ch is a special char and thus this word + * cannot be an assignment */ + dest.o_assignment = NOT_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + } + + /* Note: nommu_addchr(&ctx.as_string, ch) is already done */ +@@ -4406,6 +4426,7 @@ static struct pipe *parse_stream(char ** + /* We just finished a cmd. New one may start + * with an assignment */ + dest.o_assignment = MAYBE_ASSIGNMENT; ++ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]); + break; + case '&': + if (done_word(&dest, &ctx)) { From a32ab623a6fec5e94b3a3cd1e10f99327298d5db Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 19 May 2011 10:25:56 +0200 Subject: [PATCH 21/52] grep: update to grep-2.8 Signed-off-by: Stephan Raue --- packages/sysutils/grep/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/sysutils/grep/meta b/packages/sysutils/grep/meta index 6eaeac3b9b..d7bbcca4d2 100644 --- a/packages/sysutils/grep/meta +++ b/packages/sysutils/grep/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="grep" -PKG_VERSION="2.7" +PKG_VERSION="2.8" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" From d4f0e4c4c6069775fd060f25435f48681b7354bd Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 19 May 2011 10:26:34 +0200 Subject: [PATCH 22/52] bison: update to bison-2.5 Signed-off-by: Stephan Raue --- packages/toolchain/devel/bison/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/toolchain/devel/bison/meta b/packages/toolchain/devel/bison/meta index e289f8b190..b6ac522ee0 100644 --- a/packages/toolchain/devel/bison/meta +++ b/packages/toolchain/devel/bison/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bison" -PKG_VERSION="2.4.3" +PKG_VERSION="2.5" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" From 0e3d0fa482d9591292265113d282967e060b07f9 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Thu, 19 May 2011 11:04:49 +0200 Subject: [PATCH 23/52] linux: update to linux-2.6.39 (final) Signed-off-by: Stephan Raue --- packages/linux/meta | 6 +++--- ...osscompile.patch => linux-2.6.39-000_crosscompile.patch} | 0 ...ature.patch => linux-2.6.39-002_bash_only_feature.patch} | 0 ..._console.patch => linux-2.6.39-003-no_dev_console.patch} | 0 ... => linux-2.6.39-004_lower_undefined_mode_timeout.patch} | 0 ...mp.patch => linux-2.6.39-005_kconfig_no_timestamp.patch} | 0 ...enable_utf8.patch => linux-2.6.39-006_enable_utf8.patch} | 0 ...oppy_die.patch => linux-2.6.39-007_die_floppy_die.patch} | 0 ...linux-2.6.39-008-hda_intel_prealloc_4mb_dmabuffer.patch} | 0 ...linux-2.6.39-009_disable_i8042_check_on_apple_mac.patch} | 0 ...atch => linux-2.6.39-041-add_rtl8192se_driver-0.2.patch} | 0 ....patch => linux-2.6.39-050_add_appleir_usb_driver.patch} | 0 ...patch => linux-2.6.39-052-aureal_remote_quirk-0.1.patch} | 0 ...-2.6.39-053_ati-remote_all_keys_and_keychange-0.1.patch} | 0 ....39-054_nuvoton-cir-only-warn-about-unknown-chips.patch} | 0 ...5_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch} | 0 ....1.patch => linux-2.6.39-057_ite-resume-debug-0.1.patch} | 0 ...7_media-ite-cir-make-IR-receive-work-after-resume.patch} | 0 ...x-2.6.39-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch} | 0 ...h => linux-2.6.39-071-silence_i915_agp-module-0.1.patch} | 0 ...x-2.6.39-322-omap4_pandaboard_fix_dvi_support-0.1.patch} | 0 ...ness.patch => linux-2.6.39-716_mm-zero_swappiness.patch} | 0 22 files changed, 3 insertions(+), 3 deletions(-) rename packages/linux/patches/{linux-2.6.39-rc7-000_crosscompile.patch => linux-2.6.39-000_crosscompile.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-002_bash_only_feature.patch => linux-2.6.39-002_bash_only_feature.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-003-no_dev_console.patch => linux-2.6.39-003-no_dev_console.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-004_lower_undefined_mode_timeout.patch => linux-2.6.39-004_lower_undefined_mode_timeout.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-005_kconfig_no_timestamp.patch => linux-2.6.39-005_kconfig_no_timestamp.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-006_enable_utf8.patch => linux-2.6.39-006_enable_utf8.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-007_die_floppy_die.patch => linux-2.6.39-007_die_floppy_die.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-008-hda_intel_prealloc_4mb_dmabuffer.patch => linux-2.6.39-008-hda_intel_prealloc_4mb_dmabuffer.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-009_disable_i8042_check_on_apple_mac.patch => linux-2.6.39-009_disable_i8042_check_on_apple_mac.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-041-add_rtl8192se_driver-0.2.patch => linux-2.6.39-041-add_rtl8192se_driver-0.2.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-050_add_appleir_usb_driver.patch => linux-2.6.39-050_add_appleir_usb_driver.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-052-aureal_remote_quirk-0.1.patch => linux-2.6.39-052-aureal_remote_quirk-0.1.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-053_ati-remote_all_keys_and_keychange-0.1.patch => linux-2.6.39-053_ati-remote_all_keys_and_keychange-0.1.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-054_nuvoton-cir-only-warn-about-unknown-chips.patch => linux-2.6.39-054_nuvoton-cir-only-warn-about-unknown-chips.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch => linux-2.6.39-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-057_ite-resume-debug-0.1.patch => linux-2.6.39-057_ite-resume-debug-0.1.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-057_media-ite-cir-make-IR-receive-work-after-resume.patch => linux-2.6.39-057_media-ite-cir-make-IR-receive-work-after-resume.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch => linux-2.6.39-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-071-silence_i915_agp-module-0.1.patch => linux-2.6.39-071-silence_i915_agp-module-0.1.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-322-omap4_pandaboard_fix_dvi_support-0.1.patch => linux-2.6.39-322-omap4_pandaboard_fix_dvi_support-0.1.patch} (100%) rename packages/linux/patches/{linux-2.6.39-rc7-716_mm-zero_swappiness.patch => linux-2.6.39-716_mm-zero_swappiness.patch} (100%) diff --git a/packages/linux/meta b/packages/linux/meta index ab9a71e275..22a879db84 100644 --- a/packages/linux/meta +++ b/packages/linux/meta @@ -19,13 +19,13 @@ ################################################################################ PKG_NAME="linux" -PKG_VERSION="2.6.39-rc7" +PKG_VERSION="2.6.39" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.kernel.org" -#PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2" +#PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="busybox linux-drivers linux-firmware" PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio" PKG_PRIORITY="optional" diff --git a/packages/linux/patches/linux-2.6.39-rc7-000_crosscompile.patch b/packages/linux/patches/linux-2.6.39-000_crosscompile.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-000_crosscompile.patch rename to packages/linux/patches/linux-2.6.39-000_crosscompile.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-002_bash_only_feature.patch b/packages/linux/patches/linux-2.6.39-002_bash_only_feature.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-002_bash_only_feature.patch rename to packages/linux/patches/linux-2.6.39-002_bash_only_feature.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-003-no_dev_console.patch b/packages/linux/patches/linux-2.6.39-003-no_dev_console.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-003-no_dev_console.patch rename to packages/linux/patches/linux-2.6.39-003-no_dev_console.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-004_lower_undefined_mode_timeout.patch b/packages/linux/patches/linux-2.6.39-004_lower_undefined_mode_timeout.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-004_lower_undefined_mode_timeout.patch rename to packages/linux/patches/linux-2.6.39-004_lower_undefined_mode_timeout.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-005_kconfig_no_timestamp.patch b/packages/linux/patches/linux-2.6.39-005_kconfig_no_timestamp.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-005_kconfig_no_timestamp.patch rename to packages/linux/patches/linux-2.6.39-005_kconfig_no_timestamp.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-006_enable_utf8.patch b/packages/linux/patches/linux-2.6.39-006_enable_utf8.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-006_enable_utf8.patch rename to packages/linux/patches/linux-2.6.39-006_enable_utf8.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-007_die_floppy_die.patch b/packages/linux/patches/linux-2.6.39-007_die_floppy_die.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-007_die_floppy_die.patch rename to packages/linux/patches/linux-2.6.39-007_die_floppy_die.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-008-hda_intel_prealloc_4mb_dmabuffer.patch b/packages/linux/patches/linux-2.6.39-008-hda_intel_prealloc_4mb_dmabuffer.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-008-hda_intel_prealloc_4mb_dmabuffer.patch rename to packages/linux/patches/linux-2.6.39-008-hda_intel_prealloc_4mb_dmabuffer.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-009_disable_i8042_check_on_apple_mac.patch b/packages/linux/patches/linux-2.6.39-009_disable_i8042_check_on_apple_mac.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-009_disable_i8042_check_on_apple_mac.patch rename to packages/linux/patches/linux-2.6.39-009_disable_i8042_check_on_apple_mac.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-041-add_rtl8192se_driver-0.2.patch b/packages/linux/patches/linux-2.6.39-041-add_rtl8192se_driver-0.2.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-041-add_rtl8192se_driver-0.2.patch rename to packages/linux/patches/linux-2.6.39-041-add_rtl8192se_driver-0.2.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-050_add_appleir_usb_driver.patch b/packages/linux/patches/linux-2.6.39-050_add_appleir_usb_driver.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-050_add_appleir_usb_driver.patch rename to packages/linux/patches/linux-2.6.39-050_add_appleir_usb_driver.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-052-aureal_remote_quirk-0.1.patch b/packages/linux/patches/linux-2.6.39-052-aureal_remote_quirk-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-052-aureal_remote_quirk-0.1.patch rename to packages/linux/patches/linux-2.6.39-052-aureal_remote_quirk-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-053_ati-remote_all_keys_and_keychange-0.1.patch b/packages/linux/patches/linux-2.6.39-053_ati-remote_all_keys_and_keychange-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-053_ati-remote_all_keys_and_keychange-0.1.patch rename to packages/linux/patches/linux-2.6.39-053_ati-remote_all_keys_and_keychange-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-054_nuvoton-cir-only-warn-about-unknown-chips.patch b/packages/linux/patches/linux-2.6.39-054_nuvoton-cir-only-warn-about-unknown-chips.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-054_nuvoton-cir-only-warn-about-unknown-chips.patch rename to packages/linux/patches/linux-2.6.39-054_nuvoton-cir-only-warn-about-unknown-chips.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch b/packages/linux/patches/linux-2.6.39-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch rename to packages/linux/patches/linux-2.6.39-055_nuvoton-cir-enable-CIR-on-w83667hg-chip-variant.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-057_ite-resume-debug-0.1.patch b/packages/linux/patches/linux-2.6.39-057_ite-resume-debug-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-057_ite-resume-debug-0.1.patch rename to packages/linux/patches/linux-2.6.39-057_ite-resume-debug-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-057_media-ite-cir-make-IR-receive-work-after-resume.patch b/packages/linux/patches/linux-2.6.39-057_media-ite-cir-make-IR-receive-work-after-resume.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-057_media-ite-cir-make-IR-receive-work-after-resume.patch rename to packages/linux/patches/linux-2.6.39-057_media-ite-cir-make-IR-receive-work-after-resume.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch b/packages/linux/patches/linux-2.6.39-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch rename to packages/linux/patches/linux-2.6.39-062-Pioneer_DVR-216D_failed_xfermode-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-071-silence_i915_agp-module-0.1.patch b/packages/linux/patches/linux-2.6.39-071-silence_i915_agp-module-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-071-silence_i915_agp-module-0.1.patch rename to packages/linux/patches/linux-2.6.39-071-silence_i915_agp-module-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-322-omap4_pandaboard_fix_dvi_support-0.1.patch b/packages/linux/patches/linux-2.6.39-322-omap4_pandaboard_fix_dvi_support-0.1.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-322-omap4_pandaboard_fix_dvi_support-0.1.patch rename to packages/linux/patches/linux-2.6.39-322-omap4_pandaboard_fix_dvi_support-0.1.patch diff --git a/packages/linux/patches/linux-2.6.39-rc7-716_mm-zero_swappiness.patch b/packages/linux/patches/linux-2.6.39-716_mm-zero_swappiness.patch similarity index 100% rename from packages/linux/patches/linux-2.6.39-rc7-716_mm-zero_swappiness.patch rename to packages/linux/patches/linux-2.6.39-716_mm-zero_swappiness.patch From fab6cde5ce8ce4ac4ae39c55b461a8768c46f930 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 16:15:39 +0200 Subject: [PATCH 24/52] new package: add package 'compositeproto' Signed-off-by: Stephan Raue --- packages/x11/proto/compositeproto/build | 33 +++++++++++++++++++++++ packages/x11/proto/compositeproto/meta | 36 +++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100755 packages/x11/proto/compositeproto/build create mode 100644 packages/x11/proto/compositeproto/meta diff --git a/packages/x11/proto/compositeproto/build b/packages/x11/proto/compositeproto/build new file mode 100755 index 0000000000..c7c3a8c110 --- /dev/null +++ b/packages/x11/proto/compositeproto/build @@ -0,0 +1,33 @@ +#!/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 \ + --localstatedir=/var \ + +make +$MAKEINSTALL diff --git a/packages/x11/proto/compositeproto/meta b/packages/x11/proto/compositeproto/meta new file mode 100644 index 0000000000..9d782e4c93 --- /dev/null +++ b/packages/x11/proto/compositeproto/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="compositeproto" +PKG_VERSION="0.4.2" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.X.org" +PKG_URL="http://xorg.freedesktop.org/archive/individual/proto/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain util-macros" +PKG_PRIORITY="optional" +PKG_SECTION="x11/proto" +PKG_SHORTDESC="compositeproto: Composite extension headers" +PKG_LONGDESC="Composite extension headers" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" From d235afc88db68097eb597eba5462233768bb713e Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 16:15:57 +0200 Subject: [PATCH 25/52] new package: add package 'libXcomposite' Signed-off-by: Stephan Raue --- packages/x11/lib/libXcomposite/build | 35 +++++++++++++++++++++++++ packages/x11/lib/libXcomposite/install | 26 +++++++++++++++++++ packages/x11/lib/libXcomposite/meta | 36 ++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100755 packages/x11/lib/libXcomposite/build create mode 100755 packages/x11/lib/libXcomposite/install create mode 100644 packages/x11/lib/libXcomposite/meta diff --git a/packages/x11/lib/libXcomposite/build b/packages/x11/lib/libXcomposite/build new file mode 100755 index 0000000000..ad1aeb8196 --- /dev/null +++ b/packages/x11/lib/libXcomposite/build @@ -0,0 +1,35 @@ +#!/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 \ + --localstatedir=/var \ + --disable-static \ + --enable-shared \ + +make +$MAKEINSTALL diff --git a/packages/x11/lib/libXcomposite/install b/packages/x11/lib/libXcomposite/install new file mode 100755 index 0000000000..ce5da2b5d3 --- /dev/null +++ b/packages/x11/lib/libXcomposite/install @@ -0,0 +1,26 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/lib + cp -P $PKG_BUILD/src/.libs/libXcomposite.so* $INSTALL/usr/lib diff --git a/packages/x11/lib/libXcomposite/meta b/packages/x11/lib/libXcomposite/meta new file mode 100644 index 0000000000..323cc8e9e1 --- /dev/null +++ b/packages/x11/lib/libXcomposite/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="libXcomposite" +PKG_VERSION="0.4.3" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.X.org" +PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="libXfixes libXext libX11" +PKG_BUILD_DEPENDS="toolchain util-macros compositeproto fixesproto libXfixes libXext libX11" +PKG_PRIORITY="optional" +PKG_SECTION="x11/lib" +PKG_SHORTDESC="libxcomposite: X Composite Library" +PKG_LONGDESC="X Composite Library" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" From b867fd862b2543afca47b12095124ed06c823b36 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 16:16:26 +0200 Subject: [PATCH 26/52] xorg-server: add optional Composite support Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/build | 8 +++++++- packages/x11/xserver/xorg-server/meta | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/x11/xserver/xorg-server/build b/packages/x11/xserver/xorg-server/build index 926a10c2fb..249512f024 100755 --- a/packages/x11/xserver/xorg-server/build +++ b/packages/x11/xserver/xorg-server/build @@ -26,6 +26,12 @@ XORG_SRC="$PKG_BUILD/hw/xfree86" get_graphicdrivers +if [ "$COMPOSITE_SUPPORT" = "yes" ]; then + XORG_COMPOSITE="--enable-composite" +else + XORG_COMPOSITE="--diable-composite" +fi + if [ "$XINERAMA_SUPPORT" = "yes" ]; then XORG_XINERAMA="--enable-xinerama" else @@ -57,7 +63,7 @@ cd $PKG_BUILD --enable-aiglx \ --enable-glx-tls \ --enable-registry \ - --disable-composite \ + $XORG_COMPOSITE \ $XORG_XINERAMA \ --enable-mitshm \ --disable-xres \ diff --git a/packages/x11/xserver/xorg-server/meta b/packages/x11/xserver/xorg-server/meta index d04e16feef..b914504e76 100644 --- a/packages/x11/xserver/xorg-server/meta +++ b/packages/x11/xserver/xorg-server/meta @@ -36,6 +36,11 @@ PKG_IS_ADDON="no" PKG_AUTORECONF="yes" get_graphicdrivers +if [ "$COMPOSITE_SUPPORT" = "yes" ]; then + PKG_DEPENDS="$PKG_DEPENDS libXcomposite" + PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXcomposite" +fi + if [ "$XINERAMA_SUPPORT" = "yes" ]; then PKG_DEPENDS="$PKG_DEPENDS libXinerama" PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXinerama" From 0f05bb40d860552244c199e63fcc5b10b756e359 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 17:15:41 +0200 Subject: [PATCH 27/52] udev: update to udev-170 Signed-off-by: Stephan Raue --- packages/sysutils/udev/build | 11 +- packages/sysutils/udev/install | 35 +--- packages/sysutils/udev/meta | 2 +- .../udev-168-remove_keymap_and_acl-0.1.patch | 150 ------------------ 4 files changed, 18 insertions(+), 180 deletions(-) delete mode 100644 packages/sysutils/udev/patches/udev-168-remove_keymap_and_acl-0.1.patch diff --git a/packages/sysutils/udev/build b/packages/sysutils/udev/build index a696948f63..e73ec438e8 100755 --- a/packages/sysutils/udev/build +++ b/packages/sysutils/udev/build @@ -42,12 +42,19 @@ LDFLAGS="$LDFLAGS -I$SYSROOT_PREFIX/usr/include/glib-2.0" \ --disable-gtk-doc-pdf \ --disable-debug \ --disable-logging \ - --enable-extras \ + --disable-rule_generator \ + --disable-hwdb \ + --disable-udev_acl \ + --enable-gudev \ + --disable-introspection \ + --disable-keymap \ + --disable-floppy \ + --disable-edd \ + --disable-action_modeswitch \ --without-selinux \ --without-systemdsystemunitdir \ --with-firmware-path=/lib/firmware \ --with-pci-ids-path=/usr/share/pci.ids \ - --disable-introspection \ --with-gnu-ld \ make diff --git a/packages/sysutils/udev/install b/packages/sysutils/udev/install index 9a9f827f4f..1140f2c62a 100755 --- a/packages/sysutils/udev/install +++ b/packages/sysutils/udev/install @@ -42,45 +42,26 @@ mkdir -p $INSTALL/usr/lib rm -rf $INSTALL/usr/lib/libgudev*.*T mkdir -p $INSTALL/lib/udev -# cp $PKG_BUILD/extras/floppy/create_floppy_devices $INSTALL/lib/udev - cp $PKG_BUILD/extras/firmware/firmware $INSTALL/lib/udev - cp $PKG_BUILD/extras/rule_generator/rule_generator.functions $INSTALL/lib/udev - cp $PKG_BUILD/extras/rule_generator/write_cd_rules $INSTALL/lib/udev - cp $PKG_BUILD/extras/rule_generator/write_net_rules $INSTALL/lib/udev - chmod +x $INSTALL/lib/udev/write_*_rules -# cp $PKG_BUILD/extras/keymap/keymap $INSTALL/lib/udev -# cp $PKG_BUILD/extras/keymap/keyboard-force-release.sh $INSTALL/lib/udev -# chmod +x $INSTALL/lib/udev/keyboard-force-release.sh -# cp -R $PKG_BUILD/extras/keymap/keymaps $INSTALL/lib/udev -# cp -R $PKG_BUILD/extras/keymap/force-release-maps $INSTALL/lib/udev/keymaps/force-release - - for i in ata_id cdrom_id collect edd_id path_id scsi_id usb_id v4l_id; do + for i in ata_id cdrom_id collect firmware input_id mtd_probe path_id scsi_id usb_id v4l_id; do cp $PKG_BUILD/extras/$i/$i $INSTALL/lib/udev done - cp $PKG_BUILD/extras/input_id/input_id $INSTALL/lib/udev - cp $PKG_BUILD/extras/usb-db/usb-db $INSTALL/lib/udev - cp $PKG_BUILD/extras/usb-db/pci-db $INSTALL/lib/udev mkdir -p $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/cdrom_id/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/edd_id/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/firmware/*.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/extras/keymap/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/rule_generator/*.rules $INSTALL/lib/udev/rules.d - cp $PKG_BUILD/extras/v4l_id/*.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/packages/40-alsa.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/firmware/50-firmware.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/50-udev-default.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/cdrom_id/60-cdrom_id.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-alsa.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-input.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-serial.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/60-persistent-storage-tape.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/75-net-description.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/75-tty-description.rules $INSTALL/lib/udev/rules.d -# cp $PKG_BUILD/rules/rules.d/78-sound-card.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/rules/rules.d/60-persistent-storage-tape.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/60-persistent-storage.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/v4l_id/60-persistent-v4l.rules $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/extras/mtd_probe/75-probe_mtd.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/80-drivers.rules $INSTALL/lib/udev/rules.d cp $PKG_BUILD/rules/rules.d/95-udev-late.rules $INSTALL/lib/udev/rules.d +mkdir -p $INSTALL/lib/udev/devices + mkdir -p $INSTALL/etc/udev cp $PKG_BUILD/udev.conf $INSTALL/etc/udev ln -sf /dev/rules.d $INSTALL/etc/udev/rules.d diff --git a/packages/sysutils/udev/meta b/packages/sysutils/udev/meta index 0b5f0701bf..094b9a00e8 100644 --- a/packages/sysutils/udev/meta +++ b/packages/sysutils/udev/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="udev" -PKG_VERSION="168" +PKG_VERSION="170" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/sysutils/udev/patches/udev-168-remove_keymap_and_acl-0.1.patch b/packages/sysutils/udev/patches/udev-168-remove_keymap_and_acl-0.1.patch deleted file mode 100644 index 882f1a316e..0000000000 --- a/packages/sysutils/udev/patches/udev-168-remove_keymap_and_acl-0.1.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff -Naur udev-168/configure.ac udev-168.patch/configure.ac ---- udev-168/configure.ac 2011-03-30 16:03:44.000000000 +0200 -+++ udev-168.patch/configure.ac 2011-04-27 13:24:35.164449392 +0200 -@@ -86,9 +86,6 @@ - AC_SUBST([GLIB_CFLAGS]) - AC_SUBST([GLIB_LIBS]) - -- AC_CHECK_LIB([acl], [acl_init], [:], AC_MSG_ERROR([libacl not found])) -- AC_CHECK_HEADER([acl/libacl.h], [:], AC_MSG_ERROR([libacl header not found])) -- - PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.12) - AC_SUBST(LIBUSB_CFLAGS) - AC_SUBST(LIBUSB_LIBS) -diff -Naur udev-168/Makefile.am udev-168.patch/Makefile.am ---- udev-168/Makefile.am 2011-04-13 18:21:34.000000000 +0200 -+++ udev-168.patch/Makefile.am 2011-04-27 13:25:23.987426115 +0200 -@@ -473,21 +473,6 @@ - libexec_PROGRAMS += extras/hid2hci/hid2hci - - # ------------------------------------------------------------------------------ --# udev_acl - apply ACLs for users with local forground sessions --# ------------------------------------------------------------------------------ --extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c --extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) --extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS) --dist_udevrules_DATA += extras/udev-acl/70-acl.rules --libexec_PROGRAMS += extras/udev-acl/udev-acl -- --udevacl-install-hook: -- mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d -- ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck -- --INSTALL_EXEC_HOOKS += udevacl-install-hook -- --# ------------------------------------------------------------------------------ - # usb-db - read USB vendor/device string database - # ------------------------------------------------------------------------------ - extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c -@@ -534,111 +519,6 @@ - - libexec_PROGRAMS += extras/mtd_probe/mtd_probe - -- --# ------------------------------------------------------------------------------ --# keymap - map custom hardware's multimedia keys --# ------------------------------------------------------------------------------ --extras_keymap_keymap_SOURCES = extras/keymap/keymap.c --extras_keymap_keymap_CPPFLAGS = $(AM_CPPFLAGS) -I extras/keymap --nodist_extras_keymap_keymap_SOURCES = \ -- extras/keymap/keys-from-name.h \ -- extras/keymap/keys-to-name.h --BUILT_SOURCES += $(nodist_extras_keymap_keymap_SOURCES) -- --EXTRA_DIST += extras/keymap/check-keymaps.sh --dist_udevrules_DATA += extras/keymap/95-keymap.rules --dist_udevrules_DATA += extras/keymap/95-keyboard-force-release.rules --libexec_PROGRAMS += extras/keymap/keymap --dist_libexec_SCRIPTS += extras/keymap/findkeyboards --dist_libexec_SCRIPTS += extras/keymap/keyboard-force-release.sh --dist_doc_DATA = extras/keymap/README.keymap.txt -- --CLEANFILES += \ -- extras/keymap/keys.txt \ -- extras/keymap/keys-from-name.gperf -- --udevkeymapdir = $(libexecdir)/keymaps --dist_udevkeymap_DATA = \ -- extras/keymap/keymaps/acer \ -- extras/keymap/keymaps/acer-aspire_5720 \ -- extras/keymap/keymaps/acer-aspire_8930 \ -- extras/keymap/keymaps/acer-aspire_5920g \ -- extras/keymap/keymaps/acer-aspire_6920 \ -- extras/keymap/keymaps/acer-travelmate_c300 \ -- extras/keymap/keymaps/asus \ -- extras/keymap/keymaps/compaq-e_evo \ -- extras/keymap/keymaps/dell \ -- extras/keymap/keymaps/dell-latitude-xt2 \ -- extras/keymap/keymaps/everex-xt5000 \ -- extras/keymap/keymaps/fujitsu-amilo_pa_2548 \ -- extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \ -- extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \ -- extras/keymap/keymaps/fujitsu-amilo_si_1520 \ -- extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \ -- extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \ -- extras/keymap/keymaps/hewlett-packard \ -- extras/keymap/keymaps/hewlett-packard-2510p_2530p \ -- extras/keymap/keymaps/hewlett-packard-compaq_elitebook \ -- extras/keymap/keymaps/hewlett-packard-pavilion \ -- extras/keymap/keymaps/hewlett-packard-presario-2100 \ -- extras/keymap/keymaps/hewlett-packard-tablet \ -- extras/keymap/keymaps/hewlett-packard-tx2 \ -- extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \ -- extras/keymap/keymaps/inventec-symphony_6.0_7.0 \ -- extras/keymap/keymaps/lenovo-3000 \ -- extras/keymap/keymaps/lenovo-ideapad \ -- extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \ -- extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \ -- extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \ -- extras/keymap/keymaps/lg-x110 \ -- extras/keymap/keymaps/logitech-wave \ -- extras/keymap/keymaps/logitech-wave-cordless \ -- extras/keymap/keymaps/logitech-wave-pro-cordless \ -- extras/keymap/keymaps/maxdata-pro_7000 \ -- extras/keymap/keymaps/medion-fid2060 \ -- extras/keymap/keymaps/medionnb-a555 \ -- extras/keymap/keymaps/micro-star \ -- extras/keymap/keymaps/module-asus-w3j \ -- extras/keymap/keymaps/module-ibm \ -- extras/keymap/keymaps/module-lenovo \ -- extras/keymap/keymaps/module-sony \ -- extras/keymap/keymaps/module-sony-old \ -- extras/keymap/keymaps/module-sony-vgn \ -- extras/keymap/keymaps/olpc-xo \ -- extras/keymap/keymaps/onkyo \ -- extras/keymap/keymaps/oqo-model2 \ -- extras/keymap/keymaps/samsung-other \ -- extras/keymap/keymaps/samsung-sq1us \ -- extras/keymap/keymaps/samsung-sx20s \ -- extras/keymap/keymaps/toshiba-satellite_a100 \ -- extras/keymap/keymaps/toshiba-satellite_a110 \ -- extras/keymap/keymaps/toshiba-satellite_m30x \ -- extras/keymap/keymaps/zepto-znote -- --udevkeymapforcereldir = $(libexecdir)/keymaps/force-release --dist_udevkeymapforcerel_DATA = \ -- extras/keymap/force-release-maps/dell-touchpad \ -- extras/keymap/force-release-maps/hp-other \ -- extras/keymap/force-release-maps/samsung-other \ -- extras/keymap/force-release-maps/common-volume-keys -- --extras/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h -- $(AM_V_at)mkdir -p extras/keymap -- $(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@ -- --extras/keymap/keys-from-name.gperf: extras/keymap/keys.txt -- $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@ -- --extras/keymap/keys-from-name.h: extras/keymap/keys-from-name.gperf Makefile -- $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@ -- --extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile -- $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@ -- --keymaps-distcheck-hook: extras/keymap/keys.txt -- $(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^ --DISTCHECK_HOOKS += keymaps-distcheck-hook -- - endif # ENABLE_EXTRAS - - # ------------------------------------------------------------------------------ From 08711adf73802f93f283c865ef78e5b06121a9f4 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 17:18:00 +0200 Subject: [PATCH 28/52] config/options: build with xinerama and composite support if building with fglrx driver Signed-off-by: Stephan Raue --- config/options | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/options b/config/options index 4f4054975a..90cd75b3fb 100644 --- a/config/options +++ b/config/options @@ -112,6 +112,8 @@ get_graphicdrivers() { if [ "$drv" = "fglrx" ]; then XORG_DRIVERS="$XORG_DRIVERS fglrx" + COMPOSITE_SUPPORT="yes" + XINERAMA_SUPPORT="yes" fi if [ "$drv" = "omapfb" ]; then From e7060384328c356b049f0f954b1aca251085585f Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 17:18:28 +0200 Subject: [PATCH 29/52] projects/Fusion/linux: update kernel config Signed-off-by: Stephan Raue --- projects/Fusion/linux/linux.i386.conf | 43 ++++----------------------- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index 85bb785bc7..f872db2b04 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -426,7 +426,6 @@ CONFIG_ACPI_SLEEP=y CONFIG_ACPI_AC=y # CONFIG_ACPI_BATTERY is not set CONFIG_ACPI_BUTTON=y -# CONFIG_ACPI_VIDEO is not set CONFIG_ACPI_FAN=y # CONFIG_ACPI_DOCK is not set CONFIG_ACPI_PROCESSOR=y @@ -1239,7 +1238,6 @@ CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y # CONFIG_I2C_MUX is not set CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_ALGOBIT=y # # I2C Hardware Bus support @@ -1727,17 +1725,7 @@ CONFIG_AGP_AMD64=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 # CONFIG_VGA_SWITCHEROO is not set -CONFIG_DRM=y -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_TTM=y -# CONFIG_DRM_TDFX is not set -# CONFIG_DRM_R128 is not set -CONFIG_DRM_RADEON=y -CONFIG_DRM_RADEON_KMS=y -# CONFIG_DRM_MGA is not set -# CONFIG_DRM_SIS is not set -# CONFIG_DRM_VIA is not set -# CONFIG_DRM_SAVAGE is not set +# CONFIG_DRM is not set # CONFIG_STUB_POULSBO is not set # CONFIG_VGASTATE is not set CONFIG_VIDEO_OUTPUT_CONTROL=y @@ -1745,9 +1733,9 @@ CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set # CONFIG_FB_BOOT_VESA_SUPPORT is not set -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_SYS_FILLRECT is not set # CONFIG_FB_SYS_COPYAREA is not set @@ -1802,7 +1790,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set # CONFIG_BACKLIGHT_LCD_SUPPORT is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y # # Display device support @@ -2304,14 +2291,6 @@ CONFIG_R8712_AP=y # CONFIG_POHMELFS is not set # CONFIG_IDE_PHISON is not set # CONFIG_LINE6_USB is not set -# CONFIG_DRM_VMWGFX is not set -# CONFIG_DRM_NOUVEAU is not set - -# -# I2C encoder or helper chips -# -# CONFIG_DRM_I2C_CH7006 is not set -# CONFIG_DRM_I2C_SIL164 is not set # CONFIG_USB_SERIAL_QUATECH2 is not set # CONFIG_USB_SERIAL_QUATECH_USB2 is not set # CONFIG_VT6655 is not set @@ -2347,45 +2326,33 @@ CONFIG_MACH_NO_WESTBRIDGE=y # # CONFIG_SPEAKUP is not set # CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set -# CONFIG_DRM_PSB is not set # # Altera FPGA firmware download module # # CONFIG_ALTERA_STAPL is not set CONFIG_X86_PLATFORM_DEVICES=y -# CONFIG_ACER_WMI is not set # CONFIG_ACERHDF is not set # CONFIG_ASUS_LAPTOP is not set # CONFIG_DELL_WMI is not set # CONFIG_DELL_WMI_AIO is not set -# CONFIG_FUJITSU_LAPTOP is not set # CONFIG_TC1100_WMI is not set # CONFIG_HP_ACCEL is not set # CONFIG_HP_WMI is not set -# CONFIG_MSI_LAPTOP is not set -# CONFIG_PANASONIC_LAPTOP is not set -# CONFIG_COMPAL_LAPTOP is not set # CONFIG_SONY_LAPTOP is not set # CONFIG_IDEAPAD_LAPTOP is not set # CONFIG_THINKPAD_ACPI is not set # CONFIG_SENSORS_HDAPS is not set # CONFIG_INTEL_MENLOW is not set # CONFIG_EEEPC_LAPTOP is not set -CONFIG_ASUS_WMI=m -# CONFIG_ASUS_NB_WMI is not set -CONFIG_EEEPC_WMI=m CONFIG_ACPI_WMI=m -# CONFIG_MSI_WMI is not set # CONFIG_ACPI_ASUS is not set # CONFIG_TOPSTAR_LAPTOP is not set -# CONFIG_ACPI_TOSHIBA is not set # CONFIG_TOSHIBA_BT_RFKILL is not set # CONFIG_ACPI_CMPC is not set # CONFIG_INTEL_IPS is not set # CONFIG_IBM_RTL is not set # CONFIG_XO15_EBOOK is not set -# CONFIG_SAMSUNG_LAPTOP is not set # # Firmware Drivers From 6843349c2b8b11fe671c6ac8041e1e96038f4994 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 18:47:41 +0200 Subject: [PATCH 30/52] xorg-server: typo Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/x11/xserver/xorg-server/build b/packages/x11/xserver/xorg-server/build index 249512f024..ef9ee2e7be 100755 --- a/packages/x11/xserver/xorg-server/build +++ b/packages/x11/xserver/xorg-server/build @@ -29,7 +29,7 @@ get_graphicdrivers if [ "$COMPOSITE_SUPPORT" = "yes" ]; then XORG_COMPOSITE="--enable-composite" else - XORG_COMPOSITE="--diable-composite" + XORG_COMPOSITE="--disable-composite" fi if [ "$XINERAMA_SUPPORT" = "yes" ]; then @@ -118,4 +118,4 @@ cd $PKG_BUILD --with-default-font-path="/usr/share/fonts/misc,built-ins" \ make -$MAKEINSTALL \ No newline at end of file +$MAKEINSTALL From c6d326b73f49c84eb0751262c20cb937af8063e9 Mon Sep 17 00:00:00 2001 From: Travis Glenn Hansen Date: Fri, 20 May 2011 10:54:50 -0600 Subject: [PATCH 31/52] moving mach_kernel build into linux package so they are forced to stay in sync adding atv-bootloader into config file comments fixing blkid in initramfs to copy over necessary libs and properly work adding patch to silence screen output in mach_kernel images --- .../sysutils/util-linux-initramfs/install | 4 +++- packages/linux/build | 9 +++++++ packages/linux/install | 1 + packages/linux/meta | 7 +++++- packages/tools/atv-bootloader/build | 7 ------ .../atv-bootloader-r518-silence-output.patch | 24 +++++++++++++++++++ projects/ATV/options | 2 +- projects/Fusion/options | 2 +- projects/Generic/options | 2 +- projects/ION/options | 2 +- projects/Intel/options | 2 +- scripts/image_squashfs | 10 ++++---- 12 files changed, 54 insertions(+), 18 deletions(-) create mode 100644 packages/tools/atv-bootloader/patches/atv-bootloader-r518-silence-output.patch diff --git a/packages/initramfs/sysutils/util-linux-initramfs/install b/packages/initramfs/sysutils/util-linux-initramfs/install index 67aeeddaa2..a4366000e8 100755 --- a/packages/initramfs/sysutils/util-linux-initramfs/install +++ b/packages/initramfs/sysutils/util-linux-initramfs/install @@ -25,4 +25,6 @@ UTIL_LINUX_DIR="$BUILD/util-linux-*" mkdir -p $INSTALL/sbin - cp $UTIL_LINUX_DIR/misc-utils/blkid $INSTALL/sbin + cp $UTIL_LINUX_DIR/misc-utils/.libs/blkid $INSTALL/sbin + cp $UTIL_LINUX_DIR/shlibs/blkid/src/.libs/libblkid.so.1 $INSTALL/lib + cp $UTIL_LINUX_DIR/shlibs/uuid/src/.libs/libuuid.so.1 $INSTALL/lib diff --git a/packages/linux/build b/packages/linux/build index 5e767a82b8..456c4cc0dd 100755 --- a/packages/linux/build +++ b/packages/linux/build @@ -52,3 +52,12 @@ rm -f modules/lib/modules/*/source make $KERNEL_IMAGE +if [ "$BOOTLOADER" = "atv-bootloader" ]; then + get_version + cd $ROOT/$BUILD/atv-bootloader-* + cp -PR $ROOT/$PKG_BUILD/arch/x86/boot/bzImage vmlinuz + + make clean + make LDFLAGS="" +fi + diff --git a/packages/linux/install b/packages/linux/install index 4939a5de09..39d6a00e0d 100755 --- a/packages/linux/install +++ b/packages/linux/install @@ -45,3 +45,4 @@ mkdir -p $INSTALL/etc mkdir -p $INSTALL/etc/modprobe.d cp $PKG_DIR/modprobe.d/*.conf $INSTALL/etc/modprobe.d + diff --git a/packages/linux/meta b/packages/linux/meta index 22a879db84..39f98082cc 100644 --- a/packages/linux/meta +++ b/packages/linux/meta @@ -27,7 +27,8 @@ PKG_SITE="http://www.kernel.org" PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2" #PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="busybox linux-drivers linux-firmware" -PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio" +#PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio" +PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz" PKG_PRIORITY="optional" PKG_SECTION="linux" PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and modules" @@ -46,3 +47,7 @@ if [ "$LINUX" = "ti-omap4" ]; then PKG_VERSION="2.6.38-ti-omap4" PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2" fi + +if [ "$BOOTLOADER" = "atv-bootloader" ]; then + PKG_DEPENDS="$PKG_DEPENDS atv-bootloader" +fi diff --git a/packages/tools/atv-bootloader/build b/packages/tools/atv-bootloader/build index a0e651676f..069c8bd21b 100755 --- a/packages/tools/atv-bootloader/build +++ b/packages/tools/atv-bootloader/build @@ -30,10 +30,3 @@ TOOLS_PREFIX="$ROOT/$BUILD" sed -i -e "s:/opt:$TOOLS_PREFIX:" Makefile -cp -PR $ROOT/$BUILD/linux-*/arch/x86/boot/bzImage vmlinuz - -make clean -make LDFLAGS="" - -cp -PR mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel -chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel diff --git a/packages/tools/atv-bootloader/patches/atv-bootloader-r518-silence-output.patch b/packages/tools/atv-bootloader/patches/atv-bootloader-r518-silence-output.patch new file mode 100644 index 0000000000..b3401e8dd2 --- /dev/null +++ b/packages/tools/atv-bootloader/patches/atv-bootloader-r518-silence-output.patch @@ -0,0 +1,24 @@ +--- atv-bootloader-r518/console.c.orig 2011-05-19 22:48:42.582001582 -0600 ++++ atv-bootloader-r518/console.c 2011-05-19 22:49:31.014001622 -0600 +@@ -600,20 +600,7 @@ + } + + int printk(const char *szFormat, ...) { // printk displays to video +- char szBuffer[512*2]; +- u16 wLength=0; +- va_list argList; +- +- va_start(argList, szFormat); +- wLength=(u16) vsprintf(szBuffer, szFormat, argList); +- va_end(argList); +- +- szBuffer[sizeof(szBuffer)-1]=0; +- if (wLength>(sizeof(szBuffer)-1)) wLength = sizeof(szBuffer)-1; +- szBuffer[wLength]='\0'; +- +- BootVideoChunkedPrint(szBuffer); +- return wLength; ++ return 0; + } + + int console_putchar(int c) diff --git a/projects/ATV/options b/projects/ATV/options index 2fa6fd7efc..9d802a9b24 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="atv-bootloader" # Configuration for u-boot diff --git a/projects/Fusion/options b/projects/Fusion/options index f702d33622..4a1cbca68c 100644 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="-mfpmath=sse -ftree-vectorize -mmovbe" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot diff --git a/projects/Generic/options b/projects/Generic/options index 22242adec3..daab74bdba 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="-mmmx -msse -msse2 -mfpmath=sse" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot diff --git a/projects/ION/options b/projects/ION/options index 6e188ab045..b02530737c 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="-mfpmath=sse -ftree-vectorize -mmovbe" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot diff --git a/projects/Intel/options b/projects/Intel/options index 28126b3e77..b71cc765e3 100644 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -77,7 +77,7 @@ # Project CFLAGS PROJECT_CFLAGS="" -# Bootloader to use (syslinux / u-boot) +# Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" # Configuration for u-boot diff --git a/scripts/image_squashfs b/scripts/image_squashfs index 8488e0f0cd..9b3fa60d53 100755 --- a/scripts/image_squashfs +++ b/scripts/image_squashfs @@ -34,6 +34,7 @@ get_version mkdir -p $TARGET_IMG rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel + rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel if [ "$BOOTLOADER" = "u-boot" ]; then KERNEL_IMAGE="uImage" else @@ -47,11 +48,12 @@ mkdir -p $TARGET_IMG fi cp -PR $BUILD/linux-*/arch/$KERNEL_ARCH/boot/$KERNEL_IMAGE $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel - - if [ "$BOOTLOADER" = "atv-bootloader" ]; then - $SCRIPTS/build atv-bootloader - fi + if [ "$BOOTLOADER" = "atv-bootloader" ]; then + cp -PR $BUILD/atv-bootloader-*/mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel + chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel + fi + echo "rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system" >> $FAKEROOT_SCRIPT # echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend -comp xz" >> $FAKEROOT_SCRIPT echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend" >> $FAKEROOT_SCRIPT From 6ca3ab695836597012ce138206462ed0c255b582 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 19:13:10 +0200 Subject: [PATCH 32/52] eglibc: build with Catgets support, needed by xf86-video-fglrx Signed-off-by: Stephan Raue --- packages/toolchain/devel/eglibc/build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/toolchain/devel/eglibc/build b/packages/toolchain/devel/eglibc/build index 2b3a252ce3..941fdb30e7 100755 --- a/packages/toolchain/devel/eglibc/build +++ b/packages/toolchain/devel/eglibc/build @@ -62,7 +62,9 @@ cat >option-groups.config < Date: Fri, 20 May 2011 19:25:59 +0200 Subject: [PATCH 33/52] xf86-video-fglrx: rework package, fix dependencies, fix install Signed-off-by: Stephan Raue --- packages/x11/driver/xf86-video-fglrx/install | 18 ++++++++++-------- packages/x11/driver/xf86-video-fglrx/meta | 4 ++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/x11/driver/xf86-video-fglrx/install b/packages/x11/driver/xf86-video-fglrx/install index 936972d4f8..a68e3d7a9c 100755 --- a/packages/x11/driver/xf86-video-fglrx/install +++ b/packages/x11/driver/xf86-video-fglrx/install @@ -53,7 +53,8 @@ mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/drivers/*_drv.so $INSTALL/$XORG_PATH_MODULES/drivers mkdir -p $INSTALL/$XORG_PATH_MODULES/extensions/fglrx - cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/*.so $INSTALL/$XORG_PATH_MODULES/extensions/fglrx + # rename to not conflicting with Mesa libGL.so + cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/fglrx-libglx.so $INSTALL/$XORG_PATH_MODULES/extensions/libglx_fglrx.so mkdir -p $INSTALL/$XORG_PATH_MODULES/linux cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/linux/*.so $INSTALL/$XORG_PATH_MODULES/linux @@ -61,21 +62,22 @@ mkdir -p $INSTALL/$XORG_PATH_MODULES/linux mkdir -p $INSTALL/etc/X11 cp $PKG_DIR/config/*.conf $INSTALL/etc/X11 +mkdir -p $INSTALL/etc/ati + cp $PKG_BUILD/common/etc/ati/amdpcsdb.default $INSTALL/etc/ati + # DRI driver mkdir -p $INSTALL/usr/lib/dri cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/modules/dri/fglrx_dri.so* $INSTALL/usr/lib/dri -# Ati's libGL has an hardcoded location for DRI modules -mkdir -p $INSTALL/usr/X11R6/$LIBDIR/modules/ - ln -sf /usr/lib/dri $INSTALL/usr/X11R6/$LIBDIR/modules/dri - # OpenGL libs -mkdir -p $INSTALL/usr/lib/fglrx - cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/fglrx +mkdir -p $INSTALL/usr/lib + # rename to not conflicting with Mesa libGL.so + cp -P $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/libGL_fglrx.so.1 # System Libs mkdir -p $INSTALL/usr/lib - cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libati*.so* $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libati*.so $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libatiuki.so* $INSTALL/usr/lib/libatiuki.so.1 cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libati*.so* $INSTALL/usr/lib cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libfglrx*.so* $INSTALL/usr/lib diff --git a/packages/x11/driver/xf86-video-fglrx/meta b/packages/x11/driver/xf86-video-fglrx/meta index 113af40387..e69ff80a5a 100644 --- a/packages/x11/driver/xf86-video-fglrx/meta +++ b/packages/x11/driver/xf86-video-fglrx/meta @@ -25,8 +25,8 @@ PKG_ARCH="i386 x86_64" PKG_LICENSE="nonfree" PKG_SITE="http://www.ati.com/" PKG_URL="http://www2.ati.com/drivers/linux/ati-driver-installer-`echo $PKG_VERSION | sed 's/\./-/'`-x86.x86_64.run" -PKG_DEPENDS="linux" -PKG_BUILD_DEPENDS="toolchain util-macros libX11" +PKG_DEPENDS="linux libX11 libXinerama libXcomposite" +PKG_BUILD_DEPENDS="toolchain util-macros libX11 libXinerama libXcomposite" PKG_PRIORITY="optional" PKG_SECTION="x11/driver" PKG_SHORTDESC="xf86-video-fglrx: ATI binary Xorg driver" From 321fd6c8b1c1f0553ff2a46ba1130d34dc1a2c94 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 19:26:56 +0200 Subject: [PATCH 34/52] xorg-server: add fglrx support Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/scripts/xorg_start | 3 +++ .../x11/xserver/xorg-server/udev.d/97-xorg.rules | 13 +++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/x11/xserver/xorg-server/scripts/xorg_start b/packages/x11/xserver/xorg-server/scripts/xorg_start index cb011c4e1f..8d38758750 100755 --- a/packages/x11/xserver/xorg-server/scripts/xorg_start +++ b/packages/x11/xserver/xorg-server/scripts/xorg_start @@ -72,6 +72,9 @@ if [ "$RUNLEVEL" = openelec ]; then ln -sf /usr/lib/libGL_nvidia.so.1 /var/lib/libGL.so ln -sf /usr/lib/xorg/modules/extensions/libglx_nvidia.so /var/lib/libglx.so XORG_ARGS="$XORG_ARGS -ignoreABI" + elif [ "${xorg_driver}" = "fglrx" ]; then + ln -sf /usr/lib/libGL_fglrx.so.1 /var/lib/libGL.so + ln -sf /usr/lib/xorg/modules/extensions/libglx_fglrx.so /var/lib/libglx.so else ln -sf /usr/lib/libGL_mesa.so.1 /var/lib/libGL.so ln -sf /usr/lib/xorg/modules/extensions/libglx_mesa.so /var/lib/libglx.so diff --git a/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules b/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules index 2ca8124078..ebc76a2736 100644 --- a/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules +++ b/packages/x11/xserver/xorg-server/udev.d/97-xorg.rules @@ -27,16 +27,17 @@ GOTO="end_video" # check for drivers dont use the pci substem LABEL="subsystem_drivers" -KERNEL=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" +KERNEL=="fglrx_pci", ENV{xorg_driver}="fglrx", GOTO="start_xorg" +KERNEL=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" GOTO="end_video" # check for drivers using the pci substem LABEL="subsystem_pci" -DRIVER=="i915", ENV{xorg_driver}="i915", GOTO="start_xorg" -DRIVER=="nouveau", ENV{xorg_driver}="nouveau", GOTO="start_xorg" -#DRIVER=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" -DRIVER=="radeon", ENV{xorg_driver}="radeon", GOTO="start_xorg" -DRIVER=="vmware", ENV{xorg_driver}="vmware", GOTO="start_xorg" +DRIVER=="i915", ENV{xorg_driver}="i915", GOTO="start_xorg" +DRIVER=="nouveau", ENV{xorg_driver}="nouveau", GOTO="start_xorg" +#DRIVER=="nvidia", ENV{xorg_driver}="nvidia", GOTO="start_xorg" +DRIVER=="radeon", ENV{xorg_driver}="radeon", GOTO="start_xorg" +DRIVER=="vmware", ENV{xorg_driver}="vmware", GOTO="start_xorg" GOTO="end_video" # start Xorg From 98c5ba214158288c460472c8788c197a40d8d6ca Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 20:34:22 +0200 Subject: [PATCH 35/52] projects/Fusion/linux: update linux config Signed-off-by: Stephan Raue --- projects/Fusion/linux/linux.i386.conf | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index f872db2b04..668ff0c7c2 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -1713,9 +1713,9 @@ CONFIG_DVB_TDA665x=y # CONFIG_AGP=y # CONFIG_AGP_ALI is not set -CONFIG_AGP_ATI=y -CONFIG_AGP_AMD=y -CONFIG_AGP_AMD64=y +# CONFIG_AGP_ATI is not set +# CONFIG_AGP_AMD is not set +# CONFIG_AGP_AMD64 is not set # CONFIG_AGP_INTEL is not set # CONFIG_AGP_NVIDIA is not set # CONFIG_AGP_SIS is not set @@ -1732,10 +1732,10 @@ CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set -# CONFIG_FB_BOOT_VESA_SUPPORT is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set +CONFIG_FB_BOOT_VESA_SUPPORT=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set # CONFIG_FB_SYS_FILLRECT is not set # CONFIG_FB_SYS_COPYAREA is not set @@ -1759,7 +1759,7 @@ CONFIG_FB=y # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_VGA16 is not set -# CONFIG_FB_VESA is not set +CONFIG_FB_VESA=y # CONFIG_FB_N411 is not set # CONFIG_FB_HGA is not set # CONFIG_FB_S1D13XXX is not set From 32099eb33bb903239088a884f2a5d31781c6fcb6 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 21:22:27 +0200 Subject: [PATCH 36/52] projects/Generic: switch to fglrx driver Signed-off-by: Stephan Raue --- projects/Generic/linux/linux.i386.conf | 7 +++---- projects/Generic/options | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index 1cbc789480..fd802f2b96 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1899,7 +1899,7 @@ CONFIG_DVB_TDA665x=y # CONFIG_AGP=y # CONFIG_AGP_ALI is not set -CONFIG_AGP_ATI=y +# CONFIG_AGP_ATI is not set # CONFIG_AGP_AMD is not set # CONFIG_AGP_AMD64 is not set CONFIG_AGP_INTEL=y @@ -1916,8 +1916,7 @@ CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_TTM=y # CONFIG_DRM_TDFX is not set # CONFIG_DRM_R128 is not set -CONFIG_DRM_RADEON=y -CONFIG_DRM_RADEON_KMS=y +# CONFIG_DRM_RADEON is not set CONFIG_DRM_I915=y CONFIG_DRM_I915_KMS=y # CONFIG_DRM_MGA is not set diff --git a/projects/Generic/options b/projects/Generic/options index 22242adec3..d81cd2fd67 100644 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -169,8 +169,8 @@ # Graphic drivers to use (all / i915,i965,r200,r300,r600,radeon,nvidia,nouveau,vmware) # Space separated list is supported, -# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeon nvidia nouveau" - GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 radeon nvidia vmware" +# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 nvidia nouveau" + GRAPHIC_DRIVERS="i915 i965 fglrx nvidia vmware" # use libdrm-master (latest git) instead latest released version LIBDRM_MASTER="no" From 59570d302d3cd1e4daff72624fec86bcc552add4 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 20 May 2011 21:23:16 +0200 Subject: [PATCH 37/52] projects/*/linux: add option 'threadirqs' to kernel commandline to force threaded irq-handlers Signed-off-by: Stephan Raue --- projects/ATV/linux/linux.i386.conf | 2 +- projects/Fusion/linux/linux.i386.conf | 2 +- projects/Generic/linux/linux.i386.conf | 2 +- projects/ION/linux/linux.i386.conf | 2 +- projects/ION/linux/linux.x86_64.conf | 2 +- projects/Intel/linux/linux.i386.conf | 2 +- projects/Intel/linux/linux.x86_64.conf | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index 28e7f2056e..5a05258574 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -412,7 +412,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 # CONFIG_HOTPLUG_CPU is not set # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set # diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index 668ff0c7c2..f99109cb36 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -402,7 +402,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index fd802f2b96..258ff69acf 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -404,7 +404,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index 2df74dfd5e..da410604ca 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -399,7 +399,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index d8fdff2dc3..607dc2c08a 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -362,7 +362,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf index a162be2992..8a0bd07a9b 100644 --- a/projects/Intel/linux/linux.i386.conf +++ b/projects/Intel/linux/linux.i386.conf @@ -400,7 +400,7 @@ CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y # CONFIG_COMPAT_VDSO is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf index 0be5299d79..da436243d3 100644 --- a/projects/Intel/linux/linux.x86_64.conf +++ b/projects/Intel/linux/linux.x86_64.conf @@ -364,7 +364,7 @@ CONFIG_PHYSICAL_START=0x1000000 CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init" +CONFIG_CMDLINE="fastboot root=/dev/ram0 rdinit=/init threadirqs" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y From 7b7bd58c060e32cc7d1e392181369aa5d25fa62b Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 12:09:04 +0200 Subject: [PATCH 38/52] linux: add Fintek remote support Signed-off-by: Stephan Raue --- .../patches/linux-2.6.39-056_fintek-cir.patch | 904 ++++++++++++++++++ projects/ATV/linux/linux.i386.conf | 3 +- projects/Fusion/linux/linux.i386.conf | 1 + projects/Generic/linux/linux.i386.conf | 1 + projects/ION/linux/linux.i386.conf | 3 +- projects/ION/linux/linux.x86_64.conf | 3 +- projects/Intel/linux/linux.i386.conf | 3 +- projects/Intel/linux/linux.x86_64.conf | 3 +- 8 files changed, 916 insertions(+), 5 deletions(-) create mode 100644 packages/linux/patches/linux-2.6.39-056_fintek-cir.patch diff --git a/packages/linux/patches/linux-2.6.39-056_fintek-cir.patch b/packages/linux/patches/linux-2.6.39-056_fintek-cir.patch new file mode 100644 index 0000000000..aa48d719f8 --- /dev/null +++ b/packages/linux/patches/linux-2.6.39-056_fintek-cir.patch @@ -0,0 +1,904 @@ +[media] fintek-cir: new device driver + +Device driver for the Fintek F71809 LPC SuperIO Integrated CIR. + +Only receive is supported at the moment, but the hardware does +support transmit. This is just a first rough draft, if you will... + +Signed-off-by: Jarod Wilson +--- + drivers/media/rc/Kconfig | 12 + + drivers/media/rc/Makefile | 1 + + drivers/media/rc/fintek-cir.c | 618 +++++++++++++++++++++++++++++++++++++++++ + drivers/media/rc/fintek-cir.h | 224 +++++++++++++++ + 4 files changed, 855 insertions(+), 0 deletions(-) + +diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig +index 154c337..7d4bbc2 100644 +--- a/drivers/media/rc/Kconfig ++++ b/drivers/media/rc/Kconfig +@@ -148,6 +148,18 @@ config IR_ITE_CIR + To compile this driver as a module, choose M here: the + module will be called ite-cir. + ++config IR_FINTEK ++ tristate "Fintek Consumer Infrared Transceiver" ++ depends on PNP ++ depends on RC_CORE ++ ---help--- ++ Say Y here to enable support for integrated infrared receiver ++ /transciever made by Fintek. This chip is found on assorted ++ Jetway motherboards (and of course, possibly others). ++ ++ To compile this driver as a module, choose M here: the ++ module will be called fintek-cir. ++ + config IR_NUVOTON + tristate "Nuvoton w836x7hg Consumer Infrared Transceiver" + depends on PNP +diff --git a/drivers/media/rc/Makefile b/drivers/media/rc/Makefile +index 1f90a21..52830e5 100644 +--- a/drivers/media/rc/Makefile ++++ b/drivers/media/rc/Makefile +@@ -16,6 +16,7 @@ obj-$(CONFIG_IR_LIRC_CODEC) += ir-lirc-codec.o + obj-$(CONFIG_IR_IMON) += imon.o + obj-$(CONFIG_IR_ITE_CIR) += ite-cir.o + obj-$(CONFIG_IR_MCEUSB) += mceusb.o ++obj-$(CONFIG_IR_FINTEK) += fintek-cir.o + obj-$(CONFIG_IR_NUVOTON) += nuvoton-cir.o + obj-$(CONFIG_IR_ENE) += ene_ir.o + obj-$(CONFIG_IR_REDRAT3) += redrat3.o +diff --git a/drivers/media/rc/fintek-cir.c b/drivers/media/rc/fintek-cir.c +new file mode 100644 +index 0000000..ae275ec +--- /dev/null ++++ b/drivers/media/rc/fintek-cir.c +@@ -0,0 +1,618 @@ ++/* ++ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR ++ * ++ * Copyright (C) 2011 Jarod Wilson ++ * ++ * Special thanks to Fintek for providing hardware and spec sheets. ++ * This driver is based upon the nuvoton, ite and ene drivers for ++ * similar hardware. ++ * ++ * 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 of the ++ * License, 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 this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 ++ * USA ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "fintek-cir.h" ++ ++/* write val to config reg */ ++static inline void fintek_cr_write(struct fintek_dev *fintek, u8 val, u8 reg) ++{ ++ fit_dbg("%s: reg 0x%02x, val 0x%02x (ip/dp: %02x/%02x)", ++ __func__, reg, val, fintek->cr_ip, fintek->cr_dp); ++ outb(reg, fintek->cr_ip); ++ outb(val, fintek->cr_dp); ++} ++ ++/* read val from config reg */ ++static inline u8 fintek_cr_read(struct fintek_dev *fintek, u8 reg) ++{ ++ u8 val; ++ ++ outb(reg, fintek->cr_ip); ++ val = inb(fintek->cr_dp); ++ ++ fit_dbg("%s: reg 0x%02x, val 0x%02x (ip/dp: %02x/%02x)", ++ __func__, reg, val, fintek->cr_ip, fintek->cr_dp); ++ return val; ++} ++ ++/* update config register bit without changing other bits */ ++static inline void fintek_set_reg_bit(struct fintek_dev *fintek, u8 val, u8 reg) ++{ ++ u8 tmp = fintek_cr_read(fintek, reg) | val; ++ fintek_cr_write(fintek, tmp, reg); ++} ++ ++/* clear config register bit without changing other bits */ ++static inline void fintek_clear_reg_bit(struct fintek_dev *fintek, u8 val, u8 reg) ++{ ++ u8 tmp = fintek_cr_read(fintek, reg) & ~val; ++ fintek_cr_write(fintek, tmp, reg); ++} ++ ++/* enter config mode */ ++static inline void fintek_config_mode_enable(struct fintek_dev *fintek) ++{ ++ /* Enabling Config Mode explicitly requires writing 2x */ ++ outb(CONFIG_REG_ENABLE, fintek->cr_ip); ++ outb(CONFIG_REG_ENABLE, fintek->cr_ip); ++} ++ ++/* exit config mode */ ++static inline void fintek_config_mode_disable(struct fintek_dev *fintek) ++{ ++ outb(CONFIG_REG_DISABLE, fintek->cr_ip); ++} ++ ++/* ++ * When you want to address a specific logical device, write its logical ++ * device number to GCR_LOGICAL_DEV_NO ++ */ ++static inline void fintek_select_logical_dev(struct fintek_dev *fintek, u8 ldev) ++{ ++ fintek_cr_write(fintek, ldev, GCR_LOGICAL_DEV_NO); ++} ++ ++/* write val to cir config register */ ++static inline void fintek_cir_reg_write(struct fintek_dev *fintek, u8 val, u8 offset) ++{ ++ outb(val, fintek->cir_addr + offset); ++} ++ ++/* read val from cir config register */ ++static u8 fintek_cir_reg_read(struct fintek_dev *fintek, u8 offset) ++{ ++ u8 val; ++ ++ val = inb(fintek->cir_addr + offset); ++ ++ return val; ++} ++ ++#define pr_reg(text, ...) \ ++ printk(KERN_INFO KBUILD_MODNAME ": " text, ## __VA_ARGS__) ++ ++/* dump current cir register contents */ ++static void cir_dump_regs(struct fintek_dev *fintek) ++{ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ ++ pr_reg("%s: Dump CIR logical device registers:\n", FINTEK_DRIVER_NAME); ++ pr_reg(" * CR CIR BASE ADDR: 0x%x\n", ++ (fintek_cr_read(fintek, CIR_CR_BASE_ADDR_HI) << 8) | ++ fintek_cr_read(fintek, CIR_CR_BASE_ADDR_LO)); ++ pr_reg(" * CR CIR IRQ NUM: 0x%x\n", ++ fintek_cr_read(fintek, CIR_CR_IRQ_SEL)); ++ ++ fintek_config_mode_disable(fintek); ++ ++ pr_reg("%s: Dump CIR registers:\n", FINTEK_DRIVER_NAME); ++ pr_reg(" * STATUS: 0x%x\n", fintek_cir_reg_read(fintek, CIR_STATUS)); ++ pr_reg(" * CONTROL: 0x%x\n", fintek_cir_reg_read(fintek, CIR_CONTROL)); ++ pr_reg(" * RX_DATA: 0x%x\n", fintek_cir_reg_read(fintek, CIR_RX_DATA)); ++ pr_reg(" * TX_CONTROL: 0x%x\n", fintek_cir_reg_read(fintek, CIR_TX_CONTROL)); ++ pr_reg(" * TX_DATA: 0x%x\n", fintek_cir_reg_read(fintek, CIR_TX_DATA)); ++} ++ ++/* detect hardware features */ ++static int fintek_hw_detect(struct fintek_dev *fintek) ++{ ++ unsigned long flags; ++ u8 chip_major, chip_minor; ++ u8 vendor_major, vendor_minor; ++ u8 portsel, ir_class; ++ u16 vendor; ++ int ret = 0; ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* Check if we're using config port 0x4e or 0x2e */ ++ portsel = fintek_cr_read(fintek, GCR_CONFIG_PORT_SEL); ++ if (portsel == 0xff) { ++ fit_pr(KERN_INFO, "first portsel read was bunk, trying alt"); ++ fintek_config_mode_disable(fintek); ++ fintek->cr_ip = CR_INDEX_PORT2; ++ fintek->cr_dp = CR_DATA_PORT2; ++ fintek_config_mode_enable(fintek); ++ portsel = fintek_cr_read(fintek, GCR_CONFIG_PORT_SEL); ++ } ++ fit_dbg("portsel reg: 0x%02x", portsel); ++ ++ ir_class = fintek_cir_reg_read(fintek, CIR_CR_CLASS); ++ fit_dbg("ir_class reg: 0x%02x", ir_class); ++ ++ switch (ir_class) { ++ case CLASS_RX_2TX: ++ case CLASS_RX_1TX: ++ fintek->hw_tx_capable = true; ++ break; ++ case CLASS_RX_ONLY: ++ default: ++ fintek->hw_tx_capable = false; ++ break; ++ } ++ ++ chip_major = fintek_cr_read(fintek, GCR_CHIP_ID_HI); ++ chip_minor = fintek_cr_read(fintek, GCR_CHIP_ID_LO); ++ ++ vendor_major = fintek_cr_read(fintek, GCR_VENDOR_ID_HI); ++ vendor_minor = fintek_cr_read(fintek, GCR_VENDOR_ID_LO); ++ vendor = vendor_major << 8 | vendor_minor; ++ ++ if (vendor != VENDOR_ID_FINTEK) ++ fit_pr(KERN_WARNING, "Unknown vendor ID: 0x%04x", vendor); ++ else ++ fit_dbg("Read Fintek vendor ID from chip"); ++ ++ fintek_config_mode_disable(fintek); ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ fintek->chip_major = chip_major; ++ fintek->chip_minor = chip_minor; ++ fintek->chip_vendor = vendor; ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++ ++ return ret; ++} ++ ++static void fintek_cir_ldev_init(struct fintek_dev *fintek) ++{ ++ /* Select CIR logical device and enable */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ ++ /* Write allocated CIR address and IRQ information to hardware */ ++ fintek_cr_write(fintek, fintek->cir_addr >> 8, CIR_CR_BASE_ADDR_HI); ++ fintek_cr_write(fintek, fintek->cir_addr & 0xff, CIR_CR_BASE_ADDR_LO); ++ ++ fintek_cr_write(fintek, fintek->cir_irq, CIR_CR_IRQ_SEL); ++ ++ fit_dbg("CIR initialized, base io address: 0x%lx, irq: %d (len: %d)", ++ fintek->cir_addr, fintek->cir_irq, fintek->cir_port_len); ++} ++ ++/* enable CIR interrupts */ ++static void fintek_enable_cir_irq(struct fintek_dev *fintek) ++{ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_EN, CIR_STATUS); ++} ++ ++static void fintek_cir_regs_init(struct fintek_dev *fintek) ++{ ++ /* clear any and all stray interrupts */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ ++ /* and finally, enable interrupts */ ++ fintek_enable_cir_irq(fintek); ++} ++ ++static void fintek_enable_wake(struct fintek_dev *fintek) ++{ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_ACPI); ++ ++ /* Allow CIR PME's to wake system */ ++ fintek_set_reg_bit(fintek, ACPI_WAKE_EN_CIR_BIT, LDEV_ACPI_WAKE_EN_REG); ++ /* Enable CIR PME's */ ++ fintek_set_reg_bit(fintek, ACPI_PME_CIR_BIT, LDEV_ACPI_PME_EN_REG); ++ /* Clear CIR PME status register */ ++ fintek_set_reg_bit(fintek, ACPI_PME_CIR_BIT, LDEV_ACPI_PME_CLR_REG); ++ /* Save state */ ++ fintek_set_reg_bit(fintek, ACPI_STATE_CIR_BIT, LDEV_ACPI_STATE_REG); ++ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ fintek_config_mode_disable(fintek); ++} ++ ++/* copy data from hardware rx register into driver buffer */ ++static void fintek_get_rx_ir_data(struct fintek_dev *fintek, u8 rx_irqs) ++{ ++ DEFINE_IR_RAW_EVENT(rawir); ++ unsigned long flags; ++ u8 header, sample, status, len, i; ++ ++ init_ir_raw_event(&rawir); ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ ++ header = fintek_cir_reg_read(fintek, CIR_RX_DATA); ++ fit_dbg("%s: sample header 0x%02x", __func__, header); ++ len = header & BUF_LEN_MASK; ++ ++ for (i = 0; i < len; i++) { ++ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA); ++ fit_dbg("%s: sample 0x%02x", __func__, sample); ++ status = fintek_cir_reg_read(fintek, CIR_STATUS); ++ if (!(status & rx_irqs)) ++ fit_dbg("RX irqs cleared"); ++ ++ rawir.pulse = ((sample & BUF_PULSE_BIT) != 0); ++ rawir.duration = US_TO_NS((sample & BUF_LEN_MASK) ++ * CIR_SAMPLE_PERIOD); ++ ++ fit_dbg("Storing %s with duration %d", ++ rawir.pulse ? "pulse" : "space", rawir.duration); ++ ++ ir_raw_event_store_with_filter(fintek->rdev, &rawir); ++ } ++ ++ fit_dbg("Calling ir_raw_event_handle"); ++ ir_raw_event_handle(fintek->rdev); ++ ++ while (fintek_cir_reg_read(fintek, CIR_STATUS) & rx_irqs) { ++ fit_dbg("RX irqs not cleared"); ++ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA); ++ fit_dbg("%s: sample 0x%02x", __func__, sample); ++ } ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++} ++ ++static void fintek_cir_log_irqs(u8 status) ++{ ++ fit_pr(KERN_INFO, "IRQ 0x%02x:%s%s%s%s%s", status, ++ status & CIR_STATUS_IRQ_EN ? " IRQEN" : "", ++ status & CIR_STATUS_TX_FINISH ? " TXF" : "", ++ status & CIR_STATUS_TX_UNDERRUN ? " TXU" : "", ++ status & CIR_STATUS_RX_TIMEOUT ? " RXTO" : "", ++ status & CIR_STATUS_RX_RECEIVE ? " RXOK" : ""); ++} ++ ++/* interrupt service routine for incoming and outgoing CIR data */ ++static irqreturn_t fintek_cir_isr(int irq, void *data) ++{ ++ struct fintek_dev *fintek = data; ++ u8 status, rx_irqs; ++ ++ fit_dbg_verbose("%s firing", __func__); ++ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_config_mode_disable(fintek); ++ ++ /* ++ * Get IR Status register contents. Write 1 to ack/clear ++ * ++ * bit: reg name - description ++ * 3: TX_FINISH - TX is finished ++ * 2: TX_UNDERRUN - TX underrun ++ * 1: RX_TIMEOUT - RX data timeout ++ * 0: RX_RECEIVE - RX data received ++ */ ++ status = fintek_cir_reg_read(fintek, CIR_STATUS); ++ if (!(status & CIR_STATUS_IRQ_MASK)) { ++ fit_dbg_verbose("%s exiting, IRSTS 0x0", __func__); ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ return IRQ_RETVAL(IRQ_NONE); ++ } ++ ++ if (debug) ++ fintek_cir_log_irqs(status); ++ ++ rx_irqs = status & (CIR_STATUS_RX_RECEIVE | CIR_STATUS_RX_TIMEOUT); ++ if (rx_irqs) ++ fintek_get_rx_ir_data(fintek, rx_irqs); ++ ++ /* ack/clear all irq flags we've got */ ++ fintek_cir_reg_write(fintek, status, CIR_STATUS); ++ ++ fit_dbg_verbose("%s done", __func__); ++ return IRQ_RETVAL(IRQ_HANDLED); ++} ++ ++static void fintek_enable_cir(struct fintek_dev *fintek) ++{ ++ /* set IRQ enabled */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_EN, CIR_STATUS); ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* enable the CIR logical device */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++ ++ /* clear all pending interrupts */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ ++ /* enable interrupts */ ++ fintek_enable_cir_irq(fintek); ++} ++ ++static void fintek_disable_cir(struct fintek_dev *fintek) ++{ ++ /* clear any and all pending interrupts and disable IRQ */ ++ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS); ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* disable the CIR logical device */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_DISABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++} ++ ++static int fintek_open(struct rc_dev *dev) ++{ ++ struct fintek_dev *fintek = dev->priv; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ fintek->in_use = true; ++ fintek_enable_cir(fintek); ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++ ++ return 0; ++} ++ ++static void fintek_close(struct rc_dev *dev) ++{ ++ struct fintek_dev *fintek = dev->priv; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ fintek->in_use = false; ++ fintek_disable_cir(fintek); ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++} ++ ++/* Allocate memory, probe hardware, and initialize everything */ ++static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id) ++{ ++ struct fintek_dev *fintek; ++ struct rc_dev *rdev; ++ int ret = -ENOMEM; ++ ++ fintek = kzalloc(sizeof(struct fintek_dev), GFP_KERNEL); ++ if (!fintek) ++ return ret; ++ ++ /* input device for IR remote (and tx) */ ++ rdev = rc_allocate_device(); ++ if (!rdev) ++ goto failure; ++ ++ ret = -ENODEV; ++ /* validate pnp resources */ ++ if (!pnp_port_valid(pdev, 0)) { ++ dev_err(&pdev->dev, "IR PNP Port not valid!\n"); ++ goto failure; ++ } ++ ++ if (!pnp_irq_valid(pdev, 0)) { ++ dev_err(&pdev->dev, "PNP IRQ not valid!\n"); ++ goto failure; ++ } ++ ++ fintek->cir_addr = pnp_port_start(pdev, 0); ++ fintek->cir_irq = pnp_irq(pdev, 0); ++ fintek->cir_port_len = pnp_port_len(pdev, 0); ++ ++ fintek->cr_ip = CR_INDEX_PORT; ++ fintek->cr_dp = CR_DATA_PORT; ++ ++ spin_lock_init(&fintek->fintek_lock); ++ init_ir_raw_event(&fintek->rawir); ++ ++ ret = -EBUSY; ++ /* now claim resources */ ++ if (!request_region(fintek->cir_addr, ++ fintek->cir_port_len, FINTEK_DRIVER_NAME)) ++ goto failure; ++ ++ if (request_irq(fintek->cir_irq, fintek_cir_isr, IRQF_SHARED, ++ FINTEK_DRIVER_NAME, (void *)fintek)) ++ goto failure; ++ ++ pnp_set_drvdata(pdev, fintek); ++ fintek->pdev = pdev; ++ ++ ret = fintek_hw_detect(fintek); ++ if (ret) ++ goto failure; ++ ++ /* Initialize CIR & CIR Wake Logical Devices */ ++ fintek_config_mode_enable(fintek); ++ fintek_cir_ldev_init(fintek); ++ fintek_config_mode_disable(fintek); ++ ++ /* Initialize CIR & CIR Wake Config Registers */ ++ fintek_cir_regs_init(fintek); ++ ++ /* Set up the rc device */ ++ rdev->priv = fintek; ++ rdev->driver_type = RC_DRIVER_IR_RAW; ++ rdev->allowed_protos = RC_TYPE_ALL; ++ rdev->open = fintek_open; ++ rdev->close = fintek_close; ++ rdev->input_name = FINTEK_DESCRIPTION; ++ rdev->input_phys = "fintek/cir0"; ++ rdev->input_id.bustype = BUS_HOST; ++ rdev->input_id.vendor = VENDOR_ID_FINTEK; ++ rdev->input_id.product = fintek->chip_major; ++ rdev->input_id.version = fintek->chip_minor; ++ rdev->dev.parent = &pdev->dev; ++ rdev->driver_name = FINTEK_DRIVER_NAME; ++ rdev->map_name = RC_MAP_RC6_MCE; ++ rdev->timeout = US_TO_NS(1000); ++ /* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */ ++ rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD); ++ ++ ret = rc_register_device(rdev); ++ if (ret) ++ goto failure; ++ ++ device_init_wakeup(&pdev->dev, true); ++ fintek->rdev = rdev; ++ fit_pr(KERN_NOTICE, "driver has been successfully loaded\n"); ++ if (debug) ++ cir_dump_regs(fintek); ++ ++ return 0; ++ ++failure: ++ if (fintek->cir_irq) ++ free_irq(fintek->cir_irq, fintek); ++ if (fintek->cir_addr) ++ release_region(fintek->cir_addr, fintek->cir_port_len); ++ ++ rc_free_device(rdev); ++ kfree(fintek); ++ ++ return ret; ++} ++ ++static void __devexit fintek_remove(struct pnp_dev *pdev) ++{ ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&fintek->fintek_lock, flags); ++ /* disable CIR */ ++ fintek_cir_reg_write(fintek, 0, CIR_STATUS); ++ fintek_disable_cir(fintek); ++ /* enable CIR Wake (for IR power-on) */ ++ fintek_enable_wake(fintek); ++ spin_unlock_irqrestore(&fintek->fintek_lock, flags); ++ ++ /* free resources */ ++ free_irq(fintek->cir_irq, fintek); ++ release_region(fintek->cir_addr, fintek->cir_port_len); ++ ++ rc_unregister_device(fintek->rdev); ++ ++ kfree(fintek); ++} ++ ++static int fintek_suspend(struct pnp_dev *pdev, pm_message_t state) ++{ ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ ++ fit_dbg("%s called", __func__); ++ ++ /* disable all CIR interrupts */ ++ fintek_cir_reg_write(fintek, 0, CIR_STATUS); ++ ++ fintek_config_mode_enable(fintek); ++ ++ /* disable cir logical dev */ ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_DISABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++ ++ /* make sure wake is enabled */ ++ fintek_enable_wake(fintek); ++ ++ return 0; ++} ++ ++static int fintek_resume(struct pnp_dev *pdev) ++{ ++ int ret = 0; ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ ++ fit_dbg("%s called", __func__); ++ ++ /* open interrupt */ ++ fintek_enable_cir_irq(fintek); ++ ++ /* Enable CIR logical device */ ++ fintek_config_mode_enable(fintek); ++ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR); ++ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN); ++ ++ fintek_config_mode_disable(fintek); ++ ++ fintek_cir_regs_init(fintek); ++ ++ return ret; ++} ++ ++static void fintek_shutdown(struct pnp_dev *pdev) ++{ ++ struct fintek_dev *fintek = pnp_get_drvdata(pdev); ++ fintek_enable_wake(fintek); ++} ++ ++static const struct pnp_device_id fintek_ids[] = { ++ { "FIT0002", 0 }, /* CIR */ ++ { "", 0 }, ++}; ++ ++static struct pnp_driver fintek_driver = { ++ .name = FINTEK_DRIVER_NAME, ++ .id_table = fintek_ids, ++ .flags = PNP_DRIVER_RES_DO_NOT_CHANGE, ++ .probe = fintek_probe, ++ .remove = __devexit_p(fintek_remove), ++ .suspend = fintek_suspend, ++ .resume = fintek_resume, ++ .shutdown = fintek_shutdown, ++}; ++ ++int fintek_init(void) ++{ ++ return pnp_register_driver(&fintek_driver); ++} ++ ++void fintek_exit(void) ++{ ++ pnp_unregister_driver(&fintek_driver); ++} ++ ++module_param(debug, int, S_IRUGO | S_IWUSR); ++MODULE_PARM_DESC(debug, "Enable debugging output"); ++ ++MODULE_DEVICE_TABLE(pnp, fintek_ids); ++MODULE_DESCRIPTION(FINTEK_DESCRIPTION " driver"); ++ ++MODULE_AUTHOR("Jarod Wilson "); ++MODULE_LICENSE("GPL"); ++ ++module_init(fintek_init); ++module_exit(fintek_exit); +diff --git a/drivers/media/rc/fintek-cir.h b/drivers/media/rc/fintek-cir.h +new file mode 100644 +index 0000000..790c502 +--- /dev/null ++++ b/drivers/media/rc/fintek-cir.h +@@ -0,0 +1,224 @@ ++/* ++ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR ++ * ++ * Copyright (C) 2011 Jarod Wilson ++ * ++ * Special thanks to Fintek for providing hardware and spec sheets. ++ * This driver is based upon the nuvoton, ite and ene drivers for ++ * similar hardware. ++ * ++ * 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 of the ++ * License, 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 this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 ++ * USA ++ */ ++ ++#include ++#include ++ ++/* platform driver name to register */ ++#define FINTEK_DRIVER_NAME "fintek-cir" ++#define FINTEK_DESCRIPTION "Fintek LPC SuperIO Consumer IR Transceiver" ++#define VENDOR_ID_FINTEK 0x1934 ++ ++ ++/* debugging module parameter */ ++static int debug; ++ ++#define fit_pr(level, text, ...) \ ++ printk(level KBUILD_MODNAME ": " text, ## __VA_ARGS__) ++ ++#define fit_dbg(text, ...) \ ++ if (debug) \ ++ printk(KERN_DEBUG \ ++ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__) ++ ++#define fit_dbg_verbose(text, ...) \ ++ if (debug > 1) \ ++ printk(KERN_DEBUG \ ++ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__) ++ ++#define fit_dbg_wake(text, ...) \ ++ if (debug > 2) \ ++ printk(KERN_DEBUG \ ++ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__) ++ ++ ++#define TX_BUF_LEN 256 ++#define RX_BUF_LEN 32 ++ ++struct fintek_dev { ++ struct pnp_dev *pdev; ++ struct rc_dev *rdev; ++ struct ir_raw_event rawir; ++ ++ spinlock_t fintek_lock; ++ bool in_use; ++ ++ /* for rx */ ++ u8 buf[RX_BUF_LEN]; ++ unsigned int pkts; ++ ++ struct { ++ spinlock_t lock; ++ u8 buf[TX_BUF_LEN]; ++ unsigned int buf_count; ++ unsigned int cur_buf_num; ++ wait_queue_head_t queue; ++ } tx; ++ ++ /* Config register index/data port pair */ ++ u8 cr_ip; ++ u8 cr_dp; ++ ++ /* hardware I/O settings */ ++ unsigned long cir_addr; ++ int cir_irq; ++ int cir_port_len; ++ ++ /* hardware id */ ++ u8 chip_major; ++ u8 chip_minor; ++ u16 chip_vendor; ++ ++ /* hardware features */ ++ bool hw_learning_capable; ++ bool hw_tx_capable; ++ ++ /* rx settings */ ++ bool learning_enabled; ++ bool carrier_detect_enabled; ++ ++ /* carrier period = 1 / frequency */ ++ u32 carrier; ++}; ++ ++/* buffer packet constants */ ++#define BUF_PULSE_BIT 0x80 ++#define BUF_LEN_MASK 0x7f ++#define BUF_REPEAT_BYTE 0x70 ++#define BUF_REPEAT_MASK 0xf0 ++#define CIR_SAMPLE_PERIOD 50 ++ ++/* ++ * Configuration Register: ++ * Index Port ++ * Data Port ++ */ ++#define CR_INDEX_PORT 0x4e ++#define CR_DATA_PORT 0x4f ++ ++/* Possible alternate values, depends on how the chip is wired */ ++#define CR_INDEX_PORT2 0x2e ++#define CR_DATA_PORT2 0x2f ++ ++/* ++ * GCR_CONFIG_PORT_SEL bit 4 specifies which Index Port value is ++ * active. 1 = 0x4e, 0 = 0x2e ++ */ ++#define PORT_SEL_PORT_4E_EN 0x10 ++ ++/* Extended Function Mode enable/disable magic values */ ++#define CONFIG_REG_ENABLE 0x87 ++#define CONFIG_REG_DISABLE 0xaa ++ ++/* Chip IDs found in CR_CHIP_ID_{HI,LO} */ ++#define CHIP_ID_HIGH_F71809U 0x04 ++#define CHIP_ID_LOW_F71809U 0x08 ++ ++/* ++ * Global control regs we need to care about: ++ * Global Control def. ++ * Register name addr val. */ ++#define GCR_SOFTWARE_RESET 0x02 /* 0x00 */ ++#define GCR_LOGICAL_DEV_NO 0x07 /* 0x00 */ ++#define GCR_CHIP_ID_HI 0x20 /* 0x04 */ ++#define GCR_CHIP_ID_LO 0x21 /* 0x08 */ ++#define GCR_VENDOR_ID_HI 0x23 /* 0x19 */ ++#define GCR_VENDOR_ID_LO 0x24 /* 0x34 */ ++#define GCR_CONFIG_PORT_SEL 0x25 /* 0x01 */ ++#define GCR_KBMOUSE_WAKEUP 0x27 ++ ++#define LOGICAL_DEV_DISABLE 0x00 ++#define LOGICAL_DEV_ENABLE 0x01 ++ ++/* Logical device number of the CIR function */ ++#define LOGICAL_DEV_CIR 0x05 ++ ++/* CIR Logical Device (LDN 0x08) config registers */ ++#define CIR_CR_COMMAND_INDEX 0x04 ++#define CIR_CR_IRCS 0x05 /* Before host writes command to IR, host ++ must set to 1. When host finshes write ++ command to IR, host must clear to 0. */ ++#define CIR_CR_COMMAND_DATA 0x06 /* Host read or write comand data */ ++#define CIR_CR_CLASS 0x07 /* 0xff = rx-only, 0x66 = rx + 2 tx, ++ 0x33 = rx + 1 tx */ ++#define CIR_CR_DEV_EN 0x30 /* bit0 = 1 enables CIR */ ++#define CIR_CR_BASE_ADDR_HI 0x60 /* MSB of CIR IO base addr */ ++#define CIR_CR_BASE_ADDR_LO 0x61 /* LSB of CIR IO base addr */ ++#define CIR_CR_IRQ_SEL 0x70 /* bits3-0 store CIR IRQ */ ++#define CIR_CR_PSOUT_STATUS 0xf1 ++#define CIR_CR_WAKE_KEY3_ADDR 0xf8 ++#define CIR_CR_WAKE_KEY3_CODE 0xf9 ++#define CIR_CR_WAKE_KEY3_DC 0xfa ++#define CIR_CR_WAKE_CONTROL 0xfb ++#define CIR_CR_WAKE_KEY12_ADDR 0xfc ++#define CIR_CR_WAKE_KEY4_ADDR 0xfd ++#define CIR_CR_WAKE_KEY5_ADDR 0xfe ++ ++#define CLASS_RX_ONLY 0xff ++#define CLASS_RX_2TX 0x66 ++#define CLASS_RX_1TX 0x33 ++ ++/* CIR device registers */ ++#define CIR_STATUS 0x00 ++#define CIR_RX_DATA 0x01 ++#define CIR_TX_CONTROL 0x02 ++#define CIR_TX_DATA 0x03 ++#define CIR_CONTROL 0x04 ++ ++/* Bits to enable CIR wake */ ++#define LOGICAL_DEV_ACPI 0x01 ++#define LDEV_ACPI_WAKE_EN_REG 0xe8 ++#define ACPI_WAKE_EN_CIR_BIT 0x04 ++ ++#define LDEV_ACPI_PME_EN_REG 0xf0 ++#define LDEV_ACPI_PME_CLR_REG 0xf1 ++#define ACPI_PME_CIR_BIT 0x02 ++ ++#define LDEV_ACPI_STATE_REG 0xf4 ++#define ACPI_STATE_CIR_BIT 0x20 ++ ++/* ++ * CIR status register (0x00): ++ * 7 - CIR_IRQ_EN (1 = enable CIR IRQ, 0 = disable) ++ * 3 - TX_FINISH (1 when TX finished, write 1 to clear) ++ * 2 - TX_UNDERRUN (1 on TX underrun, write 1 to clear) ++ * 1 - RX_TIMEOUT (1 on RX timeout, write 1 to clear) ++ * 0 - RX_RECEIVE (1 on RX receive, write 1 to clear) ++ */ ++#define CIR_STATUS_IRQ_EN 0x80 ++#define CIR_STATUS_TX_FINISH 0x08 ++#define CIR_STATUS_TX_UNDERRUN 0x04 ++#define CIR_STATUS_RX_TIMEOUT 0x02 ++#define CIR_STATUS_RX_RECEIVE 0x01 ++#define CIR_STATUS_IRQ_MASK 0x0f ++ ++/* ++ * CIR TX control register (0x02): ++ * 7 - TX_START (1 to indicate TX start, auto-cleared when done) ++ * 6 - TX_END (1 to indicate TX data written to TX fifo) ++ */ ++#define CIR_TX_CONTROL_TX_START 0x80 ++#define CIR_TX_CONTROL_TX_END 0x40 ++ diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index 5a05258574..41751f637b 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1338,6 +1338,7 @@ CONFIG_IR_RC5_SZ_DECODER=y # CONFIG_IR_IMON is not set CONFIG_IR_MCEUSB=m # CONFIG_IR_ITE_CIR is not set +# CONFIG_IR_FINTEK is not set # CONFIG_IR_NUVOTON is not set # CONFIG_IR_STREAMZAP is not set # CONFIG_IR_WINBOND_CIR is not set diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index f99109cb36..9d97e7cd78 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -1505,6 +1505,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m # CONFIG_IR_ITE_CIR is not set +CONFIG_IR_FINTEK=m # CONFIG_IR_NUVOTON is not set CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index 258ff69acf..2801b7336f 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -1685,6 +1685,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index da410604ca..6ab6c6a652 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1525,6 +1525,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index 607dc2c08a..cd4cf0bc09 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/x86_64 2.6.39-rc7 Kernel Configuration +# Linux/x86_64 2.6.39 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -1468,6 +1468,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf index 8a0bd07a9b..dc0a491d48 100644 --- a/projects/Intel/linux/linux.i386.conf +++ b/projects/Intel/linux/linux.i386.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/i386 2.6.39-rc7 Kernel Configuration +# Linux/i386 2.6.39 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -1501,6 +1501,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf index da436243d3..b708be0750 100644 --- a/projects/Intel/linux/linux.x86_64.conf +++ b/projects/Intel/linux/linux.x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated make config: don't edit -# Linux/x86_64 2.6.39-rc7 Kernel Configuration +# Linux/x86_64 2.6.39 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set @@ -1446,6 +1446,7 @@ CONFIG_IR_ENE=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m +CONFIG_IR_FINTEK=m CONFIG_IR_NUVOTON=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m From a377f2a4f2b1005b4f556d24911996d3264b6443 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 12:10:10 +0200 Subject: [PATCH 39/52] new package: add package 'xvba-video' Signed-off-by: Stephan Raue --- packages/multimedia/xvba-video/install | 32 +++++++++++++++++++++++ packages/multimedia/xvba-video/meta | 36 ++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100755 packages/multimedia/xvba-video/install create mode 100644 packages/multimedia/xvba-video/meta diff --git a/packages/multimedia/xvba-video/install b/packages/multimedia/xvba-video/install new file mode 100755 index 0000000000..b3cedf63c6 --- /dev/null +++ b/packages/multimedia/xvba-video/install @@ -0,0 +1,32 @@ +#!/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 + +if [ "$TARGET_ARCH" = i386 ]; then + ARCH=x86 +elif [ "$TARGET_ARCH" = x86_64 ]; then + ARCH=x86_64 +fi + +mkdir -p $INSTALL/usr/lib/va + cp -P $PKG_BUILD/$ARCH/*.so $INSTALL/usr/lib/va diff --git a/packages/multimedia/xvba-video/meta b/packages/multimedia/xvba-video/meta new file mode 100644 index 0000000000..f66cf3931b --- /dev/null +++ b/packages/multimedia/xvba-video/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="xvba-video" +PKG_VERSION="0.7.8.bin" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="nonfree" +PKG_SITE="http://www.splitted-desktop.com/~gbeauchesne/" +PKG_URL="http://www.splitted-desktop.com/~gbeauchesne/xvba-video/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="$MESA libX11 libXext" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="multimedia" +PKG_SHORTDESC="xvba-video: XvBA backend for VA API" +PKG_LONGDESC="XvBA backend for VA API" +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" From 9962097f8edb6a8fdb26d0f341f738268e8e905c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 12:22:14 +0200 Subject: [PATCH 40/52] xorg-server: update to xorg-server-1.10.1.902 Signed-off-by: Stephan Raue --- packages/x11/xserver/xorg-server/meta | 2 +- ..._config.patch => xorg-server-1.10.1.902-05_pkg_config.patch} | 0 ...-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch} | 0 ....1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch} | 0 ...13_nouveau.patch => xorg-server-1.10.1.902-13_nouveau.patch} | 0 ... => xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch} | 0 ...=> xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch} | 0 ...a.patch => xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch} | 0 ...patch => xorg-server-1.10.1.902-22_do_not_zap_xserver.patch} | 0 ...tch => xorg-server-1.10.1.902-25_less_acpi_brokenness.patch} | 0 10 files changed, 1 insertion(+), 1 deletion(-) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-05_pkg_config.patch => xorg-server-1.10.1.902-05_pkg_config.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-10_cache_xkbcomp_output_for_fast_start_up.patch => xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-11_use_sloppy_heuristic_first_for_initial_mode.patch => xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-13_nouveau.patch => xorg-server-1.10.1.902-13_nouveau.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-14_nvidia_fglrx_autodetect.patch => xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-20_extra_modelines_fromxorg.patch => xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-21_x11_nonroot-vesa.patch => xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-22_do_not_zap_xserver.patch => xorg-server-1.10.1.902-22_do_not_zap_xserver.patch} (100%) rename packages/x11/xserver/xorg-server/patches/{xorg-server-1.10.1.901-25_less_acpi_brokenness.patch => xorg-server-1.10.1.902-25_less_acpi_brokenness.patch} (100%) diff --git a/packages/x11/xserver/xorg-server/meta b/packages/x11/xserver/xorg-server/meta index b914504e76..402cdba575 100644 --- a/packages/x11/xserver/xorg-server/meta +++ b/packages/x11/xserver/xorg-server/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xorg-server" -PKG_VERSION="1.10.1.901" +PKG_VERSION="1.10.1.902" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="OSS" diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-05_pkg_config.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-05_pkg_config.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-05_pkg_config.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-05_pkg_config.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-10_cache_xkbcomp_output_for_fast_start_up.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-10_cache_xkbcomp_output_for_fast_start_up.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-10_cache_xkbcomp_output_for_fast_start_up.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-11_use_sloppy_heuristic_first_for_initial_mode.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-11_use_sloppy_heuristic_first_for_initial_mode.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-11_use_sloppy_heuristic_first_for_initial_mode.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-13_nouveau.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-13_nouveau.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-13_nouveau.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-13_nouveau.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-14_nvidia_fglrx_autodetect.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-14_nvidia_fglrx_autodetect.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-14_nvidia_fglrx_autodetect.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-20_extra_modelines_fromxorg.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-20_extra_modelines_fromxorg.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-20_extra_modelines_fromxorg.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-21_x11_nonroot-vesa.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-21_x11_nonroot-vesa.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-21_x11_nonroot-vesa.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-22_do_not_zap_xserver.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-22_do_not_zap_xserver.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-22_do_not_zap_xserver.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-22_do_not_zap_xserver.patch diff --git a/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-25_less_acpi_brokenness.patch b/packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-25_less_acpi_brokenness.patch similarity index 100% rename from packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.901-25_less_acpi_brokenness.patch rename to packages/x11/xserver/xorg-server/patches/xorg-server-1.10.1.902-25_less_acpi_brokenness.patch From a39abab2374aa4effe49404614d9bdda5517ace9 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 12:50:04 +0200 Subject: [PATCH 41/52] xf86-video-nvidia: update to xf86-video-nvidia-270.41.19 Signed-off-by: Stephan Raue --- packages/x11/driver/xf86-video-nvidia/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/x11/driver/xf86-video-nvidia/meta b/packages/x11/driver/xf86-video-nvidia/meta index ed1328ae18..136c91789c 100644 --- a/packages/x11/driver/xf86-video-nvidia/meta +++ b/packages/x11/driver/xf86-video-nvidia/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xf86-video-nvidia" -PKG_VERSION="270.41.06" +PKG_VERSION="270.41.19" PKG_REV="1" PKG_ARCH="i386 x86_64" PKG_LICENSE="nonfree" From bce91ec6b2edca9491fadc0a6e1e90e71e924424 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 12:53:48 +0200 Subject: [PATCH 42/52] xf86-video-fglrx: fix install Signed-off-by: Stephan Raue --- packages/x11/driver/xf86-video-fglrx/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/x11/driver/xf86-video-fglrx/install b/packages/x11/driver/xf86-video-fglrx/install index a68e3d7a9c..24039c8dae 100755 --- a/packages/x11/driver/xf86-video-fglrx/install +++ b/packages/x11/driver/xf86-video-fglrx/install @@ -84,6 +84,7 @@ mkdir -p $INSTALL/usr/lib if [ "$VAAPI" = yes ]; then $SCRIPTS/install libva - cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/lib*XvBA*.so* $INSTALL/usr/lib cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.cap $INSTALL/usr/lib + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.so* $INSTALL/usr/lib/libAMDXvBA.so.1 + cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libXvBAW.so* $INSTALL/usr/lib/libXvBAW.so.1 fi From 42eaf9d2be877db1c31a43d795b4d29e5a852145 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 13:38:27 +0200 Subject: [PATCH 43/52] util-linux-initramfs: install symlinks too Signed-off-by: Stephan Raue --- packages/initramfs/sysutils/util-linux-initramfs/install | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/initramfs/sysutils/util-linux-initramfs/install b/packages/initramfs/sysutils/util-linux-initramfs/install index a4366000e8..27cd485e33 100755 --- a/packages/initramfs/sysutils/util-linux-initramfs/install +++ b/packages/initramfs/sysutils/util-linux-initramfs/install @@ -25,6 +25,8 @@ UTIL_LINUX_DIR="$BUILD/util-linux-*" mkdir -p $INSTALL/sbin - cp $UTIL_LINUX_DIR/misc-utils/.libs/blkid $INSTALL/sbin - cp $UTIL_LINUX_DIR/shlibs/blkid/src/.libs/libblkid.so.1 $INSTALL/lib - cp $UTIL_LINUX_DIR/shlibs/uuid/src/.libs/libuuid.so.1 $INSTALL/lib + cp -P $UTIL_LINUX_DIR/misc-utils/.libs/blkid $INSTALL/sbin + +mkdir -p $INSTALL/lib + cp -P $UTIL_LINUX_DIR/shlibs/blkid/src/.libs/libblkid.so* $INSTALL/lib + cp -P $UTIL_LINUX_DIR/shlibs/uuid/src/.libs/libuuid.so* $INSTALL/lib From e97c492fee753f80c77ce8e88ecc45f34a2d4564 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 15:23:28 +0200 Subject: [PATCH 44/52] darwin-cross: cleanup, fix 'as' handling... hope this works on other distros too... Signed-off-by: Stephan Raue --- .../toolchain/toolchains/darwin-cross/unpack | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/toolchain/toolchains/darwin-cross/unpack b/packages/toolchain/toolchains/darwin-cross/unpack index 0f3856fa43..3c205c95ef 100755 --- a/packages/toolchain/toolchains/darwin-cross/unpack +++ b/packages/toolchain/toolchains/darwin-cross/unpack @@ -23,5 +23,17 @@ . config/options $1 -tar -xzf "${PKG_BUILD}/darwin-cross.tar.gz" -C "${PKG_BUILD}" -mv "${PKG_BUILD}/darwin-cross/"* "${PKG_BUILD}" +# extract toolchain + tar -xzf $PKG_BUILD/darwin-cross.tar.gz -C $PKG_BUILD + +# move toolchain to a proper location + mv $PKG_BUILD/darwin-cross/* $PKG_BUILD + +# cleanup + rm -rf $PKG_BUILD/darwin-cross/ + rm -rf $PKG_BUILD/darwin-cross.tar.gz + rm -rf $PKG_BUILD/install_darwin-cross.sh + +# fix 'as' + rm -rf $PKG_BUILD/i386-apple-darwin8/bin/as + ln -sf $ROOT/$PKG_BUILD/libexec/10.4/as/i386/as $PKG_BUILD/i386-apple-darwin8/bin/as From d262b506363582a7f4507ae9723b9c27141c5a0c Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 15:24:15 +0200 Subject: [PATCH 45/52] atv-bootloader: add patch to setup paths via make Signed-off-by: Stephan Raue --- ...ootloader-r518-allow_setup_paths-0.1.patch | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_setup_paths-0.1.patch diff --git a/packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_setup_paths-0.1.patch b/packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_setup_paths-0.1.patch new file mode 100644 index 0000000000..4bca96c210 --- /dev/null +++ b/packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_setup_paths-0.1.patch @@ -0,0 +1,29 @@ +diff -Naur atv-bootloader-r518/Makefile atv-bootloader-r518.patch/Makefile +--- atv-bootloader-r518/Makefile 2010-03-09 20:17:22.000000000 +0100 ++++ atv-bootloader-r518.patch/Makefile 2011-05-21 14:04:05.592144598 +0200 +@@ -11,12 +11,12 @@ + + # if Linxu, use the darwin-cross tools to compile/link + ifeq ($(OSTYPE),Linux) +- CC = /opt/darwin-cross/bin/i386-apple-darwin8-gcc-4.0 +- LD = /opt/darwin-cross/bin/i386-apple-darwin8-ld ++ CC := /opt/darwin-cross/bin/i386-apple-darwin8-gcc-4.0 ++ LD := /opt/darwin-cross/bin/i386-apple-darwin8-ld + else +- CC = /usr/bin/gcc-4.0 +- LD = /usr/bin/ld +- LDFLAGS = -classic_linker ++ CC := /usr/bin/gcc-4.0 ++ LD := /usr/bin/ld ++ LDFLAGS = -classic_linker + endif + + # start.o must be 1st in the link order (ld below) +@@ -53,7 +53,4 @@ + clean: + rm -f *.o $(KERN_OBJ) mach_kernel + +- +- + #xxd mach_kernel | sed -e "s/ffff ffff 1000/0100 0000 1000/" | xxd -r - mach_kernel +- From dbfd626cf8c178d385b79de6f0321769e9dbbad9 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 15:41:02 +0200 Subject: [PATCH 46/52] atv-bootloader: add patch to allow build without initrd Signed-off-by: Stephan Raue --- ...tloader-r518-allow_build_without_initrd-0.1.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_build_without_initrd-0.1.patch diff --git a/packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_build_without_initrd-0.1.patch b/packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_build_without_initrd-0.1.patch new file mode 100644 index 0000000000..f36755a91e --- /dev/null +++ b/packages/tools/atv-bootloader/patches/atv-bootloader-r518-allow_build_without_initrd-0.1.patch @@ -0,0 +1,12 @@ +diff -Naur atv-bootloader-r518/Makefile atv-bootloader-r518.patch/Makefile +--- atv-bootloader-r518/Makefile 2010-03-09 20:17:22.000000000 +0100 ++++ atv-bootloader-r518.patch/Makefile 2011-05-21 15:26:26.509551389 +0200 +@@ -22,7 +22,7 @@ + # start.o must be 1st in the link order (ld below) + OBJ = start.o vsprintf.o console.o utils.o elilo_code.o darwin_code.o linux_code.o boot_loader.o + +-KERN_OBJ= vmlinuz.obj initrd.obj ++KERN_OBJ:= vmlinuz.obj initrd.obj + + mach_kernel: $(KERN_OBJ) $(OBJ) + $(LD) $(LDFLAGS) -arch $(ARCH) -o mach_kernel $(OBJ) $(KERN_OBJ) \ From 61ca57676a6ac7843c2631a95d2c407baa33e215 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 15:42:21 +0200 Subject: [PATCH 47/52] atv-bootloader: cleanup, build without initrd Signed-off-by: Stephan Raue --- packages/tools/atv-bootloader/build | 9 +++++---- packages/tools/atv-bootloader/meta | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/tools/atv-bootloader/build b/packages/tools/atv-bootloader/build index 069c8bd21b..e2834b3f91 100755 --- a/packages/tools/atv-bootloader/build +++ b/packages/tools/atv-bootloader/build @@ -22,11 +22,12 @@ . config/options $1 -get_version - cd $PKG_BUILD -TOOLS_PREFIX="$ROOT/$BUILD" +cp -PR $(kernel_path)/arch/x86/boot/bzImage vmlinuz -sed -i -e "s:/opt:$TOOLS_PREFIX:" Makefile +make clean +make LDFLAGS="" KERN_OBJ="vmlinuz.obj" \ + CC="$ROOT/$BUILD/darwin-cross/bin/i386-apple-darwin8-gcc-4.0.1" \ + LD="$ROOT/$BUILD/darwin-cross/bin/i386-apple-darwin8-ld" diff --git a/packages/tools/atv-bootloader/meta b/packages/tools/atv-bootloader/meta index 62846e9fb7..97cb2c6b23 100644 --- a/packages/tools/atv-bootloader/meta +++ b/packages/tools/atv-bootloader/meta @@ -26,7 +26,7 @@ PKG_LICENSE="GPL" PKG_SITE="http://code.google.com/p/atv-bootloader/" PKG_URL="http://travisghansen.openelec.tv/sources/$PKG_NAME-$PKG_VERSION.tar.gz" PKG_DEPENDS="" -PKG_BUILD_DEPENDS="darwin-cross linux" +PKG_BUILD_DEPENDS="toolchain darwin-cross linux" PKG_PRIORITY="optional" PKG_SECTION="tools" PKG_SHORTDESC="atv-bootloader: Tool to create a mach_kernel compaitible kernel image" From 30c32b7ec6d8698e92a2c05ff111d54c245ef353 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 15:44:33 +0200 Subject: [PATCH 48/52] scripts/image_squashfs: cleanup Signed-off-by: Stephan Raue --- scripts/image_squashfs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/image_squashfs b/scripts/image_squashfs index 9b3fa60d53..57cfac61c5 100755 --- a/scripts/image_squashfs +++ b/scripts/image_squashfs @@ -30,11 +30,10 @@ $SCRIPTS/image $SCRIPTS/build squashfs $SCRIPTS/build fakeroot -get_version - mkdir -p $TARGET_IMG rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.kernel rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel + if [ "$BOOTLOADER" = "u-boot" ]; then KERNEL_IMAGE="uImage" else @@ -53,7 +52,7 @@ mkdir -p $TARGET_IMG cp -PR $BUILD/atv-bootloader-*/mach_kernel $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel chmod 0644 $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.mach_kernel fi - + echo "rm -rf $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system" >> $FAKEROOT_SCRIPT # echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend -comp xz" >> $FAKEROOT_SCRIPT echo "$ROOT/$TOOLCHAIN/bin/mksquashfs $BUILD/image/system $TARGET_IMG/$DISTRONAME-$TARGET_VERSION.system -noappend" >> $FAKEROOT_SCRIPT From abe084030cb8ee5b77d4e5aeb4efecc03356c266 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 15:45:37 +0200 Subject: [PATCH 49/52] linux: build atv-bootloader in its own package again Signed-off-by: Stephan Raue --- packages/linux/build | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/packages/linux/build b/packages/linux/build index 456c4cc0dd..1e2cb82784 100755 --- a/packages/linux/build +++ b/packages/linux/build @@ -51,13 +51,3 @@ rm -f modules/lib/modules/*/build rm -f modules/lib/modules/*/source make $KERNEL_IMAGE - -if [ "$BOOTLOADER" = "atv-bootloader" ]; then - get_version - cd $ROOT/$BUILD/atv-bootloader-* - cp -PR $ROOT/$PKG_BUILD/arch/x86/boot/bzImage vmlinuz - - make clean - make LDFLAGS="" -fi - From 1d691747fb8453ade54e74977c8ed2b417347a19 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 16:00:28 +0200 Subject: [PATCH 50/52] sqlite: update to sqlite-autoconf-3070603 Signed-off-by: Stephan Raue --- packages/databases/sqlite/meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/databases/sqlite/meta b/packages/databases/sqlite/meta index cc3379793c..aba6fe9ad6 100644 --- a/packages/databases/sqlite/meta +++ b/packages/databases/sqlite/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="sqlite" -PKG_VERSION="autoconf-3070602" +PKG_VERSION="autoconf-3070603" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="PublicDomain" From 317044936715c2d34a7fe81a31deef8bc531b0cb Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 16:07:11 +0200 Subject: [PATCH 51/52] cpio: move to toolchain/archivers, enable build again, disable autoreconf Signed-off-by: Stephan Raue --- packages/linux/meta | 3 +-- packages/{compress => toolchain/archivers}/cpio/build | 0 packages/{compress => toolchain/archivers}/cpio/meta | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) rename packages/{compress => toolchain/archivers}/cpio/build (100%) rename packages/{compress => toolchain/archivers}/cpio/meta (98%) diff --git a/packages/linux/meta b/packages/linux/meta index 39f98082cc..aa1859653b 100644 --- a/packages/linux/meta +++ b/packages/linux/meta @@ -27,8 +27,7 @@ PKG_SITE="http://www.kernel.org" PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2" #PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2" PKG_DEPENDS="busybox linux-drivers linux-firmware" -#PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio" -PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz" +PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio" PKG_PRIORITY="optional" PKG_SECTION="linux" PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and modules" diff --git a/packages/compress/cpio/build b/packages/toolchain/archivers/cpio/build similarity index 100% rename from packages/compress/cpio/build rename to packages/toolchain/archivers/cpio/build diff --git a/packages/compress/cpio/meta b/packages/toolchain/archivers/cpio/meta similarity index 98% rename from packages/compress/cpio/meta rename to packages/toolchain/archivers/cpio/meta index 765f304378..9e69b6e1bd 100644 --- a/packages/compress/cpio/meta +++ b/packages/toolchain/archivers/cpio/meta @@ -33,4 +33,4 @@ PKG_SHORTDESC="cpio: A GNU archiving program" PKG_LONGDESC="This is GNU cpio, a program to manage archives of files. As of version 2.0, it supports the features of the System V release 4 cpio, including support for tar archives." PKG_IS_ADDON="no" -PKG_AUTORECONF="yes" +PKG_AUTORECONF="no" From 55d6d9a65486933322b3b55d35483b50caffd169 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 21 May 2011 17:19:00 +0200 Subject: [PATCH 52/52] diskdev_cmds: depends on openssl Signed-off-by: Stephan Raue --- packages/sysutils/diskdev_cmds/meta | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sysutils/diskdev_cmds/meta b/packages/sysutils/diskdev_cmds/meta index 18d4e8e28f..f4bf1c3449 100644 --- a/packages/sysutils/diskdev_cmds/meta +++ b/packages/sysutils/diskdev_cmds/meta @@ -25,8 +25,8 @@ PKG_ARCH="any" PKG_LICENSE="APSL" PKG_SITE="http://src.gnu-darwin.org/DarwinSourceArchive/expanded/diskdev_cmds/" PKG_URL="http://src.gnu-darwin.org/DarwinSourceArchive/apsl/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="" -PKG_BUILD_DEPENDS="toolchain" +PKG_DEPENDS="openssl" +PKG_BUILD_DEPENDS="toolchain openssl" PKG_PRIORITY="optional" PKG_SECTION="system" PKG_SHORTDESC="diskdev_cmds: hfs filesystem utilities"