summaryrefslogtreecommitdiff
path: root/strata
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-03-03 17:30:21 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-03-08 17:31:33 +0900
commit448e86cb8d02acc7bd0bc60c8b54243708889d55 (patch)
tree110b0ad61ab321d94ebb8d382ecd13cb3472dbd5 /strata
parent49780e89d11226c485a39ce5be75aea6fd4261eb (diff)
downloaddefinitions-448e86cb8d02acc7bd0bc60c8b54243708889d55.tar.gz
Adding glibc build to new build-essential
Diffstat (limited to 'strata')
-rw-r--r--strata/build-essential.morph15
-rw-r--r--strata/build-essential/glibc.morph95
2 files changed, 110 insertions, 0 deletions
diff --git a/strata/build-essential.morph b/strata/build-essential.morph
index b9e16475..87066b43 100644
--- a/strata/build-essential.morph
+++ b/strata/build-essential.morph
@@ -30,3 +30,18 @@ chunks:
ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
unpetrify-ref: v4.0
build-mode: prelibc
+
+- name: glibc
+ morph: strata/build-essential/glibc.morph
+ repo: upstream:glibc
+ ref: 76c7094445082ee777a4980bfebf11501fcda63a
+ unpetrify-ref: baserock/tristan/wip/aboriginal
+ build-mode: prelibc
+ build-depends:
+ - static-sed
+ - static-gawk
+ - linux-api-headers
+ artifacts:
+ glibc-gconv: build-essential-runtime
+ glibc-libs: build-essential-minimal
+ glibc-nss: build-essential-runtime
diff --git a/strata/build-essential/glibc.morph b/strata/build-essential/glibc.morph
new file mode 100644
index 00000000..f0451bde
--- /dev/null
+++ b/strata/build-essential/glibc.morph
@@ -0,0 +1,95 @@
+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(32|64)?/libSegFault\.so(\.\d+)*$
+- artifact: glibc-libs
+ include:
+ # This is processed after bins, so bins can take libSegFault.so
+ - (usr/)?lib(32|64)?/lib[^/]*\.so(\.\d+)*$
+ - etc/ld.so.conf
+ - etc/ld.so.conf.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/)?lib/locale/.*
+ - (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
+ export CFLAGS="-O2 $CFLAGS";
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --prefix="$PREFIX" \
+ --disable-profile \
+ --enable-kernel=3.0.0 \
+ --without-cvs \
+ --without-selinux \
+ --enable-obsolete-rpc \
+ --disable-werror \
+ --with-headers=/usr/include
+
+build-commands:
+- cd o && make localtime=UTC
+
+install-commands:
+- cd o && make install_root="$DESTDIR" localtime=UTC install
+- mkdir -p "$DESTDIR/etc"
+- mkdir -p "$DESTDIR/etc/ld.so.conf.d"
+- |
+ 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"
+- |
+ cat <<EOF > ld.so.conf
+ /lib
+ /usr/lib
+ /usr/local/lib
+ include /etc/ld.so.conf.d/*.conf
+ EOF
+- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.conf"
+- ln -s ld-2.21.so $DESTDIR/lib/ld.so