summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Black <dragonheart@gentoo.org>2004-02-03 01:10:36 +0000
committerDaniel Black <dragonheart@gentoo.org>2004-02-03 01:10:36 +0000
commit08f94fd539ad3ff7a1ce4c65d7f9ccd49b50fd30 (patch)
tree3f6755fb7e10c32cc4f9419e2715760a1137042e /sys-devel/uclibc-buildroot
parentheader fix (diff)
downloadhistorical-08f94fd539ad3ff7a1ce4c65d7f9ccd49b50fd30.tar.gz
historical-08f94fd539ad3ff7a1ce4c65d7f9ccd49b50fd30.tar.bz2
historical-08f94fd539ad3ff7a1ce4c65d7f9ccd49b50fd30.zip
digest fix plus a lot of others. Still work in progress
Diffstat (limited to 'sys-devel/uclibc-buildroot')
-rw-r--r--sys-devel/uclibc-buildroot/ChangeLog8
-rw-r--r--sys-devel/uclibc-buildroot/Manifest7
-rw-r--r--sys-devel/uclibc-buildroot/files/Makefile-buildroot-helpers.patch29
-rw-r--r--sys-devel/uclibc-buildroot/files/digest-uclibc-buildroot-200401312
-rw-r--r--sys-devel/uclibc-buildroot/uclibc-buildroot-20040131.ebuild142
5 files changed, 82 insertions, 106 deletions
diff --git a/sys-devel/uclibc-buildroot/ChangeLog b/sys-devel/uclibc-buildroot/ChangeLog
index 85d845573be3..d611d11167ef 100644
--- a/sys-devel/uclibc-buildroot/ChangeLog
+++ b/sys-devel/uclibc-buildroot/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-devel/uclibc-buildroot
# Copyright 2000-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/uclibc-buildroot/ChangeLog,v 1.1 2004/02/01 06:55:03 pebenito Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/uclibc-buildroot/ChangeLog,v 1.2 2004/02/03 01:10:20 dragonheart Exp $
+
+ 03 Feb 2004; Daniel Black <dragonheart@gentoo.org>
+ uclibc-buildroot-20040131.ebuild, files/Makefile-buildroot-helpers.patch,
+ files/digest-uclibc-buildroot-20040131:
+ Fixed a lot of bugs. Still not working properly. EXPERIMENTAL Work in progress
+ still applies
*uclibc-buildroot-20040131 (01 Feb 2004)
diff --git a/sys-devel/uclibc-buildroot/Manifest b/sys-devel/uclibc-buildroot/Manifest
index fa8ee36098d4..243e44d7bfa7 100644
--- a/sys-devel/uclibc-buildroot/Manifest
+++ b/sys-devel/uclibc-buildroot/Manifest
@@ -1,6 +1,7 @@
-MD5 55f09ff1ce85c19ef29f92dbcbfa009d ChangeLog 493
+MD5 84b57c16d3f3c8094984d9dc97e68fdd ChangeLog 765
MD5 bebf5ce8bd6516ef42239ea5b8de3e0b metadata.xml 262
-MD5 ec6957e1263b08c93ad9ca507d4bcd12 uclibc-buildroot-20040131.ebuild 15403
+MD5 6a6de920677688dee08676ffb48da417 uclibc-buildroot-20040131.ebuild 13331
+MD5 b8ec0025f826b1c01cbcb1b1cc018c18 files/digest-uclibc-buildroot-20040131 766
MD5 fed0ccb5a3b2aefd4671c2e470dadeeb files/uClibc-0.9.26-Makefile.patch 1764
MD5 4f9f87ac7690d24d225c32d6804894a8 files/uClibc-0.9.26-pie-option.patch 863
-MD5 47e5b508e1686ea3bf55be56d92254d7 files/digest-uclibc-buildroot-20040131 766
+MD5 57ccd7c3d467bafb128bee068a4925de files/Makefile-buildroot-helpers.patch 859
diff --git a/sys-devel/uclibc-buildroot/files/Makefile-buildroot-helpers.patch b/sys-devel/uclibc-buildroot/files/Makefile-buildroot-helpers.patch
new file mode 100644
index 000000000000..0ea70d7bbafb
--- /dev/null
+++ b/sys-devel/uclibc-buildroot/files/Makefile-buildroot-helpers.patch
@@ -0,0 +1,29 @@
+# ADDED BY the uClibc-buildroot - ebuild.
+
+patched: $(LINUX_DIR)/.unpacked $(BUILD_DIR) \
+ $(STAGING_DIR) $(TARGET_DIR) $(TOOL_BUILD_DIR) \
+ $(GCC_DIR)/.patched $(BINUTILS_DIR)/.patched \
+ $(UCLIBC_DIR)/.unpacked
+
+uclibc-defconfig:
+ touch $(UCLIBC_DIR)/.configured
+
+# $(MAKE) -C $(UCLIBC_DIR) HAVE_DOT_CONFIG=y headers shared
+
+gcchacks: $(GCC_DIR)/.gcc3_3_build_hacks
+
+
+#TO FINISH
+
+all-compile: uclibc-defconfig $(BINUTILS_DIR1)/binutils/objdump \
+ $(GCC_BUILD_DIR1)/.compiled
+
+extras-compile: $(TINYLOGIN_DIR)/tinylogin
+ $(MAKE) CC=$(TARGET_CC) CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
+ -C $(BUSYBOX_DIR)
+
+all-install: $(STAGING_DIR) $(TARGET_DIR) \
+ $(STAGING_DIR)/lib/libc.a $(STAGING_DIR)/bin/$(ARCH)-linux-gcc
+ $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(STAGING_DIR) install_dev
+
+extras-install: $(TARGET_DIR)/bin/busybox $(TARGET_DIR)/bin/tinylogin
diff --git a/sys-devel/uclibc-buildroot/files/digest-uclibc-buildroot-20040131 b/sys-devel/uclibc-buildroot/files/digest-uclibc-buildroot-20040131
index b53563c0ec4b..8c5c6a75f993 100644
--- a/sys-devel/uclibc-buildroot/files/digest-uclibc-buildroot-20040131
+++ b/sys-devel/uclibc-buildroot/files/digest-uclibc-buildroot-20040131
@@ -1,4 +1,4 @@
-MD5 011b436330f6e1760fe91a9058b0c377 gcc-3.3.2.tar.bz2 23554800
+MD5 65999f654102f5438ac8562d13a6eced gcc-3.3.2.tar.bz2 23585904
MD5 8f6c56a3239051e68be5469412b43f32 buildroot-20040131.tar.bz2 446486
MD5 71b99dba3045a359dc314dbebedcf502 binutils-2.14.90.0.6.tar.bz2 10399066
MD5 164372c3b7c1d43f00a0c66d893a2a10 kernel-headers-2.4.21.tar.bz2 3776596
diff --git a/sys-devel/uclibc-buildroot/uclibc-buildroot-20040131.ebuild b/sys-devel/uclibc-buildroot/uclibc-buildroot-20040131.ebuild
index 6d2c745f83f7..d03eb68efad6 100644
--- a/sys-devel/uclibc-buildroot/uclibc-buildroot-20040131.ebuild
+++ b/sys-devel/uclibc-buildroot/uclibc-buildroot-20040131.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/uclibc-buildroot/uclibc-buildroot-20040131.ebuild,v 1.1 2004/02/01 06:55:03 pebenito Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/uclibc-buildroot/uclibc-buildroot-20040131.ebuild,v 1.2 2004/02/03 01:10:20 dragonheart Exp $
inherit eutils crosscompile
@@ -13,7 +13,7 @@ TINYLOGINVER=1.4
DESCRIPTION="Embedded root file system"
HOMEPAGE="http://www.uclibc.org/"
-SRC_URI="mirror://gnu/gcc/releases/gcc/gcc-${GCCVER}/gcc-${GCCVER}.tar.bz2
+SRC_URI="mirror://gnu/gcc/gcc-${GCCVER}/gcc-${GCCVER}.tar.bz2
http://dev.gentoo.org/~dragonheart/buildroot-${PV}.tar.bz2
mirror://kernel/linux/devel/binutils/binutils-${BINUTILSVER}.tar.bz2
mirror://kernel/linux/libs/uclibc/toolchain/kernel-headers-2.4.21.tar.bz2
@@ -43,29 +43,33 @@ LICENSE="LGPL-2"
# NOTE - cross-setslot is for applications not compilers
#
# "crosstarget" from crosscompile.eclass is equal to below
-if [ -n "${CCHOST}" ] && [ "${CHOST}" != "${CCHOST}" ];
-then
- if [ -n "${TARGET_ARCH}" ]
- then
- SLOT="${TARGET_ARCH}-${CCHOST}"
- else
- SLOT="${CCHOST}"
- fi
-else
- if [ -n "${TARGET_ARCH}" ]
- then
- SLOT="${TARGET_ARCH}"
- else
+#if [ -n "${CCHOST}" ] && [ "${CHOST}" != "${CCHOST}" ];
+#then
+# if [ -n "${TARGET_ARCH}" ]
+# then
+# SLOT="${TARGET_ARCH}-${CCHOST}"
+# else
+# SLOT="${CCHOST}"
+# fi
+#else
+# if [ -n "${TARGET_ARCH}" ]
+# then
+# SLOT="${TARGET_ARCH}"
+# else
SLOT="0"
- fi
-fi
+# fi
+#fi
-IUSE="nls ipv6 debug nommu fullrpc pie softfloat"
+# ONLY single slot support since only one version of package can exist in db.
+
+
+IUSE="nls ipv6 debug nommu fullrpc pie propolice softfloat"
# Local use flags
# nommu = No memory management unit on target architecture
# fullrpc = defines xdr functions and some lesser used rpc stuff. Required for NFS
# pie = enforce no text relocation support in uClibc (x86 only)
+# propolice = Stack-Smashing Protecto
# softfloat = software floating point calculations
@@ -163,8 +167,6 @@ src_unpack() {
cd ${S}
- [ `use pie` && TARGETARCH!="i386" ] && die "pie use flag can only be used on i386 architectures"
-
sed -i -e "s/^ARCH:=\(.*\)/#ARCH:=\1/g" Makefile
sed -i -e "s/^#ARCH:=\(i386\)/ARCH:=${TARGETARCH}\n#ARCH:=\1/1" Makefile
@@ -188,63 +190,13 @@ src_unpack() {
|| sed -i -e "s/^SOFT_FLOAT:=.*/SOFT_FLOAT:=false/" Makefile
- #Version fix for busybox
- #
- #sed -i -e "s#^BUSYBOX_DIR:=\(.*\)/busybox.*#BUSYBOX_DIR:=\1/busybox-${BUSYBOXVER}#" \
- # -e "s#^BUSYBOX_SOURCE:=busybox-.*#BUSYBOX_SOURCE:=busybox-${BUSYBOXVER}.tar.gz#" \
- # -e "s#^BUSYBOX_UNZIP.*#BUSYBOX_UNZIP:=gzcat#" make/busybox.mk
-
-
# Tinylogin fix.
sed -i -e "s#^USE_TINYLOGIN_SNAPSHOT=.*#USE_TINYLOGIN_SNAPSHOT=false#" make/tinylogin.mk
# TODO (maybe?) fix HOSTARCH:= in Makefile
- cat << EOF >> Makefile
-
-# ADDED BY the uClibc-buildroot - ebuild.
-
-patched: \$(LINUX_DIR)/.unpacked \$(BUILD_DIR) \
- \$(STAGING_DIR) \$(TARGET_DIR) \$(TOOL_BUILD_DIR) \
- \$(GCC_DIR)/.patched \$(BINUTILS_DIR)/.patched \
- \$(UCLIBC_DIR)/.unpacked
-
-# \$(TOOL_BUILD_DIR) \
-#
-#busybox-defconf:
-# \$(MAKE) CC=\$(TARGET_CC) CROSS="\$(TARGET_CROSS)" -C \$(BUSYBOX_DIR) defconfig
-# touch \$(BUSYBOX_DIR)/.configured
-
-#busybox-oldconf:
-# cp \$(BUSYBOX_CONFIG) \$(BUSYBOX_DIR)/Config.h
-# \$(MAKE) CC=\$(TARGET_CC) CROSS="\$(TARGET_CROSS)" -C \$(BUSYBOX_DIR) oldconfig
-# touch \$(BUSYBOX_DIR)/.configured
-
-uclibc-defconfig:
- touch \$(UCLIBC_DIR)/.configured
-
-# \$(MAKE) -C \$(UCLIBC_DIR) HAVE_DOT_CONFIG=y headers shared
-
-gcchacks: \$(GCC_DIR)/.gcc3_3_build_hacks
-
-
-#TO FINISH
-
-all-compile: uclibc-defconfig \$(BINUTILS_DIR1)/binutils/objdump \
- \$(GCC_BUILD_DIR1)/.compiled
-
-extras-compile: \$(TINYLOGIN_DIR)/tinylogin
- \$(MAKE) CC=\$(TARGET_CC) CROSS="\$(TARGET_CROSS)" PREFIX="\$(TARGET_DIR)" \
- -C \$(BUSYBOX_DIR)
-
-all-install: \$(STAGING_DIR) \$(TARGET_DIR) \
- \$(STAGING_DIR)/lib/libc.a \$(STAGING_DIR)/bin/\$(ARCH)-linux-gcc
- \$(MAKE) -C \$(UCLIBC_DIR) PREFIX=\$(STAGING_DIR) install_dev
-
-extras-install: \$(TARGET_DIR)/bin/busybox \$(TARGET_DIR)/bin/tinylogin
-
-
-EOF
+ # Helper targets for Makefile
+ cat ${FILESDIR}/Makefile-buildroot-helpers.patch >> Makefile
# "cp -a" implies --preserve=ownership which is blocked by sandbox
@@ -259,19 +211,21 @@ EOF
# these hacks affect the search path of the uclibc-toolchain to prevent
# leakage of gcclibs into the target
+#-e "/DIR2)\/\.configured/,/DIR2)\/.configured/ s/--\(.*\)=\$(STAGING_DIR)/--\1=\/usr\/${TARGETARCH}-uclibc/g" \
-# sed -i -e \
-#"/DIR2)\/\.configured/,/DIR2)\/.configured/ s/--\(.*\)=\$(STAGING_DIR)/--\1=\/usr\/${TARGETARCH}-uclibc/g" \
-#-e "/DIR2)\/\.installed:/,/\.installed/ s/\$(MAKE)/\$(MAKE) DESTDIR=\$(STAGING_DIR)/" \
-#-e 's#\$(STAGING_DIR)/lib/\(libstdc++.*\)# $(GCC_BUILD_DIR2)/$(ARCH)-linux/libstdc++-v3/src/.libs/\1#' \
-# make/gcc-uclibc-3.3.mk
+ sed -i \
+-e "/DIR2)\/\.installed:/,/\.installed/ s/\$(MAKE)/\$(MAKE) DESTDIR=\$(STAGING_DIR)/" \
+-e 's#\$(STAGING_DIR)/lib/\(libstdc++.*\)# $(GCC_BUILD_DIR2)/$(ARCH)-linux/libstdc++-v3/src/.libs/\1#' \
+ make/gcc-uclibc-3.3.mk
#emake SED="/bin/sed -i -e" STAGING_DIR=/usr/${TARGETARCH}-uclibc-linux gcchacks
sed -i -e 's#cp -fa#cp --preserve=mode -dPRf#g' ${UCLIBCDIR}/Makefile
cd ${UCLIBCDIR}
- local patches="uClibc-0.9.26-Makefile.patch uClibc-${PV}-pie-option.patch"
+ local patches="uClibc-0.9.26-Makefile.patch"
+
+ #[ `use pie` && ${TARGETARCH}=="i386" ] && patches="${patches} uClibc-${PV}-pie-option.patch"
for patch in ${patches} ; do
[ -f ${FILESDIR}/${UCLIBCVER}/${patch} ] && epatch ${FILESDIR}/${UCLIBCVER}/${patch}
@@ -325,11 +279,12 @@ src_compile() {
-e 's,^RUNTIME_PREFIX=.*,RUNTIME_PREFIX=\"/\",g' \
-e 's,^DEVEL_PREFIX=.*,DEVEL_PREFIX=\"/usr/\",g' \
-e 's,^SHARED_LIB_LOADER_PREFIX=.*,SHARED_LIB_LOADER_PREFIX=\"/lib\",g' \
- -e 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' .config
+ .config
if [ `use debug` ]; then
uclibc_config_option y DODEBUG
uclibc_config_option y PTHREADS_DEBUG_SUPPORT
+ uclibc_config_option y CONFIG_PROFILING
# Other possibe options for debug use flag
# DOASSERTS
# SUPPORT_LD_DEBUG
@@ -347,15 +302,13 @@ src_compile() {
uclibc_config_option n UCLIBC_HAS_FULL_RPC
[ `use nommu` ] && uclibc_config_option n UCLIBC_HAS_MMU || \
- uclibc_config_option n UCLIBC_HAS_MMU
-
+ uclibc_config_option y UCLIBC_HAS_MMU
- # Thanks peter for pointing this one out.
- #[ `use etdyn` ] && uclibc_config_option n CONFIG_PROFILING
- if [ `use pie` ]; then
+ if [ `use pie` && ${TARGETARCH}=="i386" ]; then
uclibc_config_option y UCLIBC_PIE_SUPPORT
uclibc_config_option y UCLIBC_COMPLETELY_PIC
+ uclibc_config_option n CONFIG_PROFILING
else
uclibc_config_option n UCLIBC_PIE_SUPPORT
uclibc_config_option n UCLIBC_COMPLETELY_PIC
@@ -382,13 +335,12 @@ src_compile() {
#pregen is for i386 architectures only
if [ ${TARGETARCH}=="i386" ]; then
uclibc_config_option y UCLIBC_PREGENERATED_LOCALE_DATA
- uclibc_config_option y UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
cp ${DISTDIR}/uClibc-locale-030818.tgz ${UCLIBCDIR}/extra/locale
else
uclibc_config_option n UCLIBC_PREGENERATED_LOCALE_DATA
- uclibc_config_option n UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
pushd extra/locale
find charmaps -name "*.pairs" > codesets.txt
+ cp LOCALES locales.txt
emake clean all || die "Could not generate codepages"
popd
fi
@@ -400,13 +352,6 @@ src_compile() {
# lots of stuff from uclibc.spec - TODO LATER
else
uclibc_config_option n UCLIBC_HAS_LOCALE
- uclibc_config_option n UCLIBC_PREGENERATED_LOCALE_DATA
- uclibc_config_option n UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
- uclibc_config_option n UCLIBC_HAS_XLOCALE
- uclibc_config_option n UCLIBC_HAS_HEXADECIMAL_FLOATS
- uclibc_config_option n UCLIBC_HAS_GLIBC_DIGIT_GROUPING
- uclibc_config_option n UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING
- uclibc_config_option n UCLIBC_HAS_GETTEXT_AWARENESS
fi
@@ -415,7 +360,7 @@ src_compile() {
if [ -n "`use debug`" ]; then
if [ -f /etc/embedded/busybox.config ]; then
- emake BUSYBOX_CONFIG=/etc/embedded/busybox.config busybox- \
+ emake BUSYBOX_CONFIG=/etc/embedded/busybox.config busybox \
|| "Error making busybox old config"
else
emake busybox || "Error making busybox default config"
@@ -426,12 +371,7 @@ src_compile() {
emake extras-compile
fi
- cd ${UCLIBCDIR}
- local patches="uClibc-${PV}-pie-option.patch"
- for patch in ${patches} ; do
- [ -f ${FILESDIR}/${UCLIBCVER}/${patch} ] && epatch ${FILESDIR}/${UCLIBCVER}/${patch}
- done
}
src_install() {
@@ -474,7 +414,7 @@ src_install() {
echo 'CXX="g++"' >> ${gccconfigfile}
# warning- consistancy with Makefile uncertian.
- #use softfloat && ARCH="${TARGETARCH}_nofpu"
+ #use softfloat && TARGETARCH="${TARGETARCH}_nofpu"
# rootfs (tempory for testing purposes)
dodir /var/lib/rootfs_${TARGETARCH}
@@ -484,7 +424,7 @@ src_install() {
# Save uclibc/busybox/tinylogin config
dodir /etc/embedded
- cp ${S}/.config ${D}/etc/embedded/uClibc.config
+ cp ${UCLIBCDIR}/.config ${D}/etc/embedded/uClibc.config
[ -f ${S}/build_${ARCH}/busybox-${BUSYBOXVER}/Config.h ] && \
cp ${S}/build_${ARCH}/busybox-${BUSYBOXVER}/Config.h ${D}/etc/embedded/busybox.config