summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Kunze <thommycheck@gmx.de>2008-02-22 20:46:27 +0000
committerThomas Kunze <thommycheck@gmx.de>2008-02-22 20:46:27 +0000
commit1dec00a7e52008400bdfc8034f6298f2578cb637 (patch)
tree50ffaf0d546503e1991ebaa118243ed7310e68eb
parentf491dfaa97dbcbfdd0f14c6372f5941055167b3b (diff)
parent9e8d9da364854e9921769c33b0eb57dac923d002 (diff)
merge of '808beacef20f045331c5d32c4a877b9010fe989a'
and 'f51d223df158f1cff524858100f483e0d4918266'
-rw-r--r--packages/kexec/files/kexec-klibc.patch140
-rw-r--r--packages/kexec/kexec-tools-static_1.101.bb21
-rw-r--r--packages/kexec/kexec-tools.inc2
-rw-r--r--packages/kexec/kexec-tools_1.101.bb4
-rw-r--r--packages/klibc/files/install.patch42
-rw-r--r--packages/klibc/files/klibc_kexecsyscall.patch11
-rw-r--r--packages/klibc/files/staging.patch130
-rw-r--r--packages/klibc/klibc-common.inc43
-rw-r--r--packages/klibc/klibc-utils-static_1.5.bb51
-rw-r--r--packages/klibc/klibc.inc147
-rw-r--r--packages/klibc/klibc_0.190.bb1
-rw-r--r--packages/klibc/klibc_1.5.bb (renamed from packages/klibc/klibc_1.1.1.bb)1
12 files changed, 476 insertions, 117 deletions
diff --git a/packages/kexec/files/kexec-klibc.patch b/packages/kexec/files/kexec-klibc.patch
new file mode 100644
index 0000000000..b8e2c81689
--- /dev/null
+++ b/packages/kexec/files/kexec-klibc.patch
@@ -0,0 +1,140 @@
+Index: kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-elf-rel-arm.c 2008-02-22 20:45:15.907610333 +0100
++++ kexec-tools-1.101/kexec/arch/arm/kexec-elf-rel-arm.c 2008-02-22 20:45:27.508612989 +0100
+@@ -1,5 +1,5 @@
+ #include <stdio.h>
+-#include <elf.h>
++#include "../../../include/elf.h"
+ #include "../../kexec.h"
+ #include "../../kexec-elf.h"
+
+Index: kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/arch/arm/kexec-zImage-arm.c 2008-02-22 20:45:15.959611260 +0100
++++ kexec-tools-1.101/kexec/arch/arm/kexec-zImage-arm.c 2008-02-22 20:45:27.508612989 +0100
+@@ -110,13 +110,13 @@
+ }
+
+ fread(buf, sizeof(buf[1]), BOOT_PARAMS_SIZE, fp);
+- if (ferror(fp)) {
++/* if (ferror(fp)) {
+ fprintf(stderr, "Cannot read %s: %s\n",
+ fn, strerror(errno));
+ fclose(fp);
+ return NULL;
+ }
+-
++*/
+ fclose(fp);
+ return (struct tag *) buf;
+ }
+Index: kexec-tools-1.101/kexec/ifdown.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/ifdown.c 2004-06-09 20:55:31.000000000 +0200
++++ kexec-tools-1.101/kexec/ifdown.c 2008-02-22 20:45:27.508612989 +0100
+@@ -14,7 +14,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/socket.h>
+ #include <sys/time.h>
+-#include <sys/errno.h>
++#include <errno.h>
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+Index: kexec-tools-1.101/purgatory/Makefile
+===================================================================
+--- kexec-tools-1.101.orig/purgatory/Makefile 2005-01-08 23:36:32.000000000 +0100
++++ kexec-tools-1.101/purgatory/Makefile 2008-02-22 20:45:27.516611391 +0100
+@@ -13,7 +13,7 @@
+
+ PCFLAGS += $(call cc-option, -ffreestanding)
+ PCFLAGS += $(call cc-option, -fnobuiltin)
+-PCFLAGS += $(call cc-option, -fnostdinc)
++PCFLAGS += $(call cc-option, -nostdinc)
+ PCFLAGS += $(call cc-option, -fno-zero-initialized-in-bss)
+
+ PURGATORY_C_SRCS:=
+Index: kexec-tools-1.101/kexec/kexec-elf-rel.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/kexec-elf-rel.c 2005-01-13 14:04:21.000000000 +0100
++++ kexec-tools-1.101/kexec/kexec-elf-rel.c 2008-02-22 20:45:27.524612027 +0100
+@@ -4,7 +4,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <stdlib.h>
+-#include "elf.h"
++#include "../include/elf.h"
+ #include <boot/elf_boot.h>
+ #include "kexec.h"
+ #include "kexec-elf.h"
+Index: kexec-tools-1.101/kexec/kexec-syscall.h
+===================================================================
+--- kexec-tools-1.101.orig/kexec/kexec-syscall.h 2008-02-22 20:45:15.923611048 +0100
++++ kexec-tools-1.101/kexec/kexec-syscall.h 2008-02-22 20:45:27.524612027 +0100
+@@ -2,7 +2,7 @@
+ #define KEXEC_SYSCALL_H
+
+ #define __LIBRARY__
+-#include <syscall.h>
++/*#include <syscall.h>*/
+ #include <sys/syscall.h>
+ #include <unistd.h>
+
+@@ -21,7 +21,7 @@
+ #define LINUX_REBOOT_CMD_KEXEC_OLD 0x81726354
+ #define LINUX_REBOOT_CMD_KEXEC_OLD2 0x18263645
+ #define LINUX_REBOOT_CMD_KEXEC 0x45584543
+-
++/*
+ #ifdef __i386__
+ #define __NR_kexec_load 283
+ #endif
+@@ -43,18 +43,19 @@
+ #ifndef __NR_kexec_load
+ #error Unknown processor architecture. Needs a kexec_load syscall number.
+ #endif
+-
++*/
+ struct kexec_segment;
+-
++/*
+ static inline long kexec_load(void *entry, unsigned long nr_segments,
+ struct kexec_segment *segments, unsigned long flags)
+ {
+ return (long) syscall(__NR_kexec_load, entry, nr_segments, segments, flags);
+ }
+-
++*/
+ static inline long kexec_reboot(void)
+ {
+- return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
++ //return (long) syscall(__NR_reboot, LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
++ return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_KEXEC, 0);
+ }
+
+
+Index: kexec-tools-1.101/kexec/kexec.c
+===================================================================
+--- kexec-tools-1.101.orig/kexec/kexec.c 2008-02-22 20:45:15.923611048 +0100
++++ kexec-tools-1.101/kexec/kexec.c 2008-02-22 20:45:38.847612035 +0100
+@@ -29,9 +29,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <getopt.h>
+-#ifdef HAVE_ZLIB_H
+-#include <zlib.h>
+-#endif
++#include "zlib.h"
+ #include <sha256.h>
+ #include "kexec.h"
+ #include "kexec-syscall.h"
+@@ -383,7 +381,7 @@
+ return buf;
+ }
+
+-#if HAVE_ZLIB_H
++#if 1
+ char *slurp_decompress_file(const char *filename, off_t *r_size)
+ {
+ gzFile fp;
diff --git a/packages/kexec/kexec-tools-static_1.101.bb b/packages/kexec/kexec-tools-static_1.101.bb
index ca23917a11..5031b5f923 100644
--- a/packages/kexec/kexec-tools-static_1.101.bb
+++ b/packages/kexec/kexec-tools-static_1.101.bb
@@ -1,12 +1,23 @@
+# the binaries are statical linked against klibc
require kexec-tools.inc
-PR = "r0"
+PR = "r1"
+DEPENDS = "klibc"
-SRC_URI += "file://kexec-static.patch;patch=1"
+SRC_URI += "file://kexec-klibc.patch;patch=1"
S = "${WORKDIR}/kexec-tools-${PV}"
-PACKAGES =+ "kexec-static kdump-static"
+EXTRA_OECONF = " --without-zlib"
-FILES_kexec-static = "${sbindir}/kexec"
-FILES_kdump-static = "${sbindir}/kdump"
+export CC=${TARGET_PREFIX}klcc
+
+# standart oe cflags don't work with klcc
+export CFLAGS=""
+export CPPFLAGS=""
+export LDFLAGS=""
+
+PACKAGES =+ "kexec-klibc kdump-klibc"
+
+FILES_kexec-klibc = "${sbindir}/kexec"
+FILES_kdump-klibc = "${sbindir}/kdump"
diff --git a/packages/kexec/kexec-tools.inc b/packages/kexec/kexec-tools.inc
index 5649934a5b..f806e71480 100644
--- a/packages/kexec/kexec-tools.inc
+++ b/packages/kexec/kexec-tools.inc
@@ -7,8 +7,6 @@ DEPENDS = "virtual/kernel zlib"
inherit autotools
-export LDFLAGS = "-L${STAGING_LIBDIR}"
-EXTRA_OECONF = " --with-zlib=yes"
SRC_URI = "http://www.xmission.com/~ebiederm/files/kexec/kexec-tools-${PV}.tar.gz \
file://kexec-tools-arm.patch;patch=1 \
diff --git a/packages/kexec/kexec-tools_1.101.bb b/packages/kexec/kexec-tools_1.101.bb
index 366fad4978..f74c7bcd83 100644
--- a/packages/kexec/kexec-tools_1.101.bb
+++ b/packages/kexec/kexec-tools_1.101.bb
@@ -1,3 +1,5 @@
require kexec-tools.inc
+export LDFLAGS = "-L${STAGING_LIBDIR}"
+EXTRA_OECONF = " --with-zlib=yes"
-PR = "r4"
+PR = "r5"
diff --git a/packages/klibc/files/install.patch b/packages/klibc/files/install.patch
deleted file mode 100644
index b165e8b177..0000000000
--- a/packages/klibc/files/install.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-# These are OE specific patches which make the install stuff work
-# in the OE build environment and fix the problem that the gzip
-# stuff should be all links to one executable but end up being
-# copies
---- klibc-1.1.1/Makefile.orig 2005-12-29 14:20:09.080981353 -0800
-+++ klibc-1.1.1/Makefile 2005-12-29 14:20:25.634022970 -0800
-@@ -61,7 +61,7 @@ local-install: $(CROSS)klcc
- mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d ; \
- for r in $(KRNLSRC)/include $(KRNLOBJ)/include $(KRNLOBJ)/include2 ; do \
- [ ! -d $$r/$$d ] || \
-- cp -rfL $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
-+ cp -rf $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
- done ; \
- done
- cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(ARCH) asm
---- klibc-1.1.1/gzip/Makefile.orig 2005-12-29 18:10:00.787869930 -0800
-+++ klibc-1.1.1/gzip/Makefile 2005-12-29 18:11:21.084922705 -0800
-@@ -70,9 +70,12 @@ clean:
- spotless: clean
- rm -f *~
-
--# These should presumably be shared...
- install: all
-- $(INSTALL_EXEC) gzip gunzip zcat $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin
-+ $(INSTALL_EXEC) gzip $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin
-+ rm -f $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gunzip
-+ ln $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gzip $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gunzip
-+ rm -f $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/zcat
-+ ln $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/gzip $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)bin/zcat
-
- ifneq ($(wildcard .*.d),)
- include $(wildcard .*.d)
---- klibc-1.1.1/klibc/Makefile.orig 2005-12-30 10:39:04.504930675 -0800
-+++ klibc-1.1.1/klibc/Makefile 2005-12-30 10:39:52.755966921 -0800
-@@ -184,6 +184,7 @@ install: all
- $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)lib
- $(INSTALL_EXEC) klibc-`cat $(SOLIB).hash`.so \
- $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)lib
-+ test -z "$(INSTALLROOT)" || \
- $(INSTALL_EXEC) klibc-`cat $(SOLIB).hash`.so \
- $(INSTALLROOT)/$(SHLIBDIR)
-
diff --git a/packages/klibc/files/klibc_kexecsyscall.patch b/packages/klibc/files/klibc_kexecsyscall.patch
new file mode 100644
index 0000000000..9b2dca4738
--- /dev/null
+++ b/packages/klibc/files/klibc_kexecsyscall.patch
@@ -0,0 +1,11 @@
+--- klibc-1.5/usr/klibc/SYSCALLS.def 2007-03-04 02:52:10.000000000 +0100
++++ klibc.clean/usr/klibc/SYSCALLS.def 2008-02-22 17:12:23.663612084 +0100
+@@ -13,6 +13,8 @@
+ #include <asm/unistd.h>
+ #include <klibc/sysconfig.h>
+ #include <bitsize.h>
++#include <asm/kexec.h>
++long kexec_load(void *, unsigned long , struct kexec_segment *, unsigned long );
+
+ /*
+ * Process-related syscalls
diff --git a/packages/klibc/files/staging.patch b/packages/klibc/files/staging.patch
new file mode 100644
index 0000000000..f5ce23af9f
--- /dev/null
+++ b/packages/klibc/files/staging.patch
@@ -0,0 +1,130 @@
+diff -ru klibc.clean/Makefile klibc-1.5/Makefile
+--- klibc.clean/Makefile 2008-02-08 22:37:36.000000000 +0100
++++ klibc-1.5/Makefile 2008-02-15 12:46:48.000000000 +0100
+@@ -33,7 +33,7 @@
+ export PERL := perl
+
+ # Location for installation
+-export prefix = /usr
++export prefix = $(INST)
+ export bindir = $(prefix)/bin
+ export libdir = $(prefix)/lib
+ export mandir = $(prefix)/man
+diff -ru klibc.clean/scripts/Kbuild.install klibc-1.5/scripts/Kbuild.install
+--- klibc.clean/scripts/Kbuild.install 2008-02-08 22:37:36.000000000 +0100
++++ klibc-1.5/scripts/Kbuild.install 2008-02-18 22:36:35.434193918 +0100
+@@ -88,14 +88,11 @@
+ header:
+ $(Q)echo " INSTALL headers + man pages to $(INSTALLROOT)$(INSTALLDIR)"
+ $(Q)mkdir -p $(INSTALLROOT)$(bindir)
+- $(Q)mkdir -p $(INSTALLROOT)$(mandir)/man1
+- $(Q)mkdir -p $(INSTALLROOT)$(SHLIBDIR)
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)
+ $(Q)-rm -rf $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
+ $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
+- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
+- $(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
++ $(Q)-set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
+ mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
+ for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
+ $(KLIBCKERNELOBJ)/include2 ; do \
+@@ -106,7 +103,6 @@
+ done
+ $(Q)cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(KLIBCARCH) asm
+ $(Q)cp -rf usr/include/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/.
+- $(Q)$(install-data) $(srctree)/klcc/klcc.1 $(INSTALLROOT)$(mandir)/man1/$(KCROSS)klcc.1
+ $(Q)$(install-bin) $(objtree)/klcc/$(KCROSS)klcc $(INSTALLROOT)$(bindir)
+
+ footer: header
+diff -ru klibc.clean/usr/dash/Kbuild klibc-1.5/usr/dash/Kbuild
+--- klibc.clean/usr/dash/Kbuild 2008-02-08 22:37:41.000000000 +0100
++++ klibc-1.5/usr/dash/Kbuild 2008-02-15 12:18:08.000000000 +0100
+@@ -107,5 +107,3 @@
+ $(obj)/arith.c: $(obj)/arith.h
+ $(Q):
+
+-# Targets to install
+-install-y := sh.shared
+diff -ru klibc.clean/usr/gzip/Kbuild klibc-1.5/usr/gzip/Kbuild
+--- klibc.clean/usr/gzip/Kbuild 2008-02-08 22:37:42.000000000 +0100
++++ klibc-1.5/usr/gzip/Kbuild 2008-02-15 12:18:24.000000000 +0100
+@@ -21,5 +21,3 @@
+ # Cleaning
+ targets := gzip gzip.g gunzip zcat
+
+-# Targets to install
+-install-y := gzip gunzip zcat
+diff -ru klibc.clean/usr/kinit/fstype/Kbuild klibc-1.5/usr/kinit/fstype/Kbuild
+--- klibc.clean/usr/kinit/fstype/Kbuild 2008-02-08 22:37:40.000000000 +0100
++++ klibc-1.5/usr/kinit/fstype/Kbuild 2008-02-15 12:26:20.000000000 +0100
+@@ -21,5 +21,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+diff -ru klibc.clean/usr/kinit/ipconfig/Kbuild klibc-1.5/usr/kinit/ipconfig/Kbuild
+--- klibc.clean/usr/kinit/ipconfig/Kbuild 2008-02-08 22:37:40.000000000 +0100
++++ klibc-1.5/usr/kinit/ipconfig/Kbuild 2008-02-15 12:26:33.000000000 +0100
+@@ -27,5 +27,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+diff -ru klibc.clean/usr/kinit/Kbuild klibc-1.5/usr/kinit/Kbuild
+--- klibc.clean/usr/kinit/Kbuild 2008-02-08 22:37:40.000000000 +0100
++++ klibc-1.5/usr/kinit/Kbuild 2008-02-15 12:18:43.000000000 +0100
+@@ -33,5 +33,3 @@
+ subdir- := fstype ipconfig nfsmount resume run-init
+
+
+-# install binary
+-install-y := kinit kinit.shared
+diff -ru klibc.clean/usr/kinit/nfsmount/Kbuild klibc-1.5/usr/kinit/nfsmount/Kbuild
+--- klibc.clean/usr/kinit/nfsmount/Kbuild 2008-02-08 22:37:40.000000000 +0100
++++ klibc-1.5/usr/kinit/nfsmount/Kbuild 2008-02-15 12:26:46.000000000 +0100
+@@ -23,5 +23,3 @@
+
+ clean-dirs := static shared
+
+-# Install binary
+-install-y := $(shared-y)
+diff -ru klibc.clean/usr/kinit/resume/Kbuild klibc-1.5/usr/kinit/resume/Kbuild
+--- klibc.clean/usr/kinit/resume/Kbuild 2008-02-08 22:37:39.000000000 +0100
++++ klibc-1.5/usr/kinit/resume/Kbuild 2008-02-15 12:27:01.000000000 +0100
+@@ -26,5 +26,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+diff -ru klibc.clean/usr/kinit/run-init/Kbuild klibc-1.5/usr/kinit/run-init/Kbuild
+--- klibc.clean/usr/kinit/run-init/Kbuild 2008-02-08 22:37:39.000000000 +0100
++++ klibc-1.5/usr/kinit/run-init/Kbuild 2008-02-15 12:27:12.000000000 +0100
+@@ -21,5 +21,3 @@
+ # Cleaning
+ clean-dirs := static shared
+
+-# install binary
+-install-y := $(shared-y)
+Only in klibc-1.5/usr/klibc/arch/arm: klib.list
+diff -ru klibc.clean/usr/klibc/Kbuild klibc-1.5/usr/klibc/Kbuild
+--- klibc.clean/usr/klibc/Kbuild 2008-02-08 22:37:49.000000000 +0100
++++ klibc-1.5/usr/klibc/Kbuild 2008-02-15 12:17:24.000000000 +0100
+@@ -175,5 +175,3 @@
+ $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib))
+ $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
+ $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)lib
+- $(Q)$(install-lib) $(obj)/klibc-$(SOLIBHASH).so \
+- $(INSTALLROOT)$(SHLIBDIR)
+diff -ru klibc.clean/usr/utils/Kbuild klibc-1.5/usr/utils/Kbuild
+--- klibc.clean/usr/utils/Kbuild 2008-02-08 22:37:37.000000000 +0100
++++ klibc-1.5/usr/utils/Kbuild 2008-02-15 12:17:51.000000000 +0100
+@@ -64,5 +64,3 @@
+ # Clean deletes the static and shared dir
+ clean-dirs := static shared
+
+-# install only install the shared binaries
+-install-y := $(shared-y) shared/reboot shared/poweroff
diff --git a/packages/klibc/klibc-common.inc b/packages/klibc/klibc-common.inc
index 146968eaf0..87f806dfe2 100644
--- a/packages/klibc/klibc-common.inc
+++ b/packages/klibc/klibc-common.inc
@@ -5,31 +5,9 @@ use with initramfs. It is deliberately written for small size, \
minimal entaglement, and portability, not speed."
LICENSE = "BSD-ADV"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/klibc/Stable/klibc-${PV}.tar.bz2"
-SRC_URI += "file://install.patch;patch=1"
S = "${WORKDIR}/klibc-${PV}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
-# for the correct kernel staging path
-# inherit module-base
-
-EXTRA_OEMAKE = "'ARCH=${KLIBC_ARCH}' \
- 'CROSS=${TARGET_PREFIX}' \
- 'CC=${HOST_PREFIX}gcc' \
- 'LD=${HOST_PREFIX}ld' \
- 'AR=${AR}' \
- 'RANLIB=${RANLIB}' \
- 'NM=${TARGET_PREFIX}nm' \
- 'STRIP=echo' \
- 'SHLIBDIR=/lib' \
- 'HOST_CC=${BUILD_CC}' \
- 'HOST_CFLAGS=${BUILD_CFLAGS}' \
- 'HOST_LDFLAGS=${BUILD_LDFLAGS}' \
- 'HOST_LIBS=' \
- 'LDFLAGS=' \
- 'ARCHREQFLAGS=${HOST_CC_ARCH}' \
- 'OPTFLAGS=${TARGET_CFLAGS}' \
- 'mandir=${mandir}'"
-
KLIBC_ARCH = '${TARGET_ARCH}'
KLIBC_ARCH_armeb = 'arm'
KLIBC_ARCH_mipsel = 'mips'
@@ -38,25 +16,14 @@ KLIBC_ARCH_mipsel = 'mips'
# could be fixed, but for the moment:
ARM_INSTRUCTION_SET = "arm"
-TARGET_CFLAGS := "${@oe_filter_out('-I\S+', '${TARGET_CFLAGS}', d)} -I${STAGING_KERNEL_DIR}/include"
-
-INSTALLDIR = "/usr/lib/klibc"
-INSTALLPREFIX = "${INSTALLDIR}/${TARGET_PREFIX}"
-INSTALLBINDIR = "${INSTALLPREFIX}bin"
-INSTALLLIBDIR = "${INSTALLPREFIX}lib"
-INSTALLINCDIR = "${INSTALLPREFIX}include"
+SRC_URI_append_linux-gnueabi = "\
+ file://klibc-config-eabi.patch;patch=1"
-PACKAGES = "${PN}-dbg ${PN} ${PN}-dev ${PN}-doc"
-
-FILES_${PN} = "/lib/*.so* ${INSTALLBINDIR}"
-FILES_${PN}-dev = "/usr/bin ${INSTALLINCDIR} ${INSTALLLIBDIR}"
+EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
+ 'CROSS_COMPILE=${TARGET_PREFIX}' \
+ "
do_configure () {
ln -sf ${STAGING_KERNEL_DIR} linux
}
-do_install() {
- # The installed -dev won't work because it has the cross compiler
- # path compiled in.
- oe_runmake 'INSTALLROOT=${D}' install
-}
diff --git a/packages/klibc/klibc-utils-static_1.5.bb b/packages/klibc/klibc-utils-static_1.5.bb
index bbb3248158..7248576c9f 100644
--- a/packages/klibc/klibc-utils-static_1.5.bb
+++ b/packages/klibc/klibc-utils-static_1.5.bb
@@ -1,22 +1,21 @@
require klibc-common.inc
-PR = "r3"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/libs/klibc/Stable/klibc-${PV}.tar.bz2"
+PR = "r4"
SRC_URI_append_linux-gnueabi = "\
file://klibc-config-eabi.patch;patch=1"
-EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
- 'CROSS_COMPILE=${TARGET_PREFIX}' \
- "
-
+# We only want the static utils. klibc build both. So we install only what we want.
do_install() {
install -d ${D}${base_bindir}
install -m 755 usr/dash/sh ${D}${base_bindir}
install -m 755 usr/gzip/gzip ${D}${base_bindir}
- ln -s ${D}${base_bindir}/gzip ${D}${base_bindir}/gunzip
- ln -s ${D}${base_bindir}/gzip ${D}${base_bindir}/zcat
+ install -m 755 usr/kinit/kinit ${D}${base_bindir}
+ install -m 755 usr/kinit/fstype/static/fstype ${D}${base_bindir}
+ install -m 755 usr/kinit/ipconfig/static/ipconfig ${D}${base_bindir}
+ install -m 755 usr/kinit/nfsmount/static/nfsmount ${D}${base_bindir}
+ install -m 755 usr/kinit/resume/static/resume ${D}${base_bindir}
+ install -m 755 usr/kinit/run-init/static/run-init ${D}${base_bindir}
install -m 755 usr/utils/static/cat ${D}${base_bindir}
install -m 755 usr/utils/static/chroot ${D}${base_bindir}
install -m 755 usr/utils/static/cpio ${D}${base_bindir}
@@ -28,31 +27,50 @@ do_install() {
install -m 755 usr/utils/static/ln ${D}${base_bindir}
install -m 755 usr/utils/static/minips ${D}${base_bindir}
install -m 755 usr/utils/static/mkdir ${D}${base_bindir}
+ install -m 755 usr/utils/static/mkfifo ${D}${base_bindir}
install -m 755 usr/utils/static/mknod ${D}${base_bindir}
install -m 755 usr/utils/static/mount ${D}${base_bindir}
install -m 755 usr/utils/static/nuke ${D}${base_bindir}
install -m 755 usr/utils/static/pivot_root ${D}${base_bindir}
+ install -m 755 usr/utils/static/poweroff ${D}${base_bindir}
install -m 755 usr/utils/static/readlink ${D}${base_bindir}
+ install -m 755 usr/utils/static/reboot ${D}${base_bindir}
install -m 755 usr/utils/static/sleep ${D}${base_bindir}
install -m 755 usr/utils/static/true ${D}${base_bindir}
install -m 755 usr/utils/static/umount ${D}${base_bindir}
install -m 755 usr/utils/static/uname ${D}${base_bindir}
+ cd ${D}${base_bindir}
+ ln -s gzip gunzip
+ ln -s gzip zcat
+ cd -
}
PACKAGES = "klibc-utils-static-sh klibc-utils-static-gzip \
- klibc-utils-static-cat klibc-utils-static-chroot \
+ klibc-utils-static-kinit klibc-utils-static-fstype \
+ klibc-utils-static-ipconfig klibc-utils-static-nfsmount \
+ klibc-utils-static-resume klibc-utils-static-run-init \
+ klibc-utils-static-cat klibc-utils-static-chroot \
klibc-utils-static-cpio klibc-utils-static-dd \
klibc-utils-static-false klibc-utils-static-halt \
klibc-utils-static-insmod klibc-utils-static-kill \
klibc-utils-static-ln klibc-utils-static-minips \
- klibc-utils-static-mkdir klibc-utils-static-mknod \
- klibc-utils-static-mount klibc-utils-static-nuke \
- klibc-utils-static-pivot-root klibc-utils-static-readlink \
- klibc-utils-static-sleep klibc-utils-static-true \
- klibc-utils-static-umount klibc-utils-static-uname "
+ klibc-utils-static-mkdir klibc-utils-static-mkfifo \
+ klibc-utils-static-mknod klibc-utils-static-mount \
+ klibc-utils-static-nuke klibc-utils-static-pivot-root \
+ klibc-utils-static-poweroff klibc-utils-static-readlink \
+ klibc-utils-static-reboot klibc-utils-static-sleep \
+ klibc-utils-static-true klibc-utils-static-umount \
+ klibc-utils-static-uname \
+ "
FILES_klibc-utils-static-sh = "${base_bindir}/sh"
FILES_klibc-utils-static-gzip = "${base_bindir}/gzip ${base_bindir}/gunzip ${base_bindir}/zcat"
+FILES_klibc-utils-static-kinit = "${base_bindir}/kinit"
+FILES_klibc-utils-static-fstype = "${base_bindir}/fstype"
+FILES_klibc-utils-static-ipconfig = "${base_bindir}/ipconfig"
+FILES_klibc-utils-static-nfsmount = "${base_bindir}/nfsmount"
+FILES_klibc-utils-static-resume = "${base_bindir}/resume"
+FILES_klibc-utils-static-run-init = "${base_bindir}/run-init"
FILES_klibc-utils-static-cat = "${base_bindir}/cat"
FILES_klibc-utils-static-chroot = "${base_bindir}/chroot"
FILES_klibc-utils-static-cpio = "${base_bindir}/cpio"
@@ -64,11 +82,14 @@ FILES_klibc-utils-static-kill = "${base_bindir}/kill"
FILES_klibc-utils-static-ln = "${base_bindir}/ln"
FILES_klibc-utils-static-minips = "${base_bindir}/minips"
FILES_klibc-utils-static-mkdir = "${base_bindir}/mkdir"
+FILES_klibc-utils-static-mkfifo = "${base_bindir}/mkfifo"
FILES_klibc-utils-static-mknod = "${base_bindir}/mknod"
FILES_klibc-utils-static-mount = "${base_bindir}/mount"
FILES_klibc-utils-static-nuke = "${base_bindir}/nuke"
FILES_klibc-utils-static-pivot-root = "${base_bindir}/pivot_root"
+FILES_klibc-utils-static-poweroff = "${base_bindir}/poweroff"
FILES_klibc-utils-static-readlink = "${base_bindir}/readlink"
+FILES_klibc-utils-static-reboot = "${base_bindir}/reboot"
FILES_klibc-utils-static-sleep = "${base_bindir}/sleep"
FILES_klibc-utils-static-true = "${base_bindir}/true"
FILES_klibc-utils-static-umount = "${base_bindir}/umount"
diff --git a/packages/klibc/klibc.inc b/packages/klibc/klibc.inc
index efaf298e36..d7065f1e67 100644
--- a/packages/klibc/klibc.inc
+++ b/packages/klibc/klibc.inc
@@ -1,17 +1,140 @@
require klibc-common.inc
-STAGING_KLIBC_DIR = "${STAGING_DIR_HOST}/klibc"
+SRC_URI += "file://staging.patch;patch=1 \
+ file://klibc_kexecsyscall.patch;patch=1 \
+ "
+SRC_URI_append_linux-gnueabi = "file://klibc-config-eabi.patch;patch=1"
+# we want only the shared programms and the lib so we chose them manually
+do_install() {
+ install -d ${D}${base_bindir}
+ install -m 755 usr/dash/sh.shared ${D}${base_bindir}/sh
+ install -m 755 usr/gzip/gzip ${D}${base_bindir}
+ install -m 755 usr/kinit/kinit.shared ${D}${base_bindir}/kinit
+ install -m 755 usr/kinit/fstype/shared/fstype ${D}${base_bindir}
+ install -m 755 usr/kinit/ipconfig/shared/ipconfig ${D}${base_bindir}
+ install -m 755 usr/kinit/nfsmount/shared/nfsmount ${D}${base_bindir}
+ install -m 755 usr/kinit/resume/shared/resume ${D}${base_bindir}
+ install -m 755 usr/kinit/run-init/shared/run-init ${D}${base_bindir}
+ install -m 755 usr/utils/shared/cat ${D}${base_bindir}
+ install -m 755 usr/utils/shared/chroot ${D}${base_bindir}
+ install -m 755 usr/utils/shared/cpio ${D}${base_bindir}
+ install -m 755 usr/utils/shared/dd ${D}${base_bindir}
+ install -m 755 usr/utils/shared/false ${D}${base_bindir}
+ install -m 755 usr/utils/shared/halt ${D}${base_bindir}
+ install -m 755 usr/utils/shared/insmod ${D}${base_bindir}
+ install -m 755 usr/utils/shared/kill ${D}${base_bindir}
+ install -m 755 usr/utils/shared/ln ${D}${base_bindir}
+ install -m 755 usr/utils/shared/minips ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mkdir ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mkfifo ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mknod ${D}${base_bindir}
+ install -m 755 usr/utils/shared/mount ${D}${base_bindir}
+ install -m 755 usr/utils/shared/nuke ${D}${base_bindir}
+ install -m 755 usr/utils/shared/pivot_root ${D}${base_bindir}
+ install -m 755 usr/utils/shared/poweroff ${D}${base_bindir}
+ install -m 755 usr/utils/shared/readlink ${D}${base_bindir}
+ install -m 755 usr/utils/shared/reboot ${D}${base_bindir}
+ install -m 755 usr/utils/shared/sleep ${D}${base_bindir}
+ install -m 755 usr/utils/shared/true ${D}${base_bindir}
+ install -m 755 usr/utils/shared/umount ${D}${base_bindir}
+ install -m 755 usr/utils/shared/uname ${D}${base_bindir}
+
+ install -d ${D}${base_libdir}
+ install -m 755 usr/klibc/klibc-*.so ${D}${base_libdir}
+ cd ${D}${base_libdir}
+ ln -s klibc-*.so klibc.so
+ cd -
+ cd ${D}${base_bindir}
+ ln -s gzip gunzip
+ ln -s gzip zcat
+ cd -
+}
+
+export INST=${STAGING_DIR_TARGET}
do_stage() {
- rm -rf "${STAGING_KLIBC_DIR}"
- oe_runmake 'prefix=${STAGING_KLIBC_DIR}' \
- 'bindir=${STAGING_BINDIR}' \
- 'mandir=${STAGING_DIR_HOST}${layout_mandir}' \
- install
- # The following is sufficient, at least in klibc 1.1.1 to make klcc
- # use the staged libraries and include files.
- sed -i -e 's@^\$prefix = .*$@\$prefix = "${STAGING_KLIBC_DIR}/lib/klibc";@' \
- '${STAGING_BINDIR}/${TARGET_PREFIX}klcc'
- # Perhaps other binaries need to be moved to cross?
- mv '${STAGING_BINDIR}/${TARGET_PREFIX}klcc' '${STAGING_BINDIR_CROSS}'
+ oe_runmake install
+ cp '${STAGING_DIR_TARGET}/bin/klcc' '${CROSS_DIR}/bin/${TARGET_PREFIX}klcc'
}
+
+PACKAGES = "${PN} klibc-utils-sh klibc-utils-kinit \
+ klibc-utils-fstype klibc-utils-ipconfig \
+ klibc-utils-nfsmount klibc-utils-resume \
+ klibc-utils-run-init klibc-utils-cat \
+ klibc-utils-chroot klibc-utils-cpio \
+ klibc-utils-dd klibc-utils-false \
+ klibc-utils-halt klibc-utils-insmod \
+ klibc-utils-kill klibc-utils-ln \
+ klibc-utils-minips klibc-utils-mkdir \
+ klibc-utils-mkfifo klibc-utils-mknod \
+ klibc-utils-mount klibc-utils-nuke \
+ klibc-utils-pivot-root klibc-utils-poweroff \
+ klibc-utils-readlink klibc-utils-reboot \
+ klibc-utils-sleep klibc-utils-true \
+ klibc-utils-umount klibc-utils-uname \
+ klibc-utils-gzip"
+
+FILES_${PN} = "${base_libdir}/klibc*.so"
+FILES_klibc-utils-sh = "${base_bindir}/sh"
+FILES_klibc-utils-static-gzip = "${base_bindir}/gzip ${base_bindir}/gunzip ${base_bindir}/zcat"
+FILES_klibc-utils-kinit = "${base_bindir}/kinit"
+FILES_klibc-utils-fstype = "${base_bindir}/fstype"
+FILES_klibc-utils-ipconfig = "${base_bindir}/ipconfig"
+FILES_klibc-utils-nfsmount = "${base_bindir}/nfsmount"
+FILES_klibc-utils-resume = "${base_bindir}/resume"
+FILES_klibc-utils-run-init = "${base_bindir}/run-init"
+FILES_klibc-utils-cat = "${base_bindir}/cat"
+FILES_klibc-utils-chroot = "${base_bindir}/chroot"
+FILES_klibc-utils-cpio = "${base_bindir}/cpio"
+FILES_klibc-utils-dd = "${base_bindir}/dd"
+FILES_klibc-utils-false = "${base_bindir}/false"
+FILES_klibc-utils-halt = "${base_bindir}/halt"
+FILES_klibc-utils-insmod = "${base_bindir}/insmod"
+FILES_klibc-utils-kill = "${base_bindir}/kill"
+FILES_klibc-utils-ln = "${base_bindir}/ln"
+FILES_klibc-utils-minips = "${base_bindir}/minips"
+FILES_klibc-utils-mkdir = "${base_bindir}/mkdir"
+FILES_klibc-utils-mkfifo = "${base_bindir}/mkfifo"
+FILES_klibc-utils-mknod = "${base_bindir}/mknod"
+FILES_klibc-utils-mount = "${base_bindir}/mount"
+FILES_klibc-utils-nuke = "${base_bindir}/nuke"
+FILES_klibc-utils-pivot-root = "${base_bindir}/pivot_root"
+FILES_klibc-utils-poweroff = "${base_bindir}/poweroff"
+FILES_klibc-utils-readlink = "${base_bindir}/readlink"
+FILES_klibc-utils-reboot = "${base_bindir}/reboot"
+FILES_klibc-utils-sleep = "${base_bindir}/sleep"
+FILES_klibc-utils-true = "${base_bindir}/true"
+FILES_klibc-utils-umount = "${base_bindir}/umount"
+FILES_klibc-utils-uname = "${base_bindir}/uname"
+
+# Yes we want exactly the klibc that was compiled with the utils
+RDEPENDS_klibc-utils-sh = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-kinit = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-fstype = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-ipconfig = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-nfsmount = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-resume = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-run-init = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-cat = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-chroot = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-cpio = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-dd = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-false = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-halt = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-insmod = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-kill = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-ln = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-minips = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mkdir = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mkfifo = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mknod = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-mount = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-nuke = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-pivot-root = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-poweroff = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-readlink = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-reboot = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-sleep = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-true = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-umount = "${PN} (=${PV}-${PR})"
+RDEPENDS_klibc-utils-uname = "${PN} (=${PV}-${PR})"
diff --git a/packages/klibc/klibc_0.190.bb b/packages/klibc/klibc_0.190.bb
deleted file mode 100644
index cd1ba9d56e..0000000000
--- a/packages/klibc/klibc_0.190.bb
+++ /dev/null
@@ -1 +0,0 @@
-require klibc.inc
diff --git a/packages/klibc/klibc_1.1.1.bb b/packages/klibc/klibc_1.5.bb
index ff715765d5..a8f054cd23 100644
--- a/packages/klibc/klibc_1.1.1.bb
+++ b/packages/klibc/klibc_1.5.bb
@@ -1,3 +1,2 @@
require klibc.inc
-
PR = "r1"