diff options
author | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2014-11-11 18:37:59 +0000 |
---|---|---|
committer | Pedro Alvarez <pedro.alvarez@codethink.co.uk> | 2014-11-11 18:37:59 +0000 |
commit | 312e07068a496879e867eabf7ad11041b7779f80 (patch) | |
tree | ba3390c2e23a8489b2d94c9591ce0b1b4e88a4b9 /strata | |
parent | 72b3eb1ceb8eff3d765f57c2a932a515fa7b2c36 (diff) | |
parent | 755636110227894d1eab44c1b6401a3ec0b696f2 (diff) | |
download | definitions-312e07068a496879e867eabf7ad11041b7779f80.tar.gz |
Merge branch 'baserock/pedroalvarez/glibc10'
Reviewed-by:
- Sam Thursfield
- Richard Maw
- Javier Jardon
Diffstat (limited to 'strata')
-rw-r--r-- | strata/bsp-x86_32-generic.morph | 2 | ||||
-rw-r--r-- | strata/bsp-x86_64-generic.morph | 2 | ||||
-rw-r--r-- | strata/bsp-x86_both-tools.morph | 2 | ||||
-rw-r--r-- | strata/build-essential.morph | 104 | ||||
-rw-r--r-- | strata/build-essential/eglibc.morph | 62 | ||||
-rw-r--r-- | strata/build-essential/glibc.morph | 86 | ||||
-rw-r--r-- | strata/build-essential/stage2-fake-bash.morph | 4 | ||||
-rw-r--r-- | strata/build-essential/stage2-glibc.morph (renamed from strata/build-essential/stage2-eglibc.morph) | 25 | ||||
-rw-r--r-- | strata/core.morph | 6 | ||||
-rw-r--r-- | strata/foundation.morph | 4 |
10 files changed, 168 insertions, 129 deletions
diff --git a/strata/bsp-x86_32-generic.morph b/strata/bsp-x86_32-generic.morph index 303dd777..fa9dbf75 100644 --- a/strata/bsp-x86_32-generic.morph +++ b/strata/bsp-x86_32-generic.morph @@ -20,7 +20,7 @@ chunks: - name: syslinux morph: strata/bsp-x86_32-generic/syslinux.morph repo: upstream:syslinux - ref: 8821237240c5374d83298b2da5ad88fa1e3c1ef7 + ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f unpetrify-ref: baserock/morph build-depends: - nasm diff --git a/strata/bsp-x86_64-generic.morph b/strata/bsp-x86_64-generic.morph index 81c99e42..8a7b9c9b 100644 --- a/strata/bsp-x86_64-generic.morph +++ b/strata/bsp-x86_64-generic.morph @@ -20,7 +20,7 @@ chunks: - name: syslinux morph: strata/bsp-x86_64-generic/syslinux.morph repo: upstream:syslinux - ref: 8821237240c5374d83298b2da5ad88fa1e3c1ef7 + ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f unpetrify-ref: baserock/morph build-depends: - nasm diff --git a/strata/bsp-x86_both-tools.morph b/strata/bsp-x86_both-tools.morph index 4d6d29e4..c1ba501c 100644 --- a/strata/bsp-x86_both-tools.morph +++ b/strata/bsp-x86_both-tools.morph @@ -14,7 +14,7 @@ chunks: - name: syslinux morph: strata/bsp-x86_both-tools/syslinux.morph repo: upstream:syslinux - ref: 8821237240c5374d83298b2da5ad88fa1e3c1ef7 + ref: 2f6d21d2a560cb5581694fef42ee9a350d5f302f unpetrify-ref: baserock/morph build-depends: - nasm diff --git a/strata/build-essential.morph b/strata/build-essential.morph index 7886b610..38bd60d8 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 @@ -49,7 +49,7 @@ chunks: - name: stage1-gcc morph: strata/build-essential/stage1-gcc.morph repo: upstream:gcc-tarball - ref: 0a1a077d3466cd99a4ed5590db2146b3fec6fff1 + ref: 999c918a7ad32ad436395666def22ab90b3447fe unpetrify-ref: baserock/build-essential build-depends: - stage1-binutils @@ -65,11 +65,11 @@ 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: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c + unpetrify-ref: baserock/glibc-2.20 build-depends: - stage1-binutils - stage1-gcc @@ -84,41 +84,50 @@ chunks: build-depends: - stage1-binutils - stage1-gcc - - stage2-eglibc + - stage2-glibc build-mode: bootstrap prefix: /tools - name: stage2-gcc-fixed-headers morph: strata/build-essential/stage2-gcc-fixed-headers.morph repo: upstream:gcc-tarball - ref: 0a1a077d3466cd99a4ed5590db2146b3fec6fff1 + ref: 999c918a7ad32ad436395666def22ab90b3447fe unpetrify-ref: baserock/build-essential build-depends: - stage1-binutils - stage1-gcc - - stage2-eglibc + - stage2-glibc build-mode: bootstrap prefix: /tools - name: stage2-gcc morph: strata/build-essential/stage2-gcc.morph repo: upstream:gcc-tarball - ref: 0a1a077d3466cd99a4ed5590db2146b3fec6fff1 + ref: 999c918a7ad32ad436395666def22ab90b3447fe unpetrify-ref: baserock/build-essential build-depends: - stage1-binutils - stage1-gcc - - stage2-eglibc + - stage2-glibc - stage2-gcc-fixed-headers build-mode: bootstrap prefix: /tools - name: stage2-busybox morph: strata/build-essential/stage2-busybox.morph repo: upstream:busybox - ref: eeb9014f28e3aa00673a0fad127e7420da4392db + ref: 8a801e0f024f1385d8e989b80b90443546bceae7 unpetrify-ref: baserock/build-essential build-depends: - stage1-binutils - stage1-gcc - - stage2-eglibc + - stage2-glibc + build-mode: bootstrap + prefix: /tools +- name: stage2-fake-bash + morph: strata/build-essential/stage2-fake-bash.morph + repo: upstream:bash + ref: 3590145af6f1c9fa321dff231f69ae696e7e740b + unpetrify-ref: baserock/bash-4.3-patch-27 + build-depends: + - stage2-busybox build-mode: bootstrap prefix: /tools - name: stage2-fhs-dirs @@ -137,7 +146,7 @@ chunks: build-depends: - stage1-binutils - stage1-gcc - - stage2-eglibc + - stage2-glibc build-mode: bootstrap prefix: /tools - name: stage2-make @@ -148,19 +157,19 @@ chunks: build-depends: - stage1-binutils - stage1-gcc - - stage2-eglibc + - stage2-glibc build-mode: bootstrap prefix: /tools - name: stage2-reset-specs morph: strata/build-essential/stage2-reset-specs.morph - repo: upstream:eglibc2 - ref: 43ee5d250ad47d2bee8ec17954efb7f22d2b804c - unpetrify-ref: baserock/2.15-build-essential + repo: upstream:glibc + ref: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c + unpetrify-ref: baserock/glibc-2.20 build-depends: - stage1-binutils - stage1-gcc - stage2-linux-api-headers - - stage2-eglibc + - stage2-glibc build-mode: bootstrap prefix: /tools - name: fhs-dirs @@ -171,7 +180,7 @@ chunks: build-depends: - stage2-binutils - stage2-busybox - - stage2-eglibc + - stage2-glibc - stage2-fhs-dirs - stage2-gawk - stage2-gcc @@ -186,22 +195,23 @@ 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 -- 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: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c + unpetrify-ref: baserock/glibc-2.20 build-depends: - stage2-binutils - stage2-busybox - - stage2-eglibc + - stage2-fake-bash + - stage2-glibc - stage2-fhs-dirs - stage2-gawk - stage2-gcc @@ -210,9 +220,9 @@ chunks: - stage2-reset-specs - linux-api-headers 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 @@ -221,14 +231,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 @@ -239,31 +249,31 @@ 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 repo: upstream:busybox - ref: bf06394ab87ff22662084c82c1821847c25b7f21 + ref: 8a801e0f024f1385d8e989b80b90443546bceae7 unpetrify-ref: baserock/build-essential 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 @@ -272,30 +282,30 @@ 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 - ref: b0254026149b13782eae26d38435a4c62a002cf0 + ref: 5c08cea34d5562dc828b85c7c02519246823aaf0 unpetrify-ref: baserock/build-essential-4.7 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 @@ -307,14 +317,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 @@ -323,12 +333,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/eglibc.morph deleted file mode 100644 index cc827ef9..00000000 --- a/strata/build-essential/eglibc.morph +++ /dev/null @@ -1,62 +0,0 @@ -name: eglibc -kind: chunk -products: -- artifact: eglibc-nss - include: - - etc/nsswitch.conf - - (usr/)?lib/libnss.* -- artifact: eglibc-gconv - include: - - (usr/)?lib/gconv/.* -- artifact: eglibc-libs - include: - - sbin/ldconfig - - lib(32|64)?/ld-.* - - (usr/)?lib(exec)?/pt_chown -- artifact: eglibc-bins - include: - - (usr/)?s?bin/.* - - (usr/)?libexec/getconf/.* - - (usr/)?lib/libSegFault\.so(\.\d+)*$ -- artifact: eglibc-libs - include: - - (usr/)?lib(32|64)?/lib[^/]*\.so(\.\d+)*$ -- artifact: eglibc-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 - include: - - (usr/)?share/locale/.* - - (usr/)?share/i18n/.* - - (usr/)?share/zoneinfo/.* -- artifact: eglibc-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) \ - --prefix="$PREFIX" \ - --disable-profile \ - --enable-kernel=2.6.25 \ - --enable-add-ons=nptl,ports \ - --without-cvs \ - --without-selinux - -build-commands: -- cd o && make localtime=UTC - -install-commands: -- cd o && make install_root="$DESTDIR" localtime=UTC install -- mkdir -p "$DESTDIR/etc" -- install -m 644 -o root -g root nsswitch.conf "$DESTDIR/etc/nsswitch.conf" diff --git a/strata/build-essential/glibc.morph b/strata/build-essential/glibc.morph new file mode 100644 index 00000000..789283eb --- /dev/null +++ b/strata/build-essential/glibc.morph @@ -0,0 +1,86 @@ +name: glibc +kind: chunk +products: +- artifact: glibc-nss + include: + - etc/nsswitch.conf + - (usr/)?lib/libnss.* +- artifact: glibc-gconv + include: + - (usr/)?lib/gconv/.* +- artifact: glibc-libs + include: + - sbin/ldconfig + - lib(32|64)?/ld-.* + - (usr/)?lib(exec)?/pt_chown +- artifact: glibc-bins + include: + - (usr/)?s?bin/.* + - (usr/)?libexec/getconf/.* + - (usr/)?lib/libSegFault\.so(\.\d+)*$ +- artifact: glibc-libs + include: + - (usr/)?lib(32|64)?/lib[^/]*\.so(\.\d+)*$ +- 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: glibc-locale + include: + - (usr/)?share/locale/.* + - (usr/)?share/i18n/.* + - (usr/)?share/zoneinfo/.* +- artifact: glibc-misc + include: + - .* +configure-commands: +- mkdir o + +- | + case "$MORPH_ARCH" in + armv7*) + ARCH_FLAGS="--without-fp" ;; + esac + + # We override the PATH here to remove /tools/bin from it. + # Thanks to this glibc finds bash in /bin/bash through the /bin + # symlink. This is important because glibc changes the path to bash + # of the shebang in some scripts and these scripts will be broken if + # they point to bash in /tools/bin/bash. + export PATH="/usr/bin:/sbin:/bin"; + export CFLAGS="-O2 $CFLAGS"; + cd o && ../configure \ + $ARCH_FLAGS \ + --prefix="$PREFIX" \ + --disable-profile \ + --enable-kernel=2.6.25 \ + --without-cvs \ + --without-selinux \ + --enable-obsolete-rpc + +build-commands: +- cd o && make localtime=UTC + +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 myhostname mdns4_minimal [NOTFOUND=return] dns mdns4 + 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-fake-bash.morph b/strata/build-essential/stage2-fake-bash.morph new file mode 100644 index 00000000..021fd366 --- /dev/null +++ b/strata/build-essential/stage2-fake-bash.morph @@ -0,0 +1,4 @@ +name: stage2-fake-bash +kind: chunk +install-commands: +- printf '#!/bin/sh\nexec /bin/sh "$@"\n' | install -D /proc/self/fd/0 -m 755 "$DESTDIR$PREFIX/bin/bash" diff --git a/strata/build-essential/stage2-eglibc.morph b/strata/build-essential/stage2-glibc.morph index 3a7277ac..ffa0970b 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 @@ -31,12 +32,12 @@ build-commands: install-commands: - cd o && make install_root="$DESTDIR" localtime=UTC install -- sh stage2-eglibc-fix-specs +- sh stage2-glibc-fix-specs # Install a symlink for the program interpreter (ld.so) so that binaries -# built in stage 3 before the stage 3 eglibc is built can use it. +# built in stage 3 before the stage 3 glibc is built can use it. # FIXME: get a better way of finding the name of the loader. The lib64 -# path is hardcoded into eglibc in the file +# path is hardcoded into glibc in the file # sysdeps/unix/sysv/linux/configure. - install -d $DESTDIR/lib - | diff --git a/strata/core.morph b/strata/core.morph index 5c90c964..96731777 100644 --- a/strata/core.morph +++ b/strata/core.morph @@ -31,7 +31,7 @@ chunks: - name: m4 morph: strata/core/m4.morph repo: upstream:m4 - ref: d533342af991401d865de9b037ac03cdc9bd852e + ref: cfbd353f3a2dc517992bcdc747281a22feb0c4db unpetrify-ref: baserock/build-essential build-depends: [] - name: mini-utils @@ -226,8 +226,8 @@ chunks: - name: bison morph: strata/core/bison.morph repo: upstream:bison - ref: 6729ad1c314b179225325dcc1bc684077a71f859 - unpetrify-ref: baserock/morph + ref: 2ab6d1daaccf32fc4314e4b2fe44da977f11a308 + unpetrify-ref: baserock/v3.0.2 build-depends: - autoconf - automake diff --git a/strata/foundation.morph b/strata/foundation.morph index 0b2bd92e..6d45fb1f 100644 --- a/strata/foundation.morph +++ b/strata/foundation.morph @@ -124,8 +124,8 @@ chunks: - name: patch morph: strata/foundation/patch.morph repo: upstream:patch - ref: 9a16dcb97aac1a26af4372d95bd62b84f3f1264a - unpetrify-ref: baserock/morph + ref: 3bbb26c928a147cfcf0756f1cc0a1307e5cc663f + unpetrify-ref: baserock/v2.7.1 build-depends: [] - name: tbdiff morph: strata/foundation/tbdiff.morph |