This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".
The branch, master has been updated
via 89cdd936d71b6dc477457b836ebbc7c78403f04a (commit)
via 0bed08cde631b220c6a28f4c9f1aaba2899b979a (commit)
via 6d86de76bce23161b54b2755a76ac159e85d783b (commit)
via f5fec50efec0b4bcd68ab8769187562b01a6f3a7 (commit)
from a31c85a68f2edc56c4fbd395febd000fd9f68905 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 89cdd936d71b6dc477457b836ebbc7c78403f04a
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Thu Apr 8 16:27:37 2010 +0200
toolchain: Stip toolchain.
commit 0bed08cde631b220c6a28f4c9f1aaba2899b979a
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Thu Apr 8 15:18:40 2010 +0200
glibc: Some little changes on glibc build.
commit 6d86de76bce23161b54b2755a76ac159e85d783b
Merge: a31c85a68f2edc56c4fbd395febd000fd9f68905 f5fec50efec0b4bcd68ab8769187562b01a6f3a7
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Thu Apr 8 15:05:13 2010 +0200
Merge remote branch 'stevee/gettext'
commit f5fec50efec0b4bcd68ab8769187562b01a6f3a7
Author: Schantl Stefan <Stevee(a)ipfire.org>
Date: Thu Apr 8 14:58:31 2010 +0200
gettext: Add configure_options.
* Add option to prevent from building static libraries and save build time.
* Add option to use gettext from toolchain not the allready included one.
* Add option to disable rpath.
-----------------------------------------------------------------------
Summary of changes:
pkgs/core/gettext/gettext.nm | 7 +++++++
pkgs/core/glibc/glibc.nm | 27 ++++++++++++---------------
tools/toolchain | 22 ++++++++++++++++++++--
3 files changed, 39 insertions(+), 17 deletions(-)
Difference in files:
diff --git a/pkgs/core/gettext/gettext.nm b/pkgs/core/gettext/gettext.nm
index 07fdefb..69783a6 100644
--- a/pkgs/core/gettext/gettext.nm
+++ b/pkgs/core/gettext/gettext.nm
@@ -52,3 +52,10 @@ endef
PKG_BUILD_DEPS+= autoconf automake
PKG_TARBALL = $(THISAPP).tar.gz
+
+CONFIGURE_OPTIONS += \
+ --without-included-gettext \
+ --disable-static \
+ --enable-shared \
+ --disable-rpath
+
diff --git a/pkgs/core/glibc/glibc.nm b/pkgs/core/glibc/glibc.nm
index d1a4f54..020d642 100644
--- a/pkgs/core/glibc/glibc.nm
+++ b/pkgs/core/glibc/glibc.nm
@@ -46,12 +46,12 @@ define PKG_DESCRIPTION
Linux system will not function.
endef
-PKG_BUILD_DEPS = # Has got no dependencies
+PKG_DEPS = # Has got no dependencies
-CFLAGS = -O2 -fomit-frame-pointer -pipe -DPIC -fno-strict-aliasing \
- -mno-tls-direct-seg-refs -D_FORTIFY_SOURCE=2 \
- -fstack-protector-all
-CXXFLAGS = $(CFLAGS)
+GLIBC_FLAGS += -DPIC -fno-strict-aliasing -mno-tls-direct-seg-refs
+
+CFLAGS += $(GLIBC_FLAGS)
+CXXFLAGS += $(GLIBC_FLAGS)
OPTIMIZED_KERNEL = 2.6.18
@@ -143,10 +143,6 @@ define STAGE_PREPARE
# $(TOOLS_DIR):
cd $(DIR_APP) && sed -e "/^install.*pt_chown/d" -i login/Makefile
- # ldconfig is statically linked, so don't build it PIC:
- cd $(DIR_APP) && sed "s/CFLAGS-ldconfig.c =/& -fno-PIC -fno-PIE/" \
- -i elf/Makefile
-
# Build nscd with -fstack-protector-all, instead of -fstack-protector:
cd $(DIR_APP) && sed -e "s/fstack-protector/&-all/" -i nscd/Makefile
@@ -167,6 +163,10 @@ define STAGE_PREPARE
# Copy our customized SUPPORTED file to build localization files
# only for supported languages
cp -vf $(DIR_SOURCE)/SUPPORTED.locales $(DIR_APP)/localedata/SUPPORTED
+
+ # Use gnu hash style
+ cd $(DIR_APP) && sed -i Makeconfig \
+ -e "s/-Wl,--hash-style=both/-Wl,--hash-style=gnu -Wl,-O1/"
endef
define STAGE_BUILD
@@ -178,8 +178,6 @@ define STAGE_BUILD
# canary value changes at run-time. This is not as good as /dev/urandom, but
# it's better than nothing and has very good performance.
- cd $(DIR_APP) && sed 's/-nostdlib/& -fno-stack-protector/g' -i.orig configure
-
cd $(DIR_SRC)/glibc-build && \
CFLAGS= \
CXXFLAGS= \
@@ -204,13 +202,12 @@ define STAGE_BUILD
>> $(DIR_SRC)/glibc-build/configparms
cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(PARALLELISMFLAGS) \
- CFLAGS="-O2 -DPIC -fno-stack-protector -U_FORTIFY_SOURCE" \
- CXXFLAGS="-O2 -DPIC -fno-stack-protector -U_FORTIFY_SOURCE"
+ CFLAGS="$(CFLAGS) -fno-stack-protector -U_FORTIFY_SOURCE" \
+ CXXFLAGS="$(CXXFLAGS) -fno-stack-protector -U_FORTIFY_SOURCE"
# Then build the programs with hardening, so everything possible in
# $(TOOLS_DIR) is hardened:
- echo "CFLAGS = $(CFLAGS)" > $(DIR_SRC)/glibc-build/configparms
- echo "CXXFLAGS = $(CXXFLAGS)" >> $(DIR_SRC)/glibc-build/configparms
+ echo "# Nothing in here :D" > $(DIR_SRC)/glibc-build/configparms
cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(PARALLELISMFLAGS) \
CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
endef
diff --git a/tools/toolchain b/tools/toolchain
index bfbd88e..2714776 100755
--- a/tools/toolchain
+++ b/tools/toolchain
@@ -1,5 +1,7 @@
#!/bin/sh
+. $(dirname ${0})/common-functions
+
case "${1}" in
adjust)
TARGET_PATH=${2}
@@ -47,10 +49,26 @@ case "${1}" in
TARGET=${2}
COMPRESS_PATH=${3}
- # TODO: stripping/remove unneeded files
+ target=$(mktemp)
+
+ # Remove unneeded files
rm -rf ${COMPRESS_PATH}/{info,man,share/{doc,info,locale,man}}
+ rm -rf ${COMPRESS_PATH}/usr/src/*
+
+ # Strip all files
+ for file in $(find_elf_files ${COMPRESS_PATH}); do
+ strip --strip-debug ${file}
+ done
+
+ # Strip executeable files
+ for file in $(find_elf_files ${COMPRESS_PATH}/bin ${COMPRESS_PATH}/*/bin); do
+ strip --stip-all ${file}
+ done
+
+ cd ${COMPRESS_PATH} && tar --posix -czf ${target} -p -S * || exit 1
- cd ${COMPRESS_PATH} && tar --posix -czf ${TARGET} *
+ cat ${target} > ${TARGET}
+ rm -f ${target}
;;
extract)
hooks/post-receive
--
IPFire 3.x development tree