[Modulinux-commits] SF.net SVN: modulinux:[7] trunk/scripts
Status: Planning
Brought to you by:
serisman
|
From: <ser...@us...> - 2009-07-04 20:28:34
|
Revision: 7
http://modulinux.svn.sourceforge.net/modulinux/?rev=7&view=rev
Author: serisman
Date: 2009-07-04 20:28:29 +0000 (Sat, 04 Jul 2009)
Log Message:
-----------
Checking in a bunch of queued up changes
Modified Paths:
--------------
trunk/scripts/Makefile.in
trunk/scripts/platform/generic-pc-i586-uclibc/Makefile.in
trunk/scripts/platform/generic-pc-i586-uclibc/config/busybox-1.13.2.config
trunk/scripts/toolchain/Makefile.in
trunk/scripts/toolchain/binutils/binutils.mk
trunk/scripts/toolchain/gcc/gcc-final.mk.in
trunk/scripts/toolchain/kernel-headers/kernel-headers.mk
trunk/scripts/toolchain/libc/uclibc/uclibc.mk
trunk/scripts/toolchain/mpfr/mpfr.mk
Added Paths:
-----------
trunk/scripts/applications/
trunk/scripts/applications/Makefile.in
trunk/scripts/applications/asterisk/
trunk/scripts/applications/asterisk/asterisk.mk
trunk/scripts/applications/php5/
trunk/scripts/applications/php5/5.2.8/
trunk/scripts/applications/php5/php5.mk
trunk/scripts/cross-compile-setup.mk.in
trunk/scripts/foundation/
trunk/scripts/foundation/Makefile.in
trunk/scripts/foundation/busybox/
trunk/scripts/foundation/busybox/1.13.2/
trunk/scripts/foundation/busybox/1.13.2/busybox-1.13.2-branch_update-1.patch
trunk/scripts/foundation/busybox/1.13.3/
trunk/scripts/foundation/busybox/1.13.3/busybox-1.13.3-branch_update-1.patch
trunk/scripts/foundation/busybox/busybox-defconfig.mk.in
trunk/scripts/foundation/busybox/busybox.mk
trunk/scripts/foundation/busybox/pipe_progress.c
trunk/scripts/foundation/libc-tools/
trunk/scripts/foundation/libc-tools/libc-tools.mk
trunk/scripts/foundation/libnl/
trunk/scripts/foundation/libnl/libnl.mk
trunk/scripts/foundation/linux-kernel/
trunk/scripts/foundation/linux-kernel/2.6.28.4/
trunk/scripts/foundation/linux-kernel/2.6.28.4/linux-2.6.28.4-serial_h_fix-1.patch
trunk/scripts/foundation/linux-kernel/linux-kernel.mk
trunk/scripts/foundation/ncurses/
trunk/scripts/foundation/ncurses/ncurses.mk
trunk/scripts/platform/generic-pc-i586-uclibc/config/busybox-1.13.3.config
trunk/scripts/platform/generic-pc-i586-uclibc/config/linux-kernel-2.6.28.4.config
trunk/scripts/platform/generic-pc-i586-uclibc/config/linux-kernel-2.6.28.7.config
trunk/scripts/platform/generic-pc-i586-uclibc/config/linux-kernel-2.6.29.1.config
trunk/scripts/platform/generic-pc-i586-uclibc/config/linux-kernel-2.6.29.config
trunk/scripts/platform/generic-pc-i586-uclibc/config/uclibc-0.9.30.1.config
trunk/scripts/toolchain/binutils/2.19.1/
trunk/scripts/toolchain/binutils/2.19.1/binutils-2.19.1-branch_update-1.patch
trunk/scripts/toolchain/binutils/2.19.1/binutils-2.19.1-posix-1.patch
trunk/scripts/toolchain/gcc/4.3.3/gcc-4.3.3-branch_update-5.patch
trunk/scripts/toolchain/kernel-headers/2.6.28.4/
trunk/scripts/toolchain/libc/uclibc/0.9.30.1/
trunk/scripts/toolchain/mpfr/2.4.0/
trunk/scripts/toolchain/mpfr/2.4.1/
trunk/scripts/toolchain/mpfr/2.4.1/mpfr-2.4.1-branch_update-1.patch
trunk/scripts/utilities/
trunk/scripts/utilities/Makefile.in
trunk/scripts/utilities/bridge-utils/
trunk/scripts/utilities/bridge-utils/bridge-utils.mk
trunk/scripts/utilities/hostapd/
trunk/scripts/utilities/hostapd/hostapd.mk
trunk/scripts/utilities/wireless-tools/
trunk/scripts/utilities/wireless-tools/wireless-tools.mk
Modified: trunk/scripts/Makefile.in
===================================================================
--- trunk/scripts/Makefile.in 2009-01-26 03:02:04 UTC (rev 6)
+++ trunk/scripts/Makefile.in 2009-07-04 20:28:29 UTC (rev 7)
@@ -6,6 +6,7 @@
HOSTCC:=gcc
MAKE:=make
+INSTALL=/usr/bin/install
CAT:=bzcat
DOWNLOAD:=scripts/download.sh
@@ -31,13 +32,18 @@
BASE_DIR:=${shell pwd}
DOWNLOAD_DIR:=$(BASE_DIR)/~download
SOURCE_DIR:=$(BASE_DIR)/~source
+RELEASE_DIR:=$(BASE_DIR)/~release
TAR_OPTIONS:= -xf
-all: root-directories toolchain
+all: root-directories toolchain foundation
include $(PLATFORM_DIR)/Makefile.in
include scripts/toolchain/Makefile.in
+include scripts/cross-compile-setup.mk.in
+include scripts/foundation/Makefile.in
+include scripts/utilities/Makefile.in
+include scripts/applications/Makefile.in
root-directories:
- @mkdir -p $(DOWNLOAD_DIR) $(SOURCE_DIR)
+ @mkdir -p $(DOWNLOAD_DIR) $(SOURCE_DIR) $(RELEASE_DIR)
Added: trunk/scripts/applications/Makefile.in
===================================================================
--- trunk/scripts/applications/Makefile.in (rev 0)
+++ trunk/scripts/applications/Makefile.in 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,17 @@
+######################################################################
+#
+#
+#
+######################################################################
+
+APPLICATIONS_DIR:=$(BASE_DIR)/~applications
+APPLICATIONS_BUILD_DIR:=$(APPLICATIONS_DIR)/build
+APPLICATIONS_TARGETS:=
+
+include scripts/applications/*/*.mk
+
+applications: applications-directories $(APPLICATIONS_TARGETS)
+
+applications-directories: root-directories
+ @mkdir -p $(APPLICATIONS_DIR) $(APPLICATIONS_BUILD_DIR)
+
Added: trunk/scripts/applications/asterisk/asterisk.mk
===================================================================
--- trunk/scripts/applications/asterisk/asterisk.mk (rev 0)
+++ trunk/scripts/applications/asterisk/asterisk.mk 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,65 @@
+######################################################################
+#
+# asterisk
+#
+######################################################################
+
+APPLICATIONS_ASTERISK_VERSION:=1.4.23.1
+#APPLICATIONS_ASTERISK_VERSION:=1.6.1-rc1
+APPLICATIONS_ASTERISK_SITE:=http://downloads.digium.com/pub/asterisk/
+APPLICATIONS_ASTERISK_ARCHIVE:=asterisk-$(APPLICATIONS_ASTERISK_VERSION).tar.gz
+APPLICATIONS_ASTERISK_SOURCE_DIR:=$(SOURCE_DIR)/asterisk-$(APPLICATIONS_ASTERISK_VERSION)
+APPLICATIONS_ASTERISK_BUILD_DIR:=$(APPLICATIONS_BUILD_DIR)/asterisk-$(APPLICATIONS_ASTERISK_VERSION)
+
+$(DOWNLOAD_DIR)/$(APPLICATIONS_ASTERISK_ARCHIVE):
+ $(DOWNLOAD) -P $(DOWNLOAD_DIR) $(APPLICATIONS_ASTERISK_SITE)/$(APPLICATIONS_ASTERISK_ARCHIVE)
+
+$(APPLICATIONS_ASTERISK_SOURCE_DIR)/.unpacked: $(DOWNLOAD_DIR)/$(APPLICATIONS_ASTERISK_ARCHIVE)
+ zcat $(DOWNLOAD_DIR)/$(APPLICATIONS_ASTERISK_ARCHIVE) | tar -C $(SOURCE_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(APPLICATIONS_ASTERISK_SOURCE_DIR)/.patched: $(APPLICATIONS_ASTERISK_SOURCE_DIR)/.unpacked
+ $(PATCH) $(APPLICATIONS_ASTERISK_SOURCE_DIR) scripts/applications/asterisk/$(APPLICATIONS_ASTERISK_VERSION) \*.patch
+ touch $@
+
+$(APPLICATIONS_ASTERISK_BUILD_DIR)/Makefile: $(APPLICATIONS_ASTERISK_SOURCE_DIR)/.patched
+ mkdir -p $(APPLICATIONS_ASTERISK_BUILD_DIR)
+ cp -r $(APPLICATIONS_ASTERISK_SOURCE_DIR)/* $(APPLICATIONS_ASTERISK_BUILD_DIR)/
+
+$(APPLICATIONS_ASTERISK_BUILD_DIR)/.configured: $(APPLICATIONS_ASTERISK_BUILD_DIR)/Makefile | foundation-ncurses
+ $(LOG) applications-asterisk configuration is starting.
+ mkdir -p $(APPLICATIONS_ASTERISK_BUILD_DIR)
+ (cd $(APPLICATIONS_ASTERISK_BUILD_DIR); \
+ $(CROSS_COMPILE_OPTS) CC_FOR_BUILD=$(HOSTCC) \
+ $(APPLICATIONS_ASTERISK_BUILD_DIR)/configure \
+ --target=$(TARGET_GNU_NAME) \
+ --host=$(TARGET_GNU_NAME) \
+ --build=$(HOST_GNU_NAME) \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --datadir=/usr/share \
+ --sysconfdir=/etc \
+ --with-ncurses=$(RELEASE_DIR)/usr \
+ );
+ $(LOG) applications-asterisk configuration has completed.
+ touch $@
+
+$(APPLICATIONS_ASTERISK_BUILD_DIR)/.compiled: $(APPLICATIONS_ASTERISK_BUILD_DIR)/.configured | toolchain
+ $(LOG) applications-asterisk compilation is starting.
+ $(MAKE) -C $(APPLICATIONS_ASTERISK_BUILD_DIR) $(CROSS_COMPILE_OPTS) menuselect
+ $(LOG) applications-asterisk compilation has completed.
+ #touch $@
+
+$(APPLICATIONS_ASTERISK_BUILD_DIR)/.installed: $(APPLICATIONS_ASTERISK_BUILD_DIR)/.compiled
+ $(LOG) applications-asterisk installation is starting.
+ #$(INSTALL) -D -m 0755 -s $(APPLICATIONS_ASTERISK_BUILD_DIR)/sapi/cgi/php-cgi $(RELEASE_DIR)/usr/bin/php
+ #$(LOG) applications-asterisk installation has completed.
+ #touch $@
+
+######################################################################
+
+applications-asterisk: $(APPLICATIONS_ASTERISK_BUILD_DIR)/.compiled
+
+######################################################################
+
+APPLICATIONS_TARGETS+=applications-asterisk
Added: trunk/scripts/applications/php5/php5.mk
===================================================================
--- trunk/scripts/applications/php5/php5.mk (rev 0)
+++ trunk/scripts/applications/php5/php5.mk 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,61 @@
+######################################################################
+#
+# php5
+#
+######################################################################
+
+APPLICATIONS_PHP5_VERSION:=5.2.8
+APPLICATIONS_PHP5_SITE:=http://www.php.net/distributions
+APPLICATIONS_PHP5_ARCHIVE:=php-$(APPLICATIONS_PHP5_VERSION).tar.bz2
+APPLICATIONS_PHP5_SOURCE_DIR:=$(SOURCE_DIR)/php-$(APPLICATIONS_PHP5_VERSION)
+APPLICATIONS_PHP5_BUILD_DIR:=$(APPLICATIONS_BUILD_DIR)/php-$(APPLICATIONS_PHP5_VERSION)
+
+$(DOWNLOAD_DIR)/$(APPLICATIONS_PHP5_ARCHIVE):
+ $(DOWNLOAD) -P $(DOWNLOAD_DIR) $(APPLICATIONS_PHP5_SITE)/$(APPLICATIONS_PHP5_ARCHIVE)
+
+$(APPLICATIONS_PHP5_SOURCE_DIR)/.unpacked: $(DOWNLOAD_DIR)/$(APPLICATIONS_PHP5_ARCHIVE)
+ $(CAT) $(DOWNLOAD_DIR)/$(APPLICATIONS_PHP5_ARCHIVE) | tar -C $(SOURCE_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(APPLICATIONS_PHP5_SOURCE_DIR)/.patched: $(APPLICATIONS_PHP5_SOURCE_DIR)/.unpacked
+ $(PATCH) $(APPLICATIONS_PHP5_SOURCE_DIR) scripts/applications/php5/$(APPLICATIONS_PHP5_VERSION) \*.patch
+ touch $@
+
+$(APPLICATIONS_PHP5_BUILD_DIR)/Makefile: $(APPLICATIONS_PHP5_SOURCE_DIR)/.patched
+ $(LOG) applications-php5 configuration is starting.
+ mkdir -p $(APPLICATIONS_PHP5_BUILD_DIR)
+ (cd $(APPLICATIONS_PHP5_BUILD_DIR); \
+ $(CROSS_COMPILE_OPTS) \
+ $(APPLICATIONS_PHP5_SOURCE_DIR)/configure \
+ --target=$(TARGET_GNU_NAME) \
+ --host=$(HOST_GNU_NAME) \
+ --build=$(HOST_GNU_NAME) \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-zip \
+ --without-iconv --without-pear --without-gd --disable-simplexml \
+ --disable-bcmath --disable-libxml --disable-dom --disable-xml \
+ --disable-xmlreader --disable-xmlwriter \
+ --without-sqlite --without-pdo-sqlite \
+ );
+ $(LOG) applications-php5 configuration has completed.
+
+$(APPLICATIONS_PHP5_BUILD_DIR)/.compiled: $(APPLICATIONS_PHP5_BUILD_DIR)/Makefile | toolchain
+ $(LOG) applications-php5 compilation is starting.
+ $(MAKE) -C $(APPLICATIONS_PHP5_BUILD_DIR) $(CROSS_COMPILE_OPTS)
+ $(LOG) applications-php5 compilation has completed.
+ touch $@
+
+$(APPLICATIONS_PHP5_BUILD_DIR)/.installed: $(APPLICATIONS_PHP5_BUILD_DIR)/.compiled
+ $(LOG) applications-php5 installation is starting.
+ $(INSTALL) -D -m 0755 -s $(APPLICATIONS_PHP5_BUILD_DIR)/sapi/cgi/php-cgi $(RELEASE_DIR)/usr/bin/php
+ $(LOG) applications-php5 installation has completed.
+ touch $@
+
+######################################################################
+
+applications-php5: $(APPLICATIONS_PHP5_BUILD_DIR)/.installed
+
+######################################################################
+
+APPLICATIONS_TARGETS+=applications-php5
Added: trunk/scripts/cross-compile-setup.mk.in
===================================================================
--- trunk/scripts/cross-compile-setup.mk.in (rev 0)
+++ trunk/scripts/cross-compile-setup.mk.in 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,24 @@
+######################################################################
+#
+# cross-compile-setup (included) Makefile
+#
+######################################################################
+
+CROSS_COMPILE_OPTS:=PATH=$(CROSS_COMPILE_PATH) \
+ AR=$(CROSS_COMPILE_TOOL_PREFIX)ar \
+ AS=$(CROSS_COMPILE_TOOL_PREFIX)as \
+ LD=$(CROSS_COMPILE_TOOL_PREFIX)ld \
+ NM=$(CROSS_COMPILE_TOOL_PREFIX)nm \
+ CC=$(CROSS_COMPILE_TOOL_PREFIX)gcc \
+ GCC=$(CROSS_COMPILE_TOOL_PREFIX)gcc \
+ CXX=$(CROSS_COMPILE_TOOL_PREFIX)g++ \
+ CPP=$(CROSS_COMPILE_TOOL_PREFIX)cpp \
+ STRIP=$(CROSS_COMPILE_TOOL_PREFIX)strip \
+ RANLIB=$(CROSS_COMPILE_TOOL_PREFIX)ranlib \
+ READELF=$(CROSS_COMPILE_TOOL_PREFIX)readelf \
+ OBJCOPY=$(CROSS_COMPILE_TOOL_PREFIX)objcopy
+
+CROSS_MAKE:=$(MAKE) $(CROSS_COMPILE_OPTS)
+
+INSTALL:=/usr/bin/install
+STRIP:=$(CROSS_COMPILE_TOOL_PREFIX)strip --remove-section=.comment --remove-section=.note
Added: trunk/scripts/foundation/Makefile.in
===================================================================
--- trunk/scripts/foundation/Makefile.in (rev 0)
+++ trunk/scripts/foundation/Makefile.in 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,17 @@
+######################################################################
+#
+#
+#
+######################################################################
+
+FOUNDATION_DIR:=$(BASE_DIR)/~foundation
+FOUNDATION_BUILD_DIR:=$(FOUNDATION_DIR)/build
+FOUNDATION_TARGETS:=
+
+include scripts/foundation/*/*.mk
+
+foundation: foundation-directories $(FOUNDATION_TARGETS)
+
+foundation-directories: root-directories
+ @mkdir -p $(FOUNDATION_DIR) $(FOUNDATION_BUILD_DIR)
+
Added: trunk/scripts/foundation/busybox/1.13.2/busybox-1.13.2-branch_update-1.patch
===================================================================
--- trunk/scripts/foundation/busybox/1.13.2/busybox-1.13.2-branch_update-1.patch (rev 0)
+++ trunk/scripts/foundation/busybox/1.13.2/busybox-1.13.2-branch_update-1.patch 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,183 @@
+Submitted By: Jim Gifford (jim at cross-lfs dot org)
+Date: 01-25-2009
+Initial Package Version: 1.13.2
+Origin: Upstream
+Upstream Status: Applied
+Description: This is a branch update for busybox-1.13.2, and should be
+ rechecked periodically.
+
+diff -Naur busybox-1.13.2.orig/archival/tar.c busybox-1.13.2/archival/tar.c
+--- busybox-1.13.2.orig/archival/tar.c 2008-11-09 09:28:02.000000000 -0800
++++ busybox-1.13.2/archival/tar.c 2009-01-25 12:52:44.955898588 -0800
+@@ -591,8 +591,6 @@
+ struct TarBallInfo tbInfo;
+
+ tbInfo.hlInfoHead = NULL;
+-
+- fchmod(tar_fd, 0644);
+ tbInfo.tarFd = tar_fd;
+ tbInfo.verboseFlag = verboseFlag;
+
+diff -Naur busybox-1.13.2.orig/modutils/depmod.c busybox-1.13.2/modutils/depmod.c
+--- busybox-1.13.2.orig/modutils/depmod.c 2008-11-09 09:28:03.000000000 -0800
++++ busybox-1.13.2/modutils/depmod.c 2009-01-25 12:52:44.229924290 -0800
+@@ -33,7 +33,7 @@
+ enum {
+ ARG_a = (1<<0), /* All modules, ignore mods in argv */
+ ARG_A = (1<<1), /* Only emit .ko that are newer than modules.dep file */
+- ARG_b = (1<<2), /* not /lib/modules/$(uname -r)/ but this base-dir */
++ ARG_b = (1<<2), /* base directory when modules are in staging area */
+ ARG_e = (1<<3), /* with -F, print unresolved symbols */
+ ARG_F = (1<<4), /* System.map that contains the symbols */
+ ARG_n = (1<<5) /* dry-run, print to stdout only */
+@@ -57,7 +57,7 @@
+ *first = info;
+
+ info->dnext = info->dprev = info;
+- info->name = xstrdup(fname);
++ info->name = xasprintf("/%s", fname);
+ info->modname = filename2modname(fname, NULL);
+ for (ptr = image; ptr < image + len - 10; ptr++) {
+ if (strncmp(ptr, "depends=", 8) == 0) {
+@@ -123,44 +123,61 @@
+ }
+ }
+
++static void xfreopen_write(const char *file, FILE *f)
++{
++ if (freopen(file, "w", f) == NULL)
++ bb_perror_msg_and_die("can't open '%s'", file);
++}
++
+ int depmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int depmod_main(int argc UNUSED_PARAM, char **argv)
+ {
+ module_info *modules = NULL, *m, *dep;
+- char *moddir_base = (char *)CONFIG_DEFAULT_MODULES_DIR;
++ const char *moddir_base = "/";
++ char *moddir, *version;
++ struct utsname uts;
+ int tmp;
+
+ getopt32(argv, "aAb:eF:n", &moddir_base, NULL);
+ argv += optind;
+
+ /* goto modules location */
++ xchdir(moddir_base);
+
+ /* If a version is provided, then that kernel version's module directory
+ * is used, rather than the current kernel version (as returned by
+ * "uname -r"). */
+- xchdir(moddir_base);
+- if (*argv && (sscanf(*argv, "%d.%d.%d", &tmp, &tmp, &tmp) == 3)) {
+- xchdir(*argv++);
++ if (*argv && sscanf(*argv, "%d.%d.%d", &tmp, &tmp, &tmp) == 3) {
++ version = *argv++;
+ } else {
+- struct utsname uts;
+ uname(&uts);
+- xchdir(uts.release);
++ version = uts.release;
+ }
+- /* If no modules are given on the command-line, -a is on per default. */
+- option_mask32 |= *argv == NULL;
++ moddir = concat_path_file(&CONFIG_DEFAULT_MODULES_DIR[1], version);
+
+ /* Scan modules */
+- moddir_base = xrealloc_getcwd_or_warn(NULL);
+- do {
+- recursive_action((option_mask32 & ARG_a) ? moddir_base : *argv,
+- ACTION_RECURSE, parse_module, NULL, &modules, 0);
+- } while (!(option_mask32 & ARG_a) && *(++argv));
++ if (*argv) {
++ char *modfile;
++ struct stat sb;
++ do {
++ modfile = concat_path_file(moddir, *argv);
++ xstat(modfile, &sb);
++ parse_module(modfile, &sb, &modules, 0);
++ free(modfile);
++ } while (*(++argv));
++ } else {
++ recursive_action(moddir, ACTION_RECURSE,
++ parse_module, NULL, &modules, 0);
++ }
++
++ /* Prepare for writing out the dep files */
++ xchdir(moddir);
+ if (ENABLE_FEATURE_CLEAN_UP)
+- free(moddir_base);
++ free(moddir);
+
+ /* Generate dependency and alias files */
+ if (!(option_mask32 & ARG_n))
+- freopen(CONFIG_DEFAULT_DEPMOD_FILE, "w", stdout);
++ xfreopen_write(CONFIG_DEFAULT_DEPMOD_FILE, stdout);
+ for (m = modules; m != NULL; m = m->next) {
+ printf("%s:", m->name);
+
+@@ -174,12 +191,12 @@
+ dep->dprev->dnext = dep->dnext;
+ dep->dnext = dep->dprev = dep;
+ }
+- puts("");
++ bb_putchar('\n');
+ }
+
+ #if ENABLE_FEATURE_MODUTILS_ALIAS
+ if (!(option_mask32 & ARG_n))
+- freopen("modules.alias", "w", stdout);
++ xfreopen_write("modules.alias", stdout);
+ for (m = modules; m != NULL; m = m->next) {
+ while (m->aliases) {
+ printf("alias %s %s\n",
+@@ -190,7 +207,7 @@
+ #endif
+ #if ENABLE_FEATURE_MODUTILS_SYMBOLS
+ if (!(option_mask32 & ARG_n))
+- freopen("modules.symbols", "w", stdout);
++ xfreopen_write("modules.symbols", stdout);
+ for (m = modules; m != NULL; m = m->next) {
+ while (m->symbols) {
+ printf("alias symbol:%s %s\n",
+diff -Naur busybox-1.13.2.orig/testsuite/mdev.tests busybox-1.13.2/testsuite/mdev.tests
+--- busybox-1.13.2.orig/testsuite/mdev.tests 2008-11-09 09:28:19.000000000 -0800
++++ busybox-1.13.2/testsuite/mdev.tests 2009-01-25 12:52:44.443204916 -0800
+@@ -111,6 +111,22 @@
+
+ # continuing to use directory structure from prev test
+ rm -rf mdev.testdir/dev/*
++echo "sda 0:0 644 =block/ @echo @echo TEST" >mdev.testdir/etc/mdev.conf
++testing "mdev move and command" \
++ "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
++ ls -lnR mdev.testdir/dev | $FILTER_LS2" \
++"\
++@echo TEST
++mdev.testdir/dev:
++drwxr-xr-x 2 0 0 block
++
++mdev.testdir/dev/block:
++brw-r--r-- 1 0 0 sda
++" \
++ "" ""
++
++# continuing to use directory structure from prev test
++rm -rf mdev.testdir/dev/*
+ echo "@8,0 :1 644" >mdev.testdir/etc/mdev.conf
+ testing "mdev #maj,min and no explicit uid" \
+ "env - PATH=$PATH ACTION=add DEVPATH=/block/sda chroot mdev.testdir /mdev 2>&1;
+diff -Naur busybox-1.13.2.orig/util-linux/mdev.c busybox-1.13.2/util-linux/mdev.c
+--- busybox-1.13.2.orig/util-linux/mdev.c 2008-11-09 09:28:22.000000000 -0800
++++ busybox-1.13.2/util-linux/mdev.c 2009-01-25 12:52:44.443204916 -0800
+@@ -179,8 +179,9 @@
+ unsigned i, n;
+ #endif
+ char *a = val;
+- s = strchr(val, ' ');
+- val = (s && s[1]) ? s+1 : NULL;
++ s = strchrnul(val, ' ');
++ val = (s[0] && s[1]) ? s+1 : NULL;
++ s[0] = '\0';
+ #if ENABLE_FEATURE_MDEV_RENAME_REGEXP
+ /* substitute %1..9 with off[1..9], if any */
+ n = 0;
Added: trunk/scripts/foundation/busybox/1.13.3/busybox-1.13.3-branch_update-1.patch
===================================================================
--- trunk/scripts/foundation/busybox/1.13.3/busybox-1.13.3-branch_update-1.patch (rev 0)
+++ trunk/scripts/foundation/busybox/1.13.3/busybox-1.13.3-branch_update-1.patch 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,583 @@
+Submitted By: Jim Gifford (jim at cross-lfs dot org)
+Date: 03-28-2009
+Initial Package Version: 1.13.3
+Origin: Upstream
+Upstream Status: Applied
+Description: This is a branch update for busybox-1.13.3, and should be
+ rechecked periodically.
+
+diff -Naur busybox-1.13.3.orig/coreutils/tail.c busybox-1.13.3/coreutils/tail.c
+--- busybox-1.13.3.orig/coreutils/tail.c 2009-02-26 03:47:02.000000000 -0800
++++ busybox-1.13.3/coreutils/tail.c 2009-03-28 08:25:12.762859338 -0700
+@@ -104,7 +104,7 @@
+ if (argv[1] && (argv[1][0] == '+' || argv[1][0] == '-')
+ && isdigit(argv[1][1])
+ ) {
+- count = eat_num(&argv[1][1]);
++ count = eat_num(argv[1]);
+ argv++;
+ argc--;
+ }
+diff -Naur busybox-1.13.3.orig/shell/ash.c busybox-1.13.3/shell/ash.c
+--- busybox-1.13.3.orig/shell/ash.c 2009-02-26 03:46:55.000000000 -0800
++++ busybox-1.13.3/shell/ash.c 2009-03-28 08:25:12.198825534 -0700
+@@ -30,7 +30,7 @@
+ */
+
+ /*
+- * The follow should be set to reflect the type of system you have:
++ * The following should be set to reflect the type of system you have:
+ * JOBS -> 1 if you have Berkeley job control, 0 otherwise.
+ * define SYSV if you are running under System V.
+ * define DEBUG=1 to compile in debugging ('set -o debug' to turn on)
+@@ -40,6 +40,11 @@
+ * a quit signal will generate a core dump.
+ */
+ #define DEBUG 0
++/* Tweak debug output verbosity here */
++#define DEBUG_TIME 0
++#define DEBUG_PID 1
++#define DEBUG_SIG 1
++
+ #define PROFILE 0
+
+ #define IFS_BROKEN
+@@ -47,9 +52,9 @@
+ #define JOBS ENABLE_ASH_JOB_CONTROL
+
+ #if DEBUG
+-#ifndef _GNU_SOURCE
+-#define _GNU_SOURCE
+-#endif
++# ifndef _GNU_SOURCE
++# define _GNU_SOURCE
++# endif
+ #endif
+
+ #include "busybox.h" /* for applet_names */
+@@ -57,15 +62,15 @@
+ #include <setjmp.h>
+ #include <fnmatch.h>
+ #if JOBS || ENABLE_ASH_READ_NCHARS
+-#include <termios.h>
++# include <termios.h>
+ #endif
+
+ #ifndef PIPE_BUF
+-#define PIPE_BUF 4096 /* amount of buffering in a pipe */
++# define PIPE_BUF 4096 /* amount of buffering in a pipe */
+ #endif
+
+ #if defined(__uClinux__)
+-#error "Do not even bother, ash will not run on uClinux"
++# error "Do not even bother, ash will not run on uClinux"
+ #endif
+
+
+@@ -76,14 +81,6 @@
+ #define CMDTABLESIZE 31 /* should be prime */
+
+
+-/* ============ Misc helpers */
+-
+-#define xbarrier() do { __asm__ __volatile__ ("": : :"memory"); } while (0)
+-
+-/* C99 say: "char" declaration may be signed or unsigned default */
+-#define signed_char2int(sc) ((int)((signed char)sc))
+-
+-
+ /* ============ Shell options */
+
+ static const char *const optletters_optnames[] = {
+@@ -245,7 +242,30 @@
+ } while (0)
+
+
++/* ============ DEBUG */
++#if DEBUG
++static void trace_printf(const char *fmt, ...);
++static void trace_vprintf(const char *fmt, va_list va);
++# define TRACE(param) trace_printf param
++# define TRACEV(param) trace_vprintf param
++# define close(f) do { \
++ int dfd = (f); \
++ if (close(dfd) < 0) \
++ bb_error_msg("bug on %d: closing %d(%x)", \
++ __LINE__, dfd, dfd); \
++} while (0)
++#else
++# define TRACE(param)
++# define TRACEV(param)
++#endif
++
++
+ /* ============ Utility functions */
++#define xbarrier() do { __asm__ __volatile__ ("": : :"memory"); } while (0)
++
++/* C99 say: "char" declaration may be signed or unsigned by default */
++#define signed_char2int(sc) ((int)(signed char)(sc))
++
+ static int isdigit_str9(const char *str)
+ {
+ int maxlen = 9 + 1; /* max 9 digits: 999999999 */
+@@ -284,6 +304,12 @@
+ exception = e;
+ longjmp(exception_handler->loc, 1);
+ }
++#if DEBUG
++#define raise_exception(e) do { \
++ TRACE(("raising exception %d on line %d\n", (e), __LINE__)); \
++ raise_exception(e); \
++} while (0)
++#endif
+
+ /*
+ * Called from trap.c when a SIGINT is received. (If the user specifies
+@@ -316,6 +342,12 @@
+ raise_exception(i);
+ /* NOTREACHED */
+ }
++#if DEBUG
++#define raise_interrupt() do { \
++ TRACE(("raising interrupt on line %d\n", __LINE__)); \
++ raise_interrupt(); \
++} while (0)
++#endif
+
+ #if ENABLE_ASH_OPTIMIZE_FOR_SIZE
+ static void
+@@ -334,7 +366,9 @@
+ raise_interrupt();
+ }
+ #define FORCE_INT_ON force_int_on()
+-#else
++
++#else /* !ASH_OPTIMIZE_FOR_SIZE */
++
+ #define INT_ON do { \
+ xbarrier(); \
+ if (--suppressint == 0 && intpending) \
+@@ -346,7 +380,7 @@
+ if (intpending) \
+ raise_interrupt(); \
+ } while (0)
+-#endif /* ASH_OPTIMIZE_FOR_SIZE */
++#endif /* !ASH_OPTIMIZE_FOR_SIZE */
+
+ #define SAVE_INT(v) ((v) = suppressint)
+
+@@ -376,7 +410,6 @@
+ onsig(int signo)
+ {
+ gotsig[signo - 1] = 1;
+- pendingsig = signo;
+
+ if (/* exsig || */ (signo == SIGINT && !trap[SIGINT])) {
+ if (!suppressint) {
+@@ -384,6 +417,8 @@
+ raise_interrupt(); /* does not return */
+ }
+ intpending = 1;
++ } else {
++ pendingsig = signo;
+ }
+ }
+
+@@ -684,6 +719,12 @@
+
+ if (debug != 1)
+ return;
++ if (DEBUG_TIME)
++ fprintf(tracefile, "%u ", (int) time(NULL));
++ if (DEBUG_PID)
++ fprintf(tracefile, "[%u] ", (int) getpid());
++ if (DEBUG_SIG)
++ fprintf(tracefile, "pending s:%d i:%d(supp:%d) ", pendingsig, intpending, suppressint);
+ va_start(va, fmt);
+ vfprintf(tracefile, fmt, va);
+ va_end(va);
+@@ -694,6 +735,12 @@
+ {
+ if (debug != 1)
+ return;
++ if (DEBUG_TIME)
++ fprintf(tracefile, "%u ", (int) time(NULL));
++ if (DEBUG_PID)
++ fprintf(tracefile, "[%u] ", (int) getpid());
++ if (DEBUG_SIG)
++ fprintf(tracefile, "pending s:%d i:%d(supp:%d) ", pendingsig, intpending, suppressint);
+ vfprintf(tracefile, fmt, va);
+ }
+
+@@ -998,14 +1045,6 @@
+ shtree(n, 1, NULL, stdout);
+ }
+
+-#define TRACE(param) trace_printf param
+-#define TRACEV(param) trace_vprintf param
+-
+-#else
+-
+-#define TRACE(param)
+-#define TRACEV(param)
+-
+ #endif /* DEBUG */
+
+
+@@ -3779,7 +3818,7 @@
+ * NB: _not_ safe_waitpid, we need to detect EINTR */
+ pid = waitpid(-1, &status,
+ (doing_jobctl ? (wait_flags | WUNTRACED) : wait_flags));
+- TRACE(("wait returns pid=%d, status=0x%x\n", pid, status));
++ TRACE(("wait returns pid=%d, status=0x%x, errno=%d(%s)\n", pid, status, errno, strerror(errno)));
+
+ if (pid <= 0) {
+ /* If we were doing blocking wait and (probably) got EINTR,
+@@ -5031,7 +5070,9 @@
+ if (newfd < 0) {
+ /* NTOFD/NFROMFD: copy redir->ndup.dupfd to fd */
+ if (redir->ndup.dupfd < 0) { /* "fd>&-" */
+- close(fd);
++ /* Don't want to trigger debugging */
++ if (fd != -1)
++ close(fd);
+ } else {
+ copyfd(redir->ndup.dupfd, fd | COPYFD_EXACT);
+ }
+@@ -5084,7 +5125,7 @@
+ /*close(fd);*/
+ copyfd(copy, fd | COPYFD_EXACT);
+ }
+- close(copy);
++ close(copy & ~COPYFD_RESTORE);
+ }
+ }
+ redirlist = rp->next;
+@@ -7871,20 +7912,30 @@
+ pendingsig = 0;
+ xbarrier();
+
++ TRACE(("dotrap entered\n"));
+ for (i = 1, q = gotsig; i < NSIG; i++, q++) {
+ if (!*q)
+ continue;
+- *q = '\0';
+
+ p = trap[i];
++ /* non-trapped SIGINT is handled separately by raise_interrupt,
++ * don't upset it by resetting gotsig[SIGINT-1] */
++ if (i == SIGINT && !p)
++ continue;
++
++ TRACE(("sig %d is active, will run handler '%s'\n", i, p));
++ *q = '\0';
+ if (!p)
+ continue;
+ skip = evalstring(p, SKIPEVAL);
+ exitstatus = savestatus;
+- if (skip)
++ if (skip) {
++ TRACE(("dotrap returns %d\n", skip));
+ return skip;
++ }
+ }
+
++ TRACE(("dotrap returns 0\n"));
+ return 0;
+ }
+
+@@ -7906,28 +7957,32 @@
+ static void
+ evaltree(union node *n, int flags)
+ {
+-
+ struct jmploc *volatile savehandler = exception_handler;
+ struct jmploc jmploc;
+ int checkexit = 0;
+ void (*evalfn)(union node *, int);
+ int status;
++ int int_level;
++
++ SAVE_INT(int_level);
+
+ if (n == NULL) {
+ TRACE(("evaltree(NULL) called\n"));
+ goto out1;
+ }
+- TRACE(("pid %d, evaltree(%p: %d, %d) called\n",
+- getpid(), n, n->type, flags));
++ TRACE(("evaltree(%p: %d, %d) called\n", n, n->type, flags));
+
+ exception_handler = &jmploc;
+ {
+ int err = setjmp(jmploc.loc);
+ if (err) {
+ /* if it was a signal, check for trap handlers */
+- if (exception == EXSIG)
++ if (exception == EXSIG) {
++ TRACE(("exception %d (EXSIG) in evaltree, err=%d\n", exception, err));
+ goto out;
++ }
+ /* continue on the way out */
++ TRACE(("exception %d in evaltree, propagating err=%d\n", exception, err));
+ exception_handler = savehandler;
+ longjmp(exception_handler->loc, err);
+ }
+@@ -8010,7 +8065,8 @@
+ if (exitstatus == 0) {
+ n = n->nif.ifpart;
+ goto evaln;
+- } else if (n->nif.elsepart) {
++ }
++ if (n->nif.elsepart) {
+ n = n->nif.elsepart;
+ goto evaln;
+ }
+@@ -8036,6 +8092,9 @@
+ exexit:
+ raise_exception(EXEXIT);
+ }
++
++ RESTORE_INT(int_level);
++ TRACE(("leaving evaltree (no interrupts)\n"));
+ }
+
+ #if !defined(__alpha__) || (defined(__GNUC__) && __GNUC__ >= 3)
+@@ -8281,7 +8340,9 @@
+ if (prevfd >= 0)
+ close(prevfd);
+ prevfd = pip[0];
+- close(pip[1]);
++ /* Don't want to trigger debugging */
++ if (pip[1] != -1)
++ close(pip[1]);
+ }
+ if (n->npipe.pipe_backgnd == 0) {
+ exitstatus = waitforjob(jp);
+@@ -8913,6 +8974,7 @@
+ if (forkshell(jp, cmd, FORK_FG) != 0) {
+ exitstatus = waitforjob(jp);
+ INT_ON;
++ TRACE(("forked child exited with %d\n", exitstatus));
+ break;
+ }
+ FORCE_INT_ON;
+@@ -13640,7 +13702,7 @@
+ exception_handler = &jmploc;
+ #if DEBUG
+ opentrace();
+- trace_puts("Shell args: ");
++ TRACE(("Shell args: "));
+ trace_puts_args(argv);
+ #endif
+ rootpid = getpid();
+@@ -13692,8 +13754,14 @@
+ }
+ state3:
+ state = 4;
+- if (minusc)
++ if (minusc) {
++ /* evalstring pushes parsefile stack.
++ * Ensure we don't falsely claim that 0 (stdin)
++ * is one of stacked source fds */
++ if (!sflag)
++ g_parsefile->fd = -1;
+ evalstring(minusc, 0);
++ }
+
+ if (sflag || minusc == NULL) {
+ #if ENABLE_FEATURE_EDITING_SAVEHISTORY
+@@ -13720,14 +13788,6 @@
+ /* NOTREACHED */
+ }
+
+-#if DEBUG
+-const char *applet_name = "debug stuff usage";
+-int main(int argc, char **argv)
+-{
+- return ash_main(argc, argv);
+-}
+-#endif
+-
+
+ /*-
+ * Copyright (c) 1989, 1991, 1993, 1994
+diff -Naur busybox-1.13.3.orig/shell/hush.c busybox-1.13.3/shell/hush.c
+--- busybox-1.13.3.orig/shell/hush.c 2009-02-26 03:46:55.000000000 -0800
++++ busybox-1.13.3/shell/hush.c 2009-03-28 08:25:12.522843973 -0700
+@@ -458,8 +458,11 @@
+ smallint fake_mode;
+ /* these three support $?, $#, and $1 */
+ smalluint last_return_code;
+- char **global_argv;
++ /* is global_argv and global_argv[1..n] malloced? (note: not [0]) */
++ smalluint global_args_malloced;
++ /* how many non-NULL argv's we have. NB: $# + 1 */
+ int global_argc;
++ char **global_argv;
+ #if ENABLE_HUSH_LOOPS
+ unsigned depth_break_continue;
+ unsigned depth_of_loop;
+@@ -633,7 +636,7 @@
+ return dst;
+ }
+
+-static char **add_strings_to_strings(char **strings, char **add)
++static char **add_strings_to_strings(char **strings, char **add, int need_to_dup)
+ {
+ int i;
+ unsigned count1;
+@@ -658,7 +661,7 @@
+ v[count1 + count2] = NULL;
+ i = count2;
+ while (--i >= 0)
+- v[count1 + i] = add[i];
++ v[count1 + i] = (need_to_dup ? xstrdup(add[i]) : add[i]);
+ return v;
+ }
+
+@@ -667,7 +670,7 @@
+ char *v[2];
+ v[0] = add;
+ v[1] = NULL;
+- return add_strings_to_strings(strings, v);
++ return add_strings_to_strings(strings, v, /*dup:*/ 0);
+ }
+
+ static void putenv_all(char **strings)
+@@ -1213,8 +1216,13 @@
+ * Otherwise, just finish current list[] and start new */
+ static int o_save_ptr(o_string *o, int n)
+ {
+- if (o->o_glob)
+- return o_glob(o, n); /* o_save_ptr_helper is inside */
++ if (o->o_glob) { /* if globbing is requested */
++ /* If o->has_empty_slot, list[n] was already globbed
++ * (if it was requested back then when it was filled)
++ * so don't do that again! */
++ if (!o->has_empty_slot)
++ return o_glob(o, n); /* o_save_ptr_helper is inside */
++ }
+ return o_save_ptr_helper(o, n);
+ }
+
+@@ -4279,6 +4287,11 @@
+ switch (opt) {
+ case 'c':
+ G.global_argv = argv + optind;
++ if (!argv[optind]) {
++ /* -c 'script' (no params): prevent empty $0 */
++ *--G.global_argv = argv[0];
++ optind--;
++ } /* else -c 'script' PAR0 PAR1: $0 is PAR0 */
+ G.global_argc = argc - optind;
+ opt = parse_and_run_string(optarg, 0 /* parse_flag */);
+ goto final_return;
+@@ -4639,17 +4652,68 @@
+ return set_local_var(string, 0);
+ }
+
+-/* built-in 'set [VAR=value]' handler */
++/* built-in 'set' handler
++ * SUSv3 says:
++ * set [-abCefmnuvx] [-h] [-o option] [argument...]
++ * set [+abCefmnuvx] [+h] [+o option] [argument...]
++ * set -- [argument...]
++ * set -o
++ * set +o
++ * Implementations shall support the options in both their hyphen and
++ * plus-sign forms. These options can also be specified as options to sh.
++ * Examples:
++ * Write out all variables and their values: set
++ * Set $1, $2, and $3 and set "$#" to 3: set c a b
++ * Turn on the -x and -v options: set -xv
++ * Unset all positional parameters: set --
++ * Set $1 to the value of x, even if it begins with '-' or '+': set -- "$x"
++ * Set the positional parameters to the expansion of x, even if x expands
++ * with a leading '-' or '+': set -- $x
++ *
++ * So far, we only support "set -- [argument...]" by ignoring all options
++ * (also, "-o option" will be mishandled by taking "option" as parameter #1).
++ */
+ static int builtin_set(char **argv)
+ {
+- char *temp = argv[1];
+ struct variable *e;
++ char **pp;
++ char *arg = *++argv;
+
+- if (temp == NULL)
++ if (arg == NULL) {
+ for (e = G.top_var; e; e = e->next)
+ puts(e->varstr);
+- else
+- set_local_var(xstrdup(temp), 0);
++ } else {
++ /* NB: G.global_argv[0] ($0) is never freed/changed */
++
++ if (G.global_args_malloced) {
++ pp = G.global_argv;
++ while (*++pp)
++ free(*pp);
++ G.global_argv[1] = NULL;
++ } else {
++ G.global_args_malloced = 1;
++ pp = xzalloc(sizeof(pp[0]) * 2);
++ pp[0] = G.global_argv[0]; /* retain $0 */
++ G.global_argv = pp;
++ }
++ do {
++ if (arg[0] == '+')
++ continue;
++ if (arg[0] != '-')
++ break;
++ if (arg[1] == '-' && arg[2] == '\0') {
++ argv++;
++ break;
++ }
++ } while ((arg = *++argv) != NULL);
++ /* Now argv[0] is 1st argument */
++
++ /* This realloc's G.global_argv */
++ G.global_argv = pp = add_strings_to_strings(G.global_argv, argv, /*dup:*/ 1);
++ G.global_argc = 1;
++ while (*++pp)
++ G.global_argc++;
++ }
+
+ return EXIT_SUCCESS;
+ }
+@@ -4661,9 +4725,14 @@
+ n = atoi(argv[1]);
+ }
+ if (n >= 0 && n < G.global_argc) {
+- G.global_argv[n] = G.global_argv[0];
++ if (G.global_args_malloced) {
++ int m = 1;
++ while (m <= n)
++ free(G.global_argv[m++]);
++ }
+ G.global_argc -= n;
+- G.global_argv += n;
++ memmove(&G.global_argv[1], &G.global_argv[n+1],
++ G.global_argc * sizeof(G.global_argv[0]));
+ return EXIT_SUCCESS;
+ }
+ return EXIT_FAILURE;
+diff -Naur busybox-1.13.3.orig/shell/hush_test/hush-parsing/starquoted2.right busybox-1.13.3/shell/hush_test/hush-parsing/starquoted2.right
+--- busybox-1.13.3.orig/shell/hush_test/hush-parsing/starquoted2.right 2009-02-26 03:46:52.000000000 -0800
++++ busybox-1.13.3/shell/hush_test/hush-parsing/starquoted2.right 2009-03-28 08:25:12.526845928 -0700
+@@ -1,2 +1,3 @@
+ Should be printed
+ Should be printed
++Empty:
+diff -Naur busybox-1.13.3.orig/shell/hush_test/hush-parsing/starquoted2.tests busybox-1.13.3/shell/hush_test/hush-parsing/starquoted2.tests
+--- busybox-1.13.3.orig/shell/hush_test/hush-parsing/starquoted2.tests 2009-02-26 03:46:52.000000000 -0800
++++ busybox-1.13.3/shell/hush_test/hush-parsing/starquoted2.tests 2009-03-28 08:25:12.526845928 -0700
+@@ -12,3 +12,6 @@
+ for a in """$@"; do echo Should not be printed; done
+ for a in """$@"''"$@"''; do echo Should not be printed; done
+ for a in ""; do echo Should be printed; done
++
++# Bug 207: "$@" expands to nothing, and we erroneously glob "%s\\n" twice:
++printf "Empty:%s\\n" "$@"
Added: trunk/scripts/foundation/busybox/busybox-defconfig.mk.in
===================================================================
--- trunk/scripts/foundation/busybox/busybox-defconfig.mk.in (rev 0)
+++ trunk/scripts/foundation/busybox/busybox-defconfig.mk.in 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,36 @@
+######################################################################
+#
+# make default .config for busybox
+#
+######################################################################
+
+BUSYBOX_SET_OPTIONS:=CONFIG_FEATURE_SH_IS_ASH CONFIG_FEATURE_TRACEROUTE_VERBOSE \
+ CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
+
+BUSYBOX_UNSET_OPTIONS:=CONFIG_DMALLOC CONFIG_BUILD_AT_ONCE CONFIG_BUILD_LIBBUSYBOX \
+ CONFIG_FEATURE_SH_IS_NONE CONFIG_LOCALE_SUPPORT CONFIG_TFTP CONFIG_FTPGET \
+ CONFIG_FTPPUT CONFIG_IPCALC CONFIG_TFTP CONFIG_HUSH CONFIG_LASH \
+ CONFIG_MSH CONFIG_INETD CONFIG_DPKG CONFIG_RPM2CPIO CONFIG_RPM \
+ CONFIG_FOLD CONFIG_LOGNAME CONFIG_OD CONFIG_CRONTAB CONFIG_UUDECODE \
+ CONFIG_UUENCODE CONFIG_SULOGIN CONFIG_DC CONFIG_DEBUG_YANK_SUSv2 \
+ CONFIG_DEBUG_INIT CONFIG_DEBUG_CROND_OPTION CONFIG_FEATURE_UDHCP_DEBUG \
+ CONFIG_TASKSET CONFIG_CHATTR CONFIG_FSCK CONFIG_LSATTR CONFIG_CHPST \
+ CONFIG_SETUIDGID CONFIG_ENVUIDGID CONFIG_ENVDIR CONFIG_SOFTLIMIT \
+ CONFIG_FEATURE_2_4_MODULES
+
+foundation-busybox-defconfig: $(FOUNDATION_BUSYBOX_BUILD_DIR)/Makefile
+ $(LOG) foundation-busybox default-configuration is starting.
+ $(MAKE) -C $(FOUNDATION_BUSYBOX_BUILD_DIR) defconfig
+ cp $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config.orig
+ $(foreach config_option,$(UCLIBC_SET_OPTIONS),\
+ cp $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config.tmp; \
+ sed -e "s:# $(config_option) is not set:$(config_option)=y:" \
+ $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config.tmp > $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config; \
+ )
+ $(foreach config_option,$(BUSYBOX_UNSET_OPTIONS),\
+ cp $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config.tmp; \
+ sed -e "s:$(config_option)=y:# $(config_option) is not set:" \
+ $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config.tmp > $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config; \
+ )
+ $(MAKE) -C $(FOUNDATION_BUSYBOX_BUILD_DIR) oldconfig
+ $(LOG) foundation-busybox default-configuration has completed.
Added: trunk/scripts/foundation/busybox/busybox.mk
===================================================================
--- trunk/scripts/foundation/busybox/busybox.mk (rev 0)
+++ trunk/scripts/foundation/busybox/busybox.mk 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,60 @@
+######################################################################
+#
+# busybox
+#
+######################################################################
+
+FOUNDATION_BUSYBOX_VERSION:=1.13.3
+FOUNDATION_BUSYBOX_SITE:=http://busybox.net/downloads
+FOUNDATION_BUSYBOX_ARCHIVE:=busybox-$(FOUNDATION_BUSYBOX_VERSION).tar.bz2
+FOUNDATION_BUSYBOX_SOURCE_DIR:=$(SOURCE_DIR)/busybox-$(FOUNDATION_BUSYBOX_VERSION)
+FOUNDATION_BUSYBOX_BUILD_DIR:=$(FOUNDATION_BUILD_DIR)/busybox-$(FOUNDATION_BUSYBOX_VERSION)
+
+include scripts/foundation/busybox/busybox-defconfig.mk.in
+
+$(DOWNLOAD_DIR)/$(FOUNDATION_BUSYBOX_ARCHIVE):
+ $(DOWNLOAD) -P $(DOWNLOAD_DIR) $(FOUNDATION_BUSYBOX_SITE)/$(FOUNDATION_BUSYBOX_ARCHIVE)
+
+$(FOUNDATION_BUSYBOX_SOURCE_DIR)/.unpacked: $(DOWNLOAD_DIR)/$(FOUNDATION_BUSYBOX_ARCHIVE)
+ $(CAT) $(DOWNLOAD_DIR)/$(FOUNDATION_BUSYBOX_ARCHIVE) | tar -C $(SOURCE_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(FOUNDATION_BUSYBOX_SOURCE_DIR)/.patched: $(FOUNDATION_BUSYBOX_SOURCE_DIR)/.unpacked
+ if test -d scripts/foundation/busybox/$(FOUNDATION_BUSYBOX_VERSION); \
+ then $(PATCH) $(FOUNDATION_BUSYBOX_SOURCE_DIR) scripts/foundation/busybox/$(FOUNDATION_BUSYBOX_VERSION) \*.patch; \
+ fi
+ cp scripts/foundation/busybox/pipe_progress.c $(FOUNDATION_BUSYBOX_SOURCE_DIR)/debianutils
+ touch $@
+
+$(FOUNDATION_BUSYBOX_BUILD_DIR)/Makefile: $(FOUNDATION_BUSYBOX_SOURCE_DIR)/.patched
+ mkdir -p $(FOUNDATION_BUSYBOX_BUILD_DIR)
+ cp -r $(FOUNDATION_BUSYBOX_SOURCE_DIR)/* $(FOUNDATION_BUSYBOX_BUILD_DIR)/
+
+$(FOUNDATION_BUSYBOX_BUILD_DIR)/.configured: $(FOUNDATION_BUSYBOX_BUILD_DIR)/Makefile
+ $(LOG) foundation-busybox configuration is starting.
+ cp $(PLATFORM_DIR)/config/busybox-$(FOUNDATION_BUSYBOX_VERSION).config $(FOUNDATION_BUSYBOX_BUILD_DIR)/.config
+ #$(MAKE) -C $(FOUNDATION_BUSYBOX_BUILD_DIR) menuconfig
+ $(MAKE) -C $(FOUNDATION_BUSYBOX_BUILD_DIR) oldconfig
+ $(LOG) foundation-busybox configuration has completed.
+ touch $@
+
+$(FOUNDATION_BUSYBOX_BUILD_DIR)/.compiled: $(FOUNDATION_BUSYBOX_BUILD_DIR)/.configured | toolchain
+ $(LOG) foundation-busybox compilation is starting.
+ $(MAKE) -C $(FOUNDATION_BUSYBOX_BUILD_DIR) ARCH=$(TARGET_ARCH) \
+ CROSS_COMPILE="$(CROSS_COMPILE_TOOL_PREFIX)" CFLAGS="$(BUILD)"
+ $(LOG) foundation-busybox compilation has completed.
+ touch $@
+
+$(FOUNDATION_BUSYBOX_BUILD_DIR)/.installed: $(FOUNDATION_BUSYBOX_BUILD_DIR)/.compiled
+ $(LOG) foundation-busybox installation is starting.
+ $(INSTALL) -D -m 0755 -s $(FOUNDATION_BUSYBOX_BUILD_DIR)/busybox $(RELEASE_DIR)/bin/busybox
+ $(LOG) foundation-busybox installation has completed.
+ touch $@
+
+######################################################################
+
+foundation-busybox: $(FOUNDATION_BUSYBOX_BUILD_DIR)/.installed
+
+######################################################################
+
+FOUNDATION_TARGETS+=foundation-busybox
Added: trunk/scripts/foundation/busybox/pipe_progress.c
===================================================================
--- trunk/scripts/foundation/busybox/pipe_progress.c (rev 0)
+++ trunk/scripts/foundation/busybox/pipe_progress.c 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,86 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * Monitor a pipe with a simple progress display.
+ *
+ * Copyright (C) 2003 by Rob Landley <ro...@la...>, Joey Hess
+ *
+ * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ */
+
+#include "libbb.h"
+
+#define PIPE_PROGRESS_SIZE 4096
+
+void print_status(double total_len, double seconds);
+void print_formatted_size(double len);
+void print_formatted_time(double seconds);
+
+/* Read a block of data from stdin, write it to stdout.
+ * Activity is indicated by printing "transfer_size hh:mm:ss [rate]" to stderr
+ */
+int pipe_progress_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int pipe_progress_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
+{
+ RESERVE_CONFIG_BUFFER(buf, PIPE_PROGRESS_SIZE);
+ time_t start_time = time(NULL);
+ time_t t = time(NULL);
+ size_t len;
+ size_t total_len = 0;
+
+ while ((len = fread(buf, 1, PIPE_PROGRESS_SIZE, stdin)) > 0)
+ {
+ total_len += len;
+ time_t new_time = time(NULL);
+ if (new_time != t)
+ {
+ t = new_time;
+
+ fputs("\033[s\033[23:0H\033[2K", stderr);
+ print_status((double) total_len, difftime(t, start_time));
+ fputs("\033[u", stderr);
+ }
+ fwrite(buf, len, 1, stdout);
+ }
+
+ print_status((double) total_len, difftime(t, start_time));
+ fputc('\n', stderr);
+
+ if (ENABLE_FEATURE_CLEAN_UP)
+ RELEASE_CONFIG_BUFFER(buf);
+
+ return 0;
+}
+
+void print_status(double total_len, double seconds)
+{
+ print_formatted_size(total_len);
+ fputs(" ", stderr);
+ print_formatted_time(seconds);
+ fputs(" [", stderr);
+ print_formatted_size(total_len / seconds);
+ fputs("/s]", stderr);
+}
+
+void print_formatted_size(double len)
+{
+ char str[15];
+
+ if (len >= 1000 * 1024 * 1024)
+ sprintf(str, "%4.2fGB", len / (1024.0 * 1024.0 * 1024.0));
+ else if (len >= 1000 * 1024)
+ sprintf(str, "%4.2fMB", len / (1024.0 * 1024.0));
+ else if (len >= 1000)
+ sprintf(str, "%4.2fkB", len / 1024.0);
+ else
+ sprintf(str, "%4dB", len);
+
+ fputs(str, stderr);
+}
+
+void print_formatted_time(double seconds)
+{
+ char str[10];
+ sprintf(str, "%ld:%02ld:%02ld", (long) seconds / 3600, ((long) seconds / 60) % 60, (long) seconds % 60);
+ fputs(str, stderr);
+}
+
Added: trunk/scripts/foundation/libc-tools/libc-tools.mk
===================================================================
--- trunk/scripts/foundation/libc-tools/libc-tools.mk (rev 0)
+++ trunk/scripts/foundation/libc-tools/libc-tools.mk 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,26 @@
+######################################################################
+#
+# libc-tools (ldd, ldconfig, etc)
+#
+######################################################################
+
+$(TOOLCHAIN_UCLIBC_BUILD_DIR)/utils/.compiled: toolchain
+ $(LOG) foundation-libc-utils compilation is starting.
+ $(MAKE) -C $(TOOLCHAIN_UCLIBC_BUILD_DIR)/utils $(CROSS_COMPILE_OPTS) utils
+ $(LOG) foundation-libc-utils compilation has completed.
+ touch $@
+
+$(TOOLCHAIN_UCLIBC_BUILD_DIR)/utils/.installed: $(TOOLCHAIN_UCLIBC_BUILD_DIR)/utils/.compiled
+ $(LOG) foundation-libc-utils installation is starting.
+ $(INSTALL) -D -m 0755 -s $(TOOLCHAIN_UCLIBC_BUILD_DIR)/utils/ldd $(RELEASE_DIR)/usr/bin/ldd
+ $(INSTALL) -D -m 0755 -s $(TOOLCHAIN_UCLIBC_BUILD_DIR)/utils/ldconfig $(RELEASE_DIR)/sbin/ldconfig
+ $(LOG) foundation-libc-utils installation has completed.
+ touch $@
+
+######################################################################
+
+foundation-libc-tools: $(TOOLCHAIN_UCLIBC_BUILD_DIR)/utils/.installed
+
+######################################################################
+
+FOUNDATION_TARGETS+=foundation-libc-tools
Added: trunk/scripts/foundation/libnl/libnl.mk
===================================================================
--- trunk/scripts/foundation/libnl/libnl.mk (rev 0)
+++ trunk/scripts/foundation/libnl/libnl.mk 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,63 @@
+######################################################################
+#
+# libnl
+#
+######################################################################
+
+FOUNDATION_LIBNL_VERSION:=1.1
+FOUNDATION_LIBNL_SITE:=http://people.suug.ch/~tgr/libnl/files
+FOUNDATION_LIBNL_ARCHIVE:=libnl-$(FOUNDATION_LIBNL_VERSION).tar.gz
+FOUNDATION_LIBNL_SOURCE_DIR:=$(SOURCE_DIR)/libnl-$(FOUNDATION_LIBNL_VERSION)
+FOUNDATION_LIBNL_BUILD_DIR:=$(FOUNDATION_BUILD_DIR)/libnl-$(FOUNDATION_LIBNL_VERSION)
+
+$(DOWNLOAD_DIR)/$(FOUNDATION_LIBNL_ARCHIVE):
+ $(DOWNLOAD) -P $(DOWNLOAD_DIR) $(FOUNDATION_LIBNL_SITE)/$(FOUNDATION_LIBNL_ARCHIVE)
+
+$(FOUNDATION_LIBNL_SOURCE_DIR)/.unpacked: $(DOWNLOAD_DIR)/$(FOUNDATION_LIBNL_ARCHIVE)
+ gunzip -c $(DOWNLOAD_DIR)/$(FOUNDATION_LIBNL_ARCHIVE) | tar -C $(SOURCE_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(FOUNDATION_LIBNL_SOURCE_DIR)/.patched: $(FOUNDATION_LIBNL_SOURCE_DIR)/.unpacked
+ if test -d scripts/foundation/libnl/$(FOUNDATION_LIBNL_VERSION); \
+ then $(PATCH) $(FOUNDATION_LIBNL_SOURCE_DIR) scripts/foundation/libnl/$(FOUNDATION_LIBNL_VERSION) \*.patch; \
+ fi
+ touch $@
+
+$(FOUNDATION_LIBNL_BUILD_DIR)/Makefile: $(FOUNDATION_LIBNL_SOURCE_DIR)/.patched
+ mkdir -p $(FOUNDATION_LIBNL_BUILD_DIR)
+ cp -r $(FOUNDATION_LIBNL_SOURCE_DIR)/* $(FOUNDATION_LIBNL_BUILD_DIR)/
+
+$(FOUNDATION_LIBNL_BUILD_DIR)/.configured : $(FOUNDATION_LIBNL_BUILD_DIR)/Makefile
+ $(LOG) foundation-libnl configuration is starting.
+ (cd $(FOUNDATION_LIBNL_BUILD_DIR); \
+ ./configure \
+ --target=$(TARGET_GNU_NAME) \
+ --host=$(HOST_GNU_NAME) \
+ --build=$(HOST_GNU_NAME) \
+ );
+ $(LOG) foundation-libnl configuration has completed.
+ touch $@
+
+$(FOUNDATION_LIBNL_BUILD_DIR)/.compiled: $(FOUNDATION_LIBNL_BUILD_DIR)/.configured | toolchain
+ $(LOG) foundation-libnl compilation is starting.
+ $(MAKE) -C $(FOUNDATION_LIBNL_BUILD_DIR) $(CROSS_COMPILE_OPTS)
+ $(LOG) foundation-libnl compilation has completed.
+ touch $@
+
+$(FOUNDATION_LIBNL_BUILD_DIR)/.installed: $(FOUNDATION_LIBNL_BUILD_DIR)/.compiled
+ $(LOG) foundation-libnl installation is starting.
+ $(INSTALL) -D -m 0755 -s $(FOUNDATION_LIBNL_BUILD_DIR)/lib/libnl.so.$(FOUNDATION_LIBNL_VERSION) $(RELEASE_DIR)/lib
+ (cd $(RELEASE_DIR)/lib; \
+ ln -s -f libnl.so.$(FOUNDATION_LIBNL_VERSION) libnl.so.1; \
+ ln -s -f libnl.so.1 libnl.so; \
+ );
+ $(LOG) foundation-libnl installation has completed.
+ touch $@
+
+######################################################################
+
+foundation-libnl: $(FOUNDATION_LIBNL_BUILD_DIR)/.installed
+
+######################################################################
+
+FOUNDATION_TARGETS+=foundation-libnl
Added: trunk/scripts/foundation/linux-kernel/2.6.28.4/linux-2.6.28.4-serial_h_fix-1.patch
===================================================================
--- trunk/scripts/foundation/linux-kernel/2.6.28.4/linux-2.6.28.4-serial_h_fix-1.patch (rev 0)
+++ trunk/scripts/foundation/linux-kernel/2.6.28.4/linux-2.6.28.4-serial_h_fix-1.patch 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,13 @@
+diff -Naur linux-2.6.28.orig/include/linux/serial.h linux-2.6.28/include/linux/serial.h
+--- linux-2.6.28.orig/include/linux/serial.h 2008-12-24 18:26:37.000000000 -0500
++++ linux-2.6.28/include/linux/serial.h 2009-01-04 22:09:52.136007007 -0500
+@@ -10,8 +10,8 @@
+ #ifndef _LINUX_SERIAL_H
+ #define _LINUX_SERIAL_H
+
+-#ifdef __KERNEL__
+ #include <linux/types.h>
++#ifdef __KERNEL__
+ #include <asm/page.h>
+
+ /*
Added: trunk/scripts/foundation/linux-kernel/linux-kernel.mk
===================================================================
--- trunk/scripts/foundation/linux-kernel/linux-kernel.mk (rev 0)
+++ trunk/scripts/foundation/linux-kernel/linux-kernel.mk 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,72 @@
+######################################################################
+#
+# linux-kernel
+#
+######################################################################
+
+FOUNDATION_LINUX_KERNEL_VERSION:=$(LINUX_KERNEL_VERSION)
+FOUNDATION_LINUX_KERNEL_SITE:=http://www.kernel.org/pub/linux/kernel/v2.6
+FOUNDATION_LINUX_KERNEL_ARCHIVE:=linux-$(FOUNDATION_LINUX_KERNEL_VERSION).tar.bz2
+FOUNDATION_LINUX_KERNEL_SOURCE_DIR:=$(SOURCE_DIR)/linux-$(FOUNDATION_LINUX_KERNEL_VERSION)
+FOUNDATION_LINUX_KERNEL_BUILD_DIR:=$(FOUNDATION_BUILD_DIR)/linux-kernel-$(FOUNDATION_LINUX_KERNEL_VERSION)
+
+#include scripts/foundation/linux-kernel/linux-kernel-defconfig.mk.in
+
+$(DOWNLOAD_DIR)/$(FOUNDATION_LINUX_KERNEL_ARCHIVE):
+ $(DOWNLOAD) -P $(DOWNLOAD_DIR) $(FOUNDATION_LINUX_KERNEL_SITE)/$(FOUNDATION_LINUX_KERNEL_ARCHIVE)
+
+$(FOUNDATION_LINUX_KERNEL_SOURCE_DIR)/.unpacked: $(DOWNLOAD_DIR)/$(FOUNDATION_LINUX_KERNEL_ARCHIVE)
+ $(CAT) $(DOWNLOAD_DIR)/$(FOUNDATION_LINUX_KERNEL_ARCHIVE) | tar -C $(SOURCE_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+$(FOUNDATION_LINUX_KERNEL_SOURCE_DIR)/.patched: $(FOUNDATION_LINUX_KERNEL_SOURCE_DIR)/.unpacked
+ if test -d scripts/foundation/linux-kernel/$(FOUNDATION_LINUX_KERNEL_VERSION); \
+ then $(PATCH) $(FOUNDATION_LINUX_KERNEL_SOURCE_DIR) scripts/foundation/linux-kernel/$(FOUNDATION_LINUX_KERNEL_VERSION) \*.patch; \
+ fi
+ touch $@
+
+$(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/Makefile: $(FOUNDATION_LINUX_KERNEL_SOURCE_DIR)/.patched
+ mkdir -p $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)
+ cp -r $(FOUNDATION_LINUX_KERNEL_SOURCE_DIR)/* $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/
+
+$(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.configured: $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/Makefile
+ $(LOG) foundation-linux-kernel configuration is starting.
+ cp $(PLATFORM_DIR)/config/linux-kernel-$(FOUNDATION_LINUX_KERNEL_VERSION).config $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.config
+ $(MAKE) -C $(FOUNDATION_LINUX_KERNEL_BUILD_DIR) oldconfig
+ $(LOG) foundation-linux-kernel configuration has completed.
+ touch $@
+
+$(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.compiled: $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.configured | toolchain
+ $(LOG) foundation-linux-kernel compilation is starting.
+ $(MAKE) -C $(FOUNDATION_LINUX_KERNEL_BUILD_DIR) ARCH=$(TARGET_ARCH) \
+ CROSS_COMPILE="$(CROSS_COMPILE_TOOL_PREFIX)" CFLAGS="$(BUILD)"
+
+ $(MAKE) -C $(FOUNDATION_LINUX_KERNEL_BUILD_DIR) ARCH=$(TARGET_ARCH) \
+ CROSS_COMPILE="$(CROSS_COMPILE_TOOL_PREFIX)" bzImage
+
+ $(LOG) foundation-linux-kernel compilation has completed.
+ touch $@
+
+$(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.installed: $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.compiled
+ $(LOG) foundation-linux-kernel installation is starting.
+
+ # Install bzImage to the $(Release_Dir)/boot directory
+ $(INSTALL) -D -m 0755 $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/arch/x86/boot/bzImage $(RELEASE_DIR)/boot/bzImage-$(LINUX_KERNEL_VERSION)
+
+ # Install the modules to the $(Release_Dir)/lib/modules directory
+ $(MAKE) -C $(FOUNDATION_LINUX_KERNEL_BUILD_DIR) ARCH=$(TARGET_ARCH) \
+ CROSS_COMPILE="$(CROSS_COMPILE_TOOL_PREFIX)" INSTALL_MOD_PATH=${RELEASE_DIR} modules_install
+
+ $(LOG) foundation-linux-kernel installation has completed.
+ touch $@
+
+linux-menuconfig: | $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.configured
+ $(MAKE) -C $(FOUNDATION_LINUX_KERNEL_BUILD_DIR) menuconfig
+
+######################################################################
+
+foundation-linux-kernel: $(FOUNDATION_LINUX_KERNEL_BUILD_DIR)/.installed
+
+######################################################################
+
+FOUNDATION_TARGETS+=foundation-linux-kernel
\ No newline at end of file
Added: trunk/scripts/foundation/ncurses/ncurses.mk
===================================================================
--- trunk/scripts/foundation/ncurses/ncurses.mk (rev 0)
+++ trunk/scripts/foundation/ncurses/ncurses.mk 2009-07-04 20:28:29 UTC (rev 7)
@@ -0,0 +1,70 @@
+######################################################################
+#
+# ncurses
+#
+######################################################################
+
+FOUNDATION_NCURSES_VERSION:=5.6
+FOUNDATION_NCURSES_SITE:=ftp://ftp.gnu.org/pub/gnu/ncurses/
+FOUNDATION_NCURSES_ARCHIVE:=ncurses-$(FOUNDATION_NCURSES_VERSION).tar.gz
+FOUNDATION_NCURSES_SOURCE_DIR:=$(SOURCE_DIR)/ncurses-$(FOUNDATION_NCURSES_VERSION)
+FOUNDATION_NCURSES_BUILD_DIR:=$(FOUNDATION_BUILD_DIR)/ncurses-$(FOUNDATION_NCURSES_VERSION)
+
+#include scripts/foundation/ncurses/ncurses-defconfig.mk.in
+
+$(DOWNLOAD_DIR)/$(FOUNDATION_NCURSES_ARCHIVE):
+ $(DOWNLOAD) -P $(DOWNLOAD_DIR) $(FOUNDATION_NCURSES_SITE)/$(FOUNDATION_NCURSES_ARCHIVE)
+
+$(FOUNDATION_NCURSES_SOURCE_DIR)/.unpacked: $(DOWNLOAD_DIR)/$(FOUNDATION_NCURSES_ARCHIVE)
+ zcat $(DOWNLOAD_DIR)/$(FOUNDATION_NCURSES_ARCHIVE) | tar -C $(SOURCE_DIR) $(TAR_OPTIONS) -
+ touch $@
+
+#$(FOUNDATION_NCURSES_SOURCE_DIR)/.patched: $(FOUNDATION_NCURSES_SOURCE_DIR)/.unpacked
+# $(PATCH) $(FOUNDATION_NCURSES_SOURCE_DIR) scripts/foundation/ncurses/$(FOUNDATION_NCURSES_VERSION) \*.patch
+# touch $@
+
+$(FOUNDATION_NCURSES_BUILD_DIR)/Makefile: $(FOUNDATION_NCURSES_SOURCE_DIR)/.unpacked
+ $(LOG) foundation-ncurses configuration is starting.
+ mkdir -p $(FOUNDATION_NCURSES_BUILD_DIR)
+ (cd $(FOUNDATION_NCURSES_BUILD_DIR); \
+ $(CROSS_COMPILE_OPTS) BUILD_CC=$(HOSTCC) \
+ $(FOUNDATION_NCURSES_SOURCE_DIR)/configure \
+ --target=$(TARGET_GNU_NAME) \
+ --host=$(TARGET_GNU_NAME) \
+ --build=$(HOST_GNU_NAME) \
+ --prefix=/usr \
+ --with-shared --without-cxx --without-cxx-binding \
+ --without-ada --without-progs --disable-nls \
+ --without-profile --without-debug --disable-rpath \
+ --enable-echo --enable-const --enable-overwrite \
+ --enable-broken_linker \
+ );
+ $(LOG) foundation-ncurses configuration has completed.
+
+$(FOUNDATION_NCURSES_BUILD_DIR)/.compiled: $(FOUNDATION_NCURSES_BUILD_DIR)/Makefile | toolchain
+ $(LOG) foundation-ncurses compilation is starting.
+ $(MAKE) -C $(FOUNDATION_NCURSES_BUILD_DIR) \
+ CROSS_COMPILE="$(CROSS_COMPILE_TOOL_PREFIX)" CFLAGS="$(BUILD)" libs panel menu form headers
+ $(LOG) foundation-ncurses compilation has completed.
+ touch $@
+
+$(FOUNDATION_NCURSES_BUILD_DIR)/.installed: $(FOUNDATION_NCURSES_BUILD_DIR)/.compiled
+ $(LOG) foundation-ncurses installation is starting.
+
+ $(MAKE) -C $(FOUNDATION_NCURSES_BUILD_DIR) \
+ CROSS_COMPILE="$(CROSS_COMPILE_TOOL_PREFIX)" DESTDIR=$(RELEASE_DIR) install
+
+ #$(INSTALL) -D -m 0755 -s $(FOUNDATION_NCURSES_BUILD_DIR)/lib/libncurses.so.$(FOUNDATION_NCURSES_VERSION) $(RELEASE_DIR)/lib
+ #(cd $(RELEASE_DIR)/lib; \
+ # ln -s -f libncurses.so.$(FOUNDATION_NCURSES_VERSION) libncurses.so \
+ #);
+ $(LOG) foundation-ncurses installation has completed.
+ touch $@
+
+######################################################################
+
+foundation-ncurses: $(FOUNDATION_NCURSES_BUILD_DIR)/.installed
+
+######################################################################
+
+#FOUNDATION_TARGETS+=foundation-ncurses
Modified: trunk/scripts/platform/generic-pc-i586-uclibc/Makefile.in
===================================================================
--- trunk/scripts/platform/generic-pc-i586-uclibc/Makefile.in 2009-01-26 03:02:04 UTC (rev 6)
+++ trunk/scripts/platform/generic-pc-i586-uclibc/Makefile.in 2009-07-04 20:28:29 UTC (rev 7)
@@ -9,5 +9,7 @@
TARGET_GNU_NAME:=$(TARGET_CPU)-linux-uclibc
#i586-pc-linux-uclibc
-LINUX_KERNEL_VERSION:=2.6.28.2
+BUILD:=-m32
+
+LINUX_KERNEL_VERSION:=2.6.29.1
LIBC:=uClibc
Modified: trunk/scripts/platform/generic-pc-i586-uclibc/config/busybox-1.13.2.config
===================================================================
--- trunk/scripts/platform/generic-pc-i586-uclibc/config/busybox-1.13.2.config 2009-01-26 03:02:04 UTC (rev 6)
+++ trunk/scripts/platform/generic-pc-i586-uclibc/config/busybox-1.13.2.config 2009-07-04 20:28:29 UTC (rev 7)
@@ -79,10 +79,10 @@
CONFIG_MD5_SIZE_VS_SPEED=2
CONFIG_FEATURE_FAST_TOP=y
# CONFIG_FEATURE_ETC_NETWORKS is not set
-# CONFIG_FEATURE_EDITING is not set
-CONFIG_FEATURE_EDITING_MAX_LEN=
+CONFIG_FEATURE_EDITING=y
+CONFIG_FEATURE_EDITING_MAX_LEN=1024
# CONFIG_FEATURE_EDITING_VI is not set
-CONFIG_FEATURE_EDITING_HISTORY=
+CONFIG_FEATURE_EDITING_HISTORY=15
# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
# CONFIG_FEATURE_TAB_COMPLETION is not set
# CONFIG_FEATURE_USERNAME_COMPLETION is not set
@@ -118,7 +118,7 @@
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
+# CONFIG_FEATURE_TAR_CREATE is not set
# CONFIG_FEATURE_TAR_AUTODETECT is not set
# CONFIG_FEATURE_TAR_FROM is not set
# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
@@ -272,28 +272,28 @@
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
# CONFIG_DUMPKMAP is not set
-# CONFIG_KBD_MODE is not set
+CONFIG_KBD_MODE=y
# CONFIG_LOADFONT is not set
-# CONFIG_LOADKMAP is not set
+CONFIG_LOADKMAP=y
CONFIG_OPENVT=y
CONFIG_RESET=y
# CONFIG_RESIZE is not set
# CONFIG_FEATURE_RESIZE_PRINT is not set
-# CONFIG_SETCONSOLE is not set
+CONFIG_SETCONSOLE=y
# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
# CONFIG_SETFONT is not set
# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
CONFIG_DEFAULT_SETFONT_DIR=""
-# CONFIG_SETKEYCODES is not set
+CONFIG_SETKEYCODES=y
# CONFIG_SETLOGCONS is not set
-# CONFIG_SHOWKEY is not set
+CONFIG_SHOWKEY=y
#
# Debian Utilities
#
CONFIG_MKTEMP=y
# CONFIG_PIPE_PROGRESS is not set
-CONFIG_RUN_PARTS=y
+# CONFIG_RUN_PARTS is not set
# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
# CONFIG_START_STOP_DAEMON is not set
@@ -307,12 +307,12 @@
CONFIG_AWK=y
# CONFIG_FEATURE_AWK_LIBM is not set
CONFIG_CMP=y
-CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_BINARY=y
-CONFIG_FEATURE_DIFF_DIR=y
+# CONFIG_DIFF is not set
+# CONFIG_FEATURE_DIFF_BINARY is not set
+# CONFIG_FEATURE_DIFF_DIR is not set
# CONFIG_FEATURE_DIFF_MINIMAL is not set
# CONFIG_ED is not set
-CONFIG_PATCH=y
+# CONFIG_PATCH is not set
CONFIG_SED=y
CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=1024
@@ -382,34 +382,34 @@
#
# Login/Password Management Utilities
#
-CONFIG_FEATURE_SHADOWPASSWDS=y
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
# CONFIG_USE_BB_PWD_GRP is not set
# CONFIG_USE_BB_SHADOW is not set
CONFIG_USE_BB_CRYPT=y
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
-CONFIG_DELGROUP=y
-CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
+# CONFIG_ADDGROUP is not set
+# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
-CONFIG_ADDUSER=y
+# CONFIG_ADDUSER is not set
# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-CONFIG_DELUSER=y
+# CONFIG_DELUSER is not set
C...
[truncated message content] |