[lfs-patches] r3041 - trunk/toybox

igor at higgs.linuxfromscratch.org igor at higgs.linuxfromscratch.org
Fri Oct 17 05:46:12 PDT 2014


Author: igor
Date: Fri Oct 17 05:46:12 2014
New Revision: 3041

Log:
add patch allowing building toybox without bash

Added:
   trunk/toybox/
   trunk/toybox/toybox-0.5.0-no_bash-1.patch

Added: trunk/toybox/toybox-0.5.0-no_bash-1.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/toybox/toybox-0.5.0-no_bash-1.patch	Fri Oct 17 05:46:12 2014	(r3041)
@@ -0,0 +1,140 @@
+Submitted By:            Igor Živković
+Date:                    2014-10-17
+Initial Package Version: 0.5.0
+Upstream Status:         Unknown
+Origin:                  Self
+Description:             Improves configure shell script portability and removes
+                         dependency on bash.
+
+diff -Naur toybox-0.5.0.orig/scripts/genconfig.sh toybox-0.5.0/scripts/genconfig.sh
+--- toybox-0.5.0.orig/scripts/genconfig.sh	2014-10-02 14:47:08.000000000 +0200
++++ toybox-0.5.0/scripts/genconfig.sh	2014-10-16 17:57:11.387244684 +0200
+@@ -1,11 +1,11 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ # This has to be a separate file from scripts/make.sh so it can be called
+ # before menuconfig.  (It's called again from scripts/make.sh just to be sure.)
+ 
+ mkdir -p generated
+ 
+-source configure
++. configure
+ 
+ # Probe for a single config symbol with a "compiles or not" test.
+ # Symbol name is first argument, flags second, feed C file to stdin
+@@ -14,8 +14,8 @@
+   ${CROSS_COMPILE}${CC} $CFLAGS -xc -o /dev/null $2 - 2>/dev/null
+   [ $? -eq 0 ] && DEFAULT=y || DEFAULT=n
+   rm a.out 2>/dev/null
+-  echo -e "config $1\n\tbool" || exit 1
+-  echo -e "\tdefault $DEFAULT\n" || exit 1
++  printf "config $1\n\tbool\n" || exit 1
++  printf "\tdefault $DEFAULT\n\n" || exit 1
+ }
+ 
+ probeconfig()
+diff -Naur toybox-0.5.0.orig/scripts/install.sh toybox-0.5.0/scripts/install.sh
+--- toybox-0.5.0.orig/scripts/install.sh	2014-10-02 14:47:08.000000000 +0200
++++ toybox-0.5.0/scripts/install.sh	2014-10-17 14:30:37.732429479 +0200
+@@ -1,8 +1,8 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ # Grab default values for $CFLAGS and such.
+ 
+-source ./configure
++. ./configure
+ 
+ # Parse command line arguments.
+ 
+@@ -13,19 +13,19 @@
+ do
+   # Create symlinks instead of hardlinks?
+ 
+-  [ "$1" == "--symlink" ] && LINK_TYPE="-s"
++  [ "$1" = "--symlink" ] && LINK_TYPE="-s"
+ 
+   # Uninstall?
+ 
+-  [ "$1" == "--uninstall" ] && UNINSTALL=1
++  [ "$1" = "--uninstall" ] && UNINSTALL=1
+ 
+   # Delete destination command if it exists?
+ 
+-  [ "$1" == "--force" ] && DO_FORCE="-f"
++  [ "$1" = "--force" ] && DO_FORCE="-f"
+ 
+   # Use {,usr}/{bin,sbin} paths instead of all files in one directory?
+ 
+-  if [ "$1" == "--long" ]
++  if [ "$1" = "--long" ]
+   then
+     LONG_PATH="bin/"
+   fi
+diff -Naur toybox-0.5.0.orig/scripts/make.sh toybox-0.5.0/scripts/make.sh
+--- toybox-0.5.0.orig/scripts/make.sh	2014-10-02 14:47:08.000000000 +0200
++++ toybox-0.5.0/scripts/make.sh	2014-10-17 14:38:34.581696281 +0200
+@@ -1,11 +1,11 @@
+-#!/bin/bash
++#!/bin/sh
+ 
+ # Grab default values for $CFLAGS and such.
+ 
+-export LANG=c
+-export LC_ALL=C
++LANG=c; export LANG
++LC_ALL=C; export LC_ALL
+ set -o pipefail
+-source ./configure
++. ./configure
+ 
+ [ -z "$KCONFIG_CONFIG" ] && KCONFIG_CONFIG=".config"
+ 
+@@ -86,7 +86,7 @@
+ 
+   echo "#define NEWTOY(aa,bb,cc) aa $I bb"
+   echo '#define OLDTOY(...)'
+-  if [ "$I" == A ]
++  if [ "$I" = A ]
+   then
+     cat generated/config.h
+   else
+@@ -113,7 +113,7 @@
+ 
+ # Extract global structure definitions and flag definitions from toys/*/*.c
+ 
+-function getglobals()
++getglobals()
+ {
+   for i in toys/*/*.c
+   do
+@@ -122,7 +122,7 @@
+             -e 's/^GLOBALS(/struct '"$NAME"'_data {/' \
+             -e 's/^)/};/' -e 'p' $i)"
+ 
+-    [ ! -z "$DATA" ] && echo -e "// $i\n\n$DATA\n"
++    [ ! -z "$DATA" ] && printf "// $i\n\n$DATA\n\n"
+   done
+ }
+ 
+@@ -197,7 +197,7 @@
+ do
+   # build each generated/obj/*.o file in parallel
+ 
+-  X=${i/lib\//lib_}
++  X=$(echo $i | sed "s/lib\//lib_/")
+   X=${X##*/}
+   do_loudly $BUILD -c $i -o generated/obj/${X%%.c}.o &
+ 
+@@ -205,7 +205,9 @@
+ 
+   while true
+   do
+-    PENDING="$(echo $PENDING $(jobs -rp) | tr ' ' '\n' | sort -u)"
++    JOBLIST=$(jobs -l)
++    RUNNING=$(echo $JOBLIST | grep -Eo '[0-9]+ Running' | awk '{print $1}')
++    PENDING="$(echo $PENDING $RUNNING | tr ' ' '\n' | sort -u)"
+     [ $(echo -n "$PENDING" | wc -l) -lt "$CPUS" ] && break;
+ 
+     wait $(echo "$PENDING" | head -n 1) || exit 1


More information about the patches mailing list