diff --git a/packages/sysutils/bash/build b/packages/sysutils/bash/build new file mode 100755 index 0000000000..9fd488499b --- /dev/null +++ b/packages/sysutils/bash/build @@ -0,0 +1,38 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --bindir=/bin \ + --with-gnu-ld \ + --disable-job-control \ + --without-bash-malloc \ + --without-installed-readline \ + --disable-nls \ + --disable-rpath \ + --with-gnu-ld \ + +make diff --git a/packages/sysutils/busybox/init.d/03_debugshell b/packages/sysutils/bash/init.d/03_debugshell similarity index 89% rename from packages/sysutils/busybox/init.d/03_debugshell rename to packages/sysutils/bash/init.d/03_debugshell index dd3d3fbe71..40c70c4d71 100644 --- a/packages/sysutils/busybox/init.d/03_debugshell +++ b/packages/sysutils/bash/init.d/03_debugshell @@ -1,6 +1,6 @@ ################################################################################ -# Copyright (C) 2009-2010 OpenELEC.tv -# http://www.openelec.tv +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) # # This Program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,6 @@ # the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. # http://www.gnu.org/copyleft/gpl.html ################################################################################ - # start debug shell # # runlevels: openelec, installer, textmode diff --git a/packages/sysutils/busybox/init.d/99_shell b/packages/sysutils/bash/init.d/99_shell similarity index 88% rename from packages/sysutils/busybox/init.d/99_shell rename to packages/sysutils/bash/init.d/99_shell index b055838970..f81366c2c2 100644 --- a/packages/sysutils/busybox/init.d/99_shell +++ b/packages/sysutils/bash/init.d/99_shell @@ -1,6 +1,6 @@ ################################################################################ -# Copyright (C) 2009-2010 OpenELEC.tv -# http://www.openelec.tv +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) # # This Program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,7 +17,6 @@ # the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. # http://www.gnu.org/copyleft/gpl.html ################################################################################ - # start text mode shell # # runlevels: textmode diff --git a/packages/sysutils/bash/install b/packages/sysutils/bash/install new file mode 100755 index 0000000000..3316266f0d --- /dev/null +++ b/packages/sysutils/bash/install @@ -0,0 +1,27 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/bin + cp $PKG_BUILD/bash $INSTALL/bin + ln -sf bash $INSTALL/bin/sh diff --git a/packages/sysutils/bash/meta b/packages/sysutils/bash/meta new file mode 100644 index 0000000000..4b7d7c0359 --- /dev/null +++ b/packages/sysutils/bash/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="bash" +PKG_VERSION="4.2" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.gnu.org/software/bash" +PKG_URL="http://ftp.gnu.org/gnu/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="required" +PKG_SECTION="system" +PKG_SHORTDESC="bash: Bourne Again Shell" +PKG_LONGDESC="Bash is the shell, or command language interpreter, that will appear in the GNU operating system. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/sysutils/bash/patches/bash-4.2-001-fix_job_control-0.1.patch b/packages/sysutils/bash/patches/bash-4.2-001-fix_job_control-0.1.patch new file mode 100644 index 0000000000..98d79342a0 --- /dev/null +++ b/packages/sysutils/bash/patches/bash-4.2-001-fix_job_control-0.1.patch @@ -0,0 +1,15 @@ +diff -Naur bash-4.2/execute_cmd.c bash-4.2.patch/execute_cmd.c +--- bash-4.2/execute_cmd.c 2011-02-09 23:32:25.000000000 +0100 ++++ bash-4.2.patch/execute_cmd.c 2011-02-16 14:30:36.517222120 +0100 +@@ -2202,7 +2202,11 @@ + /* If the `lastpipe' option is set with shopt, and job control is not + enabled, execute the last element of non-async pipelines in the + current shell environment. */ ++#if defined (JOB_CONTROL) + if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) ++#else ++ if (lastpipe_opt && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) ++#endif /* JOB_CONTROL */ + { + lstdin = move_to_high_fd (0, 0, 255); + if (lstdin > 0) diff --git a/packages/sysutils/busybox/profile.d/home.conf b/packages/sysutils/bash/profile.d/home.conf similarity index 100% rename from packages/sysutils/busybox/profile.d/home.conf rename to packages/sysutils/bash/profile.d/home.conf diff --git a/packages/sysutils/busybox/profile.d/path.conf b/packages/sysutils/bash/profile.d/path.conf similarity index 100% rename from packages/sysutils/busybox/profile.d/path.conf rename to packages/sysutils/bash/profile.d/path.conf diff --git a/packages/sysutils/busybox/profile.d/shell.conf b/packages/sysutils/bash/profile.d/shell.conf similarity index 100% rename from packages/sysutils/busybox/profile.d/shell.conf rename to packages/sysutils/bash/profile.d/shell.conf diff --git a/packages/sysutils/busybox/config/busybox.conf b/packages/sysutils/busybox/config/busybox.conf index 4b256205a0..d824893e9f 100644 --- a/packages/sysutils/busybox/config/busybox.conf +++ b/packages/sysutils/busybox/config/busybox.conf @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Busybox version: 1.19.4 -# Fri Feb 17 21:39:51 2012 +# Fri Mar 16 20:36:09 2012 # CONFIG_HAVE_DOT_CONFIG=y @@ -942,20 +942,20 @@ CONFIG_SV_DEFAULT_SERVICE_DIR="" # # Shells # -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_IDLE_TIMEOUT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_CMDCMD=y +# CONFIG_ASH is not set +# CONFIG_ASH_BASH_COMPAT is not set +# CONFIG_ASH_IDLE_TIMEOUT is not set +# CONFIG_ASH_JOB_CONTROL is not set +# CONFIG_ASH_ALIAS is not set +# CONFIG_ASH_GETOPTS is not set +# CONFIG_ASH_BUILTIN_ECHO is not set +# CONFIG_ASH_BUILTIN_PRINTF is not set +# CONFIG_ASH_BUILTIN_TEST is not set +# CONFIG_ASH_CMDCMD is not set # CONFIG_ASH_MAIL is not set -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set +# CONFIG_ASH_RANDOM_SUPPORT is not set +# CONFIG_ASH_EXPAND_PRMT is not set # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set @@ -974,15 +974,15 @@ CONFIG_ASH_EXPAND_PRMT=y # CONFIG_HUSH_EXPORT_N is not set # CONFIG_HUSH_MODE_X is not set # CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_ASH is not set # CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -CONFIG_FEATURE_BASH_IS_ASH=y +CONFIG_FEATURE_SH_IS_NONE=y +# CONFIG_FEATURE_BASH_IS_ASH is not set # CONFIG_FEATURE_BASH_IS_HUSH is not set -# CONFIG_FEATURE_BASH_IS_NONE is not set -CONFIG_SH_MATH_SUPPORT=y -CONFIG_SH_MATH_SUPPORT_64=y -CONFIG_FEATURE_SH_EXTRA_QUIET=y +CONFIG_FEATURE_BASH_IS_NONE=y +# CONFIG_SH_MATH_SUPPORT is not set +# CONFIG_SH_MATH_SUPPORT_64 is not set +# CONFIG_FEATURE_SH_EXTRA_QUIET is not set # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set # CONFIG_FEATURE_SH_HISTFILESIZE is not set diff --git a/packages/sysutils/busybox/meta b/packages/sysutils/busybox/meta index 4d49a0a96b..8395d48252 100644 --- a/packages/sysutils/busybox/meta +++ b/packages/sysutils/busybox/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.busybox.net" PKG_URL="http://busybox.net/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2" -PKG_DEPENDS="kexec-tools v86d splashutils hdparm speedcontrol pastebinit" +PKG_DEPENDS="bash kexec-tools v86d splashutils hdparm speedcontrol pastebinit" PKG_BUILD_DEPENDS="toolchain busybox-hosttools" PKG_PRIORITY="required" PKG_SECTION="system" diff --git a/packages/sysutils/pm-utils/meta b/packages/sysutils/pm-utils/meta index 998ed9501d..858fe7dd3c 100644 --- a/packages/sysutils/pm-utils/meta +++ b/packages/sysutils/pm-utils/meta @@ -25,7 +25,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://pm-utils.freedesktop.org/wiki/" PKG_URL="http://pm-utils.freedesktop.org/releases/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS="busybox" +PKG_DEPENDS="busybox bash" PKG_BUILD_DEPENDS="toolchain" PKG_PRIORITY="optional" PKG_SECTION="system"