summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clusters/sdk-example-cluster.morph4
-rwxr-xr-xsdk.write4
-rw-r--r--strata/apache-httpd-server.morph40
-rw-r--r--strata/apache-httpd-server/apr.morph22
-rw-r--r--strata/apache-httpd-server/httpd-server.morph67
-rw-r--r--strata/apache-httpd-server/mod_wsgi.morph18
-rw-r--r--strata/armv7lhf-cross-toolchain.morph34
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph80
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph45
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph (renamed from strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph)26
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph32
-rw-r--r--strata/build-essential.morph3
-rw-r--r--strata/core.morph4
-rw-r--r--strata/coreutils-common/diff.morph2
-rw-r--r--strata/enlightenment.morph2
-rw-r--r--strata/gtk3.morph4
-rw-r--r--strata/libdrm-common.morph8
-rw-r--r--strata/libdrm-common/drm.morph4
-rw-r--r--strata/multimedia-common.morph17
-rw-r--r--strata/multimedia-gstreamer-0.10.morph1
-rw-r--r--strata/multimedia-gstreamer.morph (renamed from strata/multimedia.morph)6
-rw-r--r--strata/python3-core.morph12
-rw-r--r--strata/python3-core/python3.morph7
-rw-r--r--strata/qt5-tools-qtmultimedia.morph2
-rw-r--r--strata/qt5-tools-qtwebkit.morph2
-rw-r--r--strata/virtualization/libvirt.morph2
-rw-r--r--strata/xstatic.morph30
-rw-r--r--systems/armv7lhf-cross-toolchain-system-x86_32.morph (renamed from systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph)2
-rw-r--r--systems/armv7lhf-cross-toolchain-system-x86_64.morph (renamed from systems/armv7lhf-cross-toolchain-system-x86_64-generic.morph)2
-rw-r--r--systems/genivi-baseline-system-armv7lhf-jetson.morph6
-rw-r--r--systems/genivi-baseline-system-armv7lhf-versatile.morph6
-rw-r--r--systems/genivi-baseline-system-x86_64-generic.morph6
-rw-r--r--systems/gitlab-ci-runner.morph6
-rw-r--r--systems/qt4-devel-system-x86_64-generic.morph2
-rw-r--r--systems/qt5-devel-system-x86_64-generic.morph6
-rw-r--r--systems/weston-system-armv7lhf-jetson.morph6
-rw-r--r--systems/weston-system-x86_64-generic.morph6
-rw-r--r--systems/xfce-system.morph6
38 files changed, 419 insertions, 113 deletions
diff --git a/clusters/sdk-example-cluster.morph b/clusters/sdk-example-cluster.morph
index f71d093d..92e4a413 100644
--- a/clusters/sdk-example-cluster.morph
+++ b/clusters/sdk-example-cluster.morph
@@ -31,11 +31,11 @@ description: |
See the documentation of the sdk.write extension for more information.
systems:
-- morph: systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph
+- morph: systems/armv7lhf-cross-toolchain-system-x86_64.morph
deploy:
sdk:
type: sdk
- location: armv7lhf-cross-toolchain-system-x86_32-generic.sh
+ location: armv7lhf-cross-toolchain-system-x86_64.sh
PREFIX: /usr
TARGET: armv7lhf-baserock-linux-gnueabi
subsystems:
diff --git a/sdk.write b/sdk.write
index 3b07ea9d..8d3d2a63 100755
--- a/sdk.write
+++ b/sdk.write
@@ -148,7 +148,7 @@ if [ "$#" != 1 ]; then
exit 1
fi
-TOOLCHAIN_PATH="$1"
+TOOLCHAIN_PATH="$(readlink -f \"$1\")"
sedescape(){
# Escape the passed in string so it can be safely interpolated into
@@ -227,7 +227,7 @@ patch_elves(){
local linker="$4"
local lib_path="$5"
find "$root" \( -path "$inner_sysroot" -prune \) -o -type f \
- -type f -perm +111 \
+ -type f -perm +u=x \
-exec sh -c 'file "$1" | grep -q "ELF"' - {} \; \
-exec "$linker" --library-path "$lib_path" \
"$patchelf" --set-interpreter "$linker" \
diff --git a/strata/apache-httpd-server.morph b/strata/apache-httpd-server.morph
new file mode 100644
index 00000000..1692c61c
--- /dev/null
+++ b/strata/apache-httpd-server.morph
@@ -0,0 +1,40 @@
+name: apache-httpd-server
+kind: stratum
+description: apache http web server and some utilities related to it
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/pcre-utils.morph
+chunks:
+- name: apr
+ morph: strata/apache-httpd-server/apr.morph
+ repo: upstream:apache/apr
+ ref: 3c818c6d7351f0130282d212a69035642f5fecad
+ unpetrify-ref: trunk
+ build-depends: []
+- name: httpd
+ morph: strata/apache-httpd-server/httpd-server.morph
+ repo: upstream:apache/httpd
+ ref: 6d8e0b2fd95268fcba96326ba9dce7bb8f712c19
+ unpetrify-ref: 2.4.10
+ build-depends:
+ - apr
+- name: psutil
+ repo: upstream:python-packages/psutil
+ ref: 2bc8555f0428af81c2d067aa76168ed7bc5e0179
+ unpetrify-ref: release-2.2.0
+ build-depends: []
+- name: mod_wsgi-metrics
+ repo: upstream:python-packages/mod_wsgi-metrics
+ ref: ec715eb593255229f9f45f3f323edbb845c691d8
+ unpetrify-ref: 1.1.1
+ build-depends:
+ - psutil
+- name: mod_wsgi
+ morph: strata/apache-httpd-server/mod_wsgi.morph
+ repo: upstream:python-packages/mod_wsgi
+ ref: 1be8b37aaf07d8cb3083da99d6fda12375221b07
+ unpetrify-ref: 4.4.5
+ build-depends:
+ - apr
+ - httpd
+ - mod_wsgi-metrics
diff --git a/strata/apache-httpd-server/apr.morph b/strata/apache-httpd-server/apr.morph
new file mode 100644
index 00000000..aaba1954
--- /dev/null
+++ b/strata/apache-httpd-server/apr.morph
@@ -0,0 +1,22 @@
+name: apr
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./buildconf
+- |
+ ./configure --prefix="$PREFIX" \
+ --disable-static \
+ --enable-threads \
+ --with-installbuilddir="$PREFIX"/share/apr-1/build
+post-install-commands:
+# Install files required for apr-util and httpd
+- |
+ for file in find_apr.m4 apr_common.m4 install.sh gen-build.py get-version.sh \
+ config.guess config.sub; do
+ cp build/"$file" "$DESTDIR$PREFIX"/share/apr-1/build/"$file";
+ done
+# Create a symlink in the build directory to the include directory (this is needed for httpd)
+- ln -sf /usr/include/apr-2 "$DESTDIR$PREFIX"/share/apr-1/build/
+# Copy apr headers needed for mod_wsgi
+- cp include/private/apr_support.h "$DESTDIR$PREFIX"/include/apr-2
+- cp include/arch/unix/apr_private.h "$DESTDIR$PREFIX"/include/apr-2
diff --git a/strata/apache-httpd-server/httpd-server.morph b/strata/apache-httpd-server/httpd-server.morph
new file mode 100644
index 00000000..f7662912
--- /dev/null
+++ b/strata/apache-httpd-server/httpd-server.morph
@@ -0,0 +1,67 @@
+name: httpd-server
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./buildconf --with-apr=/usr/share/apr-1
+# We override --libexecdir with the same value as --enable-layout=RPM
+# ought to provide, because otherwise there is a bug where when mod_wsgi
+# calls apxs, it fails as follows because the variable is empty.
+#
+#/usr/share/apr-1/build/libtool --silent --mode=link gcc -std=gnu99
+# -o src/server/mod_wsgi.la -rpath # -module -avoid-version
+# src/server/wsgi_validate.lo src/server/wsgi_stream.lo
+# src/server/wsgi_server.lo src/server/wsgi_restrict.lo
+# src/server/wsgi_metrics.lo src/server/wsgi_logger.lo
+# src/server/wsgi_interp.lo src/server/wsgi_daemon.lo
+# src/server/wsgi_convert.lo src/server/wsgi_buckets.lo
+# src/server/wsgi_apache.lo src/server/mod_wsgi.lo
+# -L/usr/lib -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm
+# libtool: error: only absolute run-paths are allowed
+# apxs:Error: Command failed with rc=65536
+#
+- |
+ ./configure --prefix="$PREFIX" \
+ --libexecdir="$PREFIX"/lib/httpd/modules \
+ --enable-layout=RPM \
+ --enable-mpms-shared=all \
+ --with-apr="$PREFIX"/bin/apr-2-config \
+ --enable-suexec --with-suexec \
+ --with-suexec-caller=apache \
+ --with-suexec-docroot=/var/www \
+ --with-suexec-logfile=/var/log/httpd/suexec.log \
+ --with-suexec-bin="$PREFIX"/lib/httpd/suexec \
+ --with-suexec-uidmin=500 --with-suexec-gidmin=100\
+ --with-suexec-userdir=public_html \
+ --enable-pie \
+ --with-pcre \
+ --enable-mods-shared=all \
+ --enable-ssl --with-ssl \
+ --enable-case-filter --enable-case-filter-in \
+ --enable-cgid --enable-cgi\
+ --enable-so
+post-install-commands:
+# Add perl interpreter path to apxs script, required for loading mod_wsgi.
+- |
+ sed -i 's|#!/replace/with/path/to/perl/interpreter -w|#!/usr/bin/perl -w|g' \
+ "$DESTDIR$PREFIX"/bin/apxs
+# Add conf.d directory where apache will look for other configurations to load.
+- mkdir -p "$DESTDIR"/etc/httpd/conf.d
+- echo 'Include /etc/httpd/conf.d/*.conf' >> "$DESTDIR"/etc/httpd/conf/httpd.conf
+####################################################################################
+# This chunk should add an apache user and an apache group, create the apache home
+# directory and move suexec to /usr/lib/httpd/suexec as system-integration time.
+# This is not possible because linux-user-chroot drops all capabilities for security so
+# it does not allow to change the owners of directories or files.
+# So for now you should create a script which includes the following commands:
+# - mkdir -p /var/www
+# - groupadd -r apache
+# - |
+# useradd -c "Apache Server" -d /var/www -g apache \
+# -s /bin/false apache
+#
+# - mkdir -p /usr/lib/httpd
+# - mv -v /usr/bin/suexec /usr/lib/httpd/suexec
+# - chgrp apache /usr/lib/httpd/suexec
+# - chmod 4754 /usr/lib/httpd/suexec
+# - chown -R apache:apache /var/www
+####################################################################################
diff --git a/strata/apache-httpd-server/mod_wsgi.morph b/strata/apache-httpd-server/mod_wsgi.morph
new file mode 100644
index 00000000..86004ad3
--- /dev/null
+++ b/strata/apache-httpd-server/mod_wsgi.morph
@@ -0,0 +1,18 @@
+name: mod_wsgi
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" \
+ --with-apxs=/usr/bin/apxs
+post-install-commands:
+- |
+ install -D -m 644 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/httpd/conf.d/wsgi.conf
+ # NOTE: mod_wsgi can not coexist in the same apache process as
+ # mod_wsgi_python3. Only load if mod_wsgi_python3 is not
+ # already loaded.
+
+ <IfModule !wsgi_module>
+ LoadModule wsgi_module /usr/lib/httpd/modules/mod_wsgi.so
+ </IfModule>
+ EOF
diff --git a/strata/armv7lhf-cross-toolchain.morph b/strata/armv7lhf-cross-toolchain.morph
index c76ae537..a3539d65 100644
--- a/strata/armv7lhf-cross-toolchain.morph
+++ b/strata/armv7lhf-cross-toolchain.morph
@@ -7,36 +7,50 @@ chunks:
- name: armv7lhf-cross-binutils
morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
repo: upstream:binutils-redhat
- ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
+ ref: b1d3b01332ae49a60ff5d6bf53d3a5b1805769c8
unpetrify-ref: baserock/build-essential
build-depends: []
+
- name: armv7lhf-cross-linux-api-headers
morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
repo: upstream:linux
ref: df2e1b9168a7ab5dd8149e38b5ac70cdef86d1fa
unpetrify-ref: baserock/v3.8
build-depends: []
+
- name: armv7lhf-cross-gcc-nolibc
morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
repo: upstream:gcc-tarball
- ref: 0a1a077d3466cd99a4ed5590db2146b3fec6fff1
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
unpetrify-ref: baserock/build-essential
build-depends:
- armv7lhf-cross-binutils
-- name: armv7lhf-cross-eglibc
- morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph
- repo: upstream:eglibc2
- ref: 43ee5d250ad47d2bee8ec17954efb7f22d2b804c
- unpetrify-ref: baserock/2.15-build-essential
+
+- name: armv7lhf-cross-glibc
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph
+ repo: upstream:glibc
+ ref: 52cf9a0153c14df4f6ae3bd0e1e6cc5d171e586c
+ unpetrify-ref: baserock/glibc-2.20
build-depends:
- armv7lhf-cross-binutils
- armv7lhf-cross-gcc-nolibc
- armv7lhf-cross-linux-api-headers
+
- name: armv7lhf-cross-gcc
morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
repo: upstream:gcc-tarball
- ref: b0254026149b13782eae26d38435a4c62a002cf0
- unpetrify-ref: baserock/build-essential-4.7
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - armv7lhf-cross-binutils
+ - armv7lhf-cross-glibc
+
+- name: armv7lhf-cross-libstdc++
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
build-depends:
- armv7lhf-cross-binutils
- - armv7lhf-cross-eglibc
+ - armv7lhf-cross-gcc
+ - armv7lhf-cross-glibc
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
index d164a60b..b5a8c338 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
@@ -6,49 +6,69 @@ configure-commands:
# Configure flag notes:
# 1. Standard flags. See gcc.morph.
-# 2. Our binutils is for the final $TARGET, rather than the intermediate
+# 2. See stage1-gcc.morph.
+# 3. Our binutils is for the final $TARGET, rather than the intermediate
# target our GCC is being built for, so we need to set
# with-build-time-tools to get it to find our binutils at
# build-time and with-as and with-ld so our temporary GCC uses
# the appropriate tools when it compiles our libc, rather than
# trying to use $TARGET_STAGE1-as when producing binaries.
-# 3. Disable stuff that doesn't work when building a cross compiler
+# 4. Disable stuff that doesn't work when building a cross compiler
# without an existing libc, and generally try to keep this build as
# simple as possible.
- |
export MORPH_ARCH=armv7lhf
export TARGET=armv7lhf-baserock-linux-gnueabi
export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
- cd o &&
- ../configure \
- $(../morph-arch-config) \
- --build=$(sh ../config.guess) --host=$(sh ../config.guess) \
- --target="$TARGET_STAGE1" \
- --prefix="$PREFIX" \
- --disable-bootstrap --disable-nls \
- `# [1]` --libdir="$PREFIX/lib" --disable-multilib --disable-libgomp \
- --without-cloog --without-ppl \
- --with-mpfr-include="$(pwd)/../mpfr/src" \
- --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
- `# [2]` --with-build-time-tools="$PREFIX/$TARGET/bin" \
- --with-as="$PREFIX/$TARGET/bin/as" \
- --with-ld="$PREFIX/$TARGET/bin/ld" \
- `# [3]` --enable-languages=c --disable-decimal-float \
- --disable-libmudflap --disable-libquadmath --disable-libssp \
- --disable-shared --disable-threads --disable-target-libiberty \
- --disable-target-zlib --without-headers --with-newlib \
- --with-system-zlib
+
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target="$TARGET_STAGE1" \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir="$PREFIX/lib" \
+ `# [2]` --with-sysroot=/nonexistentdir \
+ --with-newlib \
+ `# [2]` --with-local-prefix="$PREFIX" \
+ `# [2]` --with-native-system-header-dir="$PREFIX/include" \
+ `# [3]` --with-build-time-tools="$PREFIX/$TARGET/bin" \
+ `# [3]` --with-as="$PREFIX/$TARGET/bin/as" \
+ `# [3]` --with-ld="$PREFIX/$TARGET/bin/ld" \
+ --without-headers \
+ --disable-nls \
+ --disable-shared \
+ `# [4]` --disable-multilib \
+ `# [4]` --disable-decimal-float \
+ `# [4]` --disable-threads \
+ `# [4]` --disable-libatomic \
+ `# [4]` --disable-libgomp \
+ `# [4]` --disable-libitm \
+ `# [4]` --disable-libquadmath \
+ `# [4]` --disable-libsanitizer \
+ `# [4]` --disable-libssp \
+ `# [4]` --disable-libvtv \
+ `# [4]` --disable-libcilkrts \
+ `# [4]` --disable-libstdc++-v3 \
+ --enable-languages=c,c++
build-commands:
-- cd o && make
+- |
+ # See stage1-gcc.morph.
+ case "$MORPH_ARCH" in
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
+ cd o && make
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
-
-# The file libgcc_eh is required during eglibc's build, but is not created
-# because we built GCC with --disable-shared. This is a workaround for
-# eglibc's build system being slightly broken.
-- |
- export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
- libgcc_filename="$("$DESTDIR$PREFIX/bin/$TARGET_STAGE1-gcc" -print-libgcc-file-name)"
- ln -sv libgcc.a "$(echo "$libgcc_filename" | sed 's/libgcc/&_eh/')"
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
index 50c338e5..140a29b1 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
@@ -6,37 +6,40 @@ configure-commands:
# Configure flag notes:
# 1. Use the default sysroot path to install to and locate headers
-# 2. Recommended by Linux From Scratch; required for C++ ABI
-# compatibility with other Linux distributions.
+# 2. Avoid having more than one copy of ZLib in use on the system
# 3. Standard flags. See gcc.morph.
-# 4. Avoid having more than one copy of ZLib in use on the system
- |
export MORPH_ARCH=armv7lhf
export TARGET=armv7lhf-baserock-linux-gnueabi
- export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
- cd o && ../configure \
- $(../morph-arch-config) \
- --build=$(sh ../config.guess) \
- --host=$(sh ../config.guess) \
- --target="$TARGET" \
- `# [1]` --with-sysroot \
- --prefix="$PREFIX" \
- --disable-bootstrap \
- --enable-shared --enable-threads=posix \
- `# [2]` --enable-__cxa_atexit \
- --enable-languages=c,c++,fortran \
- `# [3]` --libdir="$PREFIX/lib" \
- --disable-libgomp --disable-multilib \
- --without-cloog --without-ppl \
- --with-mpfr-include="$(pwd)/../mpfr/src" \
- --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
- `# [4]` --with-system-zlib
+
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target="$TARGET" \
+ --prefix="$PREFIX" \
+ `# [1]` --with-sysroot \
+ --disable-bootstrap \
+ `# [2]` --with-system-zlib \
+ `# [3]` --libdir="$PREFIX/lib" \
+ `# [3]` --disable-multilib \
+ `# [3]` --enable-languages=c,c++,fortran
build-commands:
- cd o && make
install-commands:
- cd o && make DESTDIR="$DESTDIR" install
+- ln -s gcc "$DESTDIR/$PREFIX/bin/cc"
- |
export TARGET=armv7lhf-baserock-linux-gnueabi
for fortran_alias in f77 f90 f95; do
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph
index ee28c9dd..2a692c38 100644
--- a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph
@@ -1,37 +1,41 @@
-name: armv7lhf-cross-eglibc
+name: armv7lhf-cross-glibc
kind: chunk
configure-commands:
- mkdir o
-# Necessary for ARM port
-- cd libc && ln -s ../ports ports
-
# Configure flag notes:
-# 1. Location of linux-api-headers, needed since eglibc doesn't
+# 1. Location of linux-api-headers, needed since glibc doesn't
# support being given a sysroot.
# 2. Location of binutils, since we build binutils for the final
# target triplet, but our gcc of our stage 1 target triplet.
-# 3. Normal flags. See eglibc.morph.
+# 3. Normal flags. See strata/build-essential/glibc.morph.
# 4. Force configuration values of certain things that can't be detected
# in a cross-compile.
- |
export MORPH_ARCH=armv7lhf
export TARGET=armv7lhf-baserock-linux-gnueabi
export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
+
export CFLAGS="-O2 $CFLAGS"
- # eglibc looks for $TARGET-gcc, but not $TARGET_STAGE1-gcc even
+
+ # glibc looks for $TARGET-gcc, but not $TARGET_STAGE1-gcc even
# though --build is specified, so we have to override what gcc to
# use here.
export CC="$TARGET_STAGE1-gcc"
- cd o && ../libc/configure \
- $(../morph-arch-config) \
+
+ case "$MORPH_ARCH" in
+ armv7*)
+ ARCH_FLAGS="--without-fp" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
--build=$TARGET_STAGE1 --host=$TARGET \
--prefix="$PREFIX" \
`# [1]` --with-headers="$PREFIX/$TARGET/sys-root/$PREFIX/include" \
`# [2]` --with-binutils="$PREFIX/$TARGET/bin" \
`# [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
@@ -40,7 +44,7 @@ build-commands:
install-commands:
- |
- # eglibc doesn't help with sysroots, so we need to spell out the
+ # glibc doesn't help with sysroots, so we need to spell out the
# full path ourselves.
export TARGET=armv7lhf-baserock-linux-gnueabi
cd o && make install_root="$DESTDIR/$PREFIX/$TARGET/sys-root/" \
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph
new file mode 100644
index 00000000..7743bb5b
--- /dev/null
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph
@@ -0,0 +1,32 @@
+name: armv7lhf-cross-libstdc++
+kind: chunk
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. Use the default sysroot path to install to and locate headers
+# 2. From LFS: the header location of C++ needs to be explicitly given
+# as we are running the configure script from the top-level
+# directory.
+- |
+ export MORPH_ARCH=armv7lhf
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+
+ # -fPIC must be given, otherwise it will not be possible to create
+ # shared libraries linked to libstdc++
+ export CPPFLAGS="-fPIC"
+ cd o && ../libstdc++-v3/configure \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target="$TARGET" \
+ --prefix="$PREFIX" \
+ --disable-nls \
+ --disable-shared \
+ --disable-multilib \
+ `# [1]` --with-sysroot
+
+build-commands:
+- cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
diff --git a/strata/build-essential.morph b/strata/build-essential.morph
index 12da5a7a..e7da1784 100644
--- a/strata/build-essential.morph
+++ b/strata/build-essential.morph
@@ -31,6 +31,9 @@ description: |
stage2-fhs-dirs.morph for details. Basically, /bin is a symlink to
/tools/bin during stage 2 but in stage 3 it becomes a real directory
again.
+
+ PLEASE KEEP THE REFS IN 'armv7lhf-cross-toolchain' STRATUM UP TO DATE WITH
+ THIS ONE!
products:
- artifact: build-essential-minimal
include:
diff --git a/strata/core.morph b/strata/core.morph
index 3c92831f..470e2dfa 100644
--- a/strata/core.morph
+++ b/strata/core.morph
@@ -119,8 +119,8 @@ chunks:
- name: libtool-tarball
morph: strata/core/libtool-tarball.morph
repo: upstream:libtool-tarball
- ref: f7bbc21981ffdbbe2d4435556e3ead0828dce160
- unpetrify-ref: libtool-2.4.5
+ ref: c026ca36e37d2643623a75d0d3e9e451023139f3
+ unpetrify-ref: libtool-2.4.6
build-depends:
- bash
- name: gtk-doc-stub
diff --git a/strata/coreutils-common/diff.morph b/strata/coreutils-common/diff.morph
index 3a05af2d..346f8635 100644
--- a/strata/coreutils-common/diff.morph
+++ b/strata/coreutils-common/diff.morph
@@ -4,4 +4,4 @@ build-system: autotools
configure-commands:
- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
- ./bootstrap --skip-po
-- ./configure --prefix="$PREFIX"
+- ./configure --prefix="$PREFIX" --disable-gcc-warnings
diff --git a/strata/enlightenment.morph b/strata/enlightenment.morph
index 541b4f7a..25eafce2 100644
--- a/strata/enlightenment.morph
+++ b/strata/enlightenment.morph
@@ -6,7 +6,7 @@ build-depends:
- morph: strata/x-generic.morph
- morph: strata/lua.morph
- morph: strata/audio-bluetooth.morph
-- morph: strata/multimedia.morph
+- morph: strata/multimedia-gstreamer.morph
- morph: strata/connman-common.morph
chunks:
- name: fribidi
diff --git a/strata/gtk3.morph b/strata/gtk3.morph
index 851cb3dd..8af030bb 100644
--- a/strata/gtk3.morph
+++ b/strata/gtk3.morph
@@ -13,7 +13,7 @@ chunks:
- name: gtk3
morph: strata/gtk3/gtk3.morph
repo: upstream:gtk+
- ref: 9e96461aa59cdb5454a48200b8b80caaf04c4147
- unpetrify-ref: 3.15.5
+ ref: da163469f9d344190f69bfc163517154af0e2dab
+ unpetrify-ref: 3.15.4
build-depends:
- libepoxy
diff --git a/strata/libdrm-common.morph b/strata/libdrm-common.morph
index e364bab2..316bf483 100644
--- a/strata/libdrm-common.morph
+++ b/strata/libdrm-common.morph
@@ -5,13 +5,13 @@ build-depends:
chunks:
- name: xorg-lib-libpciaccess
repo: upstream:xorg-lib-libpciaccess
- ref: 3e17f069682a226c14bb29c802e776c6e39f7e8f
- unpetrify-ref: baserock/morph
+ ref: f99c2e4199ce37f6f94428df504427f67c3ec543
+ unpetrify-ref: libpciaccess-0.13.3
build-depends: []
- name: drm
repo: upstream:drm
morph: strata/libdrm-common/drm.morph
- ref: 83b2c40922ce451f5844aae0707ae9783a78d74f
- unpetrify-ref: baserock/drm_2.4.58/jetson
+ ref: d2e0f552467ca11162fe04dfed55de4590280f23
+ unpetrify-ref: libdrm-2.4.59
build-depends:
- xorg-lib-libpciaccess
diff --git a/strata/libdrm-common/drm.morph b/strata/libdrm-common/drm.morph
index d3d06fd8..d1a5381b 100644
--- a/strata/libdrm-common/drm.morph
+++ b/strata/libdrm-common/drm.morph
@@ -4,7 +4,3 @@ build-system: autotools
configure-commands:
- NOCONFIGURE=1 ./autogen.sh
- ./configure --prefix="$PREFIX" --enable-tegra-experimental-api --enable-freedreno-experimental-api
-install-commands:
- - make install DESTDIR="$DESTDIR"
- - mkdir -p "$DESTDIR"/usr/lib/pkgconfig
- - /usr/bin/install -c -m 644 tegra/libdrm_tegra.pc "$DESTDIR"/usr/lib/pkgconfig
diff --git a/strata/multimedia-common.morph b/strata/multimedia-common.morph
new file mode 100644
index 00000000..f10dd2b3
--- /dev/null
+++ b/strata/multimedia-common.morph
@@ -0,0 +1,17 @@
+name: multimedia-common
+kind: stratum
+description: Mutimedia Libraries
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: ogg
+ repo: upstream:ogg
+ ref: 0deb6226917e32a71f15d5279d0bc76d8b97c13f
+ unpetrify-ref: master
+ build-depends: []
+- name: libvorbis
+ repo: upstream:libvorbis
+ ref: 2ae58009cbc655a6031280f92fb1e7b324318ae8
+ unpetrify-ref: libvorbis-1.3.3
+ build-depends:
+ - ogg
diff --git a/strata/multimedia-gstreamer-0.10.morph b/strata/multimedia-gstreamer-0.10.morph
index 50917372..e87c4050 100644
--- a/strata/multimedia-gstreamer-0.10.morph
+++ b/strata/multimedia-gstreamer-0.10.morph
@@ -5,6 +5,7 @@ build-depends:
- morph: strata/core.morph
- morph: strata/foundation.morph
- morph: strata/audio-bluetooth.morph
+- morph: strata/multimedia-common.morph
chunks:
- name: orc
repo: upstream:orc
diff --git a/strata/multimedia.morph b/strata/multimedia-gstreamer.morph
index 6acab0f7..cee7df71 100644
--- a/strata/multimedia.morph
+++ b/strata/multimedia-gstreamer.morph
@@ -1,8 +1,10 @@
-name: multimedia
+name: multimedia-gstreamer
kind: stratum
-description: Codecs
+description: GStreamer multimedia components
build-depends:
- morph: strata/audio-bluetooth.morph
+- morph: strata/multimedia-common.morph
+- morph: strata/mesa-common.morph
chunks:
- name: orc
repo: upstream:orc
diff --git a/strata/python3-core.morph b/strata/python3-core.morph
new file mode 100644
index 00000000..2dc41438
--- /dev/null
+++ b/strata/python3-core.morph
@@ -0,0 +1,12 @@
+name: python3-core
+kind: stratum
+description: Core python3 packages
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: python3
+ morph: strata/python3-core/python3.morph
+ repo: upstream:cpython
+ ref: d1414cefaddc7b56caef75eea87226b1fce5ca7c
+ unpetrify-ref: v3.4.2
+ build-depends: []
diff --git a/strata/python3-core/python3.morph b/strata/python3-core/python3.morph
new file mode 100644
index 00000000..f02452d4
--- /dev/null
+++ b/strata/python3-core/python3.morph
@@ -0,0 +1,7 @@
+name: python3
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --enable-shared
+post-install-commands:
+- test -x "$DESTDIR"/"$PREFIX"/bin/python3 || ln -s python3.4 "$DESTDIR"/"$PREFIX"/bin/python3
diff --git a/strata/qt5-tools-qtmultimedia.morph b/strata/qt5-tools-qtmultimedia.morph
index 6482db62..df36ccad 100644
--- a/strata/qt5-tools-qtmultimedia.morph
+++ b/strata/qt5-tools-qtmultimedia.morph
@@ -6,7 +6,7 @@ build-depends:
- morph: strata/multimedia-gstreamer-0.10.morph
chunks:
- name: qtmultimedia
- morph: strata/qt5-tools/qtmultimedia.morph
+ morph: strata/qt5-tools/qtmultimedia-gstreamer.morph
repo: upstream:qt5/qtmultimedia
ref: b3c2dca466042cf362ffb8d803bf05c9b8a0f95f
unpetrify-ref: v5.3.2
diff --git a/strata/qt5-tools-qtwebkit.morph b/strata/qt5-tools-qtwebkit.morph
index 1d746949..4441e46b 100644
--- a/strata/qt5-tools-qtwebkit.morph
+++ b/strata/qt5-tools-qtwebkit.morph
@@ -2,7 +2,7 @@ name: qt5-tools-qtwebkit
kind: stratum
description: Qt5 WebKit Development Libraries and Tools
build-depends:
-- morph: strata/multimedia.morph
+- morph: strata/multimedia-gstreamer.morph
- morph: strata/qt5-tools.morph
- morph: strata/ruby.morph
chunks:
diff --git a/strata/virtualization/libvirt.morph b/strata/virtualization/libvirt.morph
index e6d348bb..bdc99ddf 100644
--- a/strata/virtualization/libvirt.morph
+++ b/strata/virtualization/libvirt.morph
@@ -19,7 +19,7 @@ configure-commands:
--with-secrets --with-storage-dir --with-storage-fs --with-storage-lvm \
--without-storage-iscsi --without-storage-scsi --without-storage-mpath \
--without-storage-disk --with-storage-rbd --without-storage-sheepdog \
- --without-storage-gluster --without-wireshark-dissector \
+ --without-storage-gluster --without-wireshark-dissector --disable-werror \
--prefix="$PREFIX"
system-integration:
libvirt-misc:
diff --git a/strata/xstatic.morph b/strata/xstatic.morph
index a632d4df..d3a4228f 100644
--- a/strata/xstatic.morph
+++ b/strata/xstatic.morph
@@ -21,16 +21,41 @@ chunks:
ref: dac047df05da5bb20de4e78876bc03820d0c6671
unpetrify-ref: 1.3.7.0
build-depends: []
+- name: xstatic-angular-animate
+ repo: upstream:xstatic-packages/xstatic-angular-animate
+ ref: 91b9d3197f67213e4e35e9a35ba7196b898731e7
+ unpetrify-ref: master
+ build-depends: []
+- name: xstatic-angular-bootstrap
+ repo: upstream:xstatic-packages/xstatic-angular-bootstrap
+ ref: 2a8c157b8b0733afbfdaf7eea29cf012a8b7f483
+ unpetrify-ref: master
+ build-depends: []
- name: xstatic-angular-cookies
repo: upstream:xstatic-packages/xstatic-angular-cookies
ref: 66141a33ae7ad84b82ba9384a8101ae15ccd6da5
unpetrify-ref: 1.2.1.1
build-depends: []
+- name: xstatic-angular-fileupload
+ repo: upstream:xstatic-packages/xstatic-angular-fileupload
+ ref: 04bcd774dae17cfff5e826fc0874f6403b4a6cae
+ unpetrify-ref: master
+ build-depends: []
- name: xstatic-angular-mock
repo: upstream:xstatic-packages/xstatic-angular-mock
ref: 20fdada109b167bcdcacec22986b43fdb42866f3
unpetrify-ref: 1.2.1.1
build-depends: []
+- name: xstatic-angular-sanitize
+ repo: upstream:xstatic-packages/xstatic-angular-sanitize
+ ref: 9e0f03ada6fc00f8583903aeb6d9fc6516784999
+ unpetrify-ref: master
+ build-depends: []
+- name: xstatic-angular-smart-table
+ repo: upstream:xstatic-packages/xstatic-angular-smart-table
+ ref: e0fbf69fb156b995547471d71c5c6a7f88989d47
+ unpetrify-ref: master
+ build-depends: []
- name: xstatic-bootstrap-datepicker
repo: upstream:xstatic-packages/xstatic-bootstrap-datepicker
ref: 60caf41e32d49f9bc715c39570f01449ebfbd37a
@@ -66,6 +91,11 @@ chunks:
ref: e91c5bf82535a62c1cfac61b5efb6b5c0157c1f5
unpetrify-ref: master
build-depends: []
+- name: xstatic-jquery-bootstrap-wizard
+ repo: upstream:xstatic-packages/xstatic-jquery-bootstrap-wizard
+ ref: 07ae7e3a15b3af3d3d378d1f2412fe503ee42142
+ unpetrify-ref: master
+ build-depends: []
- name: xstatic-jquery-migrate
repo: upstream:xstatic-packages/xstatic-jquery-migrate
ref: 989b3b31106727542dd83810c3b952f90d8cdb8f
diff --git a/systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph b/systems/armv7lhf-cross-toolchain-system-x86_32.morph
index e983ba7a..3f66d178 100644
--- a/systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph
+++ b/systems/armv7lhf-cross-toolchain-system-x86_32.morph
@@ -1,4 +1,4 @@
-name: armv7lhf-cross-toolchain-system-x86_32-generic
+name: armv7lhf-cross-toolchain-system-x86_32
kind: system
description: A system that contains an ARM cross compiler, intended to be used as
a sysroot.
diff --git a/systems/armv7lhf-cross-toolchain-system-x86_64-generic.morph b/systems/armv7lhf-cross-toolchain-system-x86_64.morph
index 1a8c20bb..76197491 100644
--- a/systems/armv7lhf-cross-toolchain-system-x86_64-generic.morph
+++ b/systems/armv7lhf-cross-toolchain-system-x86_64.morph
@@ -1,4 +1,4 @@
-name: armv7lhf-cross-toolchain-system-x86_64-generic
+name: armv7lhf-cross-toolchain-system-x86_64
kind: system
description: A system that contains an ARM cross compiler, intended to be used as
a sysroot.
diff --git a/systems/genivi-baseline-system-armv7lhf-jetson.morph b/systems/genivi-baseline-system-armv7lhf-jetson.morph
index 5cbfddbe..50581561 100644
--- a/systems/genivi-baseline-system-armv7lhf-jetson.morph
+++ b/systems/genivi-baseline-system-armv7lhf-jetson.morph
@@ -19,8 +19,10 @@ strata:
morph: strata/audio-bluetooth.morph
- name: libdrm-common
morph: strata/libdrm-common.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: genivi
morph: strata/genivi.morph
- name: wayland-generic
diff --git a/systems/genivi-baseline-system-armv7lhf-versatile.morph b/systems/genivi-baseline-system-armv7lhf-versatile.morph
index a5f07750..16bed197 100644
--- a/systems/genivi-baseline-system-armv7lhf-versatile.morph
+++ b/systems/genivi-baseline-system-armv7lhf-versatile.morph
@@ -19,8 +19,10 @@ strata:
morph: strata/audio-bluetooth.morph
- name: libdrm-common
morph: strata/libdrm-common.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: genivi
morph: strata/genivi.morph
- name: wayland-generic
diff --git a/systems/genivi-baseline-system-x86_64-generic.morph b/systems/genivi-baseline-system-x86_64-generic.morph
index f5fb571e..f4828688 100644
--- a/systems/genivi-baseline-system-x86_64-generic.morph
+++ b/systems/genivi-baseline-system-x86_64-generic.morph
@@ -19,8 +19,10 @@ strata:
morph: strata/audio-bluetooth.morph
- name: libdrm-common
morph: strata/libdrm-common.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: genivi
morph: strata/genivi.morph
- name: wayland-generic
diff --git a/systems/gitlab-ci-runner.morph b/systems/gitlab-ci-runner.morph
index b4e20ec7..979b73b0 100644
--- a/systems/gitlab-ci-runner.morph
+++ b/systems/gitlab-ci-runner.morph
@@ -21,8 +21,10 @@ strata:
morph: strata/x-common.morph
- name: x-generic
morph: strata/x-generic.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: genivi
morph: strata/genivi.morph
- name: tools
diff --git a/systems/qt4-devel-system-x86_64-generic.morph b/systems/qt4-devel-system-x86_64-generic.morph
index 9a23bdeb..0a98f205 100644
--- a/systems/qt4-devel-system-x86_64-generic.morph
+++ b/systems/qt4-devel-system-x86_64-generic.morph
@@ -12,6 +12,8 @@ strata:
morph: strata/foundation.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
- name: multimedia-gstreamer-0.10
morph: strata/multimedia-gstreamer-0.10.morph
- name: bsp-x86_64-generic
diff --git a/systems/qt5-devel-system-x86_64-generic.morph b/systems/qt5-devel-system-x86_64-generic.morph
index 1a78ff4f..0f768536 100644
--- a/systems/qt5-devel-system-x86_64-generic.morph
+++ b/systems/qt5-devel-system-x86_64-generic.morph
@@ -12,8 +12,10 @@ strata:
morph: strata/foundation.morph
- name: audio-bluetooth
morph: strata/audio-bluetooth.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: bsp-x86_64-generic
morph: strata/bsp-x86_64-generic.morph
- name: tools
diff --git a/systems/weston-system-armv7lhf-jetson.morph b/systems/weston-system-armv7lhf-jetson.morph
index 2e139755..e1979d44 100644
--- a/systems/weston-system-armv7lhf-jetson.morph
+++ b/systems/weston-system-armv7lhf-jetson.morph
@@ -19,8 +19,10 @@ strata:
morph: strata/audio-bluetooth.morph
- name: libdrm-common
morph: strata/libdrm-common.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: wayland-generic
morph: strata/wayland-generic.morph
- name: graphics-common
diff --git a/systems/weston-system-x86_64-generic.morph b/systems/weston-system-x86_64-generic.morph
index de099697..dfa5c3df 100644
--- a/systems/weston-system-x86_64-generic.morph
+++ b/systems/weston-system-x86_64-generic.morph
@@ -19,8 +19,10 @@ strata:
morph: strata/audio-bluetooth.morph
- name: libdrm-common
morph: strata/libdrm-common.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: wayland-generic
morph: strata/wayland-generic.morph
- name: graphics-common
diff --git a/systems/xfce-system.morph b/systems/xfce-system.morph
index 697ea52d..5aea4f7b 100644
--- a/systems/xfce-system.morph
+++ b/systems/xfce-system.morph
@@ -23,8 +23,10 @@ strata:
morph: strata/x-common.morph
- name: x-generic
morph: strata/x-generic.morph
-- name: multimedia
- morph: strata/multimedia.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
- name: genivi
morph: strata/genivi.morph
- name: gtk2