summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2014-10-31 00:46:21 (GMT)
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2014-10-31 00:48:15 (GMT)
commit2fc9f1d943d3612969a05d4288711247cf5dea6f (patch)
tree6ccf680eb2267e4f3fdf3c3ee58495bb9219b8e4
parent69a8ff0894bb1bbc66268f73a7358b748e6e493f (diff)
downloaddefinitions-baserock/pedroalvarez/glibc3.tar.gz
Use glibc instead of eglibcbaserock/pedroalvarez/glibc3
-rw-r--r--strata/build-essential.morph74
-rw-r--r--strata/build-essential/glibc.morph (renamed from strata/build-essential/eglibc.morph)49
-rw-r--r--strata/build-essential/stage2-glibc.morph (renamed from strata/build-essential/stage2-eglibc.morph)19
3 files changed, 79 insertions, 63 deletions
diff --git a/strata/build-essential.morph b/strata/build-essential.morph
index f9a51e0..c908aa3 100644
--- a/strata/build-essential.morph
+++ b/strata/build-essential.morph
@@ -36,7 +36,7 @@ products:
include:
- fhs-dirs-.*
- busybox-.*
- - eglibc-nss
+ - glibc-nss
chunks:
- name: stage1-binutils
morph: strata/build-essential/stage1-binutils.morph
@@ -65,11 +65,10 @@ chunks:
- stage1-gcc
build-mode: bootstrap
prefix: /tools
-- name: stage2-eglibc
- morph: strata/build-essential/stage2-eglibc.morph
- repo: upstream:eglibc2
- ref: 43ee5d250ad47d2bee8ec17954efb7f22d2b804c
- unpetrify-ref: baserock/2.15-build-essential
+- name: stage2-glibc
+ morph: strata/build-essential/stage2-glibc.morph
+ repo: upstream:glibc
+ ref: baserock/pedroalvarez/build-essential
build-depends:
- stage1-binutils
- stage1-gcc
@@ -84,7 +83,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
- - stage2-eglibc
+ - stage2-glibc
build-mode: bootstrap
prefix: /tools
- name: stage2-gcc-fixed-headers
@@ -95,7 +94,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
- - stage2-eglibc
+ - stage2-glibc
build-mode: bootstrap
prefix: /tools
- name: stage2-gcc
@@ -106,7 +105,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
- - stage2-eglibc
+ - stage2-glibc
- stage2-gcc-fixed-headers
build-mode: bootstrap
prefix: /tools
@@ -117,7 +116,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
- - stage2-eglibc
+ - stage2-glibc
build-mode: bootstrap
prefix: /tools
- name: stage2-fhs-dirs
@@ -136,7 +135,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
- - stage2-eglibc
+ - stage2-glibc
build-mode: bootstrap
prefix: /tools
- name: stage2-make
@@ -147,7 +146,7 @@ chunks:
build-depends:
- stage1-binutils
- stage1-gcc
- - stage2-eglibc
+ - stage2-glibc
build-mode: bootstrap
prefix: /tools
- name: stage2-reset-specs
@@ -159,7 +158,7 @@ chunks:
- stage1-binutils
- stage1-gcc
- stage2-linux-api-headers
- - stage2-eglibc
+ - stage2-glibc
build-mode: bootstrap
prefix: /tools
- name: fhs-dirs
@@ -170,7 +169,7 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
@@ -185,7 +184,7 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
@@ -199,15 +198,14 @@ chunks:
unpetrify-ref: baserock/bash-4.3-patch-27
build-depends:
- stage2-busybox
-- name: eglibc
- morph: strata/build-essential/eglibc.morph
- repo: upstream:eglibc2
- ref: df0258044f321990eadd647e03095a48ad04c1a8
- unpetrify-ref: baserock/2.15-build-essential
+- name: glibc
+ morph: strata/build-essential/glibc.morph
+ repo: upstream:glibc
+ ref: baserock/pedroalvarez/build-essential
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
@@ -217,9 +215,9 @@ chunks:
- linux-api-headers
- fake-bash
artifacts:
- eglibc-gconv: build-essential-runtime
- eglibc-libs: build-essential-minimal
- eglibc-nss: build-essential-runtime
+ glibc-gconv: build-essential-runtime
+ glibc-libs: build-essential-minimal
+ glibc-nss: build-essential-runtime
- name: zlib
morph: strata/build-essential/zlib.morph
repo: upstream:zlib
@@ -228,14 +226,14 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- - eglibc
+ - glibc
artifacts:
zlib-libs: build-essential-minimal
- name: binutils
@@ -246,14 +244,14 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- - eglibc
+ - glibc
- zlib
- name: busybox
morph: strata/build-essential/busybox.morph
@@ -262,14 +260,14 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- - eglibc
+ - glibc
- name: gawk
morph: strata/build-essential/gawk.morph
repo: upstream:gawk
@@ -278,14 +276,14 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- - eglibc
+ - glibc
- name: gcc
morph: strata/build-essential/gcc.morph
repo: upstream:gcc-tarball
@@ -294,14 +292,14 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- - eglibc
+ - glibc
- zlib
artifacts:
gcc-libs: build-essential-minimal
@@ -313,14 +311,14 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- - eglibc
+ - glibc
- name: ccache
morph: strata/build-essential/ccache.morph
repo: upstream:ccache
@@ -329,12 +327,12 @@ chunks:
build-depends:
- stage2-binutils
- stage2-busybox
- - stage2-eglibc
+ - stage2-glibc
- stage2-fhs-dirs
- stage2-gawk
- stage2-gcc
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- - eglibc
+ - glibc
- zlib
diff --git a/strata/build-essential/eglibc.morph b/strata/build-essential/glibc.morph
index cc827ef..6869737 100644
--- a/strata/build-essential/eglibc.morph
+++ b/strata/build-essential/glibc.morph
@@ -1,55 +1,56 @@
-name: eglibc
+name: glibc
kind: chunk
products:
-- artifact: eglibc-nss
+- artifact: glibc-nss
include:
- etc/nsswitch.conf
- (usr/)?lib/libnss.*
-- artifact: eglibc-gconv
+- artifact: glibc-gconv
include:
- (usr/)?lib/gconv/.*
-- artifact: eglibc-libs
+- artifact: glibc-libs
include:
- sbin/ldconfig
- lib(32|64)?/ld-.*
- (usr/)?lib(exec)?/pt_chown
-- artifact: eglibc-bins
+- artifact: glibc-bins
include:
- (usr/)?s?bin/.*
- (usr/)?libexec/getconf/.*
- (usr/)?lib/libSegFault\.so(\.\d+)*$
-- artifact: eglibc-libs
+- artifact: glibc-libs
include:
- (usr/)?lib(32|64)?/lib[^/]*\.so(\.\d+)*$
-- artifact: eglibc-devel
+- artifact: glibc-devel
include:
- (usr/)?include/.*
- (usr/)?lib(32|64)?/lib.*\.a
- (usr/)?lib(32|64)?/lib.*\.la
- (usr/)?(lib(32|64)?|share)/pkgconfig/.*\.pc
- (usr/)?lib(32|64)?/.*\.o
-- artifact: eglibc-locale
+- artifact: glibc-locale
include:
- (usr/)?share/locale/.*
- (usr/)?share/i18n/.*
- (usr/)?share/zoneinfo/.*
-- artifact: eglibc-misc
+- artifact: glibc-misc
include:
- .*
configure-commands:
- mkdir o
-# Necessary for ARM port
-- cd libc && ln -s ../ports ports
-
- |
- export CFLAGS="-O2 $CFLAGS"; cd o &&
- ../libc/configure \
- $(../morph-arch-config) \
+ case "$MORPH_ARCH" in
+ armv7*)
+ ARCH_FLAGS="--without-fp" ;;
+ esac
+ export PATH="/usr/bin:/sbin:/bin";
+ export CFLAGS="-O2 $CFLAGS";
+ cd o && ../configure \
+ $ARCH_FLAGS \
--prefix="$PREFIX" \
--disable-profile \
--enable-kernel=2.6.25 \
- --enable-add-ons=nptl,ports \
--without-cvs \
--without-selinux
@@ -59,4 +60,20 @@ build-commands:
install-commands:
- cd o && make install_root="$DESTDIR" localtime=UTC install
- mkdir -p "$DESTDIR/etc"
+- |
+ cat <<EOF > nsswitch.conf
+ passwd: compat
+ group: compat
+ shadow: compat
+
+ hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 myhostname
+ networks: files
+
+ protocols: db files
+ services: db files
+ ethers: db files
+ rpc: db files
+
+ netgroup: nis
+ EOF
- install -m 644 -o root -g root nsswitch.conf "$DESTDIR/etc/nsswitch.conf"
diff --git a/strata/build-essential/stage2-eglibc.morph b/strata/build-essential/stage2-glibc.morph
index 3a7277a..7393e91 100644
--- a/strata/build-essential/stage2-eglibc.morph
+++ b/strata/build-essential/stage2-glibc.morph
@@ -1,28 +1,29 @@
-name: stage2-eglibc
+name: stage2-glibc
kind: chunk
configure-commands:
- mkdir o
-# Necessary for ARM port
-- cd libc && ln -s ../ports ports
-
# Configure flag notes:
# 1. Avoid installing to PREFIX/lib64 on x86_64.
# 2. Location of linux-api-headers.
-# 3. Normal flags. See eglibc.morph.
+# 3. Normal flags. See glibc.morph.
# 4. Force configuration values of certain things that can't be detected
# in a cross-compile.
- |
+ case "$MORPH_ARCH" in
+ armv7*)
+ ARCH_FLAGS="--without-fp" ;;
+ esac
+
export CFLAGS="-O2 $CFLAGS"; export CXX=false; \
- cd o && ../libc/configure \
- $(../morph-arch-config) \
- --build=$(../libc/scripts/config.guess) --host=$TARGET_STAGE1 \
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(../scripts/config.guess) --host=$TARGET_STAGE1 \
--prefix="$PREFIX" \
`# [1]` --libdir="$PREFIX/lib" \
`# [2]` --with-headers="$(pwd)/../../$PREFIX/include" \
`# [3]` --disable-profile --enable-kernel=2.6.25 \
- --enable-add-ons=nptl,ports --without-cvs --without-selinux \
`# [4]` libc_cv_c_cleanup=yes libc_cv_ctors_header=yes \
libc_cv_forced_unwind=yes libc_cv_ssp=no