diff options
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: @@ -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 |