summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--base-system-x86_32-generic.morph18
-rw-r--r--base-system-x86_64-generic.morph18
-rw-r--r--bsp-jetson-devel.morph23
-rw-r--r--clusters/ci.morph14
-rw-r--r--clusters/example-distbuild-cluster.morph (renamed from example-distbuild-cluster.morph)12
-rw-r--r--clusters/gitlab-ci-runner-cluster.morph (renamed from gitlab-ci-runner-cluster.morph)14
-rw-r--r--clusters/gitlab-cluster.morph (renamed from gitlab-cluster.morph)36
-rw-r--r--clusters/gitlab-server-cluster.morph (renamed from gitlab-server-cluster.morph)24
-rw-r--r--clusters/image-package-example.morph12
-rw-r--r--clusters/initramfs-test.morph (renamed from initramfs-test.morph)4
-rw-r--r--clusters/mason.morph56
-rw-r--r--clusters/minimal-system-deploy.morph (renamed from minimal-system-deploy.morph)6
-rw-r--r--clusters/release.morph (renamed from release.morph)14
-rw-r--r--clusters/sdk-example-cluster.morph (renamed from sdk-example-cluster.morph)4
-rw-r--r--clusters/trove.baserock.org-upgrade.morph (renamed from trove.baserock.org-upgrade.morph)12
-rw-r--r--clusters/upgrade-devel.morph (renamed from upgrade-devel.morph)2
-rw-r--r--cross-bootstrap-system-armv7lhf-generic.morph8
-rw-r--r--cross-bootstrap-system-ppc64-generic.morph8
-rw-r--r--cross-bootstrap-system-x86_64-generic.morph8
-rw-r--r--cxmanage-system-x86_64-generic.morph18
-rw-r--r--devel-system-armv7-highbank.morph18
-rw-r--r--devel-system-armv7-versatile.morph18
-rw-r--r--devel-system-armv7-wandboard.morph17
-rw-r--r--devel-system-armv7b-chroot.morph17
-rw-r--r--devel-system-armv7b-highbank.morph18
-rw-r--r--devel-system-armv7lhf-chroot.morph17
-rw-r--r--devel-system-armv7lhf-highbank.morph18
-rw-r--r--devel-system-armv7lhf-jetson.morph17
-rw-r--r--devel-system-armv7lhf-wandboard.morph17
-rw-r--r--devel-system-ppc64-generic.morph18
-rw-r--r--devel-system-x86_32-chroot.morph18
-rw-r--r--devel-system-x86_32-generic.morph20
-rw-r--r--devel-system-x86_64-chroot.morph18
-rw-r--r--devel-system-x86_64-generic.morph20
-rw-r--r--devel-system-x86_64-vagrant.morph29
-rw-r--r--distbuild-system-armv7lhf-highbank.morph20
-rw-r--r--distbuild-system-armv7lhf-jetson.morph20
-rw-r--r--distbuild-system-ppc64.morph20
-rw-r--r--distbuild-system-x86_32.morph20
-rw-r--r--distbuild-system-x86_64.morph20
-rw-r--r--genivi-baseline-system-armv7lhf-versatile.morph24
-rw-r--r--genivi-baseline-system-x86_64-generic.morph23
-rw-r--r--gitlab-ci-runner.morph31
-rw-r--r--gitlab-server.morph23
-rw-r--r--gtk2.morph103
-rw-r--r--image-package-example.morph12
-rw-r--r--mason.configure101
-rw-r--r--mason/httpd.service10
-rwxr-xr-xmason/mason-generator.sh101
-rwxr-xr-xmason/mason-report.sh252
-rw-r--r--mason/mason.service9
-rwxr-xr-xmason/mason.sh79
-rw-r--r--mason/mason.timer10
-rw-r--r--multimedia.morph17
-rw-r--r--nodejs-system-x86_64.morph28
-rw-r--r--qt4-devel-system-x86_64-generic.morph26
-rw-r--r--qt5-devel-system-x86_64-generic.morph26
-rwxr-xr-xscripts/licensecheck.sh26
-rwxr-xr-xscripts/organize-morphologies.py266
-rwxr-xr-xscripts/release-build70
-rwxr-xr-xscripts/release-test399
-rwxr-xr-xscripts/release-upload124
-rw-r--r--strata/ansible.morph (renamed from ansible.morph)3
-rw-r--r--strata/ansible/ansible.morph5
-rw-r--r--strata/armv7lhf-cross-toolchain.morph (renamed from armv7lhf-cross-toolchain.morph)7
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph23
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph33
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph35
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph35
-rw-r--r--strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph11
-rw-r--r--strata/audio-bluetooth.morph (renamed from audio-bluetooth.morph)18
-rw-r--r--strata/audio-bluetooth/alsa-lib.morph4
-rw-r--r--strata/audio-bluetooth/alsa-utils.morph7
-rw-r--r--strata/audio-bluetooth/bluez-tools.morph10
-rw-r--r--strata/audio-bluetooth/bluez.morph12
-rw-r--r--strata/audio-bluetooth/json-c.morph7
-rw-r--r--strata/audio-bluetooth/libical.morph6
-rw-r--r--strata/audio-bluetooth/libsndfile.morph5
-rw-r--r--strata/audio-bluetooth/nohands.morph5
-rw-r--r--strata/audio-bluetooth/ofono.morph11
-rw-r--r--strata/audio-bluetooth/pulseaudio.morph13
-rw-r--r--strata/bsp-armv7-highbank.morph (renamed from bsp-armv7-highbank.morph)3
-rw-r--r--strata/bsp-armv7-highbank/linux-armv7-highbank.morph45
-rw-r--r--strata/bsp-armv7-versatile.morph (renamed from bsp-armv7-versatile.morph)3
-rw-r--r--strata/bsp-armv7-versatile/linux-armv7-versatile.morph25
-rw-r--r--strata/bsp-armv7b-highbank.morph (renamed from bsp-armv7b-highbank.morph)3
-rw-r--r--strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph47
-rw-r--r--strata/bsp-armv7b-vexpress-tc2.morph (renamed from bsp-armv7b-vexpress-tc2.morph)3
-rw-r--r--strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph50
-rw-r--r--strata/bsp-jetson-devel.morph33
-rw-r--r--strata/bsp-jetson-devel/bsp-support.morph6
-rw-r--r--strata/bsp-jetson-devel/device-tree-compiler.morph6
-rw-r--r--strata/bsp-jetson-devel/linux.morph53
-rw-r--r--strata/bsp-jetson-devel/u-boot.morph16
-rw-r--r--strata/bsp-ppc64-generic.morph (renamed from bsp-ppc64-generic.morph)3
-rw-r--r--strata/bsp-ppc64-generic/linux-ppc64.morph56
-rw-r--r--strata/bsp-wandboard.morph (renamed from bsp-wandboard.morph)4
-rw-r--r--strata/bsp-wandboard/linux-armv7-wandboard.morph63
-rw-r--r--strata/bsp-wandboard/u-boot.morph11
-rw-r--r--strata/bsp-x86_32-generic.morph (renamed from bsp-x86_32-generic.morph)5
-rw-r--r--strata/bsp-x86_32-generic/linux-x86-32-generic.morph99
-rw-r--r--strata/bsp-x86_32-generic/nasm.morph5
-rw-r--r--strata/bsp-x86_32-generic/syslinux.morph8
-rw-r--r--strata/bsp-x86_64-generic.morph (renamed from bsp-x86_64-generic.morph)5
-rw-r--r--strata/bsp-x86_64-generic/linux-x86-64-generic.morph99
-rw-r--r--strata/bsp-x86_64-generic/nasm.morph5
-rw-r--r--strata/bsp-x86_64-generic/syslinux.morph8
-rw-r--r--strata/bsp-x86_both-tools.morph (renamed from bsp-x86_both-tools.morph)4
-rw-r--r--strata/bsp-x86_both-tools/nasm.morph5
-rw-r--r--strata/bsp-x86_both-tools/syslinux.morph8
-rw-r--r--strata/build-essential.morph (renamed from build-essential.morph)42
-rw-r--r--strata/build-essential/binutils.morph7
-rw-r--r--strata/build-essential/busybox.morph99
-rw-r--r--strata/build-essential/ccache.morph12
-rw-r--r--strata/build-essential/eglibc.morph57
-rw-r--r--strata/build-essential/fhs-dirs.morph50
-rw-r--r--strata/build-essential/gawk.morph5
-rw-r--r--strata/build-essential/gcc.morph28
-rw-r--r--strata/build-essential/linux-api-headers.morph7
-rw-r--r--strata/build-essential/make.morph5
-rw-r--r--strata/build-essential/stage1-binutils.morph10
-rw-r--r--strata/build-essential/stage1-gcc.morph30
-rw-r--r--strata/build-essential/stage2-binutils.morph19
-rw-r--r--strata/build-essential/stage2-busybox.morph57
-rw-r--r--strata/build-essential/stage2-eglibc.morph38
-rw-r--r--strata/build-essential/stage2-fhs-dirs.morph52
-rw-r--r--strata/build-essential/stage2-gawk.morph9
-rw-r--r--strata/build-essential/stage2-gcc-fixed-headers.morph10
-rw-r--r--strata/build-essential/stage2-gcc.morph40
-rw-r--r--strata/build-essential/stage2-linux-api-headers.morph9
-rw-r--r--strata/build-essential/stage2-make.morph9
-rw-r--r--strata/build-essential/stage2-reset-specs.morph9
-rw-r--r--strata/build-essential/zlib.morph9
-rw-r--r--strata/ceph-service.morph (renamed from ceph-service.morph)9
-rw-r--r--strata/ceph-service/boost.morph8
-rw-r--r--strata/ceph-service/ceph.morph18
-rw-r--r--strata/ceph-service/keyutils.morph7
-rw-r--r--strata/ceph-service/leveldb.morph6
-rw-r--r--strata/ceph-service/libaio.morph7
-rw-r--r--strata/ceph-service/nspr.morph6
-rw-r--r--strata/ceph-service/nss.morph7
-rw-r--r--strata/cloudinit-support.morph (renamed from cloudinit-support.morph)8
-rw-r--r--strata/cloudinit-support/cloud-init.morph6
-rw-r--r--strata/cloudinit-support/python-prettytable.morph6
-rw-r--r--strata/connectivity.morph (renamed from connectivity.morph)8
-rw-r--r--strata/connectivity/connman.morph6
-rw-r--r--strata/connectivity/wpa_supplicant.morph8
-rw-r--r--strata/core.morph (renamed from core.morph)36
-rw-r--r--strata/core/autoconf.morph5
-rw-r--r--strata/core/automake.morph8
-rw-r--r--strata/core/bash.morph8
-rw-r--r--strata/core/bison.morph9
-rw-r--r--strata/core/bzip2.morph10
-rw-r--r--strata/core/cmake.morph8
-rw-r--r--strata/core/cpython.morph7
-rw-r--r--strata/core/curl.morph9
-rw-r--r--strata/core/flex.morph12
-rw-r--r--strata/core/gdbm.morph8
-rw-r--r--strata/core/gettext.morph9
-rw-r--r--strata/core/git.morph6
-rw-r--r--strata/core/gperf.morph3
-rw-r--r--strata/core/libexpat.morph9
-rw-r--r--strata/core/libtool.morph6
-rw-r--r--strata/core/m4.morph5
-rw-r--r--strata/core/mini-utils.morph6
-rw-r--r--strata/core/ncurses.morph9
-rw-r--r--strata/core/openssl-new.morph15
-rw-r--r--strata/core/perl.morph16
-rw-r--r--strata/core/pkg-config.morph5
-rw-r--r--strata/core/python-setuptools.morph6
-rw-r--r--strata/core/pyyaml.morph6
-rw-r--r--strata/core/shadow.morph5
-rw-r--r--strata/core/texinfo-tarball.morph9
-rw-r--r--strata/core/util-linux.morph6
-rw-r--r--strata/core/xz.morph3
-rw-r--r--strata/cross-bootstrap.morph (renamed from cross-bootstrap.morph)11
-rw-r--r--strata/cross-bootstrap/cmdtest.morph6
-rw-r--r--strata/cross-bootstrap/groff.morph11
-rw-r--r--strata/cross-bootstrap/openssh.morph28
-rw-r--r--strata/cross-bootstrap/pyfilesystem.morph6
-rw-r--r--strata/cross-bootstrap/python-coveragepy.morph6
-rw-r--r--strata/cross-bootstrap/python-ttystatus.morph6
-rw-r--r--strata/cross-bootstrap/rsync.morph6
-rw-r--r--strata/cross-tools.morph (renamed from cross-tools.morph)2
-rw-r--r--strata/cxmanage.morph (renamed from cxmanage.morph)3
-rw-r--r--strata/cxmanage/pexpect.morph10
-rw-r--r--strata/databases.morph (renamed from databases.morph)13
-rw-r--r--strata/databases/redis.morph6
-rw-r--r--strata/distbuild.morph (renamed from distbuild.morph)6
-rw-r--r--strata/enlightenment.morph (renamed from enlightenment.morph)19
-rw-r--r--strata/enlightenment/efl.morph10
-rw-r--r--strata/enlightenment/elementary.morph8
-rw-r--r--strata/enlightenment/enlightenment.morph8
-rw-r--r--strata/enlightenment/eterm.morph8
-rw-r--r--strata/enlightenment/evas_generic_loaders.morph8
-rw-r--r--strata/enlightenment/imlib2.morph8
-rw-r--r--strata/enlightenment/libast.morph8
-rw-r--r--strata/erlang.morph (renamed from erlang.morph)3
-rw-r--r--strata/erlang/erlang.morph9
-rw-r--r--strata/foundation.morph (renamed from foundation.morph)30
-rw-r--r--strata/foundation/attr.morph14
-rw-r--r--strata/foundation/btrfs-progs.morph6
-rw-r--r--strata/foundation/dbus-pre.morph10
-rw-r--r--strata/foundation/dbus.morph10
-rw-r--r--strata/foundation/fuse.morph6
-rw-r--r--strata/foundation/groff.morph11
-rw-r--r--strata/foundation/help2man.morph9
-rw-r--r--strata/foundation/kmod.morph19
-rw-r--r--strata/foundation/libcap2.morph6
-rw-r--r--strata/foundation/libffi.morph8
-rw-r--r--strata/foundation/lzo.morph5
-rw-r--r--strata/foundation/openssh.morph28
-rw-r--r--strata/foundation/patch.morph9
-rw-r--r--strata/foundation/pciutils.morph11
-rw-r--r--strata/foundation/systemd.morph21
-rw-r--r--strata/foundation/tbdiff.morph3
-rw-r--r--strata/genivi-foundation.morph (renamed from genivi-foundation.morph)3
-rw-r--r--strata/genivi-foundation/linuxquota.morph10
-rw-r--r--strata/genivi-wayland-armv7-versatile.morph (renamed from genivi-wayland-armv7-versatile.morph)10
-rw-r--r--strata/genivi-wayland-x86_64-generic.morph (renamed from genivi-wayland-x86_64-generic.morph)10
-rw-r--r--strata/genivi-x-generic.morph (renamed from genivi-x-generic.morph)5
-rw-r--r--strata/genivi-x-generic/layer_management.morph8
-rw-r--r--strata/genivi.morph (renamed from genivi.morph)18
-rw-r--r--strata/genivi/googlemock.morph8
-rw-r--r--strata/genivi/googletest.morph7
-rw-r--r--strata/genivi/itzam-tarball.morph10
-rw-r--r--strata/genivi/node-startup-controller.morph9
-rw-r--r--strata/gitlab.morph (renamed from gitlab.morph)5
-rw-r--r--strata/gitlab/gitlab-ce.morph6
-rw-r--r--strata/gitlab/gitlab-ci.morph6
-rw-r--r--strata/gitlab/gitlab-shell.morph6
-rw-r--r--strata/gtk-deps.morph50
-rw-r--r--strata/gtk-deps/gdk-pixbuf.morph8
-rw-r--r--strata/gtk-deps/shared-mime-info.morph4
-rw-r--r--strata/gtk2.morph13
-rw-r--r--strata/gtk2/gtk+.morph11
-rw-r--r--strata/gtk3.morph14
-rw-r--r--strata/gtk3/gtk3.morph11
-rw-r--r--strata/initramfs-utils.morph (renamed from initramfs-utils.morph)6
-rw-r--r--strata/initramfs-utils/initramfs-scripts.morph4
-rw-r--r--strata/lua.morph (renamed from lua.morph)5
-rw-r--r--strata/lua/lua.morph11
-rw-r--r--strata/multimedia-gstreamer-0.10.morph (renamed from multimedia-gstreamer-0.10.morph)6
-rw-r--r--strata/multimedia.morph39
-rw-r--r--strata/nfs.morph (renamed from nfs.morph)6
-rw-r--r--strata/nfs/nfs-utils.morph12
-rw-r--r--strata/nfs/rpcbind.morph11
-rw-r--r--strata/nfs/tcp-wrappers.morph9
-rw-r--r--strata/nfs/ti-rpc.morph6
-rw-r--r--strata/nodejs.morph (renamed from nodejs.morph)2
-rw-r--r--strata/openstack-clients.morph (renamed from openstack-clients.morph)4
-rw-r--r--strata/openstack-clients/python-prettytable.morph6
-rw-r--r--strata/openstack-clients/pytz.morph6
-rw-r--r--strata/qt4-sdk.morph (renamed from qt4-sdk.morph)3
-rw-r--r--strata/qt4-sdk/qt-creator.morph9
-rw-r--r--strata/qt4-tools.morph (renamed from qt4-tools.morph)10
-rw-r--r--strata/qt4-tools/icu.morph8
-rw-r--r--strata/qt4-tools/qt4-tools.morph18
-rw-r--r--strata/qt4-tools/ruby-1.8.morph9
-rw-r--r--strata/qt4-tools/ruby-1.9.morph9
-rw-r--r--strata/qt5-sdk.morph (renamed from qt5-sdk.morph)4
-rw-r--r--strata/qt5-sdk/qt-creator.morph9
-rw-r--r--strata/qt5-sdk/snowshoe.morph8
-rw-r--r--strata/qt5-tools.morph (renamed from qt5-tools.morph)31
-rw-r--r--strata/qt5-tools/icu.morph8
-rw-r--r--strata/qt5-tools/qt3d.morph10
-rw-r--r--strata/qt5-tools/qtbase.morph15
-rw-r--r--strata/qt5-tools/qtdeclarative.morph10
-rw-r--r--strata/qt5-tools/qtdoc.morph8
-rw-r--r--strata/qt5-tools/qtgraphicaleffects.morph8
-rw-r--r--strata/qt5-tools/qtimageformats.morph10
-rw-r--r--strata/qt5-tools/qtjsbackend.morph10
-rw-r--r--strata/qt5-tools/qtmultimedia.morph10
-rw-r--r--strata/qt5-tools/qtquick1.morph10
-rw-r--r--strata/qt5-tools/qtquickcontrols.morph10
-rw-r--r--strata/qt5-tools/qtscript.morph10
-rw-r--r--strata/qt5-tools/qtsensors.morph10
-rw-r--r--strata/qt5-tools/qtserialport.morph10
-rw-r--r--strata/qt5-tools/qtsvg.morph10
-rw-r--r--strata/qt5-tools/qttools.morph10
-rw-r--r--strata/qt5-tools/qttranslations.morph8
-rw-r--r--strata/qt5-tools/qtwebkit-examples.morph8
-rw-r--r--strata/qt5-tools/qtwebkit.morph11
-rw-r--r--strata/qt5-tools/qtx11extras.morph10
-rw-r--r--strata/qt5-tools/qtxmlpatterns.morph10
-rw-r--r--strata/qt5-tools/ruby-1.8.morph9
-rw-r--r--strata/qt5-tools/ruby-1.9.morph9
-rw-r--r--strata/ruby.morph (renamed from ruby.morph)5
-rw-r--r--strata/ruby/bundler.morph6
-rw-r--r--strata/ruby/ruby-1.8.morph9
-rw-r--r--strata/ruby/ruby.morph9
-rw-r--r--strata/tools.morph (renamed from tools.morph)24
-rw-r--r--strata/tools/cmdtest.morph6
-rw-r--r--strata/tools/coreutils.morph9
-rw-r--r--strata/tools/device-tree-compiler.morph6
-rw-r--r--strata/tools/distcc.morph6
-rw-r--r--strata/tools/e2fsprogs.morph14
-rw-r--r--strata/tools/git-fat.morph4
-rw-r--r--strata/tools/kexec-tools.morph6
-rw-r--r--strata/tools/lsof.morph12
-rw-r--r--strata/tools/pyfilesystem.morph6
-rw-r--r--strata/tools/python-coveragepy.morph6
-rw-r--r--strata/tools/python-ttystatus.morph6
-rw-r--r--strata/tools/rsync.morph6
-rw-r--r--strata/tools/screen.morph11
-rw-r--r--strata/tools/u-boot.morph11
-rw-r--r--strata/tools/vala.morph5
-rw-r--r--strata/tools/vim.morph10
-rw-r--r--strata/trove.morph (renamed from trove.morph)31
-rw-r--r--strata/trove/cgit.morph6
-rw-r--r--strata/trove/clod.morph7
-rw-r--r--strata/trove/cvs-tarball.morph6
-rw-r--r--strata/trove/cvsps.morph6
-rw-r--r--strata/trove/gall.morph7
-rw-r--r--strata/trove/gitano.morph5
-rw-r--r--strata/trove/hg-fast-export.morph10
-rw-r--r--strata/trove/lace.morph7
-rw-r--r--strata/trove/libapr-util-tarball.morph5
-rw-r--r--strata/trove/lighttpd.morph6
-rw-r--r--strata/trove/lorry-controller.morph10
-rw-r--r--strata/trove/lorry.morph3
-rw-r--r--strata/trove/lrexlib-pcre.morph9
-rw-r--r--strata/trove/lua-scrypt.morph4
-rw-r--r--strata/trove/lua.morph11
-rw-r--r--strata/trove/luxio.morph7
-rw-r--r--strata/trove/mercurial-tarball.morph6
-rw-r--r--strata/trove/neon.morph8
-rw-r--r--strata/trove/perl-dbi-tarball.morph5
-rw-r--r--strata/trove/subversion-tarball.morph10
-rw-r--r--strata/trove/supple.morph7
-rw-r--r--strata/trove/swig-tarball.morph5
-rw-r--r--strata/trove/trove-setup.morph4
-rw-r--r--strata/virtualbox-guest-x86_64.morph (renamed from virtualbox-guest-x86_64.morph)10
-rw-r--r--strata/virtualbox-guest-x86_64/vboxguest.morph34
-rw-r--r--strata/virtualbox-guest-x86_64/yasm.morph4
-rw-r--r--strata/virtualization.morph (renamed from virtualization.morph)11
-rw-r--r--strata/virtualization/dnsmasq.morph6
-rw-r--r--strata/virtualization/libosinfo.morph6
-rw-r--r--strata/virtualization/libsoup.morph6
-rw-r--r--strata/virtualization/libvirt.morph6
-rw-r--r--strata/virtualization/lvm2.morph6
-rw-r--r--strata/virtualization/pygobject.morph5
-rw-r--r--strata/virtualization/qemu.morph5
-rw-r--r--strata/virtualization/xml-catalog.morph6
-rw-r--r--strata/virtualization/yajl.morph8
-rw-r--r--strata/wayland-armv7-versatile.morph (renamed from wayland-armv7-versatile.morph)11
-rw-r--r--strata/wayland-armv7-versatile/cairo.morph5
-rw-r--r--strata/wayland-armv7-versatile/freefont-otf.morph5
-rw-r--r--strata/wayland-armv7-versatile/linux-api-headers.morph9
-rw-r--r--strata/wayland-armv7-versatile/mesa-wayland.morph7
-rw-r--r--strata/wayland-armv7-versatile/wayland-ivi-extension.morph8
-rw-r--r--strata/wayland-armv7-versatile/wayland.morph7
-rw-r--r--strata/wayland-armv7-versatile/weston.morph53
-rw-r--r--strata/wayland-x86_64-generic.morph (renamed from wayland-x86_64-generic.morph)11
-rw-r--r--strata/wayland-x86_64-generic/cairo.morph5
-rw-r--r--strata/wayland-x86_64-generic/freefont-otf.morph5
-rw-r--r--strata/wayland-x86_64-generic/linux-api-headers.morph9
-rw-r--r--strata/wayland-x86_64-generic/mesa-wayland.morph7
-rw-r--r--strata/wayland-x86_64-generic/wayland-ivi-extension.morph8
-rw-r--r--strata/wayland-x86_64-generic/wayland.morph7
-rw-r--r--strata/wayland-x86_64-generic/weston.morph53
-rw-r--r--strata/webtools.morph (renamed from webtools.morph)9
-rw-r--r--strata/webtools/icu.morph8
-rw-r--r--strata/webtools/nginx.morph13
-rw-r--r--strata/webtools/tar.morph10
-rw-r--r--strata/x-common.morph (renamed from x-common.morph)3
-rw-r--r--strata/x-common/llvm.morph8
-rw-r--r--strata/x-generic.morph (renamed from x-generic.morph)8
-rw-r--r--strata/x-generic/freefont-otf.morph5
-rw-r--r--strata/x-generic/mesa-x.morph21
-rw-r--r--strata/x-generic/util-keysyms.morph9
-rw-r--r--strata/x-generic/xserver.morph5
-rw-r--r--strata/xfce.morph (renamed from xfce.morph)33
-rw-r--r--strata/xfce/elementary-xfce.morph10
-rw-r--r--strata/xfce/exo.morph8
-rw-r--r--strata/xfce/garcon.morph8
-rw-r--r--strata/xfce/gtk-xfce-engine-2.morph8
-rw-r--r--strata/xfce/librsvg.morph6
-rw-r--r--strata/xfce/libwnck.morph11
-rw-r--r--strata/xfce/libxfce4ui.morph8
-rw-r--r--strata/xfce/libxfce4util.morph8
-rw-r--r--strata/xfce/thunar.morph9
-rw-r--r--strata/xfce/tumbler.morph8
-rw-r--r--strata/xfce/xfce4-appfinder.morph8
-rw-r--r--strata/xfce/xfce4-panel.morph8
-rw-r--r--strata/xfce/xfce4-session.morph9
-rw-r--r--strata/xfce/xfce4-settings.morph8
-rw-r--r--strata/xfce/xfconf.morph8
-rw-r--r--strata/xfce/xfdesktop.morph8
-rw-r--r--strata/xfce/xfwm4.morph11
-rw-r--r--systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph (renamed from armv7lhf-cross-toolchain-system-x86_32-generic.morph)12
-rw-r--r--systems/armv7lhf-cross-toolchain-system-x86_64-generic.morph (renamed from armv7lhf-cross-toolchain-system-x86_64-generic.morph)12
-rw-r--r--systems/base-system-armv7-highbank.morph (renamed from base-system-armv7-highbank.morph)22
-rw-r--r--systems/base-system-armv7-versatile.morph (renamed from base-system-armv7-versatile.morph)22
-rw-r--r--systems/base-system-armv7b-highbank.morph (renamed from base-system-armv7b-highbank.morph)22
-rw-r--r--systems/base-system-armv7b-vexpress-tc2.morph (renamed from base-system-armv7b-vexpress-tc2.morph)20
-rw-r--r--systems/base-system-armv7lhf-highbank.morph (renamed from base-system-armv7lhf-highbank.morph)22
-rw-r--r--systems/base-system-ppc64-generic.morph (renamed from base-system-ppc64-generic.morph)22
-rw-r--r--systems/base-system-x86_32-generic.morph22
-rw-r--r--systems/base-system-x86_64-generic.morph23
-rw-r--r--systems/ceph-service-x86_64-generic.morph (renamed from ceph-service-x86_64-generic.morph)17
-rw-r--r--systems/cross-bootstrap-system-armv7lhf-generic.morph11
-rw-r--r--systems/cross-bootstrap-system-ppc64-generic.morph11
-rw-r--r--systems/cross-bootstrap-system-x86_64-generic.morph11
-rw-r--r--systems/cxmanage-system-x86_64-generic.morph24
-rw-r--r--systems/devel-system-armv7-chroot.morph (renamed from devel-system-armv7-chroot.morph)25
-rw-r--r--systems/devel-system-armv7-highbank.morph24
-rw-r--r--systems/devel-system-armv7-versatile.morph24
-rw-r--r--systems/devel-system-armv7-wandboard.morph23
-rw-r--r--systems/devel-system-armv7b-chroot.morph21
-rw-r--r--systems/devel-system-armv7b-highbank.morph24
-rw-r--r--systems/devel-system-armv7lhf-chroot.morph21
-rw-r--r--systems/devel-system-armv7lhf-highbank.morph24
-rw-r--r--systems/devel-system-armv7lhf-jetson.morph24
-rw-r--r--systems/devel-system-armv7lhf-wandboard.morph23
-rw-r--r--systems/devel-system-ppc64-chroot.morph (renamed from devel-system-ppc64-chroot.morph)25
-rw-r--r--systems/devel-system-ppc64-generic.morph24
-rw-r--r--systems/devel-system-x86_32-chroot.morph24
-rw-r--r--systems/devel-system-x86_32-generic.morph27
-rw-r--r--systems/devel-system-x86_64-chroot.morph24
-rw-r--r--systems/devel-system-x86_64-generic.morph27
-rw-r--r--systems/devel-system-x86_64-vagrant.morph46
-rw-r--r--systems/distbuild-system-armv7lhf-highbank.morph27
-rw-r--r--systems/distbuild-system-armv7lhf-jetson.morph27
-rw-r--r--systems/distbuild-system-ppc64.morph27
-rw-r--r--systems/distbuild-system-x86_32.morph27
-rw-r--r--systems/distbuild-system-x86_64.morph28
-rw-r--r--systems/genivi-baseline-system-armv7lhf-versatile.morph35
-rw-r--r--systems/genivi-baseline-system-x86_64-generic.morph34
-rw-r--r--systems/gitlab-ci-runner.morph49
-rw-r--r--systems/gitlab-server.morph33
-rw-r--r--systems/initramfs-x86_64.morph (renamed from initramfs-x86_64.morph)9
-rw-r--r--systems/minimal-system-x86_32-generic.morph (renamed from minimal-system-x86_32-generic.morph)25
-rw-r--r--systems/minimal-system-x86_64-generic.morph (renamed from minimal-system-x86_64-generic.morph)25
-rw-r--r--systems/nodejs-system-x86_64.morph44
-rw-r--r--systems/qt4-devel-system-x86_64-generic.morph40
-rw-r--r--systems/qt5-devel-system-x86_64-generic.morph40
-rw-r--r--systems/trove-system-x86_64.morph31
-rw-r--r--systems/web-system-x86_64-generic.morph33
-rw-r--r--systems/xfce-system.morph41
-rw-r--r--trove-system-x86_64.morph22
-rwxr-xr-xtrove.configure4
-rw-r--r--web-system-x86_64-generic.morph22
-rw-r--r--xfce-system.morph26
444 files changed, 6534 insertions, 1250 deletions
diff --git a/base-system-x86_32-generic.morph b/base-system-x86_32-generic.morph
deleted file mode 100644
index ab535ea0..00000000
--- a/base-system-x86_32-generic.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: x86_32
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- cloud-init
-description: The set of strata required to have a basic system for a 32-bit x86
- system.
-kind: system
-name: base-system-x86_32-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_32-generic
-- morph: cloudinit-support
diff --git a/base-system-x86_64-generic.morph b/base-system-x86_64-generic.morph
deleted file mode 100644
index 36332d42..00000000
--- a/base-system-x86_64-generic.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- cloud-init
-description: The set of strata required to have a minimal system for a 64-bit x86
- system.
-kind: system
-name: base-system-x86_64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_64-generic
-- morph: cloudinit-support
diff --git a/bsp-jetson-devel.morph b/bsp-jetson-devel.morph
deleted file mode 100644
index 77ef4a74..00000000
--- a/bsp-jetson-devel.morph
+++ /dev/null
@@ -1,23 +0,0 @@
-name: bsp-jetson-devel
-kind: stratum
-description: The platform dependent components required to boot an NVIDIA Jetson TK1 development image
- board.
-build-depends:
-- morph: core
-chunks:
-- name: u-boot
- repo: upstream:u-boot
- ref: fe57382d04b46c37f34cf8d3b3ad876554fd12bf
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: linux
- repo: upstream:linux
- ref: 1f12d2a9854d101f23cce77f6fe8e53814c8a896
- unpetrify-ref: baserock/arm/tegra-3.10
- build-depends:
- - u-boot
-- name: bsp-support
- repo: baserock:baserock/bsp-support
- ref: 19bc31ce3198a3c19cdd96d392bde34cb34ed525
- unpetrify-ref: baserock/arm/tegra-3.10
- build-depends: []
diff --git a/clusters/ci.morph b/clusters/ci.morph
new file mode 100644
index 00000000..f860a4ba
--- /dev/null
+++ b/clusters/ci.morph
@@ -0,0 +1,14 @@
+name: ci
+kind: cluster
+description: |
+ Deploy all the systems for CD.
+
+ This cluster morph is for use by the Mason Continuous Delivery pipeline
+ during development.
+systems:
+- morph: systems/devel-system-x86_64-generic.morph
+ deploy:
+ devel-system-x86_64-generic:
+ type: rawdisk
+ location: devel-system-x86_64-generic.img
+ DISK_SIZE: 4G
diff --git a/example-distbuild-cluster.morph b/clusters/example-distbuild-cluster.morph
index 736a5beb..4c97d21f 100644
--- a/example-distbuild-cluster.morph
+++ b/clusters/example-distbuild-cluster.morph
@@ -10,21 +10,21 @@ description: |
workers to authenticate with the Trove to give them read access to
all source repositories.
systems:
-- morph: distbuild-system-x86_64-generic
+- morph: systems/distbuild-system-x86_64-generic.morph
deploy-defaults:
- TROVE_ID: $MY_TROVE
CONTROLLERHOST: build-controller
- DISTBUILD_CONTROLLER: no
- DISTBUILD_WORKER: yes
+ DISTBUILD_CONTROLLER: false
+ DISTBUILD_WORKER: true
FSTAB_SRC: LABEL=src /srv/distbuild auto defaults,rw,noatime 0 2
INSTALL_FILES: distbuild/manifest
- NFSBOOT_CONFIGURE: yes
+ NFSBOOT_CONFIGURE: true
+ TROVE_ID: $MY_TROVE
WORKER_SSH_KEY: ssh-keys/worker.key
deploy:
build-controller:
type: nfsboot
location: $MY_TROVE
- DISTBUILD_CONTROLLER: yes
+ DISTBUILD_CONTROLLER: true
HOSTNAME: build-controller
WORKERS: build-node-1, build-node-2
build-node-1:
diff --git a/gitlab-ci-runner-cluster.morph b/clusters/gitlab-ci-runner-cluster.morph
index fe6e3451..97da4a8d 100644
--- a/gitlab-ci-runner-cluster.morph
+++ b/clusters/gitlab-ci-runner-cluster.morph
@@ -1,13 +1,13 @@
-kind: cluster
name: gitlab-ci-runner-cluster
+kind: cluster
systems:
-- morph: gitlab-ci-runner
+- morph: systems/gitlab-ci-runner.morph
deploy-defaults:
- AUTOSTART: no
- DISK_SIZE: 6G
- RAM_SIZE: 3G
- VCPUS: 2
- VERSION_LABEL: factory
+ AUTOSTART: false
+ DISK_SIZE: 6G
+ RAM_SIZE: 3G
+ VCPUS: 2
+ VERSION_LABEL: factory
deploy:
gitlab-ci-runner:
type: kvm
diff --git a/gitlab-cluster.morph b/clusters/gitlab-cluster.morph
index d40bf8f8..5f3177ca 100644
--- a/gitlab-cluster.morph
+++ b/clusters/gitlab-cluster.morph
@@ -1,5 +1,5 @@
-kind: cluster
name: gitlab-cluster
+kind: cluster
description: |
This is an example cluster morphology that can be adapted to set up a GitLab
server with GitLab CI running alongside it, along with one or more CI
@@ -14,32 +14,32 @@ description: |
need to define a GITLAB_EMAIL, that is the email that mail from your GitLab
instance will appear to be from.
systems:
-- morph: gitlab-server
+- morph: systems/gitlab-server.morph
deploy-defaults:
- AUTOSTART: no
- DISK_SIZE: 10G
- RAM_SIZE: 2G
- VCPUS: 2
- VERSION_LABEL: factory
+ AUTOSTART: false
+ DISK_SIZE: 10G
+ RAM_SIZE: 2G
+ VCPUS: 2
+ VERSION_LABEL: factory
deploy:
gitlab:
type: kvm
location: kvm+ssh://USER@HOST/gitlab/home/USER/gitlab.img
- HOSTNAME: gitlab
+ CI_PORT: 81
+ GITLAB_EMAIL: gitlab@gitlab.example.com
GITLAB_HOSTNAME: gitlab.example.com
GITLAB_PORT: 80
- GITLAB_EMAIL: gitlab@gitlab.example.com
- UNICORN_PORT: 8080
- CI_PORT: 81
- UNICORN_CI_PORT: 8081
+ HOSTNAME: gitlab
INSTALL_FILES: gitlab-server/manifest
-- morph: gitlab-ci-runner
+ UNICORN_CI_PORT: 8081
+ UNICORN_PORT: 8080
+- morph: systems/gitlab-ci-runner.morph
deploy-defaults:
- AUTOSTART: no
- DISK_SIZE: 10G
- RAM_SIZE: 3G
- VCPUS: 2
- VERSION_LABEL: factory
+ AUTOSTART: false
+ DISK_SIZE: 10G
+ RAM_SIZE: 3G
+ VCPUS: 2
+ VERSION_LABEL: factory
deploy:
gitlab-ci-runner:
type: kvm
diff --git a/gitlab-server-cluster.morph b/clusters/gitlab-server-cluster.morph
index 09ff4869..fcb7c1d2 100644
--- a/gitlab-server-cluster.morph
+++ b/clusters/gitlab-server-cluster.morph
@@ -1,22 +1,22 @@
-kind: cluster
name: gitlab-server-cluster
+kind: cluster
systems:
-- morph: gitlab-server
+- morph: systems/gitlab-server.morph
deploy-defaults:
- AUTOSTART: no
- DISK_SIZE: 6G
- RAM_SIZE: 2G
- VCPUS: 2
- VERSION_LABEL: factory
+ AUTOSTART: false
+ DISK_SIZE: 6G
+ RAM_SIZE: 2G
+ VCPUS: 2
+ VERSION_LABEL: factory
deploy:
gitlab:
type: kvm
location: kvm+ssh://USER@HOST/gitlab/home/USER/gitlab.img
- HOSTNAME: gitlab
+ CI_PORT: 81
+ GITLAB_EMAIL: gitlab@gitlab.example.com
GITLAB_HOSTNAME: gitlab.example.com
GITLAB_PORT: 80
- GITLAB_EMAIL: gitlab@gitlab.example.com
- UNICORN_PORT: 8080
- CI_PORT: 81
- UNICORN_CI_PORT: 8081
+ HOSTNAME: gitlab
INSTALL_FILES: gitlab-server/manifest
+ UNICORN_CI_PORT: 8081
+ UNICORN_PORT: 8080
diff --git a/clusters/image-package-example.morph b/clusters/image-package-example.morph
new file mode 100644
index 00000000..fd8487e2
--- /dev/null
+++ b/clusters/image-package-example.morph
@@ -0,0 +1,12 @@
+name: image-package-example
+kind: cluster
+description: |
+ Packaged system and script for installing it, for deferred instantiation.
+systems:
+- morph: systems/base-system-x86_32-generic.morph
+ deploy:
+ imgpkg:
+ type: image-package
+ location: image-package-example.tar
+ BOOTLOADER_BLOBS: /usr/share/syslinux/mbr.bin
+ INCLUDE_SCRIPTS: image-package-example/make-disk-image.sh.in:image-package-example/disk-install.sh.in:image-package-example/common.sh.in
diff --git a/initramfs-test.morph b/clusters/initramfs-test.morph
index 9e69207d..afc94961 100644
--- a/initramfs-test.morph
+++ b/clusters/initramfs-test.morph
@@ -1,7 +1,7 @@
name: initramfs-test
kind: cluster
systems:
-- morph: base-system-x86_64-generic
+- morph: systems/base-system-x86_64-generic.morph
deploy:
system:
type: rawdisk
@@ -10,7 +10,7 @@ systems:
HOSTNAME: initramfs-system
INITRAMFS_PATH: boot/initramfs.gz
subsystems:
- - morph: initramfs-x86_64
+ - morph: systems/initramfs-x86_64.morph
deploy:
initramfs:
type: initramfs
diff --git a/clusters/mason.morph b/clusters/mason.morph
new file mode 100644
index 00000000..8579f7e4
--- /dev/null
+++ b/clusters/mason.morph
@@ -0,0 +1,56 @@
+name: example-mason-cluster
+kind: cluster
+description: |
+ This is a template cluster morphology that can be adapted to set up a
+ Mason. Masons are composed of a trove and a distbuild system.
+
+ It is suggested that you use mason/mason-generator.sh to adapt this
+ template to suit your needs. It also handles the generation of
+ keys to let the systems communicate.
+systems:
+- morph: systems/trove-system-x86_64.morph
+ deploy:
+ red-box-v1-trove:
+ type: kvm
+ location: kvm+ssh://vm-user@vm-host/red-box-v1-trove/vm-path/red-box-v1-trove.img
+ AUTOSTART: true
+ DISK_SIZE: 20G
+ HOSTNAME: red-box-v1-trove
+ LORRY_SSH_KEY: ssh_keys/lorry.key
+ MASON_SSH_PUBKEY: ssh_keys/mason.key.pub
+ RAM_SIZE: 8G
+ TROVE_ADMIN_EMAIL: adminuser@example.com
+ TROVE_ADMIN_NAME: Nobody
+ TROVE_ADMIN_SSH_PUBKEY: ssh_keys/id_rsa.pub
+ TROVE_ADMIN_USER: adminuser
+ TROVE_COMPANY: Company name goes here
+ TROVE_HOST: red-box-v1
+ TROVE_ID: red-box-v1-trove
+ UPSTREAM_TROVE: upstream-trove
+ VCPUS: 2
+ VERSION_LABEL: 45
+ WORKER_SSH_PUBKEY: ssh_keys/worker.key.pub
+- morph: systems/distbuild-system-x86_64.morph
+ deploy-defaults:
+ ARTIFACT_CACHE_SERVER: red-box-v1-trove.example.com
+ CONTROLLERHOST: red-box-v1-controller.example.com
+ DISTBUILD_CONTROLLER: false
+ DISTBUILD_WORKER: true
+ INSTALL_FILES: distbuild/manifest
+ RAM_SIZE: 8G
+ TROVE_HOST: upstream-trove
+ TROVE_ID: upstream-trove
+ VCPUS: 2
+ WORKER_SSH_KEY: ssh_keys/worker.key
+ deploy:
+ red-box-v1-controller:
+ type: kvm
+ location: kvm+ssh://vm-user@vm-host/red-box-v1-controller/vm-path/red-box-v1-controller.img
+ DISK_SIZE: 60G
+ DISTBUILD_CONTROLLER: true
+ HOSTNAME: red-box-v1-controller
+ MASON_CLUSTER_MORPHOLOGY: clusters/ci.morph
+ MASON_DEFINITIONS_REF: master
+ MASON_DISTBUILD_ARCH: x86_64
+ MASON_TEST_HOST: vm-user@vm-host:/vm-path/
+ WORKERS: red-box-v1-controller
diff --git a/minimal-system-deploy.morph b/clusters/minimal-system-deploy.morph
index f6213c39..06629ffc 100644
--- a/minimal-system-deploy.morph
+++ b/clusters/minimal-system-deploy.morph
@@ -3,12 +3,12 @@ kind: cluster
description: |
Deploy a minimal system to a system running KVM
systems:
-- morph: minimal-system-x86_32-generic
+- morph: systems/minimal-system-x86_32-generic.morph
deploy:
vm:
type: kvm
location: kvm+ssh://192.168.122.1/tiny-x86_32/srv/VMs/tiny-x86_32.img
- HOSTNAME: tiny-x86_32
DISK_SIZE: 512M
- RAM_SIZE: 512M
+ HOSTNAME: tiny-x86_32
INIT_SYSTEM: busybox
+ RAM_SIZE: 512M
diff --git a/release.morph b/clusters/release.morph
index 12b03693..37defb09 100644
--- a/release.morph
+++ b/clusters/release.morph
@@ -7,41 +7,41 @@ description: |
you can deploy the systems yourself, if you are making a Baserock release
then the script should be used.
systems:
-- morph: devel-system-x86_32-chroot
+- morph: systems/devel-system-x86_32-chroot.morph
deploy:
devel-system-x86_32-chroot:
type: tar
location: devel-system-x86_32-chroot.tar
-- morph: devel-system-x86_32-generic
+- morph: systems/devel-system-x86_32-generic.morph
deploy:
devel-system-x86_32-generic:
type: rawdisk
location: devel-system-x86_32-generic.img
DISK_SIZE: 4G
-- morph: devel-system-x86_64-chroot
+- morph: systems/devel-system-x86_64-chroot.morph
deploy:
devel-system-x86_64-chroot:
type: tar
location: devel-system-x86_64-chroot.tar
-- morph: devel-system-x86_64-generic
+- morph: systems/devel-system-x86_64-generic.morph
deploy:
devel-system-x86_64-generic:
type: rawdisk
location: devel-system-x86_64-generic.img
DISK_SIZE: 4G
-- morph: devel-system-armv7lhf-wandboard
+- morph: systems/devel-system-armv7lhf-wandboard.morph
deploy:
release:
type: tar
location: devel-system-armv7lhf-wandboard.tar
-- morph: genivi-baseline-system-x86_64-generic
+- morph: systems/genivi-baseline-system-x86_64-generic.morph
deploy:
genivi-baseline-system-x86_64-generic:
type: rawdisk
location: genivi-baseline-system-x86_64-generic.img
DISK_SIZE: 4G
KERNEL_ARGS: vga=788
-- morph: genivi-baseline-system-armv7lhf-versatile
+- morph: systems/genivi-baseline-system-armv7lhf-versatile.morph
deploy:
genivi-baseline-system-armv7lhf-versatile:
type: rawdisk
diff --git a/sdk-example-cluster.morph b/clusters/sdk-example-cluster.morph
index da0a6fff..f71d093d 100644
--- a/sdk-example-cluster.morph
+++ b/clusters/sdk-example-cluster.morph
@@ -31,7 +31,7 @@ description: |
See the documentation of the sdk.write extension for more information.
systems:
-- morph: armv7lhf-cross-toolchain-system-x86_32-generic
+- morph: systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph
deploy:
sdk:
type: sdk
@@ -39,7 +39,7 @@ systems:
PREFIX: /usr
TARGET: armv7lhf-baserock-linux-gnueabi
subsystems:
- - morph: devel-system-armv7lhf-highbank
+ - morph: systems/devel-system-armv7lhf-highbank.morph
deploy:
sysroot:
type: sysroot
diff --git a/trove.baserock.org-upgrade.morph b/clusters/trove.baserock.org-upgrade.morph
index 359bb3c2..eaf939e1 100644
--- a/trove.baserock.org-upgrade.morph
+++ b/clusters/trove.baserock.org-upgrade.morph
@@ -1,5 +1,5 @@
-kind: cluster
name: trove.baserock.org-upgrade
+kind: cluster
description: |
This is a cluster morphology for deploying an UPGRADE to
git.baserock.org. It doesn't work for the initial deployment. The
@@ -10,14 +10,14 @@ description: |
Replace the value of gbo.VERSION_LABEL above with the current date.
You can add letters if you need to upgrade multiple times in a day.
systems:
-- morph: trove-system-x86_64
+- morph: systems/trove-system-x86_64.morph
deploy:
gbo:
type: ssh-rsync
location: root@git.baserock.org
- LORRY_CONTROLLER_MINIONS: 4
- HOSTNAME: firehose1
FSTAB_HOME: LABEL=homes /home auto defaults,noatime,rw 0 2
- TROVE_ID: baserock
- TROVE_HOSTNAME: git.baserock.org
+ HOSTNAME: firehose1
+ LORRY_CONTROLLER_MINIONS: 4
TROVE_COMPANY: Baserock
+ TROVE_HOSTNAME: git.baserock.org
+ TROVE_ID: baserock
diff --git a/upgrade-devel.morph b/clusters/upgrade-devel.morph
index 408dfd01..3937521e 100644
--- a/upgrade-devel.morph
+++ b/clusters/upgrade-devel.morph
@@ -32,7 +32,7 @@ description: |
On a base system, use 'diff -r' instead of 'git diff --no-index'. It will
not be as colourful.
systems:
-- morph: devel-system-x86_64-generic
+- morph: systems/devel-system-x86_64-generic.morph
deploy:
self:
type: ssh-rsync
diff --git a/cross-bootstrap-system-armv7lhf-generic.morph b/cross-bootstrap-system-armv7lhf-generic.morph
deleted file mode 100644
index 6195bd1a..00000000
--- a/cross-bootstrap-system-armv7lhf-generic.morph
+++ /dev/null
@@ -1,8 +0,0 @@
-arch: armv7lhf
-description: A system that produces the minimum needed to build a devel system
-kind: system
-name: cross-bootstrap-system-armv7lhf-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: cross-bootstrap
diff --git a/cross-bootstrap-system-ppc64-generic.morph b/cross-bootstrap-system-ppc64-generic.morph
deleted file mode 100644
index 9a05a90b..00000000
--- a/cross-bootstrap-system-ppc64-generic.morph
+++ /dev/null
@@ -1,8 +0,0 @@
-arch: ppc64
-description: A system that produces the minimum needed to build a devel system
-kind: system
-name: cross-bootstrap-system-ppc64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: cross-bootstrap
diff --git a/cross-bootstrap-system-x86_64-generic.morph b/cross-bootstrap-system-x86_64-generic.morph
deleted file mode 100644
index 6c7986e8..00000000
--- a/cross-bootstrap-system-x86_64-generic.morph
+++ /dev/null
@@ -1,8 +0,0 @@
-arch: x86_64
-description: A system that produces the minimum needed to build a devel system
-kind: system
-name: cross-bootstrap-system-x86_64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: cross-bootstrap
diff --git a/cxmanage-system-x86_64-generic.morph b/cxmanage-system-x86_64-generic.morph
deleted file mode 100644
index cf9ac809..00000000
--- a/cxmanage-system-x86_64-generic.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-name: cxmanage-system-x86_64-generic
-description: A baserock development system with calxeda management tools added
-kind: system
-arch: x86_64
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_64-generic
-- morph: tools
-- morph: cxmanage
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- fstab
diff --git a/devel-system-armv7-highbank.morph b/devel-system-armv7-highbank.morph
deleted file mode 100644
index a4ebd37e..00000000
--- a/devel-system-armv7-highbank.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: armv7l
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the ARM highbank
- architecture.
-kind: system
-name: devel-system-armv7-highbank
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7-highbank
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-armv7-versatile.morph b/devel-system-armv7-versatile.morph
deleted file mode 100644
index 2fc3e585..00000000
--- a/devel-system-armv7-versatile.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: armv7l
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the ARM versatile
- architecture.
-kind: system
-name: devel-system-armv7-versatile
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7-versatile
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-armv7-wandboard.morph b/devel-system-armv7-wandboard.morph
deleted file mode 100644
index 08aeb4af..00000000
--- a/devel-system-armv7-wandboard.morph
+++ /dev/null
@@ -1,17 +0,0 @@
-arch: armv7l
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the Wandboard.
-kind: system
-name: devel-system-armv7-wandboard
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-wandboard
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-armv7b-chroot.morph b/devel-system-armv7b-chroot.morph
deleted file mode 100644
index 6a417ec6..00000000
--- a/devel-system-armv7b-chroot.morph
+++ /dev/null
@@ -1,17 +0,0 @@
-arch: armv7b
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the ARMv7b
- architecture.
-kind: system
-name: devel-system-armv7b-chroot
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-armv7b-highbank.morph b/devel-system-armv7b-highbank.morph
deleted file mode 100644
index bbb50976..00000000
--- a/devel-system-armv7b-highbank.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: armv7b
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the ARM highbank
- architecture.
-kind: system
-name: devel-system-armv7b-highbank
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7b-highbank
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-armv7lhf-chroot.morph b/devel-system-armv7lhf-chroot.morph
deleted file mode 100644
index f07fc777..00000000
--- a/devel-system-armv7lhf-chroot.morph
+++ /dev/null
@@ -1,17 +0,0 @@
-arch: armv7lhf
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the ARMv7lhf
- architecture.
-kind: system
-name: devel-system-armv7lhf-chroot
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-armv7lhf-highbank.morph b/devel-system-armv7lhf-highbank.morph
deleted file mode 100644
index 7a9fd2cd..00000000
--- a/devel-system-armv7lhf-highbank.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: armv7lhf
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the ARM highbank
- architecture.
-kind: system
-name: devel-system-armv7lhf-highbank
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7-highbank
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-armv7lhf-jetson.morph b/devel-system-armv7lhf-jetson.morph
deleted file mode 100644
index 4d07ef5d..00000000
--- a/devel-system-armv7lhf-jetson.morph
+++ /dev/null
@@ -1,17 +0,0 @@
-arch: armv7lhf
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the NVIDIA Jetson TK1.
-kind: system
-name: devel-system-armv7lhf-jetson
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: tools
-- morph: openstack-clients
-- morph: bsp-jetson-devel
diff --git a/devel-system-armv7lhf-wandboard.morph b/devel-system-armv7lhf-wandboard.morph
deleted file mode 100644
index c9b7c8a5..00000000
--- a/devel-system-armv7lhf-wandboard.morph
+++ /dev/null
@@ -1,17 +0,0 @@
-arch: armv7lhf
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the Wandboard.
-kind: system
-name: devel-system-armv7lhf-wandboard
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-wandboard
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-ppc64-generic.morph b/devel-system-ppc64-generic.morph
deleted file mode 100644
index cbe42301..00000000
--- a/devel-system-ppc64-generic.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: ppc64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the 64-bit PowerPc
- architecture.
-kind: system
-name: devel-system-ppc64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-ppc64-generic
-- morph: tools
-- morph: openstack-clients
diff --git a/devel-system-x86_32-chroot.morph b/devel-system-x86_32-chroot.morph
deleted file mode 100644
index baca2904..00000000
--- a/devel-system-x86_32-chroot.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: x86_32
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the 32-bit x86
- architecture.
-kind: system
-name: devel-system-x86_32-chroot
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: tools
-- morph: openstack-clients
-- morph: bsp-x86_both-tools
diff --git a/devel-system-x86_32-generic.morph b/devel-system-x86_32-generic.morph
deleted file mode 100644
index 5eac853a..00000000
--- a/devel-system-x86_32-generic.morph
+++ /dev/null
@@ -1,20 +0,0 @@
-arch: x86_32
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- cloud-init
-description: A system that is able to build other systems based on the 32-bit x86
- architecture.
-kind: system
-name: devel-system-x86_32-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_32-generic
-- morph: tools
-- morph: openstack-clients
-- morph: cloudinit-support
diff --git a/devel-system-x86_64-chroot.morph b/devel-system-x86_64-chroot.morph
deleted file mode 100644
index 50c757ea..00000000
--- a/devel-system-x86_64-chroot.morph
+++ /dev/null
@@ -1,18 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the 64-bit x86
- architecture.
-kind: system
-name: devel-system-x86_64-chroot
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: tools
-- morph: openstack-clients
-- morph: bsp-x86_both-tools
diff --git a/devel-system-x86_64-generic.morph b/devel-system-x86_64-generic.morph
deleted file mode 100644
index 2100221e..00000000
--- a/devel-system-x86_64-generic.morph
+++ /dev/null
@@ -1,20 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- cloud-init
-description: A system that is able to build other systems based on the 64-bit x86
- architecture.
-kind: system
-name: devel-system-x86_64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_64-generic
-- morph: tools
-- morph: openstack-clients
-- morph: cloudinit-support
diff --git a/devel-system-x86_64-vagrant.morph b/devel-system-x86_64-vagrant.morph
deleted file mode 100644
index ccd6164f..00000000
--- a/devel-system-x86_64-vagrant.morph
+++ /dev/null
@@ -1,29 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- vagrant
-description: A system that is able to build other systems based on the 64-bit x86
- architecture. This adds the virtualbox guest additions and vagrant configuration too
-kind: system
-name: devel-system-x86_64-vagrant
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: bsp-x86_64-generic
-- morph: connectivity
-- morph: audio-bluetooth
-- morph: x-common
-- morph: x-generic
-- morph: multimedia
-- morph: genivi
-- morph: genivi-x-generic
-- morph: tools
-- morph: virtualization
-- morph: openstack-clients
-- morph: virtualbox-guest-x86_64
diff --git a/distbuild-system-armv7lhf-highbank.morph b/distbuild-system-armv7lhf-highbank.morph
deleted file mode 100644
index fdad7cc7..00000000
--- a/distbuild-system-armv7lhf-highbank.morph
+++ /dev/null
@@ -1,20 +0,0 @@
-arch: armv7lhf
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- distbuild
-- fstab
-description: Morph distributed build node for armv7lhf highbank
-kind: system
-name: distbuild-system-armv7lhf-highbank
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7-highbank
-- morph: tools
-- morph: nfs
-- morph: distbuild
diff --git a/distbuild-system-armv7lhf-jetson.morph b/distbuild-system-armv7lhf-jetson.morph
deleted file mode 100644
index 4bc4102a..00000000
--- a/distbuild-system-armv7lhf-jetson.morph
+++ /dev/null
@@ -1,20 +0,0 @@
-arch: armv7lhf
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- distbuild
-- fstab
-description: Morph distributed build node for armv7lhf jetson
-kind: system
-name: distbuild-system-armv7lhf-jetson
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-jetson-devel
-- morph: tools
-- morph: nfs
-- morph: distbuild
diff --git a/distbuild-system-ppc64.morph b/distbuild-system-ppc64.morph
deleted file mode 100644
index 5c09b89e..00000000
--- a/distbuild-system-ppc64.morph
+++ /dev/null
@@ -1,20 +0,0 @@
-arch: ppc64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- distbuild
-- fstab
-description: Morph distributed build node for ppc64
-kind: system
-name: distbuild-system-ppc64
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-ppc64-generic
-- morph: tools
-- morph: nfs
-- morph: distbuild
diff --git a/distbuild-system-x86_32.morph b/distbuild-system-x86_32.morph
deleted file mode 100644
index 49a7458a..00000000
--- a/distbuild-system-x86_32.morph
+++ /dev/null
@@ -1,20 +0,0 @@
-arch: x86_32
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- distbuild
-- fstab
-description: Morph distributed build node for x86_32
-kind: system
-name: distbuild-system-x86_32
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_32-generic
-- morph: tools
-- morph: nfs
-- morph: distbuild
diff --git a/distbuild-system-x86_64.morph b/distbuild-system-x86_64.morph
deleted file mode 100644
index 52d91626..00000000
--- a/distbuild-system-x86_64.morph
+++ /dev/null
@@ -1,20 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- distbuild
-- fstab
-description: Morph distributed build node for x86_64
-kind: system
-name: distbuild-system-x86_64
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_64-generic
-- morph: tools
-- morph: nfs
-- morph: distbuild
diff --git a/genivi-baseline-system-armv7lhf-versatile.morph b/genivi-baseline-system-armv7lhf-versatile.morph
deleted file mode 100644
index 31185c94..00000000
--- a/genivi-baseline-system-armv7lhf-versatile.morph
+++ /dev/null
@@ -1,24 +0,0 @@
-arch: armv7lhf
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- strip-gplv3
-- fstab
-description: A GENIVI baseline system for an ARMv7 system.
-kind: system
-name: genivi-baseline-system-armv7lhf-versatile
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: bsp-armv7-versatile
-- morph: connectivity
-- morph: audio-bluetooth
-- morph: x-common
-- morph: multimedia
-- morph: genivi
-- morph: wayland-armv7-versatile
diff --git a/genivi-baseline-system-x86_64-generic.morph b/genivi-baseline-system-x86_64-generic.morph
deleted file mode 100644
index 7b08a895..00000000
--- a/genivi-baseline-system-x86_64-generic.morph
+++ /dev/null
@@ -1,23 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- strip-gplv3
-description: A GENIVI baseline system for a 64-bit x86 system.
-kind: system
-name: genivi-baseline-system-x86_64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: bsp-x86_64-generic
-- morph: connectivity
-- morph: audio-bluetooth
-- morph: x-common
-- morph: multimedia
-- morph: genivi
-- morph: wayland-x86_64-generic
diff --git a/gitlab-ci-runner.morph b/gitlab-ci-runner.morph
deleted file mode 100644
index 5399307a..00000000
--- a/gitlab-ci-runner.morph
+++ /dev/null
@@ -1,31 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system to run build tests as part of GitLab CI
- architecture.
-kind: system
-name: gitlab-ci-runner
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: bsp-x86_64-generic
-- morph: connectivity
-- morph: audio-bluetooth
-- morph: x-common
-- morph: x-generic
-- morph: multimedia
-- morph: genivi
-- morph: genivi-x-generic
-- morph: tools
-- morph: virtualization
-- morph: openstack-clients
-- morph: databases
-- morph: webtools
-- morph: ruby
-- morph: nfs
diff --git a/gitlab-server.morph b/gitlab-server.morph
deleted file mode 100644
index 8dc9f3cf..00000000
--- a/gitlab-server.morph
+++ /dev/null
@@ -1,23 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-- gitlab
-- fstab
-description: system which hosts a gitlab server
-kind: system
-name: gitlab-server
-strata:
-- morph: build-essential
-- morph: bsp-x86_64-generic
-- morph: foundation
-- morph: core
-- morph: tools
-- morph: nfs
-- morph: databases
-- morph: webtools
-- morph: ruby
-- morph: gitlab
diff --git a/gtk2.morph b/gtk2.morph
deleted file mode 100644
index 01eef819..00000000
--- a/gtk2.morph
+++ /dev/null
@@ -1,103 +0,0 @@
-name: gtk2
-kind: stratum
-description: the gtk2 stratum
-build-depends:
-- morph: genivi-foundation
-- morph: x-common
-- morph: x-generic
-chunks:
-- name: shared-mime-info
- repo: upstream:shared-mime-info
- ref: 0d440d85a126ff8d535d4f70f2203a76a21d5f71
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: gnome-common
- repo: upstream:gnome-common
- ref: 66d54b57313f0f6206cff32972d2b83d683628b2
- unpetrify-ref: 3.7.4
- build-depends: []
-- name: libtiff
- repo: upstream:libtiff
- ref: 2f83c385ff3d5493602308b62ca6d7707725b4fd
- unpetrify-ref: Release-v4-0-3
- build-depends: []
-- name: libcroco
- repo: upstream:libcroco
- ref: 611f624a6e15065792b41eb5ce14811293f3fb0a
- unpetrify-ref: baserock/morph
- build-depends:
- - gnome-common
-- name: gdk-pixbuf
- repo: upstream:gdk-pixbuf
- ref: bc45874c7ba5a6a95f032b48ab78115b3e2238ad
- unpetrify-ref: baserock/morph
- build-depends:
- - libtiff
-- name: atk
- repo: upstream:atk
- ref: e35410e06337afa3d66fcdde9b16422648de4e04
- unpetrify-ref: ATK_2_9_3
- build-depends:
- - gnome-common
-- name: at-spi2-core
- repo: upstream:at-spi2-core
- ref: 9bfebf07e866acadb5d2123568fd0119a7e0575b
- unpetrify-ref: AT_SPI2_CORE_2_9_5
- build-depends: []
-- name: at-spi2-atk
- repo: upstream:at-spi2-atk
- ref: 363953fff4e3e12152ce2498b58a471884b497f5
- unpetrify-ref: baserock/morph
- build-depends:
- - at-spi2-core
- - atk
-- name: cairo
- repo: upstream:cairo
- ref: 25ef4d21f1616ddd9a6550cf7a129b2634b6caad
- unpetrify-ref: 1.12.14
- build-depends: []
-- name: colm
- repo: upstream:colm
- ref: 746b80d9b15dceca54dff43123d56ffcb6e42f06
- unpetrify-ref: 0.11.1
- build-depends: []
-- name: ragel
- repo: upstream:ragel
- ref: 5d4102ffe43a15608e0e864fc7e7f5c6c3b49aac
- unpetrify-ref: baserock/morph
- build-depends:
- - colm
-- name: harfbuzz
- repo: upstream:harfbuzz
- ref: f0530a3d5d2e7b6eaa8325a310d458c478f505c9
- unpetrify-ref: 0.9.19
- build-depends:
- - ragel
-- name: pango
- repo: upstream:pango
- ref: c05f6e5205711e97727885a86a57661c7e9cdc75
- unpetrify-ref: baserock/xfce-build
- build-depends:
- - cairo
- - harfbuzz
-- name: gtk+
- repo: upstream:gtk+
- ref: 52de99559e5b5bf09160e5a5a164d0ca5fede98c
- unpetrify-ref: baserock/xfce-build
- build-depends:
- - pango
- - gdk-pixbuf
- - cairo
- - atk
- - at-spi2-atk
-- name: librsvg
- repo: upstream:librsvg
- ref: 61171ca59d02b58b7da1697ca1d924bff93e66cb
- unpetrify-ref: baserock/morph
- build-depends:
- - cairo
- - gdk-pixbuf
- - gnome-common
- - gtk+
- - libcroco
- - pango
diff --git a/image-package-example.morph b/image-package-example.morph
deleted file mode 100644
index eeb5b3f2..00000000
--- a/image-package-example.morph
+++ /dev/null
@@ -1,12 +0,0 @@
-name: image-package-example
-kind: cluster
-description: |
- Packaged system and script for installing it, for deferred instantiation.
-systems:
-- morph: base-system-x86_32-generic
- deploy:
- imgpkg:
- type: image-package
- location: image-package-example.tar
- BOOTLOADER_BLOBS: "/usr/share/syslinux/mbr.bin"
- INCLUDE_SCRIPTS: "image-package-example/make-disk-image.sh.in:image-package-example/disk-install.sh.in:image-package-example/common.sh.in"
diff --git a/mason.configure b/mason.configure
new file mode 100644
index 00000000..90d49709
--- /dev/null
+++ b/mason.configure
@@ -0,0 +1,101 @@
+#!/bin/sh
+#
+# Copyright (C) 2014 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# This is a "morph deploy" configuration extension to fully configure
+# a Mason instance at deployment time. It uses the following variables
+# from the environment:
+#
+# * ARTIFACT_CACHE_SERVER
+# * MASON_CLUSTER_MORPHOLOGY
+# * MASON_DEFINITIONS_REF
+# * MASON_DISTBUILD_ARCH
+# * MASON_TEST_HOST
+# * TROVE_HOST
+# * TROVE_ID
+# * CONTROLLERHOST
+
+set -e
+
+ROOT="$1"
+
+if [ "$ARTIFACT_CACHE_SERVER" = "" \
+ -o "$MASON_CLUSTER_MORPHOLOGY" = "" \
+ -o "$MASON_DEFINITIONS_REF" = "" \
+ -o "$MASON_DISTBUILD_ARCH" = "" \
+ -o "$MASON_TEST_HOST" = "" ]; then
+ echo Not configuring as Mason, some options not defined
+ exit 0
+fi
+
+
+##########################################################################
+# Functions
+##########################################################################
+
+shellescape() {
+ echo "'$(echo "$1" | sed -e "s/'/'\\''/g")'"
+}
+
+
+##########################################################################
+# Generate config variable shell snippet
+##########################################################################
+
+MASON_CONFIG="$ROOT"/root/mason.conf
+
+echo "Creating $MASON_CONFIG"
+cat >>"$MASON_CONFIG" <<EOF
+#################### START OF DEPLOY TIME CONFIGURATION #######################
+
+ARTIFACT_CACHE_SERVER=$(shellescape "$ARTIFACT_CACHE_SERVER")
+UPSTREAM_TROVE_ADDRESS=$(shellescape "$TROVE_HOST")
+DEFINITIONS_REF=$(shellescape "$MASON_DEFINITIONS_REF")
+DISTBUILD_ARCH=$(shellescape "$MASON_DISTBUILD_ARCH")
+DISTBUILD_CONTROLLER_ADDRESS=$(shellescape "$CONTROLLERHOST")
+TROVE_ID=$(shellescape "$TROVE_ID")
+BUILD_CLUSTER_MORPHOLOGY=$(shellescape "$MASON_CLUSTER_MORPHOLOGY")
+TEST_VM_HOST_SSH_URL=$(shellescape "$MASON_TEST_HOST")
+
+##################### END OF DEPLOY TIME CONFIGURATION ########################
+EOF
+
+
+##########################################################################
+# Copy Mason files into root filesystem
+##########################################################################
+
+cp mason/mason.sh "$ROOT"/root/mason.sh
+cp mason/mason-report.sh "$ROOT"/root/mason-report.sh
+
+cp mason/mason.timer "$ROOT"/etc/systemd/system/mason.timer
+ln -s ../mason.timer "$ROOT"/etc/systemd/system/multi-user.target.wants/mason.timer
+
+cp mason/mason.service "$ROOT"/etc/systemd/system/mason.service
+ln -s ../mason.service "$ROOT"/etc/systemd/system/multi-user.target.wants/mason.service
+
+##########################################################################
+# Set up httpd web server
+##########################################################################
+
+cp mason/httpd.service "$ROOT"/etc/systemd/system/httpd.service
+ln -s ../httpd.service "$ROOT"/etc/systemd/system/multi-user.target.wants/httpd.service
+
+mkdir -p "$ROOT"/srv/mason
+
+cat >>"$ROOT"/etc/httpd.conf <<EOF
+.log:text/plain
+EOF
diff --git a/mason/httpd.service b/mason/httpd.service
new file mode 100644
index 00000000..7572b732
--- /dev/null
+++ b/mason/httpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=HTTP server for Mason
+After=network.target
+
+[Service]
+User=root
+ExecStart=/usr/sbin/httpd -f -p 80 -h /srv/mason
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mason/mason-generator.sh b/mason/mason-generator.sh
new file mode 100755
index 00000000..1a2eccac
--- /dev/null
+++ b/mason/mason-generator.sh
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+set -e
+
+if [ "$#" -lt 5 -o "$#" -gt 6 -o "$1" == "-h" -o "$1" == "--help" ]; then
+ cat <<EOF
+Usage:
+ `basename $0` HOST_PREFIX UPSTREAM_TROVE_HOSTNAME VM_USER VM_HOST VM_PATH [HOST_POSTFIX]
+
+Where:
+ HOST_PREFIX -- Name of your Mason instance
+ e.g. "my-mason" to produce hostnames:
+ my-mason-trove and my-mason-controller
+ UPSTREAM_TROVE_HOSTNAME -- Upstream trove's hostname
+ VM_USER -- User on VM host for VM deployment
+ VM_HOST -- VM host for VM deployment
+ VM_PATH -- Path to store VM images in on VM host
+ HOST_POSTFIX -- e.g. ".example.com" to get
+ my-mason-trove.example.com
+
+This script makes deploying a Mason system simpler by automating
+the generation of keys for the systems to use, building of the
+systems, filling out the mason deployment cluster morphology
+template with useful values, and finally deploying the systems.
+
+To ensure that the deployed system can deploy test systems, you
+must supply an ssh key to the VM host. Do so with the following
+command:
+ ssh-copy-id -i ssh_keys-HOST_PREFIX/worker.key.pub VM_USER@VM_HOST
+
+To ensure that the mason can upload artifacts to the upstream trove,
+you must supply an ssh key to the upstream trove. Do so with the
+following command:
+ ssh-copy-id -i ssh_keys-HOST_PREFIX/id_rsa.key.pub root@UPSTREAM_TROVE_HOSTNAME
+
+EOF
+ exit 0
+fi
+
+
+HOST_PREFIX="$1"
+UPSTREAM_TROVE="$2"
+VM_USER="$3"
+VM_HOST="$4"
+VM_PATH="$5"
+HOST_POSTFIX="$6"
+
+sedescape() {
+ # Escape all non-alphanumeric characters
+ printf "%s\n" "$1" | sed -e 's/\W/\\&/g'
+}
+
+
+##############################################################################
+# Key generation
+##############################################################################
+
+mkdir -p "ssh_keys-${HOST_PREFIX}"
+cd "ssh_keys-${HOST_PREFIX}"
+test -e mason.key || ssh-keygen -t rsa -b 2048 -f mason.key -C mason@TROVE_HOST -N ''
+test -e lorry.key || ssh-keygen -t rsa -b 2048 -f lorry.key -C lorry@TROVE_HOST -N ''
+test -e worker.key || ssh-keygen -t rsa -b 2048 -f worker.key -C worker@TROVE_HOST -N ''
+test -e id_rsa || ssh-keygen -t rsa -b 2048 -f id_rsa -C trove-admin@TROVE_HOST -N ''
+cd ../
+
+
+##############################################################################
+# Mason setup
+##############################################################################
+
+cp clusters/mason.morph mason-${HOST_PREFIX}.morph
+
+sed -i "s/red-box-v1/$(sedescape "$HOST_PREFIX")/g" "mason-$HOST_PREFIX.morph"
+sed -i "s/ssh_keys/ssh_keys-$(sedescape "$HOST_PREFIX")/g" "mason-$HOST_PREFIX.morph"
+sed -i "s/upstream-trove/$(sedescape "$UPSTREAM_TROVE")/" "mason-$HOST_PREFIX.morph"
+sed -i "s/vm-user/$(sedescape "$VM_USER")/g" "mason-$HOST_PREFIX.morph"
+sed -i "s/vm-host/$(sedescape "$VM_HOST")/g" "mason-$HOST_PREFIX.morph"
+sed -i "s/vm-path/$(sedescape "$VM_PATH")/g" "mason-$HOST_PREFIX.morph"
+sed -i "s/\.example\.com/$(sedescape "$HOST_POSTFIX")/g" "mason-$HOST_PREFIX.morph"
+
+
+##############################################################################
+# System building
+##############################################################################
+
+morph build systems/trove-system-x86_64.morph
+morph build systems/distbuild-system-x86_64.morph
+
+
+##############################################################################
+# System deployment
+##############################################################################
+
+morph deploy mason-${HOST_PREFIX}.morph
+
+
+##############################################################################
+# Cleanup
+##############################################################################
+
+rm mason-${HOST_PREFIX}.morph
diff --git a/mason/mason-report.sh b/mason/mason-report.sh
new file mode 100755
index 00000000..c18e68ac
--- /dev/null
+++ b/mason/mason-report.sh
@@ -0,0 +1,252 @@
+#!/bin/bash
+
+set -x
+
+. /root/mason.conf
+
+REPORT_PATH=/root/report.html
+SERVER_PATH=/srv/mason
+
+sed_escape() {
+ printf "%s\n" "$1" | sed -e 's/\W/\\&/g'
+}
+
+create_report() {
+cat > $REPORT_PATH <<'EOF'
+<html>
+<head>
+<meta charset="UTF-8">
+<meta http-equiv="refresh" content="60">
+<style>
+html, body {
+ margin: 0;
+ padding: 0;
+}
+p.branding {
+ background: black;
+ color: #fff;
+ padding: 0.4em;
+ margin: 0;
+ font-weight: bold;
+}
+h1 {
+ background: #225588;
+ color: white;
+ margin: 0;
+ padding: 0.6em;
+}
+table {
+ width: 90%;
+ margin: 1em auto 6em auto;
+ border: 1px solid black;
+ border-spacing: 0;
+}
+table tr.headings {
+ background: #555;
+ color: white;
+}
+table tr.pass {
+ background: #aaffaa;
+}
+table tr.pass:hover {
+ background: #bbffbb;
+}
+table tr.fail {
+ background: #ffaaaa;
+}
+table tr.fail:hover {
+ background: #ffbbbb;
+}
+table tr.nonet {
+ background: #ffdd99;
+}
+table tr.nonet:hover {
+ background: #ffeeaa;
+}
+table tr.headings th {
+ font-weight: bold;
+ text-align: left;
+ padding: 3px 2px;
+}
+table td {
+ padding: 2px;
+}
+td.result {
+ font-weight: bold;
+ text-transform: uppercase;
+}
+td.result a {
+ text-decoration: none;
+}
+td.result a:before {
+ content: "âž« ";
+}
+tr.pass td.result a {
+ color: #252;
+}
+tr.pass td.result a:hover {
+ color: #373;
+}
+tr.fail td.result a {
+ color: #622;
+}
+tr.fail td.result a:hover {
+ color: #933;
+}
+tr.nonet td.result a {
+ color: #641;
+}
+tr.nonet td.result a:hover {
+ color: #962;
+}
+td.ref {
+ font-family: monospace;
+}
+td.ref a {
+ color: #333;
+}
+td.ref a:hover {
+ color: #555;
+}
+table tr.pass td, table tr.fail td {
+ border-top: solid white 1px;
+}
+p {
+ margin: 1.3em;
+}
+code {
+ padding: 0.3em 0.5em;
+ background: #eee;
+ border: 1px solid #bbb;
+ border-radius: 1em;
+}
+#footer {
+ margin: 0;
+ background: #aaa;
+ color: #222;
+ border-top: #888 1px solid;
+ font-size: 80%;
+ padding: 0;
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ display: table;
+}
+#footer p {
+ padding: 1.3em;
+ display: table-cell;
+}
+#footer p code {
+ font-size: 110%;
+}
+#footer p.about {
+ text-align: right;
+}
+</style>
+</head>
+<body>
+<p class="branding">Mason</p>
+<h1>Baserock: Continuous Delivery</h1>
+<p>Build log of changes to <code>BRANCH</code> from <code>TROVE</code>. Most recent first.</p>
+<table>
+<tr class="headings">
+ <th>Started</th>
+ <th>Ref</th>
+ <th>Duration</th>
+ <th>Result</th>
+</tr>
+<!--INSERTION POINT-->
+</table>
+<div id="footer">
+<p>Last checked for updates at: <code>....-..-.. ..:..:..</code></p>
+<p class="about">Generated by Mason | Powered by Baserock</p>
+</div>
+</body>
+</html>
+EOF
+
+ sed -i 's/BRANCH/'"$(sed_escape "$1")"'/' $REPORT_PATH
+ sed -i 's/TROVE/'"$(sed_escape "$2")"'/' $REPORT_PATH
+}
+
+update_report() {
+ # Give function params sensible names
+ build_start_time="$1"
+ build_trove_host="$2"
+ build_ref="$3"
+ build_sha1="$4"
+ build_duration="$5"
+ build_result="$6"
+
+ # Generate template if report file is not there
+ if [ ! -f $REPORT_PATH ]; then
+ create_report $build_ref $build_trove_host
+ fi
+
+ # Build table row for insertion into report file
+ if [ "$build_result" = nonet ]; then
+ msg='<tr class="'"${build_result}"'"><td>'"${build_start_time}"'</td><td class="ref">Failed to contact '"${build_trove_host}"'</a></td><td>'"${build_duration}s"'</td><td class="result"><a href="log/'"${build_sha1}"'--'"${build_start_time}"'.log">'"${build_result}"'</a></td></tr>'
+ else
+ msg='<tr class="'"${build_result}"'"><td>'"${build_start_time}"'</td><td class="ref"><a href="http://'"${build_trove_host}"'/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/commit/?h='"${build_ref}"'&id='"${build_sha1}"'">'"${build_sha1}"'</a></td><td>'"${build_duration}s"'</td><td class="result"><a href="log/'"${build_sha1}"'--'"${build_start_time}"'.log">'"${build_result}"'</a></td></tr>'
+ fi
+
+ # Insert report line, newest at top
+ sed -i 's/<!--INSERTION POINT-->/<!--INSERTION POINT-->\n'"$(sed_escape "$msg")"'/' $REPORT_PATH
+}
+
+update_report_time() {
+ # Give function params sensible names
+ build_start_time="$1"
+
+ # If the report file exists, update the last-checked-for-updates time
+ if [ -f $REPORT_PATH ]; then
+ sed -i 's/<code>....-..-.. ..:..:..<\/code>/<code>'"$(sed_escape "$build_start_time")"'<\/code>/' $REPORT_PATH
+ fi
+}
+
+START_TIME=`date +%Y-%m-%d\ %T`
+
+update_report_time "$START_TIME"
+cp "$REPORT_PATH" "$SERVER_PATH/index.html"
+
+logfile="$(mktemp)"
+/root/mason.sh 2>&1 | tee "$logfile"
+case "${PIPESTATUS[0]}" in
+0)
+ RESULT=pass
+ ;;
+33)
+ RESULT=skip
+ ;;
+42)
+ RESULT=nonet
+ ;;
+*)
+ RESULT=fail
+ ;;
+esac
+
+# TODO: Update page with last executed time
+if [ "$RESULT" = skip ]; then
+ rm "$logfile"
+ exit 0
+fi
+
+DURATION=$(( $(date +%s) - $(date --date="$START_TIME" +%s) ))
+SHA1="$(cd "ws/$DEFINITIONS_REF/$DISTBUILD_TROVE_ADDRESS/baserock/baserock/definitions" && git rev-parse HEAD)"
+
+update_report "$START_TIME" \
+ "$DISTBUILD_TROVE_ADDRESS" \
+ "$DEFINITIONS_REF" \
+ "$SHA1" \
+ "$DURATION" \
+ "$RESULT"
+
+
+#
+# Copy report into server directory
+#
+
+cp "$REPORT_PATH" "$SERVER_PATH/index.html"
+mkdir "$SERVER_PATH/log"
+mv "$logfile" "$SERVER_PATH/log/$SHA1--$START_TIME.log"
diff --git a/mason/mason.service b/mason/mason.service
new file mode 100644
index 00000000..16b5dc3f
--- /dev/null
+++ b/mason/mason.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Mason: Continuous Delivery Service
+
+[Service]
+User=root
+ExecStart=/root/mason-report.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mason/mason.sh b/mason/mason.sh
new file mode 100755
index 00000000..13ea21db
--- /dev/null
+++ b/mason/mason.sh
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+set -e
+set -x
+
+# Load our deployment config
+. /root/mason.conf
+
+if [ ! -e ws ]; then
+ morph init ws
+fi
+cd ws
+
+definitions_repo="$DEFINITIONS_REF"/"$UPSTREAM_TROVE_ADDRESS"/baserock/baserock/definitions
+if [ ! -e "$definitions_repo" ]; then
+ morph checkout git://"$UPSTREAM_TROVE_ADDRESS"/baserock/baserock/definitions "$DEFINITIONS_REF"
+ cd "$definitions_repo"
+ git config user.name "$TROVE_ID"-mason
+ git config user.email "$TROVE_ID"-mason@$(hostname)
+else
+ cd "$definitions_repo"
+ SHA1_PREV="$(git rev-parse HEAD)"
+fi
+
+if ! git remote update origin; then
+ echo ERROR: Unable to contact trove
+ exit 42
+fi
+git clean -fxd
+git reset --hard origin/"$DEFINITIONS_REF"
+
+SHA1="$(git rev-parse HEAD)"
+
+if [ -f "$HOME/success" ] && [ "$SHA1" = "$SHA1_PREV" ]; then
+ echo INFO: No changes to "$DEFINITIONS_REF", nothing to do
+ exit 33
+fi
+
+rm -f "$HOME/success"
+
+echo INFO: Mason building: $DEFINITIONS_REF at $SHA1
+
+if ! "scripts/release-build" --no-default-configs \
+ --trove-host "$UPSTREAM_TROVE_ADDRESS" \
+ --artifact-cache-server "http://$ARTIFACT_CACHE_SERVER:8080/" \
+ --controllers "$DISTBUILD_ARCH:$DISTBUILD_CONTROLLER_ADDRESS" \
+ "$BUILD_CLUSTER_MORPHOLOGY"; then
+ echo ERROR: Failed to build release images
+ echo Build logs for chunks:
+ find builds -type f -exec echo {} \; -exec cat {} \;
+ exit 1
+fi
+
+releases_made="$(cd release && ls | wc -l)"
+if [ "$releases_made" = 0 ]; then
+ echo ERROR: No release images created
+ exit 1
+else
+ echo INFO: Created "$releases_made" release images
+fi
+
+"scripts/release-test" \
+ --deployment-host "$DISTBUILD_ARCH":"$TEST_VM_HOST_SSH_URL" \
+ --trove-host "$UPSTREAM_TROVE_ADDRESS" \
+ --trove-id "$TROVE_ID" \
+ "$BUILD_CLUSTER_MORPHOLOGY"
+
+"scripts/release-upload" --build-trove-host "$ARTIFACT_CACHE_SERVER" \
+ --arch "$DISTBUILD_ARCH" \
+ --log-level=debug --log="$HOME"/release-upload.log \
+ --public-trove-host "$UPSTREAM_TROVE_ADDRESS" \
+ --public-trove-username root \
+ --public-trove-artifact-dir /home/cache/artifacts \
+ --no-upload-release-artifacts \
+ "$BUILD_CLUSTER_MORPHOLOGY"
+
+echo INFO: Artifact upload complete for $DEFINITIONS_REF at $SHA1
+
+touch "$HOME/success"
diff --git a/mason/mason.timer b/mason/mason.timer
new file mode 100644
index 00000000..107dff97
--- /dev/null
+++ b/mason/mason.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Runs Mason continually with 1 min between calls
+
+[Timer]
+#Time between Mason finishing and calling it again
+OnUnitActiveSec=1min
+Unit=mason.service
+
+[Install]
+WantedBy=multi-user.target
diff --git a/multimedia.morph b/multimedia.morph
deleted file mode 100644
index 9d7621c5..00000000
--- a/multimedia.morph
+++ /dev/null
@@ -1,17 +0,0 @@
-name: multimedia
-kind: stratum
-description: Codecs
-build-depends:
-- morph: audio-bluetooth
-chunks:
-- name: orc
- repo: upstream:orc
- ref: b4f7fcaf99a4d952e59f2a9fa9286d24cc4b3a5a
- unpetrify-ref: baserock/morph
- build-depends: []
-- name: gstreamer
- repo: upstream:gstreamer
- ref: 5a5083f292e676e1548f6351ad27d0ccb18f68bc
- unpetrify-ref: baserock/genivi/baseline
- build-depends:
- - orc
diff --git a/nodejs-system-x86_64.morph b/nodejs-system-x86_64.morph
deleted file mode 100644
index ade66f7e..00000000
--- a/nodejs-system-x86_64.morph
+++ /dev/null
@@ -1,28 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the 64-bit x86
- architecture.
-kind: system
-name: nodejs-system-x86_64
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: bsp-x86_64-generic
-- morph: connectivity
-- morph: audio-bluetooth
-- morph: x-common
-- morph: x-generic
-- morph: multimedia
-- morph: genivi
-- morph: genivi-x-generic
-- morph: tools
-- morph: virtualization
-- morph: openstack-clients
-- morph: nodejs
diff --git a/qt4-devel-system-x86_64-generic.morph b/qt4-devel-system-x86_64-generic.morph
deleted file mode 100644
index c62363e7..00000000
--- a/qt4-devel-system-x86_64-generic.morph
+++ /dev/null
@@ -1,26 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the 64-bit x86
- architecture.
-kind: system
-name: qt4-devel-system-x86_64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: audio-bluetooth
-- morph: multimedia-gstreamer-0.10
-- morph: bsp-x86_64-generic
-- morph: tools
-- morph: x-common
-- morph: x-generic
-- morph: qt4-tools
-- morph: qt4-sdk
-- morph: lua
-- morph: connectivity
-- morph: enlightenment
diff --git a/qt5-devel-system-x86_64-generic.morph b/qt5-devel-system-x86_64-generic.morph
deleted file mode 100644
index e7175718..00000000
--- a/qt5-devel-system-x86_64-generic.morph
+++ /dev/null
@@ -1,26 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A system that is able to build other systems based on the 64-bit x86
- architecture.
-kind: system
-name: qt5-devel-system-x86_64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: audio-bluetooth
-- morph: multimedia-gstreamer-0.10
-- morph: bsp-x86_64-generic
-- morph: tools
-- morph: x-common
-- morph: x-generic
-- morph: qt5-tools
-- morph: qt5-sdk
-- morph: lua
-- morph: connectivity
-- morph: enlightenment
diff --git a/scripts/licensecheck.sh b/scripts/licensecheck.sh
index a39e62da..c8f53cf2 100755
--- a/scripts/licensecheck.sh
+++ b/scripts/licensecheck.sh
@@ -58,30 +58,28 @@ texinfo-tarball"
gplv3_repos=""
-for f in *.morph; do
+for f in strata/*.morph; do
cp "$f" "$f.bak"
done
-strata=`grep "morph.*: *" "$system.morph" | cut -d: -f2-`
+strata=`grep "morph.*: *" "$system" | cut -d: -f2-`
for stratum in $strata; do
- chunks=`grep "name.*: *" "$stratum.morph" | cut -d: -f2-`
+ chunks=`grep -E -- "-? +name.*: *" "$stratum" | cut -d: -f2-`
for chunk in $chunks; do
- if [ "$chunk" != "$stratum" ]; then
- if ! (echo $gplv3_chunks | grep -wq "$chunk"); then
- morph edit $chunk 1>&2
- else
- repo=`grep "name.*: *$chunk" "$stratum.morph" -A1 | \
- tail -n1 | cut -d: -f3-`
- gplv3_repos="$gplv3_repos $repo"
- fi
+ if ! (echo $gplv3_chunks | grep -wq "$chunk"); then
+ morph edit $chunk 1>&2
+ else
+ repo=`grep "name.*: *$chunk" "$stratum" -A1 | \
+ tail -n1 | cut -d: -f3-`
+ gplv3_repos="$gplv3_repos $repo"
fi
done
done
repos=`for stratum in $strata; do
- grep "repo.*: *" "$stratum.morph" | cut -d: -f3-
+ grep "repo.*: *" "$stratum" | cut -d: -f3-
done | sort -u`
@@ -89,13 +87,13 @@ for repo in $repos; do
if ! (echo $gplv3_repos | grep -wq "$repo") && \
[ -d "$workspace/upstream/$repo" ] ; then
echo "$repo"
- perl licensecheck.pl -r "$workspace/upstream/$repo" | \
+ perl scripts/licensecheck.pl -r "$workspace/upstream/$repo" | \
cut -d: -f2- | sort -u
echo
fi
done
-for f in *.morph.bak; do
+for f in strata/*.morph.bak; do
mv "$f" "${f%.bak}"
done
diff --git a/scripts/organize-morphologies.py b/scripts/organize-morphologies.py
new file mode 100755
index 00000000..abc8c739
--- /dev/null
+++ b/scripts/organize-morphologies.py
@@ -0,0 +1,266 @@
+#!/usr/bin/env python
+# Copyright (C) 2014 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+import json
+import morphlib
+import os
+import subprocess
+import sys
+import urllib
+import urllib2
+import urlparse
+import yaml
+import re
+import errno
+
+''' organize-morphologies.py:
+Tool for organizing morphologies in definitions.
+
+This script will move:
+ - cluster morphologies into clusters directory
+ - system morphologies into systems directory
+ - stratum morphologies into strata directory
+
+This script will download the chunk morphologies for every stratum
+and placed into strata/stratum_which_the_chunk_belongs_to directory.
+
+It also modifies the morphologies fields which points to some morpholgy
+which has been moved.
+'''
+
+
+# NOTE: The following reimplements part of morphlib's remote repo cache stuff
+def parse_repo_alias(repo):
+ domain, path = repo.split(':')
+ if domain == 'baserock':
+ repo = 'ssh://git@git.baserock.org/baserock/%s' % path
+ elif domain == 'upstream':
+ repo = 'ssh://git@git.baserock.org/delta/%s' % path
+ else:
+ raise Exception("I don't know how to parse the repo-alias \"%s\"" % repo)
+ return repo
+
+def make_request(path):
+ server_url = 'http://git.baserock.org:8080/'
+ url = urlparse.urljoin(server_url, '/1.0/%s' % path)
+ handle = urllib2.urlopen(url)
+ return handle.read()
+
+def quote(*args):
+ return tuple(urllib.quote(string) for string in args)
+
+def cat_file(repo, ref, filename):
+ return make_request('files?repo=%s&ref=%s&filename=%s' %
+ quote(repo, ref, filename))
+
+# NOTE: This function reimplement part of morphlib's loader
+def sanitise_morphology_path(morph_field, morph_kind, belongs_to='None'):
+ '''This function receives the name or the morph field of one morphology
+ and returns the path of the morphology depending on the name, kind and
+ if it belongs to other morphologies.
+ '''
+ # Dictionary which match morphology's kind and morphology's
+ # directory in definitions.git
+ morph_dir = { 'chunk': 'chunks', 'stratum': 'strata',
+ 'system':'systems', 'cluster': 'clusters'}
+ # For chunks morphologies we need to know to which stratums
+ # belongs this chunk.
+ if morph_kind == 'chunk':
+ if belongs_to == '':
+ raise morphlib.Error('Chunk morphologies need the stratum name'
+ 'to create the path. Please add the stratum'
+ 'which belongs this morphology')
+ # Get the name of the chunk which we assume is at the end
+ # of the morph file
+ if '/' in morph_field:
+ morph_field = os.path.basename(morph_field)
+
+ # Add the stratum name to the chunk name
+ morph_field = os.path.join(belongs_to, morph_field)
+
+ # Reset the kind to stratum because chunk contains stratum
+ # name in its path.
+ morph_kind = 'stratum'
+
+ # Add the morphology path to the morph field.
+ if not morph_field.startswith(morph_dir[morph_kind]):
+ morph_field = os.path.join(morph_dir[morph_kind], morph_field)
+
+ # Add the morphology suffix if the morphology.
+ if not morph_field.endswith('.morph'):
+ morph_field = morph_field + '.morph'
+
+ return morph_field
+
+def create_directory(name, path):
+ directory = os.path.join(path, name)
+ try:
+ os.makedirs(directory)
+ except OSError as err:
+ if err.errno != errno.EEXIST:
+ raise err
+ else:
+ pass
+ return directory
+
+def move_file(morph, directory, path, loader):
+ if not morph.filename.startswith(directory):
+ filename = os.path.basename(morph.filename)
+ new_location = os.path.join(path, filename)
+ print '\nMoving %s into %s' % (filename, new_location)
+ subprocess.call(['git', 'mv', morph.filename, new_location])
+ morph.filename = new_location
+ loader.unset_defaults(morph)
+ loader.save_to_file(morph.filename, morph)
+
+def load_and_fix_chunk(chunk_str, loader, name):
+ try:
+ chunk_morph = loader.load_from_string(chunk_str)
+ except morphlib.morphloader.InvalidFieldError as err:
+ if "comments" in str(err):
+ # This error is caused because there are old morphologies which
+ # contain the field "comments" instead of "description".
+ # Replacing "comments" field by "description" will allow the morphology
+ # to pass parse_morphology_text check and ready to be written to a file.
+ fixed_chunk = loader.parse_morphology_text(chunk_str, name)
+ fixed_chunk['description'] = fixed_chunk.pop('comments')
+ print "WARNING: Invalid 'comments' field in " \
+ "%s corrected to 'description'" % name
+ chunk_morph = load_and_fix_chunk(str(fixed_chunk), loader, name)
+ elif "buildsystem" in str(err):
+ # This error is caused because a typo in a morphology which
+ # has a field "buildsystem" instead of "build-system".
+ fixed_chunk = loader.parse_morphology_text(chunk_str, name)
+ fixed_chunk['build-system'] = fixed_chunk.pop('buildsystem')
+ print "WARNING: Invalid 'buildsystem' field in %s" \
+ "corrected to 'build-system'" % name
+ chunk_morph = load_and_fix_chunk(str(fixed_chunk), loader, name)
+ else:
+ print "ERROR: %s in chunk %s" %(err, name)
+ raise err
+ except morphlib.morphloader.MorphologyNotYamlError as err:
+ print "WARNING: %s in chunk %s is not valid YAML, " \
+ "attempting to fix..." %(err, name)
+ # This error is caused because there are old morphologies written
+ # in JSON which contain '\t' characters. When try to load this
+ # kind of morphologies load_from_string fails when parse_morphology_text.
+ # Removing this characters will make load_from_string to load the morphology
+ # and translate it into a correct yaml format.
+ fixed_chunk = chunk_str.replace('\t','')
+ print "INFO: %s successfully fixed" % name
+ chunk_morph = load_and_fix_chunk(fixed_chunk, loader, name)
+ return chunk_morph
+
+def move_clusters(morphs, path, loader):
+ kind = 'system'
+ directory = 'clusters'
+ # Move cluster morphologies to clusters folder fixing their dependent
+ # morphologies which are systems.
+ full_path = create_directory(directory, path)
+ for morph in morphs:
+ all_systems = morph['systems'][:]
+ for system in morph['systems']:
+ all_systems.extend(system.get('subsystems', []))
+ # Add the correct path to the morph fields for systems and subsystems
+ for field in all_systems:
+ field['morph'] = sanitise_morphology_path(field['morph'], kind)
+ move_file(morph, directory, full_path, loader)
+
+def move_systems(morphs, path, loader):
+ kind = 'stratum'
+ directory = 'systems'
+ # Move system morphologies to systems folder fixing their dependent
+ # morphologies which are strata.
+ full_path = create_directory(directory, path)
+ for morph in morphs:
+ # Add name field and the correct path to the stratum on the morph
+ # fields in strata.
+ for field in morph['strata']:
+ field['name'] = os.path.basename(field['morph'])
+ field['morph'] = sanitise_morphology_path(field['morph'], kind)
+ move_file(morph, directory, full_path, loader)
+
+def download_chunks(morph, loader):
+ # Download chunks morphologies defined on the stratum and
+ # add them to the directory tree.
+ for chunk in morph['chunks']:
+ name = chunk['name'] + '.morph'
+ try:
+ chunk['morph'] = sanitise_morphology_path(chunk['morph'], 'chunk', morph['name'])
+ except KeyError as err:
+ if 'morph' in str(err):
+ chunk['morph'] = sanitise_morphology_path(chunk['name'], 'chunk', morph['name'])
+ else:
+ raise err
+ ref = chunk['ref']
+ repo = parse_repo_alias(chunk['repo'])
+ try:
+ print "\nDownloading %s from %s into %s" %(name, repo, chunk['morph'])
+ chunk_str = cat_file(repo, ref, name)
+ except urllib2.HTTPError as err:
+ # If there is no morphology in the repository we assume that the morphology
+ # system will be autodetected, so we don't have to create a new one
+ # unless we shut down the autodetecting system (fallback system).
+ if err.code == 404:
+ print 'INFO: Morph will fall-back to build-time' \
+ 'autodetection for %s' %(name)
+ # Remove morph field from autodetected chunks
+ del chunk['morph']
+ else:
+ loaded_chunk = load_and_fix_chunk(chunk_str, loader, name)
+ loader.unset_defaults(loaded_chunk)
+ loader.save_to_file(chunk['morph'], loaded_chunk)
+
+def move_strata(morphs, path, loader):
+ # Create strata directory
+ strata_dir = 'strata/'
+ strata_path = create_directory(strata_dir, path)
+ for morph in morphs:
+ # Create stratum directory where downloading its chunks.
+ stratum_path = strata_path + morph['name']
+ stratum_dir = create_directory(stratum_path, path)
+
+ # Download chunks which belongs to the stratum
+ download_chunks(morph, loader)
+
+ # Add to build-depends the correct path to the dependent stratum morphologies.
+ for build_depends in morph['build-depends']:
+ build_depends['morph'] = sanitise_morphology_path(build_depends['morph'], 'stratum')
+ # Move stratum morphologies to strata
+ move_file(morph, strata_dir, strata_path, loader)
+
+def main():
+ # Load all morphologies in the definitions repo
+ sb = morphlib.sysbranchdir.open_from_within('.')
+ loader = morphlib.morphloader.MorphologyLoader()
+ morphs = [m for m in sb.load_all_morphologies(loader)]
+
+ # Clasify the morphologies regarding of their kind field
+ morphologies = { kind: [m for m in morphs if m['kind'] == kind]
+ for kind in ('chunk', 'stratum', 'system', 'cluster') }
+
+ for kind, morphs in morphologies.iteritems():
+ print 'There are: %d %s.\n' %(len(morphs), kind)
+
+ # Get the path from definitions repo
+ definitions_repo = sb.get_git_directory_name(sb.root_repository_url)
+
+ # Move the morphologies to its directories
+ move_clusters(morphologies['cluster'], definitions_repo, loader)
+ move_systems(morphologies['system'], definitions_repo, loader)
+ move_strata(morphologies['stratum'], definitions_repo, loader)
+
+main()
diff --git a/scripts/release-build b/scripts/release-build
index 36a38deb..5525e9e9 100755
--- a/scripts/release-build
+++ b/scripts/release-build
@@ -53,6 +53,9 @@ class ReleaseApp(cliapp.Application):
self.settings.string(['trove-host'],
'hostname of Trove instance')
+ self.settings.string(['artifact-cache-server'],
+ 'server to fetch artifacts from', default=None)
+
self.settings.string(['release-number'],
'Baserock version of the systems being built',
default='yy.ww')
@@ -98,7 +101,6 @@ class ReleaseApp(cliapp.Application):
os.chdir('..')
if not os.path.exists('release'):
os.mkdir('release')
- os.chdir('release')
self.deploy_images(cluster, cluster_path)
def load_morphology(self, name, kind=None):
@@ -109,13 +111,21 @@ class ReleaseApp(cliapp.Application):
assert morph['kind'] == kind
return morph, path
+ def iterate_systems(self, system_list):
+ for system in system_list:
+ yield system['morph']
+ if 'subsystems' in system:
+ for subsystem in self.iterate_systems(system['subsystems']):
+ yield subsystem
+
def prepare_builds(self, cluster):
'''Prepare a list of builds'''
- systems = [system['morph'] for system in cluster['systems']]
+ systems = set(self.iterate_systems(cluster['systems']))
builds = []
for system_name in systems:
system, _ = self.load_morphology(system_name)
- builds.append(Build(system_name, system['arch'], self))
+ if system['arch'] in self.controllers:
+ builds.append(Build(system_name, system['arch'], self))
return builds
def deploy_images(self, cluster, cluster_path):
@@ -123,37 +133,41 @@ class ReleaseApp(cliapp.Application):
outputs = {}
for system in cluster['systems']:
- name = system['morph']
- if name not in system['deploy']:
- raise cliapp.AppException(
- 'In %s: system %s ID should be "%s"' %
- (cluster_path, name, name))
-
- # The release.morph cluster must specify a basename for the file,
- # of name and extension. This script knows about name, but it
- # can't find out the appropriate file extension without second
- # guessing the behaviour of write extensions.
- basename = system['deploy'][name]['location']
-
- if '/' in basename or basename.startswith(version_label):
- raise cliapp.AppException(
- 'In %s: system %s.location should be just the base name, '
- 'e.g. "%s.img"' % (cluster_path, name, name))
-
- filename = '%s-%s' % (version_label, basename)
- if os.path.exists(filename):
- self.output.write('Reusing existing deployment of %s\n' % filename)
- else:
- self.output.write('Creating %s from release.morph\n' % filename)
- self.deploy_single_image(cluster_path, name, filename, version_label)
+ morphology_name = system['morph']
+ morphology = self.load_morphology(morphology_name)[0]
+ if morphology['arch'] not in self.controllers:
+ continue
+
+ for deployment_name, deployment_info in system['deploy'].iteritems():
+ # The release.morph cluster must specify a basename for the file,
+ # of name and extension. This script knows about name, but it
+ # can't find out the appropriate file extension without second
+ # guessing the behaviour of write extensions.
+ basename = deployment_info['location']
+
+ if '/' in basename or basename.startswith(version_label):
+ raise cliapp.AppException(
+ 'In %s: system %s.location should be just the base name, '
+ 'e.g. "%s.img"' % (cluster_path, deployment_name, deployment_name))
+
+ filename = os.path.join('release', '%s-%s' % (version_label, basename))
+ if os.path.exists(filename):
+ self.output.write('Reusing existing deployment of %s\n' % filename)
+ else:
+ self.output.write('Creating %s from release.morph\n' % filename)
+ self.deploy_single_image(cluster_path, deployment_name, filename, version_label)
def deploy_single_image(self, cluster_path, name, location, version_label):
deploy_command = [
'morph', 'deploy', cluster_path, name,
- '--trove-host=%s' % self.settings['trove-host'],
+ '--trove-host=%s' % self.settings['trove-host']]
+ artifact_server = self.settings['artifact-cache-server']
+ if artifact_server is not None:
+ deploy_command.append('--artifact-cache-server=%s' % artifact_server)
+ deploy_command.extend((
'%s.location=%s' % (name, location),
'%s.VERSION_LABEL=%s' % (name, version_label)
- ]
+ ))
cliapp.runcmd(deploy_command, stdout=sys.stdout)
diff --git a/scripts/release-test b/scripts/release-test
new file mode 100755
index 00000000..b2bca58d
--- /dev/null
+++ b/scripts/release-test
@@ -0,0 +1,399 @@
+#!/usr/bin/env python
+#
+# Copyright 2014 Codethink Ltd
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+'''release-test
+
+This script deploys the set of systems in the cluster morphology it is
+instructed to read, to test that they work correctly.
+
+'''
+
+import cliapp
+import os
+import pipes
+import shlex
+import shutil
+import socket
+import tempfile
+import time
+import uuid
+
+import morphlib
+
+
+class MorphologyHelper(object):
+
+ def __init__(self):
+ self.sb = sb = morphlib.sysbranchdir.open_from_within('.')
+ defs_repo_path = sb.get_git_directory_name(sb.root_repository_url)
+ self.defs_repo = morphlib.gitdir.GitDirectory(defs_repo_path)
+ self.loader = morphlib.morphloader.MorphologyLoader()
+ self.finder = morphlib.morphologyfinder.MorphologyFinder(self.defs_repo)
+
+ def load_morphology(self, path):
+ text = self.finder.read_morphology(path)
+ return self.loader.load_from_string(text)
+
+ @classmethod
+ def iterate_systems(cls, systems_list):
+ for system in systems_list:
+ yield morphlib.util.sanitise_morphology_path(system['morph'])
+ if 'subsystems' in system:
+ for subsystem in cls.iterate_systems(system['subsystems']):
+ yield subsystem
+
+ def iterate_cluster_deployments(cls, cluster_morph):
+ for system in cluster_morph['systems']:
+ path = morphlib.util.sanitise_morphology_path(system['morph'])
+ defaults = system.get('deploy-defaults', {})
+ for name, options in system['deploy'].iteritems():
+ config = dict(defaults)
+ config.update(options)
+ yield path, name, config
+
+ def load_cluster_systems(self, cluster_morph):
+ for system_path in set(self.iterate_systems(cluster_morph['systems'])):
+ system_morph = self.load_morphology(system_path)
+ yield system_path, system_morph
+
+
+class TimeoutError(cliapp.AppException):
+
+ """Error to be raised when a connection waits too long"""
+
+ def __init__(self, msg):
+ super(TimeoutError, self).__init__(msg)
+
+
+class VMHost(object):
+
+ def __init__(self, user, address, disk_path):
+ self.user = user
+ self.address = address
+ self.disk_path = disk_path
+
+ @property
+ def ssh_host(self):
+ return '{user}@{address}'.format(user=self.user, address=self.address)
+
+ def runcmd(self, *args, **kwargs):
+ cliapp.ssh_runcmd(self.ssh_host, *args, **kwargs)
+
+ def virsh(self, *args, **kwargs):
+ self.runcmd(['virsh', '-c', 'qemu:///system'] + list(args), **kwargs)
+
+
+class DeployedSystemInstance(object):
+
+ def __init__(self, deployment, config, host_machine, vm_id, rootfs_path):
+ self.deployment = deployment
+ self.config = config
+ # TODO: Stop assuming test machine can DHCP and be assigned its
+ # hostname in the deployer's resolve search path.
+ self.ip_address = self.config['HOSTNAME']
+ self.host_machine = host_machine
+ self.vm_id = vm_id
+ self.rootfs_path = rootfs_path
+
+ @property
+ def ssh_host(self):
+ # TODO: Stop assuming we ssh into test instances as root
+ return 'root@{host}'.format(host=self.ip_address)
+
+ def runcmd(self, argv, chdir='.', **kwargs):
+ ssh_cmd = ['ssh', '-o', 'StrictHostKeyChecking=no',
+ '-o', 'UserKnownHostsFile=/dev/null', self.ssh_host]
+ cmd = ['sh', '-c', 'cd "$1" && shift && exec "$@"', '-', chdir]
+ cmd += argv
+ ssh_cmd.append(' '.join(map(pipes.quote, cmd)))
+ return cliapp.runcmd(ssh_cmd, **kwargs)
+
+ def _wait_for_dhcp(self, timeout):
+ '''Block until given hostname resolves successfully.
+
+ Raises TimeoutError if the hostname has not appeared in 'timeout'
+ seconds.
+
+ '''
+ start_time = time.time()
+ while True:
+ try:
+ socket.gethostbyname(self.ip_address)
+ return
+ except socket.gaierror:
+ pass
+ if time.time() > start_time + timeout:
+ raise TimeoutError("Host %s did not appear after %i seconds" %
+ (self.ip_address, timeout))
+ time.sleep(0.5)
+
+ def _wait_for_ssh(self, timeout):
+ """Wait until the deployed VM is responding via SSH"""
+ start_time = time.time()
+ while True:
+ try:
+ self.runcmd(['true'], stdin=None, stdout=None, stderr=None)
+ return
+ except cliapp.AppException:
+ # TODO: Stop assuming the ssh part of the command is what failed
+ if time.time() > start_time + timeout:
+ raise TimeoutError("%s sshd did not start after %i seconds"
+ % (self.ip_address, timeout))
+ time.sleep(0.5)
+
+ def wait_until_online(self, timeout=10):
+ self._wait_for_dhcp(timeout)
+ self._wait_for_ssh(timeout)
+
+ def delete(self):
+ # Stop and remove VM
+ try:
+ self.host_machine.virsh('destroy', self.vm_id)
+ except cliapp.AppException as e:
+ # TODO: Stop assuming that destroy failed because it wasn't running
+ pass
+ try:
+ self.host_machine.virsh('undefine', self.vm_id, '--remove-all-storage')
+ except cliapp.AppException as e:
+ # TODO: Stop assuming that undefine failed because it was
+ # already removed
+ pass
+
+
+class Deployment(object):
+
+ def __init__(self, cluster_path, name, deployment_config, host_machine):
+ self.cluster_path = cluster_path
+ self.name = name
+ self.deployment_config = deployment_config
+ self.host_machine = host_machine
+
+ @staticmethod
+ def _ssh_host_key_exists(hostname):
+ """Check if an ssh host key exists in known_hosts"""
+ with open('/root/.ssh/known_hosts', 'r') as known_hosts:
+ return any(line.startswith(hostname) for line in known_hosts)
+
+ def _update_known_hosts(self):
+ if not self._ssh_host_key_exists(self.host_machine.address):
+ with open('/root/.ssh/known_hosts', 'a') as known_hosts:
+ cliapp.runcmd(['ssh-keyscan', self.host_machine.address],
+ stdout=known_hosts)
+
+ @staticmethod
+ def _generate_sshkey_config(tempdir, config):
+ manifest = os.path.join(tempdir, 'manifest')
+ with open(manifest, 'w') as f:
+ f.write('0040700 0 0 /root/.ssh\n')
+ f.write('overwrite 0100600 0 0 /root/.ssh/authorized_keys\n')
+ authkeys = os.path.join(tempdir, 'root', '.ssh', 'authorized_keys')
+ os.makedirs(os.path.dirname(authkeys))
+ with open(authkeys, 'w') as auth_f:
+ with open('/root/.ssh/id_rsa.pub', 'r') as key_f:
+ shutil.copyfileobj(key_f, auth_f)
+
+ install_files = shlex.split(config.get('INSTALL_FILES', ''))
+ install_files.append(manifest)
+ yield 'INSTALL_FILES', ' '.join(pipes.quote(f) for f in install_files)
+
+ def deploy(self):
+ self._update_known_hosts()
+
+ hostname = str(uuid.uuid4())
+ vm_id = hostname
+ image_base = self.host_machine.disk_path
+ rootpath = '{image_base}/{hostname}.img'.format(image_base=image_base,
+ hostname=hostname)
+ loc = 'kvm+ssh://{ssh_host}/{id}/{path}'.format(
+ ssh_host=self.host_machine.ssh_host, id=vm_id, path=rootpath)
+
+ options = {
+ 'type': 'kvm',
+ 'location': loc,
+ 'AUTOSTART': 'True',
+ 'HOSTNAME': hostname,
+ 'DISK_SIZE': '20G',
+ 'RAM_SIZE': '2G',
+ 'VERSION_LABEL': 'release-test',
+ }
+
+ tempdir = tempfile.mkdtemp()
+ try:
+ options.update(
+ self._generate_sshkey_config(tempdir,
+ self.deployment_config))
+
+ args = ['morph', 'deploy', self.cluster_path, self.name]
+ for k, v in options.iteritems():
+ args.append('%s.%s=%s' % (self.name, k, v))
+ cliapp.runcmd(args, stdin=None, stdout=None, stderr=None)
+
+ config = dict(self.deployment_config)
+ config.update(options)
+
+ return DeployedSystemInstance(self, config, self.host_machine,
+ vm_id, rootpath)
+ finally:
+ shutil.rmtree(tempdir)
+
+
+class ReleaseApp(cliapp.Application):
+
+ """Cliapp application which handles automatic builds and tests"""
+
+ def add_settings(self):
+ """Add the command line options needed"""
+ group_main = 'Program Options'
+ self.settings.string_list(['deployment-host'],
+ 'ARCH:HOST:PATH that VMs can be deployed to',
+ default=None,
+ group=group_main)
+ self.settings.string(['trove-host'],
+ 'Address of Trove for test systems to build from',
+ default=None,
+ group=group_main)
+ self.settings.string(['trove-id'],
+ 'ID of Trove for test systems to build from',
+ default=None,
+ group=group_main)
+ self.settings.string(['build-ref-prefix'],
+ 'Prefix of build branches for test systems',
+ default=None,
+ group=group_main)
+
+ @staticmethod
+ def _run_tests(instance, system_path, system_morph,
+ (trove_host, trove_id, build_ref_prefix),
+ morph_helper, systems):
+ instance.wait_until_online()
+
+ tests = []
+ def baserock_build_test(instance):
+ instance.runcmd(['git', 'config', '--global', 'user.name',
+ 'Test Instance of %s' % instance.deployment.name])
+ instance.runcmd(['git', 'config', '--global', 'user.email',
+ 'ci-test@%s' % instance.config['HOSTNAME']])
+ instance.runcmd(['mkdir', '-p', '/src/ws', '/src/cache',
+ '/src/tmp'])
+ def morph_cmd(*args, **kwargs):
+ # TODO: decide whether to use cached artifacts or not by
+ # adding --artifact-cache-server= --cache-server=
+ argv = ['morph', '--log=/src/morph.log', '--cachedir=/src/cache',
+ '--tempdir=/src/tmp', '--log-max=100M',
+ '--trove-host', trove_host, '--trove-id', trove_id,
+ '--build-ref-prefix', build_ref_prefix]
+ argv.extend(args)
+ instance.runcmd(argv, **kwargs)
+
+ repo = morph_helper.sb.root_repository_url
+ ref = morph_helper.defs_repo.HEAD
+ sha1 = morph_helper.defs_repo.resolve_ref_to_commit(ref)
+ morph_cmd('init', '/src/ws')
+ chdir = '/src/ws'
+
+ morph_cmd('checkout', repo, ref, chdir=chdir)
+ # TODO: Add a morph subcommand that gives the path to the root repository.
+ repo_path = os.path.relpath(
+ morph_helper.sb.get_git_directory_name(repo),
+ morph_helper.sb.root_directory)
+ chdir = os.path.join(chdir, ref, repo_path)
+
+ instance.runcmd(['git', 'reset', '--hard', sha1], chdir=chdir)
+ print 'Building test systems for {sys}'.format(sys=system_path)
+ for to_build_path, to_build_morph in systems.iteritems():
+ if to_build_morph['arch'] == system_morph['arch']:
+ print 'Test building {path}'.format(path=to_build_path)
+ morph_cmd('build', to_build_path, chdir=chdir,
+ stdin=None, stdout=None, stderr=None)
+ print 'Finished Building test systems'
+
+ def python_smoke_test(instance):
+ instance.runcmd(['python', '-c', 'print "Hello World"'])
+
+ # TODO: Come up with a better way of determining which tests to run
+ if 'devel' in system_path:
+ tests.append(baserock_build_test)
+ else:
+ tests.append(python_smoke_test)
+
+ for test in tests:
+ test(instance)
+
+ def deploy_and_test_systems(self, cluster_path,
+ deployment_hosts, build_test_config):
+ """Run the deployments and tests"""
+
+ version = 'release-test'
+
+ morph_helper = MorphologyHelper()
+ cluster_morph = morph_helper.load_morphology(cluster_path)
+ systems = dict(morph_helper.load_cluster_systems(cluster_morph))
+
+ for system_path, deployment_name, deployment_config in \
+ morph_helper.iterate_cluster_deployments(cluster_morph):
+
+ system_morph = systems[system_path]
+ # We can only test systems in KVM that have a BSP
+ if not any('bsp' in si['morph'] for si in system_morph['strata']):
+ continue
+
+ # We can only test systems in KVM that we have a host for
+ if system_morph['arch'] not in deployment_hosts:
+ continue
+ host_machine = deployment_hosts[system_morph['arch']]
+ deployment = Deployment(cluster_path, deployment_name,
+ deployment_config, host_machine)
+
+ instance = deployment.deploy()
+ try:
+ self._run_tests(instance, system_path, system_morph,
+ build_test_config, morph_helper, systems)
+ finally:
+ instance.delete()
+
+ def process_args(self, args):
+ """Process the command line args and kick off the builds/tests"""
+ if self.settings['build-ref-prefix'] is None:
+ self.settings['build-ref-prefix'] = (
+ os.path.join(self.settings['trove-id'], 'builds'))
+ for setting in ('deployment-host', 'trove-host',
+ 'trove-id', 'build-ref-prefix'):
+ self.settings.require(setting)
+
+ deployment_hosts = {}
+ for host_config in self.settings['deployment-host']:
+ arch, address = host_config.split(':', 1)
+ user, address = address.split('@', 1)
+ address, disk_path = address.split(':', 1)
+ if user == '':
+ user = 'root'
+ # TODO: Don't assume root is the user with deploy access
+ deployment_hosts[arch] = VMHost(user, address, disk_path)
+
+ build_test_config = (self.settings['trove-host'],
+ self.settings['trove-id'],
+ self.settings['build-ref-prefix'])
+
+ if len(args) != 1:
+ raise cliapp.AppException('Usage: release-test CLUSTER')
+ cluster_path = morphlib.util.sanitise_morphology_path(args[0])
+ self.deploy_and_test_systems(cluster_path, deployment_hosts,
+ build_test_config)
+
+
+if __name__ == '__main__':
+ ReleaseApp().run()
diff --git a/scripts/release-upload b/scripts/release-upload
index 2e7f54e8..273f9ed5 100755
--- a/scripts/release-upload
+++ b/scripts/release-upload
@@ -49,6 +49,7 @@ import urlparse
import cliapp
import yaml
+import morphlib
class ReleaseUploader(cliapp.Application):
@@ -134,15 +135,56 @@ class ReleaseUploader(cliapp.Application):
default='morph',
group=group)
+ self.settings.string_list(
+ ['arch'],
+ 'Upload files from morphologies of ARCH',
+ metavar='ARCH',
+ default=[],
+ group=group)
+
+ self.settings.boolean(
+ ['upload-build-artifacts'],
+ 'upload build artifacts?',
+ default=True)
+
+ self.settings.boolean(
+ ['upload-release-artifacts'],
+ 'upload release artifacts (disk images etc)?',
+ default=True)
+
def get_local_username(self):
uid = os.getuid()
return pwd.getpwuid(uid)[0]
def process_args(self, args):
+ if len(args) != 1:
+ raise cliapp.AppException('Usage: release-upload CLUSTER')
+ cluster_morphology_path = args[0]
self.status(msg='Uploading and publishing Baserock release')
- BuildArtifactPublisher(self.settings, self.status).publish_build_artifacts()
- ReleaseArtifactPublisher(self.settings, self.status).publish_release_artifacts()
- self.status(msg='Release has been uploaded and published')
+
+ if self.settings['upload-build-artifacts']:
+ self.publish_build_artifacts(cluster_morphology_path)
+ else:
+ self.status(
+ msg='Not uploading build artifacts '
+ '(upload-build-artifacts set to false')
+
+ if self.settings['upload-release-artifacts']:
+ self.publish_release_artifacts()
+ else:
+ self.status(
+ msg='Not uploading release artifacts '
+ '(upload-release-artifacts set to false')
+
+ def publish_build_artifacts(self, cluster_morphology_path):
+ publisher = BuildArtifactPublisher(self.settings, self.status)
+ publisher.publish_build_artifacts(cluster_morphology_path)
+ self.status(msg='Build artifacts have been published')
+
+ def publish_release_artifacts(self):
+ publisher = ReleaseArtifactPublisher(self.settings, self.status)
+ publisher.publish_release_artifacts()
+ self.status(msg='Release artifacts have been published')
def status(self, msg, **kwargs):
formatted = msg.format(**kwargs)
@@ -159,8 +201,8 @@ class BuildArtifactPublisher(object):
self.settings = settings
self.status = status
- def publish_build_artifacts(self):
- artifact_basenames = self.list_build_artifacts_for_release()
+ def publish_build_artifacts(self, cluster_path):
+ artifact_basenames = self.list_build_artifacts_for_release(cluster_path)
self.status(
msg='Found {count} build artifact files in release',
count=len(artifact_basenames))
@@ -179,27 +221,66 @@ class BuildArtifactPublisher(object):
self.upload_build_artifacts_to_public_trove(to_be_uploaded)
- def list_build_artifacts_for_release(self):
+ def list_build_artifacts_for_release(self, cluster_morphology_path):
self.status(msg='Find build artifacts included in release')
# FIXME: These are hardcoded for simplicity. They would be
# possible to deduce automatically from the workspace, but
# that can happen later.
- repo = 'baserock:baserock/definitions'
+ repo = 'file://%s' % os.path.abspath('.')
ref = 'HEAD'
argv = [self.settings['morph-cmd'], 'list-artifacts', '--quiet', repo, ref]
- argv += self.find_system_morphologies()
+ argv += self.find_system_morphologies(cluster_morphology_path)
output = cliapp.runcmd(argv)
basenames = output.splitlines()
+ logging.debug('List of build artifacts in release:')
+ for basename in basenames:
+ logging.debug(' {0}'.format(basename))
+ logging.debug('End of list of build artifacts in release')
return basenames
- def find_system_morphologies(self):
- cluster_morphology_pathname = 'release.morph'
- with open(cluster_morphology_pathname) as f:
- obj = yaml.load(f)
- return [system_dict['morph'] for system_dict in obj['systems']]
+ def find_system_morphologies(self, cluster_morphology_path):
+ cluster = self.load_cluster_morphology(cluster_morphology_path)
+ system_dicts = self.find_systems_in_parsed_cluster_morphology(cluster)
+ if self.settings['arch']:
+ system_dicts = self.choose_systems_for_wanted_architectures(
+ system_dicts, self.settings['arch'])
+ return [sd['morph'] for sd in system_dicts]
+
+ def load_cluster_morphology(self, pathname):
+ with open(pathname) as f:
+ return yaml.load(f)
+
+ def find_systems_in_parsed_cluster_morphology(self, cluster):
+ return cluster['systems']
+
+ def choose_systems_for_wanted_architectures(self, system_dicts, archs):
+ return [
+ sd
+ for sd in system_dicts
+ if self.system_is_for_wanted_arch(sd, archs)]
+
+ def system_is_for_wanted_arch(self, system_dict, archs):
+ morph = self.load_system_morphology(system_dict)
+ return morph['arch'] in archs
+
+ def load_system_morphology(self, system_dict):
+ pathname = morphlib.util.sanitise_morphology_path(system_dict['morph'])
+ return self.load_morphology_from_named_file(pathname)
+
+ def load_morphology_from_named_file(self, pathname):
+ finder = self.get_morphology_finder_for_root_repository()
+ morphology_text = finder.read_morphology(pathname)
+ loader = morphlib.morphloader.MorphologyLoader()
+ return loader.load_from_string(morphology_text)
+
+ def get_morphology_finder_for_root_repository(self):
+ sb = morphlib.sysbranchdir.open_from_within('.')
+ definitions = sb.get_git_directory_name(sb.root_repository_url)
+ definitions_repo = morphlib.gitdir.GitDirectory(definitions)
+ return morphlib.morphologyfinder.MorphologyFinder(definitions_repo)
def filter_away_build_artifacts_on_public_trove(self, basenames):
result = []
@@ -357,6 +438,9 @@ class ReleaseArtifactPublisher(object):
def rsync_files_to_server(
source_dir, source_filenames, user, host, target_dir):
+ if not source_filenames:
+ return
+
argv = [
'rsync',
'-a',
@@ -371,17 +455,19 @@ def rsync_files_to_server(
'{user}@{host}:{path}'.format(user=user, host=host, path=target_dir),
]
- files_list = ''.join(
- '{0}\0'.format(filename) for filename in source_filenames)
+ files_list = '\0'.join(filename for filename in source_filenames)
cliapp.runcmd(argv, feed_stdin=files_list, stdout=None, stderr=None)
def set_permissions_on_server(user, host, target_dir, filenames):
+ # If we have no files, we can't form a valid command to run on the server
+ if not filenames:
+ return
target = '{user}@{host}'.format(user=user, host=host)
- argv = ['chmod', '0644']
- for filename in filenames:
- argv.append(os.path.join(target_dir, filename))
- cliapp.ssh_runcmd(target, argv)
+ argv = ['xargs', '-0', 'chmod', '0644']
+ files_list = ''.join(
+ '{0}\0'.format(os.path.join(target_dir, filename)) for filename in filenames)
+ cliapp.ssh_runcmd(target, argv, feed_stdin=files_list, stdout=None, stderr=None)
ReleaseUploader(description=__doc__).run()
diff --git a/ansible.morph b/strata/ansible.morph
index 00f04750..e0cb8581 100644
--- a/ansible.morph
+++ b/strata/ansible.morph
@@ -2,7 +2,7 @@ name: ansible
kind: stratum
description: A stratum with ansible and its dependencies
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: paramiko
repo: upstream:paramiko
@@ -21,6 +21,7 @@ chunks:
build-depends:
- markupsafe
- name: ansible
+ morph: strata/ansible/ansible.morph
repo: upstream:ansible
ref: aa56db7e28d4fe256471043b05120c2f41a840e5
unpetrify-ref: baserock/morph
diff --git a/strata/ansible/ansible.morph b/strata/ansible/ansible.morph
new file mode 100644
index 00000000..da434f03
--- /dev/null
+++ b/strata/ansible/ansible.morph
@@ -0,0 +1,5 @@
+name: ansible
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- install -D -m644 ansible.cfg "$DESTDIR/etc/ansible/ansible.cfg"
diff --git a/armv7lhf-cross-toolchain.morph b/strata/armv7lhf-cross-toolchain.morph
index 37553c6c..0e2f7922 100644
--- a/armv7lhf-cross-toolchain.morph
+++ b/strata/armv7lhf-cross-toolchain.morph
@@ -2,25 +2,29 @@ name: armv7lhf-cross-toolchain
kind: stratum
description: Stratum for building an armv7lhf cross compiler for your native system.
build-depends:
-- morph: build-essential
+- morph: strata/build-essential.morph
chunks:
- name: armv7lhf-cross-binutils
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
repo: upstream:binutils-redhat
ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
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: eff825d6e284eb0fb04b434429a3e3b2e10cabf8
unpetrify-ref: baserock/build-essential
build-depends: []
- name: armv7lhf-cross-gcc-nolibc
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
repo: upstream:gcc-tarball
ref: 0a1a077d3466cd99a4ed5590db2146b3fec6fff1
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
@@ -29,6 +33,7 @@ chunks:
- 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
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
new file mode 100644
index 00000000..d92150a5
--- /dev/null
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
@@ -0,0 +1,23 @@
+name: armv7lhf-cross-binutils
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ # The TARGET used is the final triplet we expect, rather than that
+ # of the libc-less GCC we build, since the binutils only needs to
+ # be built once.
+ # This requires extra effort to get the stage 1 GCC to use these
+ # tools, but saves having an extra binutils build.
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+
+ # 1. Binutils gets installed in the default sysroot path of
+ # $PREFIX/$TARGET/{bin,lib}, with the actual sysroot at
+ # $PREFIX/$TARGET/sys-root and its tools also available as
+ # $PREFIX/bin/$TARGET-$tool
+ # 2. The '=' makes the path we give relative to the sysroot.
+ ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
+ --build=$(sh config.guess) \
+ --host=$(sh config.guess) \
+ --target="$TARGET" \
+ `# [1]` --with-sysroot \
+ `# [2]` --with-lib-path="=$PREFIX/lib"
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph
new file mode 100644
index 00000000..afbfa939
--- /dev/null
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-eglibc.morph
@@ -0,0 +1,33 @@
+name: armv7lhf-cross-eglibc
+kind: chunk
+configure-commands:
+- mkdir o
+- cd libc && ln -s ../ports ports
+- |
+ 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
+ # 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) \
+ --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
+build-commands:
+- cd o && make localtime=UTC
+install-commands:
+- |
+ # eglibc 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/" \
+ localtime=UTC install
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
new file mode 100644
index 00000000..9f993bc0
--- /dev/null
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
@@ -0,0 +1,35 @@
+name: armv7lhf-cross-gcc-nolibc
+kind: chunk
+configure-commands:
+- mkdir o
+- |
+ 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
+build-commands:
+- cd o && make
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- |
+ 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
new file mode 100644
index 00000000..a5c6eac1
--- /dev/null
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
@@ -0,0 +1,35 @@
+name: armv7lhf-cross-gcc
+kind: chunk
+configure-commands:
+- mkdir o
+- |
+ 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
+build-commands:
+- cd o && make
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- |
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+ for fortran_alias in f77 f90 f95; do
+ ln -s "$TARGET-gfortran" \
+ "$DESTDIR/$PREFIX/bin/$TARGET-$fortran_alias"
+ done
diff --git a/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
new file mode 100644
index 00000000..351134b7
--- /dev/null
+++ b/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
@@ -0,0 +1,11 @@
+name: armv7lhf-cross-linux-api-headers
+kind: chunk
+install-commands:
+- make mrproper
+- ARCH=arm make INSTALL_HDR_PATH=dest headers_install
+- |
+ # Copy headers to the sysroot where the eglibc build will find them,
+ # and install its own headers and libraries.
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+ install -d "$DESTDIR$PREFIX/$TARGET/sys-root/$PREFIX/include"
+ cp -r dest/include/* "$DESTDIR/$PREFIX/$TARGET/sys-root/$PREFIX/include"
diff --git a/audio-bluetooth.morph b/strata/audio-bluetooth.morph
index ffb7d5ff..7ab792af 100644
--- a/audio-bluetooth.morph
+++ b/strata/audio-bluetooth.morph
@@ -2,7 +2,7 @@ name: audio-bluetooth
kind: stratum
description: Components required for audio and bluetooth.
build-depends:
-- morph: genivi-foundation
+- morph: strata/genivi-foundation.morph
chunks:
- name: libatomic_ops
repo: upstream:libatomic_ops
@@ -10,35 +10,34 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: alsa-lib
+ morph: strata/audio-bluetooth/alsa-lib.morph
repo: upstream:alsa-lib
ref: ab715503853be8d8f365fd157c3cb97ef7a89f7b
unpetrify-ref: baserock/morph
build-depends: []
- name: alsa-utils
+ morph: strata/audio-bluetooth/alsa-utils.morph
repo: upstream:alsa-utils
ref: f12208425051a7abf5ffc87ac2b9d2bd9e096fe1
unpetrify-ref: baserock/morph
build-depends:
- alsa-lib
- name: libical
+ morph: strata/audio-bluetooth/libical.morph
repo: upstream:libical
ref: 52568782ae136e1ec4ddf3eb6da7b0f3fbd3f1b3
unpetrify-ref: baserock/morph
build-depends: []
-- name: readline
- repo: upstream:readline
- ref: 518937ab89be812ccd45e9b8c1ce4ad721d35ef6
- unpetrify-ref: baserock/genivi/baseline
- build-depends: []
- name: bluez
+ morph: strata/audio-bluetooth/bluez.morph
repo: upstream:bluez
ref: a18201b5321e8b41d2ee7c7bc7285d976fc433e6
unpetrify-ref: baserock/v5.17-patched
build-depends:
- - readline
- libical
- alsa-lib
- name: bluez-tools
+ morph: strata/audio-bluetooth/bluez-tools.morph
repo: upstream:bluez-tools
ref: 7350787e96a6ecf2cc5d4afddb3321ccad9fa461
unpetrify-ref: baserock/morph
@@ -56,6 +55,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: nohands
+ morph: strata/audio-bluetooth/nohands.morph
repo: upstream:nohands
ref: 20ec5cc245fd5e74d9a0fc21497d1ba4164f2a3a
unpetrify-ref: baserock/morph
@@ -68,6 +68,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: ofono
+ morph: strata/audio-bluetooth/ofono.morph
repo: upstream:ofono
ref: a53228f6b1b32d0405c0c3c8e0861d6202ffbba2
unpetrify-ref: baserock/morph
@@ -75,16 +76,19 @@ chunks:
- mobile-broadband-provider-info
- bluez
- name: json-c
+ morph: strata/audio-bluetooth/json-c.morph
repo: upstream:json-c
ref: 60a5f3dedc879db3e5dacdd3b7e3e543c2e1bae7
unpetrify-ref: baserock/morph
build-depends: []
- name: libsndfile
+ morph: strata/audio-bluetooth/libsndfile.morph
repo: upstream:libsndfile
ref: 6c05c615c95ffef7a8a5a707cde0bb52bdd74244
unpetrify-ref: baserock/morph
build-depends: []
- name: pulseaudio
+ morph: strata/audio-bluetooth/pulseaudio.morph
repo: upstream:pulseaudio
ref: e1b44688c0db505f70761fe76b4fed2ca6924a09
unpetrify-ref: baserock/morph
diff --git a/strata/audio-bluetooth/alsa-lib.morph b/strata/audio-bluetooth/alsa-lib.morph
new file mode 100644
index 00000000..1e3015ca
--- /dev/null
+++ b/strata/audio-bluetooth/alsa-lib.morph
@@ -0,0 +1,4 @@
+name: alsa-lib
+kind: chunk
+description: ALSA library
+build-system: autotools
diff --git a/strata/audio-bluetooth/alsa-utils.morph b/strata/audio-bluetooth/alsa-utils.morph
new file mode 100644
index 00000000..a6a1e041
--- /dev/null
+++ b/strata/audio-bluetooth/alsa-utils.morph
@@ -0,0 +1,7 @@
+name: alsa-utils
+kind: chunk
+description: ALSA utilities
+build-system: autotools
+configure-commands:
+- autoreconf -ifv
+- ./configure --prefix="$PREFIX" --disable-xmlto
diff --git a/strata/audio-bluetooth/bluez-tools.morph b/strata/audio-bluetooth/bluez-tools.morph
new file mode 100644
index 00000000..80e47ef5
--- /dev/null
+++ b/strata/audio-bluetooth/bluez-tools.morph
@@ -0,0 +1,10 @@
+name: bluez-tools
+kind: chunk
+description: A set of tools to manage Bluetooth devices for Linux
+build-system: autotools
+configure-commands:
+- sed -i -e 's/-lreadline/-lreadline -lncurses/g' configure.ac
+- ./autogen.sh
+- ./configure --prefix="$PREFIX" --disable-obex
+build-commands:
+- LDFLAGS="$LDFLAGS -lncurses" make
diff --git a/strata/audio-bluetooth/bluez.morph b/strata/audio-bluetooth/bluez.morph
new file mode 100644
index 00000000..1395b98d
--- /dev/null
+++ b/strata/audio-bluetooth/bluez.morph
@@ -0,0 +1,12 @@
+name: bluez
+kind: chunk
+description: Bluetooth protocol stack for Linux
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX" --enable-tools --enable-test --enable-alsa --enable-library
+ --with-telephony=ofono --sysconfdir=/etc --localstatedir=/var --libexecdir=/lib
+install-commands:
+- make install
+- mkdir -p "$DESTDIR/etc/systemd/system/bluetooth.target.wants"
+- ln -s /lib/systemd/system/bluetooth.service "$DESTDIR/etc/systemd/system/bluetooth.target.wants/bluetooth.service"
diff --git a/strata/audio-bluetooth/json-c.morph b/strata/audio-bluetooth/json-c.morph
new file mode 100644
index 00000000..c3d9243c
--- /dev/null
+++ b/strata/audio-bluetooth/json-c.morph
@@ -0,0 +1,7 @@
+name: json-c
+kind: chunk
+description: JSON C Library
+build-system: autotools
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- install -m755 json_object_iterator.h "$DESTDIR/usr/include/json"
diff --git a/strata/audio-bluetooth/libical.morph b/strata/audio-bluetooth/libical.morph
new file mode 100644
index 00000000..1f772fd9
--- /dev/null
+++ b/strata/audio-bluetooth/libical.morph
@@ -0,0 +1,6 @@
+name: libical
+kind: chunk
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX"
diff --git a/strata/audio-bluetooth/libsndfile.morph b/strata/audio-bluetooth/libsndfile.morph
new file mode 100644
index 00000000..8d6c2fe0
--- /dev/null
+++ b/strata/audio-bluetooth/libsndfile.morph
@@ -0,0 +1,5 @@
+name: libsndfile
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-external-libs
diff --git a/strata/audio-bluetooth/nohands.morph b/strata/audio-bluetooth/nohands.morph
new file mode 100644
index 00000000..ebe249c0
--- /dev/null
+++ b/strata/audio-bluetooth/nohands.morph
@@ -0,0 +1,5 @@
+name: nohands
+kind: chunk
+build-system: autotools
+build-commands:
+- make CXXFLAGS="-fpermissive -lpthread"
diff --git a/strata/audio-bluetooth/ofono.morph b/strata/audio-bluetooth/ofono.morph
new file mode 100644
index 00000000..a775b0c1
--- /dev/null
+++ b/strata/audio-bluetooth/ofono.morph
@@ -0,0 +1,11 @@
+name: ofono
+kind: chunk
+description: ofono Open Source Telephony
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX" --sysconfdir=/etc --localstatedir=/var
+install-commands:
+- make install
+- mkdir -p "$DESTDIR/etc/systemd/system/multi-user.target.wants"
+- ln -s /lib/systemd/system/ofono.service "$DESTDIR/etc/systemd/system/multi-user.target.wants/ofono.service"
diff --git a/strata/audio-bluetooth/pulseaudio.morph b/strata/audio-bluetooth/pulseaudio.morph
new file mode 100644
index 00000000..117f3396
--- /dev/null
+++ b/strata/audio-bluetooth/pulseaudio.morph
@@ -0,0 +1,13 @@
+name: pulseaudio
+kind: chunk
+description: PulseAudio System
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --prefix="$PREFIX" --localstatedir=/var --sysconfdir=/etc --with-database=simple
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR/lib/systemd/system"
+- install -m755 pulseaudio.service "$DESTDIR/lib/systemd/system"
+- mkdir -p "$DESTDIR/etc/systemd/system/multi-user.target.wants"
+- ln -s /lib/systemd/system/pulseaudio.service "$DESTDIR/etc/systemd/system/multi-user.target.wants/pulseaudio.service"
diff --git a/bsp-armv7-highbank.morph b/strata/bsp-armv7-highbank.morph
index 88922e27..d17d9c66 100644
--- a/bsp-armv7-highbank.morph
+++ b/strata/bsp-armv7-highbank.morph
@@ -2,9 +2,10 @@ name: bsp-armv7-highbank
kind: stratum
description: The platform dependent components required to boot an ARM highbank board.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: linux-armv7-highbank
+ morph: strata/bsp-armv7-highbank/linux-armv7-highbank.morph
repo: upstream:linux
ref: d67a0e110187abd560a1de63fa172894a52839d5
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-armv7-highbank/linux-armv7-highbank.morph b/strata/bsp-armv7-highbank/linux-armv7-highbank.morph
new file mode 100644
index 00000000..58ad90b4
--- /dev/null
+++ b/strata/bsp-armv7-highbank/linux-armv7-highbank.morph
@@ -0,0 +1,45 @@
+name: linux-armv7-highbank
+kind: chunk
+configure-commands:
+- make multi_v7_defconfig
+- scripts/config -e AUTOFS4_FS
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -e CGROUPS
+- scripts/config -e CONFIG_POSIX_MQUEUE
+- scripts/config -e CPU_IDLE
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_USE_FOR_EXT23
+- scripts/config -e PACKET
+- scripts/config -e UNIX
+- scripts/config -e INET
+- scripts/config -e IP_MULTICAST
+- scripts/config -e IP_PNP
+- scripts/config -e IP_PNP_DHCP
+- scripts/config -e IP_PNP_BOOTP
+- scripts/config -e MSDOS_FS
+- scripts/config -e NETWORK_FILESYSTEMS
+- scripts/config -e NET_KEY
+- scripts/config -e NFS_FS
+- scripts/config -e NFS_V3
+- scripts/config -e ROOT_NFS
+- scripts/config -e LOCKD
+- scripts/config -e LOCKD_V4
+- scripts/config -e NFS_COMMON
+- scripts/config -e SUNRPC
+- scripts/config -e SYSVIPC
+- scripts/config -e BTRFS_FS
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e TMPFS
+- scripts/config -e TMPFS_POSIX_ACL
+- scripts/config -e VFAT_FS
+- yes '' | make oldconfig
+build-commands:
+- make zImage $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/arm/boot/zImage "$DESTDIR"/boot/zImage
diff --git a/bsp-armv7-versatile.morph b/strata/bsp-armv7-versatile.morph
index cc1298f1..801f5287 100644
--- a/bsp-armv7-versatile.morph
+++ b/strata/bsp-armv7-versatile.morph
@@ -3,9 +3,10 @@ kind: stratum
description: The platform dependent components required to boot an ARM versatile development
board.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: linux-armv7-versatile
+ morph: strata/bsp-armv7-versatile/linux-armv7-versatile.morph
repo: upstream:linux
ref: d67a0e110187abd560a1de63fa172894a52839d5
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-armv7-versatile/linux-armv7-versatile.morph b/strata/bsp-armv7-versatile/linux-armv7-versatile.morph
new file mode 100644
index 00000000..9b03991b
--- /dev/null
+++ b/strata/bsp-armv7-versatile/linux-armv7-versatile.morph
@@ -0,0 +1,25 @@
+name: linux-armv7-versatile
+kind: chunk
+configure-commands:
+- make ARCH=arm vexpress_defconfig
+- scripts/config -e BTRFS_FS
+- scripts/config -e BTRFS_FS_POSIX_ACL
+- scripts/config -d BTRFS_FS_CHECK_INTEGRITY
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e FB_VESA
+- yes '' | make oldconfig
+build-commands:
+- make ARCH=arm zImage $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/arm/boot/zImage "$DESTDIR"/boot/zImage
diff --git a/bsp-armv7b-highbank.morph b/strata/bsp-armv7b-highbank.morph
index 0a94bcc1..fe8c30e1 100644
--- a/bsp-armv7b-highbank.morph
+++ b/strata/bsp-armv7b-highbank.morph
@@ -2,9 +2,10 @@ name: bsp-armv7b-highbank
kind: stratum
description: The platform dependent components required to boot an ARM highbank board.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: linux-armv7b-highbank
+ morph: strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
repo: upstream:linux
ref: d67a0e110187abd560a1de63fa172894a52839d5
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph b/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
new file mode 100644
index 00000000..e3601dc4
--- /dev/null
+++ b/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
@@ -0,0 +1,47 @@
+name: linux-armv7b-highbank
+kind: chunk
+configure-commands:
+- make multi_v7_defconfig
+- scripts/config -e CPU_BIG_ENDIAN
+- scripts/config -e CPU_ENDIAN_BE8
+- scripts/config -e CPU_BE8_BOOT_LE
+- scripts/config -e PACKET
+- scripts/config -e UNIX
+- scripts/config -e NET_KEY
+- scripts/config -e INET
+- scripts/config -e IP_MULTICAST
+- scripts/config -e IP_PNP
+- scripts/config -e IP_PNP_DHCP
+- scripts/config -e IP_PNP_BOOTP
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -e BTRFS_FS
+- scripts/config -e TMPFS
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config -e NETWORK_FILESYSTEMS
+- scripts/config -e NFS_FS
+- scripts/config -e NFS_V3
+- scripts/config -e ROOT_NFS
+- scripts/config -e LOCKD
+- scripts/config -e LOCKD_V4
+- scripts/config -e NFS_COMMON
+- scripts/config -e SUNRPC
+- scripts/config -e SYSVIPC
+- scripts/config -e CONFIG_POSIX_MQUEUE
+- scripts/config -e CPU_IDLE
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_USE_FOR_EXT23
+- scripts/config -e MSDOS_FS
+- scripts/config -e VFAT_FS
+- yes '' | make oldconfig
+build-commands:
+- make zImage $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/arm/boot/zImage "$DESTDIR"/boot/zImage
diff --git a/bsp-armv7b-vexpress-tc2.morph b/strata/bsp-armv7b-vexpress-tc2.morph
index d8abde2d..81d6fe48 100644
--- a/bsp-armv7b-vexpress-tc2.morph
+++ b/strata/bsp-armv7b-vexpress-tc2.morph
@@ -2,9 +2,10 @@ name: bsp-armv7b-vexpress-tc2
kind: stratum
description: The platform dependent components required to boot Versatile TC2 board
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: linux-armv7b-vexpress-tc2
+ morph: strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
repo: upstream:linux
ref: d67a0e110187abd560a1de63fa172894a52839d5
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph b/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
new file mode 100644
index 00000000..e187716d
--- /dev/null
+++ b/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
@@ -0,0 +1,50 @@
+name: linux-armv7b-vexpress-tc2
+kind: chunk
+configure-commands:
+- make vexpress_defconfig
+- scripts/config -e CPU_BIG_ENDIAN
+- scripts/config -e CPU_ENDIAN_BE8
+- scripts/config -e CPU_BE8_BOOT_LE
+- scripts/config -e PACKET
+- scripts/config -e UNIX
+- scripts/config -e NET_KEY
+- scripts/config -e INET
+- scripts/config -e IP_MULTICAST
+- scripts/config -e IP_PNP
+- scripts/config -e IP_PNP_DHCP
+- scripts/config -e IP_PNP_BOOTP
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -e BTRFS_FS
+- scripts/config -e TMPFS
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e CGROUPS
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e AUTOFS4_FS
+- scripts/config -e NETWORK_FILESYSTEMS
+- scripts/config -e NFS_FS
+- scripts/config -e NFS_V3
+- scripts/config -e ROOT_NFS
+- scripts/config -e LOCKD
+- scripts/config -e LOCKD_V4
+- scripts/config -e NFS_COMMON
+- scripts/config -e SUNRPC
+- scripts/config -e SYSVIPC
+- scripts/config -e CONFIG_POSIX_MQUEUE
+- scripts/config -e CPU_IDLE
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_USE_FOR_EXT23
+- scripts/config -e MSDOS_FS
+- scripts/config -e VFAT_FS
+- yes '' | make oldconfig
+build-commands:
+- make zImage vexpress-v2p-ca15_a7.dtb
+- |
+ cat arch/arm/boot/zImage arch/arm/boot/dts/vexpress-v2p-ca15_a7.dtb |
+ dd conv=sync bs=4 of=kernel.bin
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp kernel.bin "$DESTDIR"/boot/zImage
diff --git a/strata/bsp-jetson-devel.morph b/strata/bsp-jetson-devel.morph
new file mode 100644
index 00000000..2743a2ec
--- /dev/null
+++ b/strata/bsp-jetson-devel.morph
@@ -0,0 +1,33 @@
+name: bsp-jetson-devel
+kind: stratum
+description: The platform dependent components required to boot an NVIDIA Jetson TK1
+ development image board.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: device-tree-compiler
+ morph: strata/bsp-jetson-devel/device-tree-compiler.morph
+ repo: upstream:device-tree-compiler
+ ref: c92f284c3cf76d471eb27a271de3a51cb45ed058
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: u-boot
+ morph: strata/bsp-jetson-devel/u-boot.morph
+ repo: upstream:u-boot
+ ref: b15ae44ab9f085140039b09a00232d5aed6596a9
+ unpetrify-ref: baserock/arm/tegra-uboot-btrfs
+ build-depends:
+ - device-tree-compiler
+- name: linux
+ morph: strata/bsp-jetson-devel/linux.morph
+ repo: upstream:linux
+ ref: de3664efca390a8d2fe525a583d17772deee8500
+ unpetrify-ref: baserock/arm/tegra-3.10
+ build-depends:
+ - u-boot
+- name: bsp-support
+ morph: strata/bsp-jetson-devel/bsp-support.morph
+ repo: baserock:baserock/bsp-support
+ ref: 19bc31ce3198a3c19cdd96d392bde34cb34ed525
+ unpetrify-ref: baserock/arm/tegra-3.10
+ build-depends: []
diff --git a/strata/bsp-jetson-devel/bsp-support.morph b/strata/bsp-jetson-devel/bsp-support.morph
new file mode 100644
index 00000000..23524ac7
--- /dev/null
+++ b/strata/bsp-jetson-devel/bsp-support.morph
@@ -0,0 +1,6 @@
+name: bsp-support
+kind: chunk
+install-commands:
+- install -o 0 -g 0 -m 755 -D nv-ondemand-cpufreq-governor.service "$DESTDIR/usr/lib/systemd/system/nv-ondemand-cpufreq-governor.service"
+- install -d "$DESTDIR/usr/lib/systemd/system/sysinit.target.wants"
+- ln -s /usr/lib/systemd/system/nv-ondemand-cpufreq-governor.service "$DESTDIR/usr/lib/systemd/system/sysinit.target.wants/nv-ondemand-cpufreq-governor.service"
diff --git a/strata/bsp-jetson-devel/device-tree-compiler.morph b/strata/bsp-jetson-devel/device-tree-compiler.morph
new file mode 100644
index 00000000..8abfafc8
--- /dev/null
+++ b/strata/bsp-jetson-devel/device-tree-compiler.morph
@@ -0,0 +1,6 @@
+name: device-tree-compiler
+kind: chunk
+build-commands:
+- make all
+install-commands:
+- make install DESTDIR="$DESTDIR" PREFIX="$PREFIX"
diff --git a/strata/bsp-jetson-devel/linux.morph b/strata/bsp-jetson-devel/linux.morph
new file mode 100644
index 00000000..7edbd87c
--- /dev/null
+++ b/strata/bsp-jetson-devel/linux.morph
@@ -0,0 +1,53 @@
+name: linux
+kind: chunk
+configure-commands:
+- make ARCH=arm tegra12_defconfig
+- scripts/config -d KERNEL_LZO
+- scripts/config -e KERNEL_GZIP
+- scripts/config -e NAMESPACES
+- scripts/config -e PACKET
+- scripts/config -e SATA_AHCI
+- scripts/config -e ATA_GENERIC
+- scripts/config -e HAVE_IDE
+- scripts/config -d BLK_DEV_IDE_SATA
+- scripts/config -e BTRFS_FS
+- scripts/config -e BTRFS_FS_POSIX_ACL
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e EXT2_FS
+- scripts/config -e EXT2_FS_XATTR
+- scripts/config -e EXT2_FS_POSIX_ACL
+- scripts/config -e EXT2_FS_SECURITY
+- scripts/config -e EXT2_FS_XIP
+- scripts/config -e EXT3_FS
+- scripts/config -d EXT3_DEFAULTS_TO_ORDERED
+- scripts/config -e EXT3_FS_XATTR
+- scripts/config -e EXT3_FS_POSIX_ACL
+- scripts/config -e EXT3_FS_SECURITY
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_FS_XATTR
+- scripts/config -e EXT4_FS_POSIX_ACL
+- scripts/config -e EXT4_FS_SECURITY
+- scripts/config -d EXT4_DEBUG
+- scripts/config -d JBD_DEBUG
+- scripts/config -d JBD2_DEBUG
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -d BLK_DEV_CRYPTOLOOP
+- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e NFSD
+- scripts/config -e NFSD_V3
+- yes '' | make ARCH=arm oldconfig
+build-commands:
+- make $MAKEFLAGS ARCH=arm LOADADDR=0x80200000 zImage dtbs
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/arm/boot/zImage "$DESTDIR"/boot/zImage
+- cp arch/arm/boot/dts/tegra124-pm375.dtb "$DESTDIR"/boot/.
diff --git a/strata/bsp-jetson-devel/u-boot.morph b/strata/bsp-jetson-devel/u-boot.morph
new file mode 100644
index 00000000..705b3851
--- /dev/null
+++ b/strata/bsp-jetson-devel/u-boot.morph
@@ -0,0 +1,16 @@
+name: u-boot
+kind: chunk
+configure-commands:
+- make ARCH=arm jetson-tk1_config
+build-commands:
+- make ARCH=arm CROSS_COMPILE=/usr/bin/
+- make ARCH=arm CROSS_COMPILE=/usr/bin/ tools
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX/bin"
+- mkdir -p "$DESTDIR/boot"
+- install -m 755 u-boot-dtb-tegra.bin "$DESTDIR/boot/u-boot.bin"
+- install -m 755 tools/img2brec.sh "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/jtagconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/netconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkenvimage "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkimage "$DESTDIR$PREFIX/bin/."
diff --git a/bsp-ppc64-generic.morph b/strata/bsp-ppc64-generic.morph
index fdafb86f..cbb0b201 100644
--- a/bsp-ppc64-generic.morph
+++ b/strata/bsp-ppc64-generic.morph
@@ -2,9 +2,10 @@ name: bsp-ppc64-generic
kind: stratum
description: The platform dependent components required to boot a ppc64 board.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: linux-ppc64
+ morph: strata/bsp-ppc64-generic/linux-ppc64.morph
repo: upstream:linux
ref: d67a0e110187abd560a1de63fa172894a52839d5
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-ppc64-generic/linux-ppc64.morph b/strata/bsp-ppc64-generic/linux-ppc64.morph
new file mode 100644
index 00000000..1740a144
--- /dev/null
+++ b/strata/bsp-ppc64-generic/linux-ppc64.morph
@@ -0,0 +1,56 @@
+name: linux-ppc64
+kind: chunk
+configure-commands:
+- make ARCH=powerpc ppc64_defconfig
+- scripts/config -e NAMESPACES
+- scripts/config -e PACKET
+- scripts/config -e SATA_AHCI
+- scripts/config -e ATA_GENERIC
+- scripts/config -e HAVE_IDE
+- scripts/config -d BLK_DEV_IDE_SATA
+- scripts/config -e BTRFS_FS
+- scripts/config -e BTRFS_FS_POSIX_ACL
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e EXT2_FS
+- scripts/config -e EXT2_FS_XATTR
+- scripts/config -e EXT2_FS_POSIX_ACL
+- scripts/config -e EXT2_FS_SECURITY
+- scripts/config -e EXT2_FS_XIP
+- scripts/config -e EXT3_FS
+- scripts/config -d EXT3_DEFAULTS_TO_ORDERED
+- scripts/config -e EXT3_FS_XATTR
+- scripts/config -e EXT3_FS_POSIX_ACL
+- scripts/config -e EXT3_FS_SECURITY
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_FS_XATTR
+- scripts/config -e EXT4_FS_POSIX_ACL
+- scripts/config -e EXT4_FS_SECURITY
+- scripts/config -d EXT4_DEBUG
+- scripts/config -d JBD_DEBUG
+- scripts/config -d JBD2_DEBUG
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -d BLK_DEV_CRYPTOLOOP
+- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e NFSD
+- scripts/config -e NFSD_V3
+- scripts/config -e IP_PNP
+- scripts/config -e IP_PNP_DHCP
+- scripts/config -e NFS_FS
+- scripts/config -e ROOT_NFS
+- scripts/config -e PCI
+- scripts/config -e TIGON3
+- yes '' | make oldconfig
+build-commands:
+- make $MAKEFLAGS ARCH=powerpc zImage
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/powerpc/boot/zImage "$DESTDIR"/boot/zImage
diff --git a/bsp-wandboard.morph b/strata/bsp-wandboard.morph
index cab25125..4b07b150 100644
--- a/bsp-wandboard.morph
+++ b/strata/bsp-wandboard.morph
@@ -2,14 +2,16 @@ name: bsp-wandboard
kind: stratum
description: The platform dependent components required to boot an wandboard ARM board.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: u-boot
+ morph: strata/bsp-wandboard/u-boot.morph
repo: upstream:u-boot
ref: fe57382d04b46c37f34cf8d3b3ad876554fd12bf
unpetrify-ref: baserock/morph
build-depends: []
- name: linux-armv7-wandboard
+ morph: strata/bsp-wandboard/linux-armv7-wandboard.morph
repo: upstream:linux
ref: 9573986cf27ff44814f3efb1f1e95638406db456
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-wandboard/linux-armv7-wandboard.morph b/strata/bsp-wandboard/linux-armv7-wandboard.morph
new file mode 100644
index 00000000..16929c9d
--- /dev/null
+++ b/strata/bsp-wandboard/linux-armv7-wandboard.morph
@@ -0,0 +1,63 @@
+name: linux-armv7-wandboard
+kind: chunk
+configure-commands:
+- make ARCH=arm imx_v6_v7_defconfig
+- scripts/config -d KERNEL_LZO
+- scripts/config -e KERNEL_GZIP
+- scripts/config -e NAMESPACES
+- scripts/config -e PACKET
+- scripts/config -e SATA_AHCI
+- scripts/config -e ATA_GENERIC
+- scripts/config -e HAVE_IDE
+- scripts/config -d BLK_DEV_IDE_SATA
+- scripts/config -e BTRFS_FS
+- scripts/config -e BTRFS_FS_POSIX_ACL
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e EXT2_FS
+- scripts/config -e EXT2_FS_XATTR
+- scripts/config -e EXT2_FS_POSIX_ACL
+- scripts/config -e EXT2_FS_SECURITY
+- scripts/config -e EXT2_FS_XIP
+- scripts/config -e EXT3_FS
+- scripts/config -d EXT3_DEFAULTS_TO_ORDERED
+- scripts/config -e EXT3_FS_XATTR
+- scripts/config -e EXT3_FS_POSIX_ACL
+- scripts/config -e EXT3_FS_SECURITY
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_FS_XATTR
+- scripts/config -e EXT4_FS_POSIX_ACL
+- scripts/config -e EXT4_FS_SECURITY
+- scripts/config -d EXT4_DEBUG
+- scripts/config -d JBD_DEBUG
+- scripts/config -d JBD2_DEBUG
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -d BLK_DEV_CRYPTOLOOP
+- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e NFSD
+- scripts/config -e NFSD_V3
+- yes '' | make oldconfig
+build-commands:
+- make $MAKEFLAGS ARCH=arm LOADADDR=0x10800000 uImage dtbs
+- |
+ cat >boot.script <<'EOF'
+ setenv image_addr "0x12000000"
+ setenv bootargs "console=ttymxc0,115200 root=/dev/nfs rw ip=dhcp nfsroot=${fileserver}:${nfsroot},v3,tcp"
+ dhcp ${image_addr} ${fileserver}:${tfpboot}/uImage
+ bootm ${image_addr}
+ EOF
+- mkimage -A arm -T script -C none -n "Wandboard TFTP Boot Script" -d boot.script
+ boot.scr
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/arm/boot/uImage "$DESTDIR"/boot/uImage
+- cp boot.scr "$DESTDIR"/boot/boot.scr
+- cp arch/arm/boot/dts/imx6*-wandboard.dtb "$DESTDIR"/boot/.
diff --git a/strata/bsp-wandboard/u-boot.morph b/strata/bsp-wandboard/u-boot.morph
new file mode 100644
index 00000000..9be30bc7
--- /dev/null
+++ b/strata/bsp-wandboard/u-boot.morph
@@ -0,0 +1,11 @@
+name: u-boot
+kind: chunk
+build-commands:
+- make tools
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX/bin"
+- install -m 755 tools/img2brec.sh "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/jtagconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/netconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkenvimage "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkimage "$DESTDIR$PREFIX/bin/."
diff --git a/bsp-x86_32-generic.morph b/strata/bsp-x86_32-generic.morph
index 625f854c..303dd777 100644
--- a/bsp-x86_32-generic.morph
+++ b/strata/bsp-x86_32-generic.morph
@@ -3,19 +3,22 @@ kind: stratum
description: The set of platform specific components required for booting a 32-bit
x86 based system.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: linux-x86-32-generic
+ morph: strata/bsp-x86_32-generic/linux-x86-32-generic.morph
repo: upstream:linux
ref: d67a0e110187abd560a1de63fa172894a52839d5
unpetrify-ref: baserock/morph
build-depends: []
- name: nasm
+ morph: strata/bsp-x86_32-generic/nasm.morph
repo: upstream:nasm
ref: 78bdad3d14fb875d5f2062957e326ba2a9e4ccb0
unpetrify-ref: baserock/morph
build-depends: []
- name: syslinux
+ morph: strata/bsp-x86_32-generic/syslinux.morph
repo: upstream:syslinux
ref: 8821237240c5374d83298b2da5ad88fa1e3c1ef7
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-x86_32-generic/linux-x86-32-generic.morph b/strata/bsp-x86_32-generic/linux-x86-32-generic.morph
new file mode 100644
index 00000000..af773c78
--- /dev/null
+++ b/strata/bsp-x86_32-generic/linux-x86-32-generic.morph
@@ -0,0 +1,99 @@
+name: linux-x86-32-generic
+kind: chunk
+products:
+- artifact: linux-x86-32-generic-devel
+ include:
+ - (usr/)?src/linux/.*
+- artifact: linux-x86-32-generic-bins
+ include:
+ - boot/.*
+- artifact: linux-x86-32-generic-libs
+ include:
+ - lib/.*
+configure-commands:
+- make defconfig
+- scripts/config -e PACKET
+- scripts/config -e SATA_AHCI
+- scripts/config -e ATA_GENERIC
+- scripts/config -e HAVE_IDE
+- scripts/config -d BLK_DEV_IDE_SATA
+- scripts/config -e BTRFS_FS
+- scripts/config -e BTRFS_FS_POSIX_ACL
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e EXT2_FS
+- scripts/config -e EXT2_FS_XATTR
+- scripts/config -e EXT2_FS_POSIX_ACL
+- scripts/config -e EXT2_FS_SECURITY
+- scripts/config -e EXT2_FS_XIP
+- scripts/config -e EXT3_FS
+- scripts/config -d EXT3_DEFAULTS_TO_ORDERED
+- scripts/config -e EXT3_FS_XATTR
+- scripts/config -e EXT3_FS_POSIX_ACL
+- scripts/config -e EXT3_FS_SECURITY
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_FS_XATTR
+- scripts/config -e EXT4_FS_POSIX_ACL
+- scripts/config -e EXT4_FS_SECURITY
+- scripts/config -d EXT4_DEBUG
+- scripts/config -d JBD_DEBUG
+- scripts/config -d JBD2_DEBUG
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -d BLK_DEV_CRYPTOLOOP
+- scripts/config -e CEPH_FS
+- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e VIRTIO
+- scripts/config -e VIRTIO_RING
+- scripts/config -e VIRTIO_PCI
+- scripts/config -e VIRTIO_BALLOON
+- scripts/config -e VIRTIO_BLK
+- scripts/config -e VIRTIO_NET
+- scripts/config -e VIRTIO_CONSOLE
+- scripts/config -e HW_RANDOM_VIRTIO
+- scripts/config -e 9P_FS
+- scripts/config -e 9P_FSCACHE
+- scripts/config -e 9P_FS_POSIX_ACL
+- scripts/config -e NET_9P
+- scripts/config -e NET_9P_VIRTIO
+- scripts/config -e R8169
+- scripts/config -e 8139TOO
+- scripts/config -e 8139CP
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e NFSD
+- scripts/config -e NFSD_V3
+- scripts/config -e KVM
+- scripts/config -e TUN
+- scripts/config -e BRIDGE
+- scripts/config -e VHOST_NET
+- scripts/config -e NF_NAT
+- scripts/config -e NF_NAT_IPV4
+- scripts/config -e IP_NF_TARGET_MASQUERADE
+- scripts/config -e FB_VESA
+- yes '' | make oldconfig
+build-commands:
+- make $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- make INSTALL_PATH="$DESTDIR"/boot install
+- make INSTALL_MOD_PATH="$DESTDIR" modules_install
+- install -d "$DESTDIR$PREFIX/src/linux"
+- |
+ (
+ printf 'Makefile\0'
+ printf 'Module.symvers\0'
+ find arch/x86 -maxdepth 1 -name 'Makefile*' -print0
+ find arch/x86 \( -name 'module.lds' -o -name 'Kbuild.platforms' -o -name 'Platform' \) -print0
+ find arch/x86 \( -type d -a \( -name include -o -name scripts \) \) -o \
+ \! -type d -a \( -path '*include/*' -o -path '*scripts/*' \) -print0
+ find include -name 'asm*' -prune -o -print0
+ find include/asm-generic -print0
+ find include/uapi -print0
+ find scripts -print0
+ ) | cpio -0pumd "$DESTDIR$PREFIX/src/linux"
diff --git a/strata/bsp-x86_32-generic/nasm.morph b/strata/bsp-x86_32-generic/nasm.morph
new file mode 100644
index 00000000..0ab1a629
--- /dev/null
+++ b/strata/bsp-x86_32-generic/nasm.morph
@@ -0,0 +1,5 @@
+name: nasm
+kind: chunk
+build-system: autotools
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/strata/bsp-x86_32-generic/syslinux.morph b/strata/bsp-x86_32-generic/syslinux.morph
new file mode 100644
index 00000000..c0f15807
--- /dev/null
+++ b/strata/bsp-x86_32-generic/syslinux.morph
@@ -0,0 +1,8 @@
+name: syslinux
+kind: chunk
+build-commands:
+- make clean
+- make
+- make installer
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/bsp-x86_64-generic.morph b/strata/bsp-x86_64-generic.morph
index ea7ab404..81c99e42 100644
--- a/bsp-x86_64-generic.morph
+++ b/strata/bsp-x86_64-generic.morph
@@ -3,19 +3,22 @@ kind: stratum
description: The set of platform specific components required for booting a 64-bit
x86 based system.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: linux-x86-64-generic
+ morph: strata/bsp-x86_64-generic/linux-x86-64-generic.morph
repo: upstream:linux
ref: d67a0e110187abd560a1de63fa172894a52839d5
unpetrify-ref: baserock/morph
build-depends: []
- name: nasm
+ morph: strata/bsp-x86_64-generic/nasm.morph
repo: upstream:nasm
ref: 78bdad3d14fb875d5f2062957e326ba2a9e4ccb0
unpetrify-ref: baserock/morph
build-depends: []
- name: syslinux
+ morph: strata/bsp-x86_64-generic/syslinux.morph
repo: upstream:syslinux
ref: 8821237240c5374d83298b2da5ad88fa1e3c1ef7
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-x86_64-generic/linux-x86-64-generic.morph b/strata/bsp-x86_64-generic/linux-x86-64-generic.morph
new file mode 100644
index 00000000..6d95bddf
--- /dev/null
+++ b/strata/bsp-x86_64-generic/linux-x86-64-generic.morph
@@ -0,0 +1,99 @@
+name: linux-x86-64-generic
+kind: chunk
+products:
+- artifact: linux-x86-64-generic-devel
+ include:
+ - (usr/)?src/linux/.*
+- artifact: linux-x86-64-generic-bins
+ include:
+ - boot/.*
+- artifact: linux-x86-64-generic-libs
+ include:
+ - lib/.*
+configure-commands:
+- make defconfig
+- scripts/config -e PACKET
+- scripts/config -e SATA_AHCI
+- scripts/config -e ATA_GENERIC
+- scripts/config -e HAVE_IDE
+- scripts/config -d BLK_DEV_IDE_SATA
+- scripts/config -e BTRFS_FS
+- scripts/config -e BTRFS_FS_POSIX_ACL
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e CGROUPS
+- scripts/config -e AUTOFS4_FS
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e EXT2_FS
+- scripts/config -e EXT2_FS_XATTR
+- scripts/config -e EXT2_FS_POSIX_ACL
+- scripts/config -e EXT2_FS_SECURITY
+- scripts/config -e EXT2_FS_XIP
+- scripts/config -e EXT3_FS
+- scripts/config -d EXT3_DEFAULTS_TO_ORDERED
+- scripts/config -e EXT3_FS_XATTR
+- scripts/config -e EXT3_FS_POSIX_ACL
+- scripts/config -e EXT3_FS_SECURITY
+- scripts/config -e EXT4_FS
+- scripts/config -e EXT4_FS_XATTR
+- scripts/config -e EXT4_FS_POSIX_ACL
+- scripts/config -e EXT4_FS_SECURITY
+- scripts/config -d EXT4_DEBUG
+- scripts/config -d JBD_DEBUG
+- scripts/config -d JBD2_DEBUG
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -d BLK_DEV_CRYPTOLOOP
+- scripts/config -e CEPH_FS
+- scripts/config --set-val BLK_DEV_LOOP_MIN_COUNT 8
+- scripts/config -e VIRTIO
+- scripts/config -e VIRTIO_RING
+- scripts/config -e VIRTIO_PCI
+- scripts/config -e VIRTIO_BALLOON
+- scripts/config -e VIRTIO_BLK
+- scripts/config -e VIRTIO_NET
+- scripts/config -e VIRTIO_CONSOLE
+- scripts/config -e HW_RANDOM_VIRTIO
+- scripts/config -e 9P_FS
+- scripts/config -e 9P_FSCACHE
+- scripts/config -e 9P_FS_POSIX_ACL
+- scripts/config -e NET_9P
+- scripts/config -e NET_9P_VIRTIO
+- scripts/config -e R8169
+- scripts/config -e 8139TOO
+- scripts/config -e 8139CP
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e NFSD
+- scripts/config -e NFSD_V3
+- scripts/config -e KVM
+- scripts/config -e TUN
+- scripts/config -e BRIDGE
+- scripts/config -e VHOST_NET
+- scripts/config -e NF_NAT
+- scripts/config -e NF_NAT_IPV4
+- scripts/config -e IP_NF_TARGET_MASQUERADE
+- scripts/config -e FB_VESA
+- yes '' | make oldconfig
+build-commands:
+- make $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- make INSTALL_PATH="$DESTDIR"/boot install
+- make INSTALL_MOD_PATH="$DESTDIR" modules_install
+- install -d "$DESTDIR$PREFIX/src/linux"
+- |
+ (
+ printf 'Makefile\0'
+ printf 'Module.symvers\0'
+ find arch/x86 -maxdepth 1 -name 'Makefile*' -print0
+ find arch/x86 \( -name 'module.lds' -o -name 'Kbuild.platforms' -o -name 'Platform' \) -print0
+ find arch/x86 \( -type d -a \( -name include -o -name scripts \) \) -o \
+ \! -type d -a \( -path '*include/*' -o -path '*scripts/*' \) -print0
+ find include -name 'asm*' -prune -o -print0
+ find include/asm-generic -print0
+ find include/uapi -print0
+ find scripts -print0
+ ) | cpio -0pumd "$DESTDIR$PREFIX/src/linux"
diff --git a/strata/bsp-x86_64-generic/nasm.morph b/strata/bsp-x86_64-generic/nasm.morph
new file mode 100644
index 00000000..0ab1a629
--- /dev/null
+++ b/strata/bsp-x86_64-generic/nasm.morph
@@ -0,0 +1,5 @@
+name: nasm
+kind: chunk
+build-system: autotools
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/strata/bsp-x86_64-generic/syslinux.morph b/strata/bsp-x86_64-generic/syslinux.morph
new file mode 100644
index 00000000..c0f15807
--- /dev/null
+++ b/strata/bsp-x86_64-generic/syslinux.morph
@@ -0,0 +1,8 @@
+name: syslinux
+kind: chunk
+build-commands:
+- make clean
+- make
+- make installer
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/bsp-x86_both-tools.morph b/strata/bsp-x86_both-tools.morph
index 60b8bcd0..4d6d29e4 100644
--- a/bsp-x86_both-tools.morph
+++ b/strata/bsp-x86_both-tools.morph
@@ -3,14 +3,16 @@ kind: stratum
description: The set of platform specific components required for configuring a bootable
x86 based system.
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: nasm
+ morph: strata/bsp-x86_both-tools/nasm.morph
repo: upstream:nasm
ref: 78bdad3d14fb875d5f2062957e326ba2a9e4ccb0
unpetrify-ref: baserock/morph
build-depends: []
- name: syslinux
+ morph: strata/bsp-x86_both-tools/syslinux.morph
repo: upstream:syslinux
ref: 8821237240c5374d83298b2da5ad88fa1e3c1ef7
unpetrify-ref: baserock/morph
diff --git a/strata/bsp-x86_both-tools/nasm.morph b/strata/bsp-x86_both-tools/nasm.morph
new file mode 100644
index 00000000..0ab1a629
--- /dev/null
+++ b/strata/bsp-x86_both-tools/nasm.morph
@@ -0,0 +1,5 @@
+name: nasm
+kind: chunk
+build-system: autotools
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/strata/bsp-x86_both-tools/syslinux.morph b/strata/bsp-x86_both-tools/syslinux.morph
new file mode 100644
index 00000000..c0f15807
--- /dev/null
+++ b/strata/bsp-x86_both-tools/syslinux.morph
@@ -0,0 +1,8 @@
+name: syslinux
+kind: chunk
+build-commands:
+- make clean
+- make
+- make installer
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/build-essential.morph b/strata/build-essential.morph
index 2f8d798b..3918a13e 100644
--- a/build-essential.morph
+++ b/strata/build-essential.morph
@@ -39,6 +39,7 @@ products:
- eglibc-nss
chunks:
- name: stage1-binutils
+ morph: strata/build-essential/stage1-binutils.morph
repo: upstream:binutils-redhat
ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
unpetrify-ref: baserock/build-essential
@@ -46,6 +47,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage1-gcc
+ morph: strata/build-essential/stage1-gcc.morph
repo: upstream:gcc-tarball
ref: 0a1a077d3466cd99a4ed5590db2146b3fec6fff1
unpetrify-ref: baserock/build-essential
@@ -54,6 +56,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage2-linux-api-headers
+ morph: strata/build-essential/stage2-linux-api-headers.morph
repo: upstream:linux
ref: eff825d6e284eb0fb04b434429a3e3b2e10cabf8
unpetrify-ref: baserock/build-essential
@@ -63,6 +66,7 @@ chunks:
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
@@ -73,6 +77,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage2-binutils
+ morph: strata/build-essential/stage2-binutils.morph
repo: upstream:binutils-redhat
ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
unpetrify-ref: baserock/build-essential
@@ -83,6 +88,7 @@ chunks:
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
unpetrify-ref: baserock/build-essential
@@ -93,6 +99,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage2-gcc
+ morph: strata/build-essential/stage2-gcc.morph
repo: upstream:gcc-tarball
ref: 0a1a077d3466cd99a4ed5590db2146b3fec6fff1
unpetrify-ref: baserock/build-essential
@@ -104,6 +111,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage2-busybox
+ morph: strata/build-essential/stage2-busybox.morph
repo: upstream:busybox
ref: eeb9014f28e3aa00673a0fad127e7420da4392db
unpetrify-ref: baserock/build-essential
@@ -114,6 +122,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage2-fhs-dirs
+ morph: strata/build-essential/stage2-fhs-dirs.morph
repo: baserock:baserock/fhs-dirs
ref: 41bbb474cd4647ee715bc94c21c161d12a20deb4
unpetrify-ref: master
@@ -121,6 +130,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage2-gawk
+ morph: strata/build-essential/stage2-gawk.morph
repo: upstream:gawk
ref: 6a0eb04c3d2ac24d80d505b42a8f67799487d133
unpetrify-ref: baserock/build-essential
@@ -131,6 +141,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: stage2-make
+ morph: strata/build-essential/stage2-make.morph
repo: upstream:make
ref: 56968f58301e6e5157cf4c8b6deefbaff2955eba
unpetrify-ref: baserock/build-essential
@@ -141,6 +152,7 @@ chunks:
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
@@ -152,6 +164,7 @@ chunks:
build-mode: bootstrap
prefix: /tools
- name: fhs-dirs
+ morph: strata/build-essential/fhs-dirs.morph
repo: baserock:baserock/fhs-dirs
ref: 41bbb474cd4647ee715bc94c21c161d12a20deb4
unpetrify-ref: master
@@ -165,9 +178,8 @@ chunks:
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- build-mode: staging
- prefix: /usr
- name: linux-api-headers
+ morph: strata/build-essential/linux-api-headers.morph
repo: upstream:linux
ref: eff825d6e284eb0fb04b434429a3e3b2e10cabf8
unpetrify-ref: baserock/build-essential
@@ -181,9 +193,8 @@ chunks:
- stage2-linux-api-headers
- stage2-make
- stage2-reset-specs
- build-mode: staging
- prefix: /usr
- name: eglibc
+ morph: strata/build-essential/eglibc.morph
repo: upstream:eglibc2
ref: df0258044f321990eadd647e03095a48ad04c1a8
unpetrify-ref: baserock/2.15-build-essential
@@ -198,13 +209,12 @@ chunks:
- stage2-make
- stage2-reset-specs
- linux-api-headers
- build-mode: staging
artifacts:
eglibc-gconv: build-essential-runtime
eglibc-libs: build-essential-minimal
eglibc-nss: build-essential-runtime
- prefix: /usr
- name: zlib
+ morph: strata/build-essential/zlib.morph
repo: upstream:zlib
ref: db333af7e9b90a23fd7f9cd8dc128123b34bf698
unpetrify-ref: baserock/build-essential
@@ -219,11 +229,10 @@ chunks:
- stage2-make
- stage2-reset-specs
- eglibc
- build-mode: staging
artifacts:
zlib-libs: build-essential-minimal
- prefix: /usr
- name: binutils
+ morph: strata/build-essential/binutils.morph
repo: upstream:binutils-redhat
ref: 987eb543a034cddc4eeb103f08f566f24a5f964a
unpetrify-ref: baserock/build-essential
@@ -239,9 +248,8 @@ chunks:
- stage2-reset-specs
- eglibc
- zlib
- build-mode: staging
- prefix: /usr
- name: busybox
+ morph: strata/build-essential/busybox.morph
repo: upstream:busybox
ref: bf06394ab87ff22662084c82c1821847c25b7f21
unpetrify-ref: baserock/build-essential
@@ -256,9 +264,8 @@ chunks:
- stage2-make
- stage2-reset-specs
- eglibc
- build-mode: staging
- prefix: /usr
- name: gawk
+ morph: strata/build-essential/gawk.morph
repo: upstream:gawk
ref: 6a0eb04c3d2ac24d80d505b42a8f67799487d133
unpetrify-ref: baserock/build-essential
@@ -273,9 +280,8 @@ chunks:
- stage2-make
- stage2-reset-specs
- eglibc
- build-mode: staging
- prefix: /usr
- name: gcc
+ morph: strata/build-essential/gcc.morph
repo: upstream:gcc-tarball
ref: b0254026149b13782eae26d38435a4c62a002cf0
unpetrify-ref: baserock/build-essential-4.7
@@ -291,11 +297,10 @@ chunks:
- stage2-reset-specs
- eglibc
- zlib
- build-mode: staging
artifacts:
gcc-libs: build-essential-minimal
- prefix: /usr
- name: make
+ morph: strata/build-essential/make.morph
repo: upstream:make
ref: 56968f58301e6e5157cf4c8b6deefbaff2955eba
unpetrify-ref: baserock/build-essential
@@ -310,9 +315,8 @@ chunks:
- stage2-make
- stage2-reset-specs
- eglibc
- build-mode: staging
- prefix: /usr
- name: ccache
+ morph: strata/build-essential/ccache.morph
repo: upstream:ccache
ref: 567631456f0899cdf0c382f898d38aadc8901d32
unpetrify-ref: baserock/build-essential
@@ -328,5 +332,3 @@ chunks:
- stage2-reset-specs
- eglibc
- zlib
- build-mode: staging
- prefix: /usr
diff --git a/strata/build-essential/binutils.morph b/strata/build-essential/binutils.morph
new file mode 100644
index 00000000..81d4d6f7
--- /dev/null
+++ b/strata/build-essential/binutils.morph
@@ -0,0 +1,7 @@
+name: binutils
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
+ --with-system-zlib
diff --git a/strata/build-essential/busybox.morph b/strata/build-essential/busybox.morph
new file mode 100644
index 00000000..df7bf008
--- /dev/null
+++ b/strata/build-essential/busybox.morph
@@ -0,0 +1,99 @@
+name: busybox
+kind: chunk
+configure-commands:
+- make defconfig
+- sed -e 's|.*UDHCPC_DEFAULT_SCRIPT.*|CONFIG_UDHCPC_DEFAULT_SCRIPT="'"$PREFIX"/share/udhcpc/default.script'"|'
+ -i .config
+- sed -e 's|.*IFUPDOWN_IFSTATE_PATH.*|CONFIG_IFUPDOWN_IFSTATE_PATH="/run/ifstate"|'
+ -i .config
+- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/''
+ -i .config'
+- sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config
+- sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config
+- sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config
+- sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config
+- sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config
+- sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config
+- sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config
+- sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not
+ set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config
+- sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config
+- sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config
+- sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config
+- sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config
+- sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config
+- sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config
+- sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config
+- sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config
+- sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config
+- sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config
+- sed -e 's/# CONFIG_BBCONFIG is not set/CONFIG_BBCONFIG=y/' -i .config
+- sed -e 's/# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set/CONFIG_FEATURE_COMPRESS_BBCONFIG=y/'
+ -i .config
+- sed -e 's/# CONFIG_FEATURE_MOUNT_HELPERS is not set/CONFIG_FEATURE_MOUNT_HELPERS=y/'
+ -i .config
+build-commands:
+- make
+- |
+ for fin in systemd-units/*.in
+ do
+ f=$(echo "$fin" | sed 's/\.in$//')
+ sed -e 's|@rootprefix@||g' "$fin" >"$f";
+ done
+install-commands:
+- |
+ if [ "$PREFIX" = /usr ]; then PREFIX=; fi &&
+ make CONFIG_PREFIX="$DESTDIR$PREFIX" install &&
+ chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
+- mkdir -p "$DESTDIR/var/spool/cron/crontabs"
+- mkdir -p "$DESTDIR/lib/systemd/system/multi-user.target.wants"
+- |
+ for f in systemd-units/*.service; do
+ install -m 644 "$f" "$DESTDIR/lib/systemd/system";
+ done
+- |
+ for f in $(cd systemd-units; ls *.service | grep -v -F "@"); do
+ ln -s "../$f" "$DESTDIR/lib/systemd/system/multi-user.target.wants/";
+ done
+- mkdir -p "$DESTDIR/lib/udev/rules.d"
+- for f in udev-rules/100-baserock.rules; do install -m 644 "$f" "$DESTDIR/lib/udev/rules.d";
+ done
+- mkdir -p "$DESTDIR$PREFIX"/share/udhcpc
+- cp examples/udhcp/simple.script "$DESTDIR$PREFIX"/share/udhcpc/default.script
+- install scripts/run-ntpd-with-config "$DESTDIR$PREFIX"/sbin/.
+- install -d "$DESTDIR/etc"
+- |
+ cat << EOF > "$DESTDIR/etc/ntpd.conf"
+ server 0.pool.ntp.org
+ server 1.pool.ntp.org
+ server 2.pool.ntp.org
+ server 3.pool.ntp.org
+ EOF
+- |
+ cat << EOF > "$DESTDIR/etc/profile"
+ # Set default pager to less
+ export MANPAGER='less -R'
+ EOF
+- |
+ cat << EOF > "$DESTDIR/etc/man.conf"
+ # This file is used by man to provide a manpath for those without one by
+ # examining their PATH environment variable.
+ #
+ # Lines beginning with `#' are comments and are ignored. Any combination of
+ # tabs or spaces may be used as `whitespace' separators.
+
+ MANDATORY_MANPATH /usr/man
+ MANDATORY_MANPATH /usr/share/man
+ MANDATORY_MANPATH /usr/local/share/man
+ EOF
diff --git a/strata/build-essential/ccache.morph b/strata/build-essential/ccache.morph
new file mode 100644
index 00000000..383eee8a
--- /dev/null
+++ b/strata/build-essential/ccache.morph
@@ -0,0 +1,12 @@
+name: ccache
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR/$PREFIX/lib/ccache"
+- for cc in gcc cc g++ c++; do ln -sf "$PREFIX/bin/ccache" "$DESTDIR/$PREFIX/lib/ccache/$cc";
+ done
+- for cc in gcc cc g++ c++; do ln -sf "$PREFIX/bin/ccache" "$DESTDIR/$PREFIX/lib/ccache/$TARGET-$cc";
+ done
diff --git a/strata/build-essential/eglibc.morph b/strata/build-essential/eglibc.morph
new file mode 100644
index 00000000..6f781a53
--- /dev/null
+++ b/strata/build-essential/eglibc.morph
@@ -0,0 +1,57 @@
+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
+- 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/fhs-dirs.morph b/strata/build-essential/fhs-dirs.morph
new file mode 100644
index 00000000..64474872
--- /dev/null
+++ b/strata/build-essential/fhs-dirs.morph
@@ -0,0 +1,50 @@
+name: fhs-dirs
+kind: chunk
+description: create the FHS 2.3 directory hierarchy and the usual files
+install-commands:
+- sh ./create-fhs-dirs "$DESTDIR"
+- install -m 644 passwd "$DESTDIR/etc/passwd"
+- install -m 600 shadow "$DESTDIR/etc/shadow"
+- install -m 644 interfaces "$DESTDIR/etc/network/interfaces"
+- install -m 644 group "$DESTDIR/etc/group"
+- install -m 644 ld.so.conf "$DESTDIR/etc/ld.so.conf"
+- install -m 644 issue "$DESTDIR/etc/issue"
+- install -m 644 services "$DESTDIR/etc/services"
+- install -m 644 protocols "$DESTDIR/etc/protocols"
+- echo baserock > "$DESTDIR"/etc/hostname
+devices:
+- type: c
+ filename: /dev/console
+ gid: 0
+ major: 5
+ minor: 1
+ permissions: '0600'
+ uid: 0
+- type: c
+ filename: /dev/full
+ gid: 0
+ major: 1
+ minor: 7
+ permissions: '0666'
+ uid: 0
+- type: c
+ filename: /dev/null
+ gid: 0
+ major: 1
+ minor: 3
+ permissions: '0666'
+ uid: 0
+- type: c
+ filename: /dev/urandom
+ gid: 0
+ major: 1
+ minor: 9
+ permissions: '0666'
+ uid: 0
+- type: c
+ filename: /dev/zero
+ gid: 0
+ major: 1
+ minor: 5
+ permissions: '0666'
+ uid: 0
diff --git a/strata/build-essential/gawk.morph b/strata/build-essential/gawk.morph
new file mode 100644
index 00000000..1ad871c6
--- /dev/null
+++ b/strata/build-essential/gawk.morph
@@ -0,0 +1,5 @@
+name: gawk
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-nls
diff --git a/strata/build-essential/gcc.morph b/strata/build-essential/gcc.morph
new file mode 100644
index 00000000..c57edb61
--- /dev/null
+++ b/strata/build-essential/gcc.morph
@@ -0,0 +1,28 @@
+name: gcc
+kind: chunk
+configure-commands:
+- mkdir o
+- |
+ cd o && \
+ ../configure \
+ $(../morph-arch-config) \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir=$PREFIX/lib \
+ --disable-nls \
+ --enable-languages=c,c++,fortran \
+ --enable-shared --enable-threads=posix \
+ `# [2]` --disable-multilib \
+ `# [3]` --disable-libgomp --without-cloog --without-ppl \
+ `# [4]` --enable-__cxa_atexit \
+ `# [5]` --with-mpfr-include="$(pwd)/../mpfr/src" \
+ --with-mpfr-lib="$(pwd)/mpfr/src/.libs" \
+ `# [6]` --with-system-zlib
+build-commands:
+- cd o && make
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- ln -s gcc "$DESTDIR/$PREFIX/bin/cc"
+- |
+ for fortran_alias in f77 f90 f95; do
+ ln -s gfortran "$DESTDIR/$PREFIX/bin/$fortran_alias"
+ done
diff --git a/strata/build-essential/linux-api-headers.morph b/strata/build-essential/linux-api-headers.morph
new file mode 100644
index 00000000..d28b0905
--- /dev/null
+++ b/strata/build-essential/linux-api-headers.morph
@@ -0,0 +1,7 @@
+name: linux-api-headers
+kind: chunk
+install-commands:
+- make mrproper
+- ARCH=$(./morph-arch) make INSTALL_HDR_PATH=dest headers_install
+- install -d "$DESTDIR${PREFIX-/usr}/include"
+- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/build-essential/make.morph b/strata/build-essential/make.morph
new file mode 100644
index 00000000..1259b342
--- /dev/null
+++ b/strata/build-essential/make.morph
@@ -0,0 +1,5 @@
+name: make
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-nls
diff --git a/strata/build-essential/stage1-binutils.morph b/strata/build-essential/stage1-binutils.morph
new file mode 100644
index 00000000..d3e73a87
--- /dev/null
+++ b/strata/build-essential/stage1-binutils.morph
@@ -0,0 +1,10 @@
+name: stage1-binutils
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
+ --build=$(sh config.guess) \
+ --host=$(sh config.guess) \
+ --target=$TARGET_STAGE1 \
+ --with-sysroot="/" --with-lib-path="=$PREFIX/lib"
diff --git a/strata/build-essential/stage1-gcc.morph b/strata/build-essential/stage1-gcc.morph
new file mode 100644
index 00000000..0e0c2d81
--- /dev/null
+++ b/strata/build-essential/stage1-gcc.morph
@@ -0,0 +1,30 @@
+name: stage1-gcc
+kind: chunk
+configure-commands:
+- mkdir o
+- |
+ 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-local-prefix="$PREFIX" \
+ `# [3]` --with-native-system-header-dir="$PREFIX/include" \
+ `# [4]` --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
+build-commands:
+- cd o && make
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- |
+ 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/build-essential/stage2-binutils.morph b/strata/build-essential/stage2-binutils.morph
new file mode 100644
index 00000000..a3701b2c
--- /dev/null
+++ b/strata/build-essential/stage2-binutils.morph
@@ -0,0 +1,19 @@
+name: stage2-binutils
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
+ export CXX=false
+ export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
+ --build=$(sh config.guess) \
+ --host=$TARGET_STAGE1 \
+ --target=$TARGET_STAGE1
+build-commands:
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
+ export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ make
diff --git a/strata/build-essential/stage2-busybox.morph b/strata/build-essential/stage2-busybox.morph
new file mode 100644
index 00000000..7d17ea40
--- /dev/null
+++ b/strata/build-essential/stage2-busybox.morph
@@ -0,0 +1,57 @@
+name: stage2-busybox
+kind: chunk
+configure-commands:
+- make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- defconfig
+- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/''
+ -i .config'
+- sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config
+- sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config
+- sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config
+- sed -e 's/CONFIG_DEPMOD=y.*/# CONFIG_DEPMOD is not set/' -i .config
+- sed -e 's/CONFIG_INSMOD=y.*/# CONFIG_INSMOD is not set/' -i .config
+- sed -e 's/CONFIG_MODPROBE=y.*/# CONFIG_MODPROBE is not set/' -i .config
+- sed -e 's/CONFIG_MODPROBE_SMALL=y.*/# CONFIG_MODPROBE_SMALL is not set/' -i .config
+- sed -e 's/CONFIG_LSMOD=y.*/# CONFIG_LSMOD is not set/' -i .config
+- sed -e 's/CONFIG_RMMOD=y.*/# CONFIG_RMMOD is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_MOUNT_CIFS=y.*/# CONFIG_FEATURE_MOUNT_CIFS is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_EXTRA_QUIET=y.*/# CONFIG_FEATURE_EXTRA_QUIET is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_COREDUMPS=y.*/# CONFIG_FEATURE_INIT_COREDUMPS is not
+ set/' -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SCTTY=y.*/# CONFIG_FEATURE_INIT_SCTTY is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_INIT_SYSLOG=y.*/# CONFIG_FEATURE_INIT_SYSLOG is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_INITRD=y.*/# CONFIG_FEATURE_INITRD is not set/' -i .config
+- sed -e 's/CONFIG_FEATURE_USE_INITTAB=y.*/# CONFIG_FEATURE_USE_INITTAB is not set/'
+ -i .config
+- sed -e 's/CONFIG_FEATURE_MINIX2=y.*/# CONFIG_FEATURE_MINIX2 is not set/' -i .config
+- sed -e 's/CONFIG_FSCK_MINIX=y.*/# CONFIG_FSCK_MINIX is not set/' -i .config
+- sed -e 's/CONFIG_HALT=y.*/# CONFIG_HALT is not set/' -i .config
+- sed -e 's/CONFIG_INIT=y.*/# CONFIG_INIT is not set/' -i .config
+- sed -e 's/CONFIG_INIT_TERMINAL_TYPE=y.*/CONFIG_INIT_TERMINAL_TYPE=""/' -i .config
+- sed -e 's/CONFIG_LOSETUP=y.*/# CONFIG_LOSETUP is not set/' -i .config
+- sed -e 's/CONFIG_LSUSB=y.*/# CONFIG_LSUSB is not set/' -i .config
+- sed -e 's/CONFIG_LZMA=y.*/# CONFIG_LZMA is not set/' -i .config
+- sed -e 's/CONFIG_MKFS_EXT2=y.*/# CONFIG_MKFS_EXT2 is not set/' -i .config
+- sed -e 's/CONFIG_MKFS_MINIX=y.*/# CONFIG_MKFS_MINIX is not set/' -i .config
+- sed -e 's/CONFIG_RUNLEVEL=y.*/# CONFIG_RUNLEVEL is not set/' -i .config
+- sed -e 's/CONFIG_STRINGS=y.*/# CONFIG_STRINGS is not set/' -i .config
+- sed -e 's/CONFIG_UNLZMA=y.*/# CONFIG_UNLZMA is not set/' -i .config
+- sed -e 's/CONFIG_UNXZ=y.*/# CONFIG_UNXZ is not set/' -i .config
+- sed -e 's/CONFIG_XZ=y.*/# CONFIG_XZ is not set/' -i .config
+build-commands:
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
+ export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1-
+install-commands:
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
+ export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ make CONFIG_PREFIX="$DESTDIR$PREFIX" \
+ HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- install &&
+ chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
diff --git a/strata/build-essential/stage2-eglibc.morph b/strata/build-essential/stage2-eglibc.morph
new file mode 100644
index 00000000..05b0e231
--- /dev/null
+++ b/strata/build-essential/stage2-eglibc.morph
@@ -0,0 +1,38 @@
+name: stage2-eglibc
+kind: chunk
+configure-commands:
+- mkdir o
+- cd libc && ln -s ../ports ports
+- |
+ export CFLAGS="-O2 $CFLAGS"; export CXX=false; \
+ cd o && ../libc/configure \
+ $(../morph-arch-config) \
+ --build=$(../libc/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
+build-commands:
+- cd o && make localtime=UTC
+install-commands:
+- cd o && make install_root="$DESTDIR" localtime=UTC install
+- sh stage2-eglibc-fix-specs
+- install -d $DESTDIR/lib
+- |
+ cpu=$(echo $TARGET | cut -d '-' -f 1)
+ case "$cpu" in
+ x86_64)
+ install -d "$DESTDIR/lib64"
+ ln -s "$PREFIX/lib/ld-linux-x86-64.so.2" \
+ "$DESTDIR/lib64/ld-linux-x86-64.so.2" ;;
+ ppc64)
+ install -d "$DESTDIR/lib64"
+ ln -s "$PREFIX/lib/ld64.so.1" \
+ "$DESTDIR/lib64/ld64.so.1" ;;
+ *)
+ loader=$(basename $(ls "$DESTDIR$PREFIX"/lib/ld-linux*))
+ ln -s "$PREFIX/lib/$loader" "$DESTDIR/lib/$loader"
+ esac
diff --git a/strata/build-essential/stage2-fhs-dirs.morph b/strata/build-essential/stage2-fhs-dirs.morph
new file mode 100644
index 00000000..14a6e253
--- /dev/null
+++ b/strata/build-essential/stage2-fhs-dirs.morph
@@ -0,0 +1,52 @@
+name: stage2-fhs-dirs
+kind: chunk
+description: create the FHS 2.3 directory hierarchy and the usual files
+install-commands:
+- sh ./create-fhs-dirs "$DESTDIR"
+- rmdir "$DESTDIR/bin"
+- ln -s "$PREFIX/bin" "$DESTDIR/bin"
+- install -m 644 passwd "$DESTDIR/etc/passwd"
+- install -m 600 shadow "$DESTDIR/etc/shadow"
+- install -m 644 interfaces "$DESTDIR/etc/network/interfaces"
+- install -m 644 group "$DESTDIR/etc/group"
+- install -m 644 ld.so.conf "$DESTDIR/etc/ld.so.conf"
+- install -m 644 issue "$DESTDIR/etc/issue"
+- install -m 644 services "$DESTDIR/etc/services"
+- install -m 644 protocols "$DESTDIR/etc/protocols"
+- echo baserock > "$DESTDIR"/etc/hostname
+devices:
+- type: c
+ filename: /dev/console
+ gid: 0
+ major: 5
+ minor: 1
+ permissions: '0600'
+ uid: 0
+- type: c
+ filename: /dev/full
+ gid: 0
+ major: 1
+ minor: 7
+ permissions: '0666'
+ uid: 0
+- type: c
+ filename: /dev/null
+ gid: 0
+ major: 1
+ minor: 3
+ permissions: '0666'
+ uid: 0
+- type: c
+ filename: /dev/urandom
+ gid: 0
+ major: 1
+ minor: 9
+ permissions: '0666'
+ uid: 0
+- type: c
+ filename: /dev/zero
+ gid: 0
+ major: 1
+ minor: 5
+ permissions: '0666'
+ uid: 0
diff --git a/strata/build-essential/stage2-gawk.morph b/strata/build-essential/stage2-gawk.morph
new file mode 100644
index 00000000..f644d72b
--- /dev/null
+++ b/strata/build-essential/stage2-gawk.morph
@@ -0,0 +1,9 @@
+name: stage2-gawk
+kind: chunk
+build-system: autotools
+configure-commands:
+- STAGE2_SYSROOT="$(dirname $(pwd))" CPPFLAGS="--sysroot=$STAGE2_SYSROOT" CXX=false
+ LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
+ --build=$(sh config.guess) --host=$TARGET_STAGE1
+build-commands:
+- STAGE2_SYSROOT="$(dirname $(pwd))" make
diff --git a/strata/build-essential/stage2-gcc-fixed-headers.morph b/strata/build-essential/stage2-gcc-fixed-headers.morph
new file mode 100644
index 00000000..2c4741ee
--- /dev/null
+++ b/strata/build-essential/stage2-gcc-fixed-headers.morph
@@ -0,0 +1,10 @@
+name: stage2-gcc-fixed-headers
+kind: chunk
+install-commands:
+- |
+ libgcc_dir=$(dirname $($TARGET_STAGE1-gcc -print-libgcc-file-name))
+ sysroot="$(dirname "$(pwd)")"
+ target_libgcc_dir="${libgcc_dir#$sysroot}"
+ mkdir -p "$DESTDIR/$target_libgcc_dir/include-fixed"
+ cat "gcc/limitx.h" "gcc/glimits.h" "gcc/limity.h" \
+ >"$DESTDIR/$target_libgcc_dir/include-fixed/limits.h"
diff --git a/strata/build-essential/stage2-gcc.morph b/strata/build-essential/stage2-gcc.morph
new file mode 100644
index 00000000..e342d648
--- /dev/null
+++ b/strata/build-essential/stage2-gcc.morph
@@ -0,0 +1,40 @@
+name: stage2-gcc
+kind: chunk
+configure-commands:
+- mkdir o
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
+ export LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT"
+ cd o && ../configure \
+ $(../morph-arch-config) \
+ `# [1]` --build=$(sh ../config.guess) \
+ --host=$TARGET_STAGE1 \
+ --target=$TARGET_STAGE1 \
+ --prefix="$PREFIX" \
+ `# [2]` --with-local-prefix=$PREFIX \
+ `# [3]` --with-build-sysroot="$STAGE2_SYSROOT" \
+ --disable-bootstrap \
+ --enable-clocale=gnu --enable-shared --enable-threads=posix \
+ `# [4]` --enable-languages=c \
+ `# [5]` --libdir=$PREFIX/lib \
+ --disable-libgomp --disable-multilib --disable-nls \
+ --without-cloog --without-ppl \
+ --with-mpfr-include="$(pwd)/../mpfr/src" \
+ --with-mpfr-lib="$(pwd)/mpfr/src/.libs"
+build-commands:
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ cd o && make
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- |
+ if [ "$(echo $TARGET | cut -c -6)" = "x86_64" ]; then
+ libdir=lib64
+ else
+ libdir=lib
+ fi
+
+ install -d "$DESTDIR/lib"
+ ln -s "$PREFIX/$libdir/libgcc_s.so" "$DESTDIR/lib/"
+ ln -s "$PREFIX/$libdir/libgcc_s.so.1" "$DESTDIR/lib/"
diff --git a/strata/build-essential/stage2-linux-api-headers.morph b/strata/build-essential/stage2-linux-api-headers.morph
new file mode 100644
index 00000000..e7d1f8ed
--- /dev/null
+++ b/strata/build-essential/stage2-linux-api-headers.morph
@@ -0,0 +1,9 @@
+name: stage2-linux-api-headers
+kind: chunk
+install-commands:
+- make mrproper
+- |
+ export ARCH=$(./morph-arch)
+ make INSTALL_HDR_PATH=dest headers_install
+- install -d "$DESTDIR${PREFIX-/usr}/include"
+- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/build-essential/stage2-make.morph b/strata/build-essential/stage2-make.morph
new file mode 100644
index 00000000..d3c8bf22
--- /dev/null
+++ b/strata/build-essential/stage2-make.morph
@@ -0,0 +1,9 @@
+name: stage2-make
+kind: chunk
+build-system: autotools
+configure-commands:
+- STAGE2_SYSROOT="$(dirname $(pwd))" CPPFLAGS="--sysroot=$STAGE2_SYSROOT" CXX=false
+ LDFLAGS="-Wl,--sysroot=$STAGE2_SYSROOT" ./configure --prefix="$PREFIX" --disable-nls
+ --build=$(sh config/config.guess) --host=$TARGET_STAGE1
+build-commands:
+- STAGE2_SYSROOT="$(dirname $(pwd))" make
diff --git a/strata/build-essential/stage2-reset-specs.morph b/strata/build-essential/stage2-reset-specs.morph
new file mode 100644
index 00000000..6495909c
--- /dev/null
+++ b/strata/build-essential/stage2-reset-specs.morph
@@ -0,0 +1,9 @@
+name: stage2-reset-specs
+kind: chunk
+install-commands:
+- |
+ STAGE2_SYSROOT="$(dirname "$(pwd)")"
+ specs_dir="$(dirname $($TARGET_STAGE1-gcc -print-libgcc-file-name))"
+ target_specs_dir="$DESTDIR/${specs_dir#$STAGE2_SYSROOT}"
+ mkdir -p "$target_specs_dir"
+ ln -s "temporary specs removed by baserock bootstrap" "$target_specs_dir/specs"
diff --git a/strata/build-essential/zlib.morph b/strata/build-essential/zlib.morph
new file mode 100644
index 00000000..a69eebf3
--- /dev/null
+++ b/strata/build-essential/zlib.morph
@@ -0,0 +1,9 @@
+name: zlib
+kind: chunk
+max-jobs: 1
+configure-commands:
+- ./configure --prefix="$PREFIX"
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/ceph-service.morph b/strata/ceph-service.morph
index 92ecb417..79db626d 100644
--- a/ceph-service.morph
+++ b/strata/ceph-service.morph
@@ -1,25 +1,29 @@
name: ceph-service
kind: stratum
build-depends:
-- morph: foundation
+- morph: strata/foundation.morph
chunks:
- name: nspr
+ morph: strata/ceph-service/nspr.morph
repo: upstream:nspr-hg
ref: a6ee84946475c1fb7624973af28163f6da247c0d
unpetrify-ref: baserock/morph
build-depends: []
- name: nss
+ morph: strata/ceph-service/nss.morph
repo: upstream:nss
ref: ee1c99a3c8c29f50a91ab28f2f7b7773f6355487
unpetrify-ref: baserock/morph
build-depends:
- nspr
- name: libaio
+ morph: strata/ceph-service/libaio.morph
repo: upstream:libaio
ref: 262e589ea4ac3d1ff809648c8f2caa3836e69b25
unpetrify-ref: baserock/morph
build-depends: []
- name: keyutils
+ morph: strata/ceph-service/keyutils.morph
repo: upstream:keyutils
ref: 116417bce1e1df06a918de5e9e63f6ba88e2f4f5
unpetrify-ref: baserock/morph
@@ -41,6 +45,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: leveldb
+ morph: strata/ceph-service/leveldb.morph
repo: upstream:leveldb
ref: 0f0ed46e70967365c851243663689e156fe1b7b5
unpetrify-ref: baserock/morph
@@ -53,11 +58,13 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: boost
+ morph: strata/ceph-service/boost.morph
repo: upstream:boost-tarball
ref: 026fc3d84a27e84a61d0f4c26f011a68271a0d6e
unpetrify-ref: baserock/markdoffman/morph
build-depends: []
- name: ceph
+ morph: strata/ceph-service/ceph.morph
repo: upstream:ceph
ref: 8fdf1df512b73bad0eb695cdf9cbf2d09f0327d4
unpetrify-ref: baserock/morph
diff --git a/strata/ceph-service/boost.morph b/strata/ceph-service/boost.morph
new file mode 100644
index 00000000..7c3e6cff
--- /dev/null
+++ b/strata/ceph-service/boost.morph
@@ -0,0 +1,8 @@
+name: boost
+kind: chunk
+configure-commands:
+- ./bootstrap.sh
+build-commands:
+- ./b2 || true
+install-commands:
+- ./b2 install --prefix=$DESTDIR$PREFIX || true
diff --git a/strata/ceph-service/ceph.morph b/strata/ceph-service/ceph.morph
new file mode 100644
index 00000000..5ad0d812
--- /dev/null
+++ b/strata/ceph-service/ceph.morph
@@ -0,0 +1,18 @@
+name: ceph
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --with-nss --prefix="$PREFIX" --sysconfdir=/etc --without-fuse --without-libatomic-ops
+install-commands:
+- make install
+- install -D -m 755 src/init-ceph $DESTDIR/etc/init.d/ceph
+- install -d $DESTDIR/etc/ceph
+- install -D -d $DESTDIR/var/lib/ceph
+- install -d $DESTDIR/var/lib/ceph/mon
+- install -d $DESTDIR/var/lib/ceph/osd
+- install -d $DESTDIR/var/lib/ceph/mds
+- install -d $DESTDIR/var/lib/ceph/tmp
+- install -d $DESTDIR/var/lib/ceph/bootstrap-mds
+- install -d $DESTDIR/var/lib/ceph/bootstrap-osd
+- install -D -d $DESTDIR/var/log/ceph
diff --git a/strata/ceph-service/keyutils.morph b/strata/ceph-service/keyutils.morph
new file mode 100644
index 00000000..4d47e265
--- /dev/null
+++ b/strata/ceph-service/keyutils.morph
@@ -0,0 +1,7 @@
+name: keyutils
+kind: chunk
+build-commands:
+- make clean
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" LIBDIR="$PREFIX/lib" USRLIBDIR="$PREFIX/lib" install
diff --git a/strata/ceph-service/leveldb.morph b/strata/ceph-service/leveldb.morph
new file mode 100644
index 00000000..1385897c
--- /dev/null
+++ b/strata/ceph-service/leveldb.morph
@@ -0,0 +1,6 @@
+name: leveldb
+kind: chunk
+build-commands:
+- make
+install-commands:
+- ./install.sh
diff --git a/strata/ceph-service/libaio.morph b/strata/ceph-service/libaio.morph
new file mode 100644
index 00000000..62c24d37
--- /dev/null
+++ b/strata/ceph-service/libaio.morph
@@ -0,0 +1,7 @@
+name: libaio
+kind: chunk
+build-commands:
+- make clean
+- make
+install-commands:
+- make prefix="$DESTDIR$PREFIX" install
diff --git a/strata/ceph-service/nspr.morph b/strata/ceph-service/nspr.morph
new file mode 100644
index 00000000..a5224fb4
--- /dev/null
+++ b/strata/ceph-service/nspr.morph
@@ -0,0 +1,6 @@
+name: nspr
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix=$PREFIX --with-mozilla --with-pthreads $([ $(uname -m) = x86_64
+ ] && echo --enable-64bit)
diff --git a/strata/ceph-service/nss.morph b/strata/ceph-service/nss.morph
new file mode 100644
index 00000000..c83fd174
--- /dev/null
+++ b/strata/ceph-service/nss.morph
@@ -0,0 +1,7 @@
+name: nss
+kind: chunk
+max-jobs: 1
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --libdir="$PREFIX/lib"
diff --git a/cloudinit-support.morph b/strata/cloudinit-support.morph
index 1790ab8c..399df685 100644
--- a/cloudinit-support.morph
+++ b/strata/cloudinit-support.morph
@@ -2,9 +2,9 @@ name: cloudinit-support
kind: stratum
description: A stratum with cloudinit to fit a system in the OpenStack cloud.
build-depends:
-- morph: build-essential
-- morph: core
-- morph: foundation
+- morph: strata/build-essential.morph
+- morph: strata/core.morph
+- morph: strata/foundation.morph
chunks:
- name: configobj
repo: upstream:configobj
@@ -17,6 +17,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: python-prettytable
+ morph: strata/cloudinit-support/python-prettytable.morph
repo: upstream:python-prettytable
ref: 941133673e5a0003cd5ce1b6db2a51cf3307d9c1
unpetrify-ref: baserock/morph
@@ -43,6 +44,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: cloud-init
+ morph: strata/cloudinit-support/cloud-init.morph
repo: upstream:cloud-init
ref: 130d51acc5b0becd64e7007f9dfe41a6e022eaec
unpetrify-ref: baserock/morph
diff --git a/strata/cloudinit-support/cloud-init.morph b/strata/cloudinit-support/cloud-init.morph
new file mode 100644
index 00000000..5933dbf8
--- /dev/null
+++ b/strata/cloudinit-support/cloud-init.morph
@@ -0,0 +1,6 @@
+name: cloud-init
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- mkdir -p "$DESTDIR"/lib/systemd/system
+- cp systemd/* "$DESTDIR"/lib/systemd/system/
diff --git a/strata/cloudinit-support/python-prettytable.morph b/strata/cloudinit-support/python-prettytable.morph
new file mode 100644
index 00000000..cf1ac6e1
--- /dev/null
+++ b/strata/cloudinit-support/python-prettytable.morph
@@ -0,0 +1,6 @@
+name: python-prettytable
+kind: chunk
+build-commands:
+- cd src && python setup.py build
+install-commands:
+- cd src && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/connectivity.morph b/strata/connectivity.morph
index 69512392..bf83b8c3 100644
--- a/connectivity.morph
+++ b/strata/connectivity.morph
@@ -1,7 +1,7 @@
name: connectivity
kind: stratum
build-depends:
-- morph: genivi-foundation
+- morph: strata/genivi-foundation.morph
chunks:
- name: libnl
repo: upstream:libnl
@@ -9,6 +9,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: wpa_supplicant
+ morph: strata/connectivity/wpa_supplicant.morph
repo: upstream:hostap
ref: 1cdfb99c3a04235697dc6979b9eb5418861e42f8
unpetrify-ref: baserock/genivi/morph
@@ -20,8 +21,9 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: connman
+ morph: strata/connectivity/connman.morph
repo: upstream:connman
- ref: f16e43ebc34a32937a67c56655586d2dc1518fbb
- unpetrify-ref: baserock/morph
+ ref: 9951ba7a0353cfc884e96833c64e58c1bcae3f44
+ unpetrify-ref: baserock/1.24
build-depends:
- iptables
diff --git a/strata/connectivity/connman.morph b/strata/connectivity/connman.morph
new file mode 100644
index 00000000..e468bc49
--- /dev/null
+++ b/strata/connectivity/connman.morph
@@ -0,0 +1,6 @@
+name: connman
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./bootstrap
+- ./configure --prefix="$PREFIX" --disable-wispr --disable-client LIBS=-lncurses
diff --git a/strata/connectivity/wpa_supplicant.morph b/strata/connectivity/wpa_supplicant.morph
new file mode 100644
index 00000000..86a51608
--- /dev/null
+++ b/strata/connectivity/wpa_supplicant.morph
@@ -0,0 +1,8 @@
+name: wpa_supplicant
+kind: chunk
+configure-commands:
+- sed -i 's/^CONFIG_READLINE=y$//' wpa_supplicant/.config
+build-commands:
+- make -C wpa_supplicant
+install-commands:
+- make -C wpa_supplicant DESTDIR="$DESTDIR" install
diff --git a/core.morph b/strata/core.morph
index 051ce0b4..cf53323b 100644
--- a/core.morph
+++ b/strata/core.morph
@@ -3,7 +3,7 @@ kind: stratum
description: Core components of a Baserock base system that are build tools required
for the BSP and Foundation strata, but a step above build-essential
build-depends:
-- morph: build-essential
+- morph: strata/build-essential.morph
products:
- artifact: core-openssl
include:
@@ -15,53 +15,63 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: cmake
+ morph: strata/core/cmake.morph
repo: upstream:cmake
ref: 99c4f0a49237633372f218a44e3503e0a2bddae6
unpetrify-ref: baserock/morph
build-depends: []
- name: gdbm
+ morph: strata/core/gdbm.morph
repo: upstream:gdbm
ref: 51871d08a48ff781186f7a7b22ec69a1db38eb4c
unpetrify-ref: baserock/build-essential
build-depends: []
- name: gettext
+ morph: strata/core/gettext.morph
repo: upstream:gettext
ref: 3898e324f07c05404b63d71f0e519f352fb1e072
unpetrify-ref: baserock/build-essential
build-depends: []
- name: m4
+ morph: strata/core/m4.morph
repo: upstream:m4
ref: d533342af991401d865de9b037ac03cdc9bd852e
unpetrify-ref: baserock/build-essential
build-depends: []
- name: mini-utils
+ morph: strata/core/mini-utils.morph
repo: baserock:baserock/mini-utils
ref: 5293265b29bbf468ab9d7f3302b19dbc81d0f8b8
unpetrify-ref: master
build-depends: []
- name: ncurses
+ morph: strata/core/ncurses.morph
repo: upstream:ncurses
ref: 0fe89dc66ec061b839bea3ab451207e2dee757b9
unpetrify-ref: baserock/morph
build-depends: []
- name: perl
+ morph: strata/core/perl.morph
repo: upstream:perl
ref: 78f9a3c880f11578fb9ff9c7d5f7e34b602d2ad1
unpetrify-ref: baserock/morph
build-depends:
- gdbm
- name: pkg-config
+ morph: strata/core/pkg-config.morph
repo: upstream:pkg-config
ref: 67a702a15cf88e270539484929ffa1f42b90c728
unpetrify-ref: baserock/build-essential
build-depends: []
- name: texinfo-tarball
+ morph: strata/core/texinfo-tarball.morph
repo: upstream:texinfo-tarball
ref: 4843a7f5ff14ac802a56f1cdd49960b25c15702b
unpetrify-ref: baserock/morph
build-depends:
- ncurses
- name: autoconf
+ morph: strata/core/autoconf.morph
repo: upstream:autoconf
ref: cffdb90be331111ce3fbe4a32320181ec2b92652
unpetrify-ref: baserock/build-essential
@@ -69,6 +79,7 @@ chunks:
- m4
- perl
- name: automake
+ morph: strata/core/automake.morph
repo: upstream:automake
ref: 5ac84ae6760252fc60b144a7b4deb41694f95fe7
unpetrify-ref: baserock/morph
@@ -77,6 +88,7 @@ chunks:
- perl
- texinfo-tarball
- name: bash
+ morph: strata/core/bash.morph
repo: upstream:bash
ref: 783c677f45354b0d6df70e552217ecad8481804f
unpetrify-ref: baserock/morph
@@ -88,23 +100,32 @@ chunks:
build-depends:
- perl
- name: flex
+ morph: strata/core/flex.morph
repo: upstream:flex
ref: de10f98e8a2dc2a021796811490d0f30c3cd90bf
unpetrify-ref: baserock/build-essential
build-depends:
- m4
- name: openssl-new
+ morph: strata/core/openssl-new.morph
repo: upstream:openssl-new
ref: ed9938171f80c7534f6eb52f75c2538bca462807
unpetrify-ref: baserock/OpenSSL_1_0_1g
build-depends:
- perl
- name: bzip2
+ morph: strata/core/bzip2.morph
repo: upstream:bzip2
ref: 8deafa68e52b230018c0318dc7959ff9af3ad2a5
unpetrify-ref: baserock/morph
build-depends: []
+- name: readline
+ repo: upstream:readline
+ ref: 518937ab89be812ccd45e9b8c1ce4ad721d35ef6
+ unpetrify-ref: baserock/genivi/baseline
+ build-depends: []
- name: cpython
+ morph: strata/core/cpython.morph
repo: upstream:cpython
ref: fa86445bfd4fb8e5441d685d92bf8a8ee237f022
unpetrify-ref: baserock/morph-2.7
@@ -112,7 +133,10 @@ chunks:
- openssl-new
- bzip2
- sqlite3
+ - ncurses
+ - readline
- name: libtool
+ morph: strata/core/libtool.morph
repo: upstream:libtool
ref: d388b7f2dc628b22006025d01179bc09b8aabe81
unpetrify-ref: baserock/build-essential
@@ -127,6 +151,7 @@ chunks:
- automake
- libtool
- name: xz
+ morph: strata/core/xz.morph
repo: upstream:xz
ref: 581deedf9d1eadcd84c4fcd23b9fdfe2dde18cc2
unpetrify-ref: baserock/morph
@@ -146,6 +171,7 @@ chunks:
- libtool
- xz
- name: curl
+ morph: strata/core/curl.morph
repo: upstream:curl
ref: 3c835adc9fe20f7b34df3f0abd4db6ff8b75bc3b
unpetrify-ref: baserock/morph
@@ -155,6 +181,7 @@ chunks:
- libtool
- openssl-new
- name: libexpat
+ morph: strata/core/libexpat.morph
repo: upstream:libexpat
ref: 97678ab13f6d29878997256b6ae1ded679ae5c5c
unpetrify-ref: baserock/morph
@@ -171,6 +198,7 @@ chunks:
- libxml2
- perl
- name: git
+ morph: strata/core/git.morph
repo: upstream:git
ref: 43efcf42382e87de4aa423e5e1607958ad1717d0
unpetrify-ref: baserock/morph
@@ -183,6 +211,7 @@ chunks:
- libexpat
- openssl-new
- name: bison
+ morph: strata/core/bison.morph
repo: upstream:bison
ref: 6729ad1c314b179225325dcc1bc684077a71f859
unpetrify-ref: baserock/morph
@@ -195,6 +224,7 @@ chunks:
- git
- mini-utils
- name: gperf
+ morph: strata/core/gperf.morph
repo: upstream:gperf
ref: 5094e4a539adf845111013f82c2c4fcaec637983
unpetrify-ref: baserock/morph
@@ -209,6 +239,7 @@ chunks:
- automake
- perl
- name: util-linux
+ morph: strata/core/util-linux.morph
repo: upstream:util-linux
ref: c5c1033c5c7deda8abe3448ec81bbb33c72219e0
unpetrify-ref: baserock/morph
@@ -233,18 +264,21 @@ chunks:
- flex
- texinfo-tarball
- name: python-setuptools
+ morph: strata/core/python-setuptools.morph
repo: upstream:python-setuptools
ref: 05b07a427a1eae2a51d527f7ac5135a8fd215d77
unpetrify-ref: baserock/morph
build-depends:
- cpython
- name: pyyaml
+ morph: strata/core/pyyaml.morph
repo: upstream:pyyaml
ref: d9fbcceaed39d955f6871b07c61dc42f824285c1
unpetrify-ref: baserock/morph
build-depends:
- python-setuptools
- name: shadow
+ morph: strata/core/shadow.morph
repo: upstream:shadow
ref: 4f5000a45963c2cc2a403ad23e459f20296b29c2
unpetrify-ref: baserock/4.2
diff --git a/strata/core/autoconf.morph b/strata/core/autoconf.morph
new file mode 100644
index 00000000..046bfc40
--- /dev/null
+++ b/strata/core/autoconf.morph
@@ -0,0 +1,5 @@
+name: autoconf
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/strata/core/automake.morph b/strata/core/automake.morph
new file mode 100644
index 00000000..616eeddf
--- /dev/null
+++ b/strata/core/automake.morph
@@ -0,0 +1,8 @@
+name: automake
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./bootstrap
+- ./configure --prefix="$PREFIX"
+build-commands:
+- unset DESTDIR; make
diff --git a/strata/core/bash.morph b/strata/core/bash.morph
new file mode 100644
index 00000000..9639593b
--- /dev/null
+++ b/strata/core/bash.morph
@@ -0,0 +1,8 @@
+name: bash
+kind: chunk
+configure-commands:
+- ./configure --prefix=/usr --bindir=/bin --without-bash-malloc --with-installed-readline
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/core/bison.morph b/strata/core/bison.morph
new file mode 100644
index 00000000..d6b3b148
--- /dev/null
+++ b/strata/core/bison.morph
@@ -0,0 +1,9 @@
+name: bison
+kind: chunk
+configure-commands:
+- bash bootstrap --skip-po
+- ./configure --prefix=/usr --disable-nls
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/core/bzip2.morph b/strata/core/bzip2.morph
new file mode 100644
index 00000000..f4bdb794
--- /dev/null
+++ b/strata/core/bzip2.morph
@@ -0,0 +1,10 @@
+name: bzip2
+kind: chunk
+configure-commands:
+- sed -i -rf bzip2.morph-makefix.sed Makefile
+build-commands:
+- make -f Makefile-libbz2_so
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" PREFIX="$PREFIX" install
+- install libbz2.so* "$DESTDIR$PREFIX/lib"
diff --git a/strata/core/cmake.morph b/strata/core/cmake.morph
new file mode 100644
index 00000000..1d310ef4
--- /dev/null
+++ b/strata/core/cmake.morph
@@ -0,0 +1,8 @@
+name: cmake
+kind: chunk
+configure-commands:
+- ./bootstrap --prefix="$PREFIX" --docdir=/share/doc/cmake --mandir=/share/man
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/core/cpython.morph b/strata/core/cpython.morph
new file mode 100644
index 00000000..6c9e4b3d
--- /dev/null
+++ b/strata/core/cpython.morph
@@ -0,0 +1,7 @@
+name: cpython
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --enable-shared
+post-install-commands:
+- test -x "$DESTDIR"/"$PREFIX"/bin/python2 || ln -s python2.7 "$DESTDIR"/"$PREFIX"/bin/python2
diff --git a/strata/core/curl.morph b/strata/core/curl.morph
new file mode 100644
index 00000000..e245688c
--- /dev/null
+++ b/strata/core/curl.morph
@@ -0,0 +1,9 @@
+name: curl
+kind: chunk
+configure-commands:
+- ./buildconf
+- ./configure --disable-manual --prefix="$PREFIX"
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/core/flex.morph b/strata/core/flex.morph
new file mode 100644
index 00000000..7ca8f538
--- /dev/null
+++ b/strata/core/flex.morph
@@ -0,0 +1,12 @@
+name: flex
+kind: chunk
+configure-commands:
+- ./configure --prefix="$PREFIX"
+build-commands:
+- make dist_doc_DATA=
+install-commands:
+- make dist_doc_DATA= DESTDIR="$DESTDIR" install
+- ln -s libfl.a "$DESTDIR$PREFIX/lib/libl.a"
+- echo "#!$PREFIX/bin/sh" >"$DESTDIR$PREFIX/bin/lex"
+- echo 'exec '"$PREFIX"'/bin/flex -l "$@"' >>"$DESTDIR$PREFIX/bin/lex"
+- chmod 755 "$DESTDIR$PREFIX/bin/lex"
diff --git a/strata/core/gdbm.morph b/strata/core/gdbm.morph
new file mode 100644
index 00000000..6bec33e0
--- /dev/null
+++ b/strata/core/gdbm.morph
@@ -0,0 +1,8 @@
+name: gdbm
+kind: chunk
+configure-commands:
+- ./configure --prefix="$PREFIX" --enable-libgdbm-compat --disable-nls
+build-commands:
+- make MANS= INFO_DEPS=
+install-commands:
+- make MANS= INFO_DEPS= DESTDIR="$DESTDIR" install
diff --git a/strata/core/gettext.morph b/strata/core/gettext.morph
new file mode 100644
index 00000000..3e2c56b5
--- /dev/null
+++ b/strata/core/gettext.morph
@@ -0,0 +1,9 @@
+name: gettext
+kind: chunk
+max-jobs: 1
+configure-commands:
+- ./configure --prefix=/usr
+build-commands:
+- make EXAMPLESPOFILES=
+install-commands:
+- make EXAMPLESPOFILES= DESTDIR="$DESTDIR" install
diff --git a/strata/core/git.morph b/strata/core/git.morph
new file mode 100644
index 00000000..62932b0d
--- /dev/null
+++ b/strata/core/git.morph
@@ -0,0 +1,6 @@
+name: git
+kind: chunk
+build-commands:
+- make prefix=${PREFIX-/usr} all PYTHON_PATH=${PREFIX-/usr}/bin/python NO_TCLTK=YesPlease
+install-commands:
+- make prefix=${PREFIX-/usr} install
diff --git a/strata/core/gperf.morph b/strata/core/gperf.morph
new file mode 100644
index 00000000..e4f598c5
--- /dev/null
+++ b/strata/core/gperf.morph
@@ -0,0 +1,3 @@
+name: gperf
+kind: chunk
+build-system: autotools
diff --git a/strata/core/libexpat.morph b/strata/core/libexpat.morph
new file mode 100644
index 00000000..1e0fe696
--- /dev/null
+++ b/strata/core/libexpat.morph
@@ -0,0 +1,9 @@
+name: libexpat
+kind: chunk
+configure-commands:
+- autoreconf -i
+- ./configure --prefix="${PREFIX-/usr}"
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/core/libtool.morph b/strata/core/libtool.morph
new file mode 100644
index 00000000..f311281d
--- /dev/null
+++ b/strata/core/libtool.morph
@@ -0,0 +1,6 @@
+name: libtool
+kind: chunk
+max-jobs: 1
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/strata/core/m4.morph b/strata/core/m4.morph
new file mode 100644
index 00000000..b76afbe4
--- /dev/null
+++ b/strata/core/m4.morph
@@ -0,0 +1,5 @@
+name: m4
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-nls
diff --git a/strata/core/mini-utils.morph b/strata/core/mini-utils.morph
new file mode 100644
index 00000000..dc915b30
--- /dev/null
+++ b/strata/core/mini-utils.morph
@@ -0,0 +1,6 @@
+name: mini-utils
+kind: chunk
+build-system: autotools
+configure-commands: []
+install-commands:
+- make PREFIX="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/strata/core/ncurses.morph b/strata/core/ncurses.morph
new file mode 100644
index 00000000..c75495bc
--- /dev/null
+++ b/strata/core/ncurses.morph
@@ -0,0 +1,9 @@
+name: ncurses
+kind: chunk
+configure-commands:
+- LDCONFIG=true ./configure --with-shared --without-debug --enable-widec
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- sh ncurses-morph-postinstall.sh
diff --git a/strata/core/openssl-new.morph b/strata/core/openssl-new.morph
new file mode 100644
index 00000000..2ed14ff2
--- /dev/null
+++ b/strata/core/openssl-new.morph
@@ -0,0 +1,15 @@
+name: openssl-new
+kind: chunk
+max-jobs: 1
+configure-commands:
+- sed -i -e 's,^LIBNAMES=\\(.*\\) padlock \\(.*\\),LIBNAMES=\\1 \\2,g' engines/Makefile
+- |
+ if [ "$(uname -m)" = "ppc64" ]; then
+ sh ./Configure linux-ppc64 --openssldir=/etc/ssl --prefix="${PREFIX-/usr}" --libdir=lib shared
+ else
+ ./config --openssldir=/etc/ssl --prefix="${PREFIX-/usr}" --libdir=lib shared
+ fi
+build-commands:
+- make
+install-commands:
+- make INSTALL_PREFIX="$DESTDIR" install_sw
diff --git a/strata/core/perl.morph b/strata/core/perl.morph
new file mode 100644
index 00000000..ce086aa7
--- /dev/null
+++ b/strata/core/perl.morph
@@ -0,0 +1,16 @@
+name: perl
+kind: chunk
+max-jobs: 1
+configure-commands:
+- sh Configure -des -Dprefix="$PREFIX" -Darchlib="$PREFIX/lib/perl" -Dprivlib="$PREFIX/share/perl"
+ -Dbin="$PREFIX/bin" -Dscriptdir="$PREFIX/bin" -Dman1dir="$PREFIX/share/man/man1"
+ -Dman3dir="$PREFIX/share/man/man3" -Dsiteprefix="$PREFIX" -Dsitearch="$PREFIX/lib/perl"
+ -Dsitelib="$PREFIX/share/perl" -Dsitebin="$PREFIX/bin" -Dsitescript="$PREFIX/bin"
+ -Dsiteman1dir="$PREFIX/share/man/man1" -Dsiteman3dir="$PREFIX/share/man/man3" -Dvendorprefix="$PREFIX"
+ -Dvendorarch="$PREFIX/lib/perl" -Dvendorlib="$PREFIX/share/perl" -Dvendorbin="$PREFIX/bin"
+ -Dvendorscript="$PREFIX/bin" -Dvendorman1dir="$PREFIX/share/man/man1" -Dvendorman3dir="$PREFIX/share/man/man3"
+ -Dpager="$PREFIX/bin/less -isR" -Duseshrplib
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/core/pkg-config.morph b/strata/core/pkg-config.morph
new file mode 100644
index 00000000..090a65e5
--- /dev/null
+++ b/strata/core/pkg-config.morph
@@ -0,0 +1,5 @@
+name: pkg-config
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --with-internal-glib
diff --git a/strata/core/python-setuptools.morph b/strata/core/python-setuptools.morph
new file mode 100644
index 00000000..fa436c60
--- /dev/null
+++ b/strata/core/python-setuptools.morph
@@ -0,0 +1,6 @@
+name: python-setuptools
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix=/usr --root "$DESTDIR"
diff --git a/strata/core/pyyaml.morph b/strata/core/pyyaml.morph
new file mode 100644
index 00000000..8ebd7b57
--- /dev/null
+++ b/strata/core/pyyaml.morph
@@ -0,0 +1,6 @@
+name: pyyaml
+kind: chunk
+build-commands:
+- python setup.py --without-libyaml build
+install-commands:
+- python setup.py --without-libyaml install --prefix="$PREFIX" --root "$DESTDIR"
diff --git a/strata/core/shadow.morph b/strata/core/shadow.morph
new file mode 100644
index 00000000..6887a6b3
--- /dev/null
+++ b/strata/core/shadow.morph
@@ -0,0 +1,5 @@
+name: shadow
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --with-selinux=no --sysconfdir=/etc
diff --git a/strata/core/texinfo-tarball.morph b/strata/core/texinfo-tarball.morph
new file mode 100644
index 00000000..5f784ba2
--- /dev/null
+++ b/strata/core/texinfo-tarball.morph
@@ -0,0 +1,9 @@
+name: texinfo-tarball
+kind: chunk
+configure-commands:
+- ./configure --prefix="$PREFIX"
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- make DESTDIR="$DESTDIR" TEXMF="$PREFIX/share/texmf" install-tex
diff --git a/strata/core/util-linux.morph b/strata/core/util-linux.morph
new file mode 100644
index 00000000..22f19529
--- /dev/null
+++ b/strata/core/util-linux.morph
@@ -0,0 +1,6 @@
+name: util-linux
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --prefix="$PREFIX" --disable-use-tty-group
diff --git a/strata/core/xz.morph b/strata/core/xz.morph
new file mode 100644
index 00000000..8165abdc
--- /dev/null
+++ b/strata/core/xz.morph
@@ -0,0 +1,3 @@
+name: xz
+kind: chunk
+build-system: autotools
diff --git a/cross-bootstrap.morph b/strata/cross-bootstrap.morph
index eb5374fd..41d70ed2 100644
--- a/cross-bootstrap.morph
+++ b/strata/cross-bootstrap.morph
@@ -2,7 +2,7 @@ name: cross-bootstrap
kind: stratum
description: The minimal development tools to build a baserock devel system
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: six
repo: upstream:six
@@ -10,22 +10,26 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: groff
+ morph: strata/cross-bootstrap/groff.morph
repo: upstream:groff
ref: c7017a099f954bb6de60e79c876935b1bf438b9a
unpetrify-ref: baserock/morph
build-depends: []
- name: openssh
+ morph: strata/cross-bootstrap/openssh.morph
repo: upstream:openssh
ref: 233514106dcde5ac61a70f1043de563122e2f1c9
unpetrify-ref: baserock/morph
build-depends:
- groff
- name: python-ttystatus
+ morph: strata/cross-bootstrap/python-ttystatus.morph
repo: upstream:python-ttystatus
ref: 47d871216cea6ce3b9d6efd70e9a0f38ab8604f0
unpetrify-ref: baserock/morph
build-depends: []
- name: python-coveragepy
+ morph: strata/cross-bootstrap/python-coveragepy.morph
repo: upstream:python-coveragepy
ref: 77d2e3bfd8fb325092aaed37ba1378054d182d19
unpetrify-ref: baserock/morph
@@ -48,6 +52,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: cmdtest
+ morph: strata/cross-bootstrap/cmdtest.morph
repo: upstream:cmdtest
ref: 62fa7e08f76a5b6bb8410add49c40656b3e73acd
unpetrify-ref: baserock/morph
@@ -61,6 +66,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: pyfilesystem
+ morph: strata/cross-bootstrap/pyfilesystem.morph
repo: upstream:pyfilesystem
ref: 821f7db1ce3a3e1ac53fa514ddacbc2871eac0f6
unpetrify-ref: baserock/morph
@@ -68,7 +74,7 @@ chunks:
- six
- name: morph
repo: baserock:baserock/morph
- ref: 170d81eba0568856401f57ce655ad9881b802d21
+ ref: c1c331e7c545c7a2f0545d3b1ef9751c9571d357
unpetrify-ref: master
build-depends:
- cliapp
@@ -76,6 +82,7 @@ chunks:
- python-coverage-test-runner
- pyfilesystem
- name: rsync
+ morph: strata/cross-bootstrap/rsync.morph
repo: upstream:rsync
ref: 9faf8e0ccff2755cd019ff64d8322226a214b013
unpetrify-ref: baserock/morph
diff --git a/strata/cross-bootstrap/cmdtest.morph b/strata/cross-bootstrap/cmdtest.morph
new file mode 100644
index 00000000..3e1c71c6
--- /dev/null
+++ b/strata/cross-bootstrap/cmdtest.morph
@@ -0,0 +1,6 @@
+name: cmdtest
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix=/usr --root "$DESTDIR"
diff --git a/strata/cross-bootstrap/groff.morph b/strata/cross-bootstrap/groff.morph
new file mode 100644
index 00000000..fed35b7d
--- /dev/null
+++ b/strata/cross-bootstrap/groff.morph
@@ -0,0 +1,11 @@
+name: groff
+kind: chunk
+max-jobs: 1
+configure-commands:
+- PAGE=A4 ./configure --prefix="$PREFIX"
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- ln -s eqn "$DESTDIR$PREFIX/bin/geqn"
+- ln -s tbl "$DESTDIR$PREFIX/bin/gtbl"
diff --git a/strata/cross-bootstrap/openssh.morph b/strata/cross-bootstrap/openssh.morph
new file mode 100644
index 00000000..6c759cb0
--- /dev/null
+++ b/strata/cross-bootstrap/openssh.morph
@@ -0,0 +1,28 @@
+name: openssh
+kind: chunk
+configure-commands:
+- autoreconf -if
+- |
+ OPENSSL_SEEDS_ITSELF=yes ./configure \
+ --prefix="$PREFIX" --sysconfdir=/etc/ssh \
+ --datadir="$PREFIX/share/sshd" \
+ --libexecdir="$PREFIX/lib/openssh" \
+ --with-privsep-path=/var/lib/sshd
+build-commands:
+- make
+- |
+ sed -e "s|@prefix@|$PREFIX|g" \
+ -e 's|@STARTUP_SCRIPT_SHELL@|/bin/sh|g' \
+ -e 's|@sysconfdir@|/etc/ssh|g' \
+ -e 's|@COMMENT_OUT_ECC@||g' \
+ sshd-keygen.in >sshd-keygen
+- sed -e "s|@prefix@|$PREFIX|g" opensshd.service.in >opensshd.service
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR/$PREFIX/sbin"
+- chmod go= "$DESTDIR"/var/lib/sshd
+- install -m 744 sshd-keygen "$DESTDIR/$PREFIX/sbin/sshd-keygen"
+- install -m 755 contrib/ssh-copy-id "$DESTDIR/$PREFIX/bin/ssh-copy-id"
+- mkdir -p "$DESTDIR/lib/systemd/system/multi-user.target.wants"
+- install -m 644 opensshd.service "$DESTDIR/lib/systemd/system/opensshd.service"
+- ln -s ../opensshd.service "$DESTDIR/lib/systemd/system/multi-user.target.wants/opensshd.service"
diff --git a/strata/cross-bootstrap/pyfilesystem.morph b/strata/cross-bootstrap/pyfilesystem.morph
new file mode 100644
index 00000000..a4931dfa
--- /dev/null
+++ b/strata/cross-bootstrap/pyfilesystem.morph
@@ -0,0 +1,6 @@
+name: pyfilesystem
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix="$PREFIX" --root "$DESTDIR"
diff --git a/strata/cross-bootstrap/python-coveragepy.morph b/strata/cross-bootstrap/python-coveragepy.morph
new file mode 100644
index 00000000..ed5e3d87
--- /dev/null
+++ b/strata/cross-bootstrap/python-coveragepy.morph
@@ -0,0 +1,6 @@
+name: python-coveragepy
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix=/usr --root "$DESTDIR"
diff --git a/strata/cross-bootstrap/python-ttystatus.morph b/strata/cross-bootstrap/python-ttystatus.morph
new file mode 100644
index 00000000..e45ef7a8
--- /dev/null
+++ b/strata/cross-bootstrap/python-ttystatus.morph
@@ -0,0 +1,6 @@
+name: python-ttystatus
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix=/usr --root "$DESTDIR"
diff --git a/strata/cross-bootstrap/rsync.morph b/strata/cross-bootstrap/rsync.morph
new file mode 100644
index 00000000..9a92878d
--- /dev/null
+++ b/strata/cross-bootstrap/rsync.morph
@@ -0,0 +1,6 @@
+name: rsync
+kind: chunk
+build-system: autotools
+build-commands:
+- make proto
+- make
diff --git a/cross-tools.morph b/strata/cross-tools.morph
index 2fb4d59d..c3e35e6d 100644
--- a/cross-tools.morph
+++ b/strata/cross-tools.morph
@@ -2,7 +2,7 @@ name: cross-tools
kind: stratum
description: Tools used together with cross compilers
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: patchelf
repo: upstream:patchelf
diff --git a/cxmanage.morph b/strata/cxmanage.morph
index b8c0ad07..057558b8 100644
--- a/cxmanage.morph
+++ b/strata/cxmanage.morph
@@ -2,7 +2,7 @@ name: cxmanage
kind: stratum
description: All the tools for calxeda management
build-depends:
-- morph: tools
+- morph: strata/tools.morph
chunks:
- name: ipmitool
repo: upstream:ipmitool
@@ -10,6 +10,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: pexpect
+ morph: strata/cxmanage/pexpect.morph
repo: upstream:pexpect
ref: 7a8455f21bb45020f3594c59fc8c85cf738e147c
unpetrify-ref: baserock/morph
diff --git a/strata/cxmanage/pexpect.morph b/strata/cxmanage/pexpect.morph
new file mode 100644
index 00000000..09254350
--- /dev/null
+++ b/strata/cxmanage/pexpect.morph
@@ -0,0 +1,10 @@
+name: pexpect
+kind: chunk
+description: |
+ Pexpect is a pure Python module that accomplishes behaviour similar to Expect
+configure-commands:
+- cd pexpect && make
+build-commands:
+- cd pexpect && python setup.py build
+install-commands:
+- cd pexpect && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/databases.morph b/strata/databases.morph
index c824b9b1..cb09c5a3 100644
--- a/databases.morph
+++ b/strata/databases.morph
@@ -2,21 +2,16 @@ name: databases
kind: stratum
description: some popular databases
build-depends:
-- morph: tools
-- morph: nfs
+- morph: strata/tools.morph
+- morph: strata/nfs.morph
chunks:
-- name: readline
- repo: upstream:readline
- ref: 7628b745a813aac53586b640da056a975f1c443e
- unpetrify-ref: readline-6.3
- build-depends: []
- name: postgresql
repo: upstream:postgresql
ref: d4f8dde3c1c2c90c723ab550e7f449fc75599316
unpetrify-ref: REL9_3_4
- build-depends:
- - readline
+ build-depends: []
- name: redis
+ morph: strata/databases/redis.morph
repo: upstream:redis
ref: 9ee59fca9c5c429185d35779c2d5db64005091b0
unpetrify-ref: baserock/3.0
diff --git a/strata/databases/redis.morph b/strata/databases/redis.morph
new file mode 100644
index 00000000..51f602dd
--- /dev/null
+++ b/strata/databases/redis.morph
@@ -0,0 +1,6 @@
+name: redis
+kind: chunk
+build-commands:
+- make
+install-commands:
+- make PREFIX="$DESTDIR/$PREFIX" install
diff --git a/distbuild.morph b/strata/distbuild.morph
index 9a2d1087..36306d9c 100644
--- a/distbuild.morph
+++ b/strata/distbuild.morph
@@ -2,9 +2,9 @@ name: distbuild
kind: stratum
description: Morph distributed build software
build-depends:
-- morph: foundation
-- morph: core
-- morph: tools
+- morph: strata/foundation.morph
+- morph: strata/core.morph
+- morph: strata/tools.morph
chunks:
- name: bottle
repo: upstream:bottle
diff --git a/enlightenment.morph b/strata/enlightenment.morph
index 752dd68d..95b42a6b 100644
--- a/enlightenment.morph
+++ b/strata/enlightenment.morph
@@ -2,31 +2,35 @@ name: enlightenment
kind: stratum
description: Enlightenment Desktop and Window Manager
build-depends:
-- morph: tools
-- morph: x-generic
-- morph: lua
-- morph: audio-bluetooth
-- morph: multimedia-gstreamer-0.10
-- morph: connectivity
+- morph: strata/tools.morph
+- morph: strata/x-generic.morph
+- morph: strata/lua.morph
+- morph: strata/audio-bluetooth.morph
+- morph: strata/multimedia-gstreamer-0.10.morph
+- morph: strata/connectivity.morph
chunks:
- name: efl
+ morph: strata/enlightenment/efl.morph
repo: upstream:enlightenment/efl
ref: 8f9b565e79552f09a39507ce802786b1fe773d2d
unpetrify-ref: baserock/morph
build-depends: []
- name: elementary
+ morph: strata/enlightenment/elementary.morph
repo: upstream:enlightenment/elementary
ref: e4c97ddffea9c91a291e1a6a7c6ebd1bbf47629a
unpetrify-ref: baserock/morph
build-depends:
- efl
- name: evas_generic_loaders
+ morph: strata/enlightenment/evas_generic_loaders.morph
repo: upstream:enlightenment/evas_generic_loaders
ref: ddbdaa35201f4ef64f1a3f3b067a99e84c14565a
unpetrify-ref: baserock/morph
build-depends:
- efl
- name: enlightenment
+ morph: strata/enlightenment/enlightenment.morph
repo: upstream:enlightenment/enlightenment
ref: 041b8d14a22f9e4c7f34abe8b0f9a3a1f5933146
unpetrify-ref: baserock/morph
@@ -34,6 +38,7 @@ chunks:
- efl
- elementary
- name: imlib2
+ morph: strata/enlightenment/imlib2.morph
repo: upstream:enlightenment/imlib2
ref: 6d02661a4c57771888304960ce62d4fdf587be8f
unpetrify-ref: baserock/morph
@@ -42,6 +47,7 @@ chunks:
- elementary
- enlightenment
- name: libast
+ morph: strata/enlightenment/libast.morph
repo: upstream:enlightenment/libast
ref: 0dbc0a5df55474bf61ca166be40e8de2d9e3a031
unpetrify-ref: baserock/morph
@@ -51,6 +57,7 @@ chunks:
- enlightenment
- imlib2
- name: eterm
+ morph: strata/enlightenment/eterm.morph
repo: upstream:enlightenment/eterm
ref: 097234f1f27709ff2444e303350764ea3b80b3ad
unpetrify-ref: baserock/morph
diff --git a/strata/enlightenment/efl.morph b/strata/enlightenment/efl.morph
new file mode 100644
index 00000000..ca1c0b57
--- /dev/null
+++ b/strata/enlightenment/efl.morph
@@ -0,0 +1,10 @@
+name: efl
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr --with-tests=none --disable-fribidi --disable-image-loader-gif
+ --disable-image-loader-tiff --disable-pulseaudio --disable-gstreamer --disable-audio
+ --disable-physics
+build-commands:
+- make VPATH=/usr/lib64
+install-commands:
+- make DESTDIR="$DESTDIR" VPATH=/usr/lib64 install
diff --git a/strata/enlightenment/elementary.morph b/strata/enlightenment/elementary.morph
new file mode 100644
index 00000000..3c0bda0d
--- /dev/null
+++ b/strata/enlightenment/elementary.morph
@@ -0,0 +1,8 @@
+name: elementary
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/enlightenment/enlightenment.morph b/strata/enlightenment/enlightenment.morph
new file mode 100644
index 00000000..90f0c646
--- /dev/null
+++ b/strata/enlightenment/enlightenment.morph
@@ -0,0 +1,8 @@
+name: enlightenment
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/enlightenment/eterm.morph b/strata/enlightenment/eterm.morph
new file mode 100644
index 00000000..9a98d193
--- /dev/null
+++ b/strata/enlightenment/eterm.morph
@@ -0,0 +1,8 @@
+name: eterm
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/enlightenment/evas_generic_loaders.morph b/strata/enlightenment/evas_generic_loaders.morph
new file mode 100644
index 00000000..ef36a40b
--- /dev/null
+++ b/strata/enlightenment/evas_generic_loaders.morph
@@ -0,0 +1,8 @@
+name: evas_generic_loaders
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/enlightenment/imlib2.morph b/strata/enlightenment/imlib2.morph
new file mode 100644
index 00000000..82617ad2
--- /dev/null
+++ b/strata/enlightenment/imlib2.morph
@@ -0,0 +1,8 @@
+name: imlib2
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/enlightenment/libast.morph b/strata/enlightenment/libast.morph
new file mode 100644
index 00000000..c44e274c
--- /dev/null
+++ b/strata/enlightenment/libast.morph
@@ -0,0 +1,8 @@
+name: libast
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/erlang.morph b/strata/erlang.morph
index bf553eb9..05a8e090 100644
--- a/erlang.morph
+++ b/strata/erlang.morph
@@ -2,9 +2,10 @@ name: erlang
kind: stratum
description: stratum for erlang/otp and stuff
build-depends:
-- morph: tools
+- morph: strata/tools.morph
chunks:
- name: erlang
+ morph: strata/erlang/erlang.morph
repo: upstream:erlang
ref: d307c9520644d17d5f7597c0154888e2d570b107
unpetrify-ref: baserock/morph
diff --git a/strata/erlang/erlang.morph b/strata/erlang/erlang.morph
new file mode 100644
index 00000000..feaf04f1
--- /dev/null
+++ b/strata/erlang/erlang.morph
@@ -0,0 +1,9 @@
+name: erlang
+kind: chunk
+configure-commands:
+- ./otp_build autoconf
+- ./configure --prefix=$PREFIX
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/foundation.morph b/strata/foundation.morph
index 2392bdac..757b25d4 100644
--- a/foundation.morph
+++ b/strata/foundation.morph
@@ -2,30 +2,35 @@ name: foundation
kind: stratum
description: Basic userland runtime system
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: attr
+ morph: strata/foundation/attr.morph
repo: upstream:attr
- ref: be4a3c1d50981d2cbbe2cfb55498cac51909c37f
+ ref: bf32f1769e9895f8546570f0c841a945c93a5b22
unpetrify-ref: baserock/morph
build-depends: []
- name: groff
+ morph: strata/foundation/groff.morph
repo: upstream:groff
ref: c7017a099f954bb6de60e79c876935b1bf438b9a
unpetrify-ref: baserock/morph
build-depends: []
- name: kmod
+ morph: strata/foundation/kmod.morph
repo: upstream:kmod
ref: 7f3b215d4e848afa74aea20a4c64f0cc1ef30eb4
unpetrify-ref: baserock/morph
build-depends: []
- name: libcap2
+ morph: strata/foundation/libcap2.morph
repo: upstream:libcap2
ref: 4f7cca1bc9c2a274edb39d351b65747010d3ba7b
unpetrify-ref: baserock/morph
build-depends:
- attr
- name: libffi
+ morph: strata/foundation/libffi.morph
repo: upstream:libffi
ref: 77d4586cc47e8f4c02278afbc220145bba0d442b
unpetrify-ref: baserock/morph
@@ -36,6 +41,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: pciutils
+ morph: strata/foundation/pciutils.morph
repo: upstream:pciutils
ref: bae04bd0473c68a2f21b7712a627abb08fd84b29
unpetrify-ref: baserock/morph
@@ -48,23 +54,25 @@ chunks:
- libusbx
- name: glib
repo: upstream:glib
- ref: 980156c4cb4a8c29335de83bbf1ac05a9a1f01a9
- unpetrify-ref: baserock/morph
+ ref: 3f8f040349ae821854bccb2c3535a58b0ee66803
+ unpetrify-ref: baserock/2.40.0
build-depends:
- libffi
- name: gobject-introspection
repo: upstream:gobject-introspection
- ref: 4f14c7dd0906608d4c9b741e0d0ba858e5c530f0
- unpetrify-ref: baserock/1.39.90
+ ref: 6750a92ca83aa301eeac5eb59e918576fe544231
+ unpetrify-ref: baserock/GOBJECT_INTROSPECTION_1_40_0
build-depends:
- glib
- name: dbus-pre
+ morph: strata/foundation/dbus-pre.morph
repo: upstream:dbus
ref: f2e4718bf42f507684949ebf484aa94df42abbbe
unpetrify-ref: baserock/v1.8.0
build-depends:
- glib
- name: systemd
+ morph: strata/foundation/systemd.morph
repo: upstream:systemd
ref: a77af3ec96015b2382ea31020d0a14b482d10a76
unpetrify-ref: baserock/morph
@@ -76,16 +84,19 @@ chunks:
- pciutils
- usbutils
- name: lzo
+ morph: strata/foundation/lzo.morph
repo: upstream:lzo
ref: 2cdfe9375f1145603d002c12be950062ae54da21
unpetrify-ref: baserock/morph
build-depends: []
- name: fuse
+ morph: strata/foundation/fuse.morph
repo: upstream:fuse
ref: 13ee8f62d4aa3360adb6956fb30da0c858928fa2
unpetrify-ref: baserock/genivi/morph
build-depends: []
- name: btrfs-progs
+ morph: strata/foundation/btrfs-progs.morph
repo: upstream:btrfs-progs
ref: 304f215abb836811e6d78e0a3da53d48aa0e7ca7
unpetrify-ref: baserock/morph
@@ -93,6 +104,7 @@ chunks:
- attr
- lzo
- name: dbus
+ morph: strata/foundation/dbus.morph
repo: upstream:dbus
ref: f2e4718bf42f507684949ebf484aa94df42abbbe
unpetrify-ref: baserock/v1.8.0
@@ -100,6 +112,7 @@ chunks:
- glib
- systemd
- name: help2man
+ morph: strata/foundation/help2man.morph
repo: upstream:help2man
ref: 0191a5f61525f8deea2ae8bdfea88190d85b6a71
unpetrify-ref: baserock/morph
@@ -110,19 +123,22 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: openssh
+ morph: strata/foundation/openssh.morph
repo: upstream:openssh
ref: 233514106dcde5ac61a70f1043de563122e2f1c9
unpetrify-ref: baserock/morph
build-depends:
- groff
- name: patch
+ morph: strata/foundation/patch.morph
repo: upstream:patch
ref: 9a16dcb97aac1a26af4372d95bd62b84f3f1264a
unpetrify-ref: baserock/morph
build-depends: []
- name: tbdiff
+ morph: strata/foundation/tbdiff.morph
repo: baserock:baserock/tbdiff
- ref: 6a361a1a174667e2998578e49acd64932eb2c8a1
+ ref: a6c4f3b9a1d7cb509ccce670c7d2ee4048e56525
unpetrify-ref: master
build-depends:
- attr
diff --git a/strata/foundation/attr.morph b/strata/foundation/attr.morph
new file mode 100644
index 00000000..59158a90
--- /dev/null
+++ b/strata/foundation/attr.morph
@@ -0,0 +1,14 @@
+name: attr
+kind: chunk
+description:
+- 'The DESTDIR patch idea comes from: http://pkgs.fedoraproject.org/gitweb/?p=attr.git;a=blob_plain;f=attr-2.4.32-build.patch'
+configure-commands:
+- sed -i -e 's,PKG_\(.*\)_DIR\t= ,PKG_\1_DIR\t= \$(DESTDIR),g' include/builddefs.in
+- sed -i -e 's,\$\$LOCAL_CONFIGURE_OPTIONS,\$(LOCAL_CONFIGURE_OPTIONS),g' Makefile
+- make LOCAL_CONFIGURE_OPTIONS="--prefix=/usr --exec-prefix=/usr --sbindir=/usr/sbin
+ --bindir=/usr/bin --libdir=/usr/lib --libexecdir=/usr/lib --enable-lib64=yes --includedir=/usr/include
+ --mandir=/usr/share/man --datadir=/usr/share" configure
+build-commands:
+- make SHELL=/bin/bash
+install-commands:
+- make SHELL=/bin/bash DESTDIR="$DESTDIR" install-lib install-dev
diff --git a/strata/foundation/btrfs-progs.morph b/strata/foundation/btrfs-progs.morph
new file mode 100644
index 00000000..356c3f06
--- /dev/null
+++ b/strata/foundation/btrfs-progs.morph
@@ -0,0 +1,6 @@
+name: btrfs-progs
+kind: chunk
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" prefix="$PREFIX" install
diff --git a/strata/foundation/dbus-pre.morph b/strata/foundation/dbus-pre.morph
new file mode 100644
index 00000000..3ec008bf
--- /dev/null
+++ b/strata/foundation/dbus-pre.morph
@@ -0,0 +1,10 @@
+name: dbus-pre
+kind: chunk
+build-system: autotools
+configure-commands:
+- sh autogen.sh --no-configure
+- ./configure --prefix="$PREFIX" --localstatedir=/var --sysconfdir=/etc --disable-systemd
+build-commands:
+- make XMLTO_OUTPUT=
+install-commands:
+- make XMLTO_OUTPUT= DESTDIR="$DESTDIR" install
diff --git a/strata/foundation/dbus.morph b/strata/foundation/dbus.morph
new file mode 100644
index 00000000..255d2915
--- /dev/null
+++ b/strata/foundation/dbus.morph
@@ -0,0 +1,10 @@
+name: dbus
+kind: chunk
+build-system: autotools
+configure-commands:
+- sh autogen.sh --no-configure
+- ./configure --prefix="$PREFIX" --localstatedir=/var --sysconfdir=/etc
+build-commands:
+- make XMLTO_OUTPUT=
+install-commands:
+- make XMLTO_OUTPUT= DESTDIR="$DESTDIR" install
diff --git a/strata/foundation/fuse.morph b/strata/foundation/fuse.morph
new file mode 100644
index 00000000..6f7fc170
--- /dev/null
+++ b/strata/foundation/fuse.morph
@@ -0,0 +1,6 @@
+name: fuse
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./makeconf.sh
+- ./configure --prefix="$PREFIX"
diff --git a/strata/foundation/groff.morph b/strata/foundation/groff.morph
new file mode 100644
index 00000000..fed35b7d
--- /dev/null
+++ b/strata/foundation/groff.morph
@@ -0,0 +1,11 @@
+name: groff
+kind: chunk
+max-jobs: 1
+configure-commands:
+- PAGE=A4 ./configure --prefix="$PREFIX"
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- ln -s eqn "$DESTDIR$PREFIX/bin/geqn"
+- ln -s tbl "$DESTDIR$PREFIX/bin/gtbl"
diff --git a/strata/foundation/help2man.morph b/strata/foundation/help2man.morph
new file mode 100644
index 00000000..e25a8d8e
--- /dev/null
+++ b/strata/foundation/help2man.morph
@@ -0,0 +1,9 @@
+name: help2man
+kind: chunk
+configure-commands:
+- autoreconf -i
+- ./configure --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/foundation/kmod.morph b/strata/foundation/kmod.morph
new file mode 100644
index 00000000..12ac8692
--- /dev/null
+++ b/strata/foundation/kmod.morph
@@ -0,0 +1,19 @@
+name: kmod
+kind: chunk
+configure-commands:
+- rm -rf libkmod/docs
+- sed -i -e'/SUBDIRS/{s/\S*doc\S*//;s/\S*man\S*//}' Makefile.am
+- sed -i -e'/AC_CONFIG_FILES(\[/,/])/{/docs/d}' configure.ac
+- autoreconf -fiv
+- ./configure --prefix=/usr --bindir=/bin --libdir=/lib --sysconfdir=/etc --without-xz
+ --with-zlib --disable-manpages
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" pkgconfigdir=/usr/lib/pkgconfig install
+- ln -s kmod "$DESTDIR"/bin/modprobe
+- ln -s kmod "$DESTDIR"/bin/lsmod
+- ln -s kmod "$DESTDIR"/bin/rmmod
+- ln -s kmod "$DESTDIR"/bin/insmod
+- ln -s kmod "$DESTDIR"/bin/modinfo
+- ln -s kmod "$DESTDIR"/bin/depmod
diff --git a/strata/foundation/libcap2.morph b/strata/foundation/libcap2.morph
new file mode 100644
index 00000000..3e4f205e
--- /dev/null
+++ b/strata/foundation/libcap2.morph
@@ -0,0 +1,6 @@
+name: libcap2
+kind: chunk
+build-commands:
+- make prefix="$PREFIX"
+install-commands:
+- make prefix="$PREFIX" DESTDIR="$DESTDIR" RAISE_SETFCAP=no install lib=lib
diff --git a/strata/foundation/libffi.morph b/strata/foundation/libffi.morph
new file mode 100644
index 00000000..174477af
--- /dev/null
+++ b/strata/foundation/libffi.morph
@@ -0,0 +1,8 @@
+name: libffi
+kind: chunk
+build-system: autotools
+install-commands:
+- make DESTDIR="$DESTDIR"/ install
+- mkdir -p "$DESTDIR"/usr/include
+- cp "$TARGET"/include/ffi.h "$DESTDIR"/usr/include/
+- cp "$TARGET"/include/ffitarget.h "$DESTDIR"/usr/include/
diff --git a/strata/foundation/lzo.morph b/strata/foundation/lzo.morph
new file mode 100644
index 00000000..a1a7bbc7
--- /dev/null
+++ b/strata/foundation/lzo.morph
@@ -0,0 +1,5 @@
+name: lzo
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --enable-shared=yes --prefix="$PREFIX"
diff --git a/strata/foundation/openssh.morph b/strata/foundation/openssh.morph
new file mode 100644
index 00000000..6c759cb0
--- /dev/null
+++ b/strata/foundation/openssh.morph
@@ -0,0 +1,28 @@
+name: openssh
+kind: chunk
+configure-commands:
+- autoreconf -if
+- |
+ OPENSSL_SEEDS_ITSELF=yes ./configure \
+ --prefix="$PREFIX" --sysconfdir=/etc/ssh \
+ --datadir="$PREFIX/share/sshd" \
+ --libexecdir="$PREFIX/lib/openssh" \
+ --with-privsep-path=/var/lib/sshd
+build-commands:
+- make
+- |
+ sed -e "s|@prefix@|$PREFIX|g" \
+ -e 's|@STARTUP_SCRIPT_SHELL@|/bin/sh|g' \
+ -e 's|@sysconfdir@|/etc/ssh|g' \
+ -e 's|@COMMENT_OUT_ECC@||g' \
+ sshd-keygen.in >sshd-keygen
+- sed -e "s|@prefix@|$PREFIX|g" opensshd.service.in >opensshd.service
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR/$PREFIX/sbin"
+- chmod go= "$DESTDIR"/var/lib/sshd
+- install -m 744 sshd-keygen "$DESTDIR/$PREFIX/sbin/sshd-keygen"
+- install -m 755 contrib/ssh-copy-id "$DESTDIR/$PREFIX/bin/ssh-copy-id"
+- mkdir -p "$DESTDIR/lib/systemd/system/multi-user.target.wants"
+- install -m 644 opensshd.service "$DESTDIR/lib/systemd/system/opensshd.service"
+- ln -s ../opensshd.service "$DESTDIR/lib/systemd/system/multi-user.target.wants/opensshd.service"
diff --git a/strata/foundation/patch.morph b/strata/foundation/patch.morph
new file mode 100644
index 00000000..65e07e67
--- /dev/null
+++ b/strata/foundation/patch.morph
@@ -0,0 +1,9 @@
+name: patch
+kind: chunk
+configure-commands:
+- bash bootstrap --skip-po
+- ./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin --disable-nls
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/foundation/pciutils.morph b/strata/foundation/pciutils.morph
new file mode 100644
index 00000000..8ca13bad
--- /dev/null
+++ b/strata/foundation/pciutils.morph
@@ -0,0 +1,11 @@
+name: pciutils
+kind: chunk
+configure-commands:
+- make ZLIB=no lib/config.mk
+- echo PREFIX=$PREFIX >>lib/config.mk
+- echo MANDIR=$PREFIX/share/man >>lib/config.mk
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- make DESTDIR="$DESTDIR" install-lib
diff --git a/strata/foundation/systemd.morph b/strata/foundation/systemd.morph
new file mode 100644
index 00000000..2a1933d7
--- /dev/null
+++ b/strata/foundation/systemd.morph
@@ -0,0 +1,21 @@
+name: systemd
+kind: chunk
+max-jobs: 1
+build-system: autotools
+configure-commands:
+- sh autogen.sh
+- ./configure --prefix="$PREFIX" --enable-xz --disable-manpages --sysconfdir=/etc
+ --localstatedir=/var --libdir="$PREFIX/lib" --libexecdir="$PREFIX/libexec" --with-rootprefix=
+ --with-rootlibdir=/lib --with-firmware-path=/lib/firmware/updates:/lib/firmware
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR"/sbin
+- ln -s /lib/systemd/systemd "$DESTDIR"/sbin/init
+- for f in telinit runlevel shutdown poweroff reboot halt; do ln -s /bin/systemctl
+ "$DESTDIR/sbin/$f"; done
+- rm -f "$DESTDIR/etc/udev/rules.d/80-net-name-slot.rules"
+- touch "$DESTDIR/etc/udev/rules.d/80-net-name-slot.rules"
+- sed -e 's|@sushell@|/bin/sh|g' units/debug-shell.service.in >"$DESTDIR/etc/systemd/system/debug-shell.service"
+- sed -r -e '/Options=/s/,?strictatime//' "$DESTDIR/lib/systemd/system/tmp.mount"
+ >"$DESTDIR/etc/systemd/system/tmp.mount"
+- touch "$DESTDIR/etc/machine-id"
diff --git a/strata/foundation/tbdiff.morph b/strata/foundation/tbdiff.morph
new file mode 100644
index 00000000..a907a109
--- /dev/null
+++ b/strata/foundation/tbdiff.morph
@@ -0,0 +1,3 @@
+name: tbdiff
+kind: chunk
+build-system: autotools
diff --git a/genivi-foundation.morph b/strata/genivi-foundation.morph
index fa29487e..0c4c7047 100644
--- a/genivi-foundation.morph
+++ b/strata/genivi-foundation.morph
@@ -2,7 +2,7 @@ name: genivi-foundation
kind: stratum
description: Basic components needed by the GENIVI baseline.
build-depends:
-- morph: foundation
+- morph: strata/foundation.morph
chunks:
- name: dbus-glib
repo: upstream:dbus-glib
@@ -10,6 +10,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: linuxquota
+ morph: strata/genivi-foundation/linuxquota.morph
repo: upstream:linuxquota
ref: 0804c89a16736533e440771dc42a15e5d0223902
unpetrify-ref: baserock/genivi/morph
diff --git a/strata/genivi-foundation/linuxquota.morph b/strata/genivi-foundation/linuxquota.morph
new file mode 100644
index 00000000..826696ad
--- /dev/null
+++ b/strata/genivi-foundation/linuxquota.morph
@@ -0,0 +1,10 @@
+name: linuxquota
+kind: chunk
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX"
+build-commands:
+- make "RPCGEN=rpcgen -Y /usr/bin"
+install-commands:
+- make ROOTDIR="$DESTDIR" install
diff --git a/genivi-wayland-armv7-versatile.morph b/strata/genivi-wayland-armv7-versatile.morph
index 13d08834..b61d861a 100644
--- a/genivi-wayland-armv7-versatile.morph
+++ b/strata/genivi-wayland-armv7-versatile.morph
@@ -2,11 +2,11 @@ name: genivi-wayland-armv7-versatile
kind: stratum
description: Software components designed by genivi, for genivi.
build-depends:
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: genivi
-- morph: wayland-armv7-versatile
+- morph: strata/core.morph
+- morph: strata/foundation.morph
+- morph: strata/genivi-foundation.morph
+- morph: strata/genivi.morph
+- morph: strata/wayland-armv7-versatile.morph
chunks:
- name: layer_management-wayland
repo: upstream:layer_management
diff --git a/genivi-wayland-x86_64-generic.morph b/strata/genivi-wayland-x86_64-generic.morph
index 6ff3aa66..eedbecc2 100644
--- a/genivi-wayland-x86_64-generic.morph
+++ b/strata/genivi-wayland-x86_64-generic.morph
@@ -2,11 +2,11 @@ name: genivi-wayland-x86_64-generic
kind: stratum
description: Software components designed by genivi, for genivi.
build-depends:
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: genivi
-- morph: wayland-x86_64-generic
+- morph: strata/core.morph
+- morph: strata/foundation.morph
+- morph: strata/genivi-foundation.morph
+- morph: strata/genivi.morph
+- morph: strata/wayland-x86_64-generic.morph
chunks:
- name: layer_management-wayland
repo: upstream:layer_management
diff --git a/genivi-x-generic.morph b/strata/genivi-x-generic.morph
index 9ebea3e2..47b912bb 100644
--- a/genivi-x-generic.morph
+++ b/strata/genivi-x-generic.morph
@@ -2,10 +2,11 @@ name: genivi-x-generic
kind: stratum
description: Software components designed by genivi, for genivi.
build-depends:
-- morph: genivi
-- morph: x-generic
+- morph: strata/genivi.morph
+- morph: strata/x-generic.morph
chunks:
- name: layer_management
+ morph: strata/genivi-x-generic/layer_management.morph
repo: upstream:layer_management
ref: 206d6709d0a3b3932a02b30ccacaa02b3eab8493
unpetrify-ref: baserock/genivi/baseline
diff --git a/strata/genivi-x-generic/layer_management.morph b/strata/genivi-x-generic/layer_management.morph
new file mode 100644
index 00000000..f4840604
--- /dev/null
+++ b/strata/genivi-x-generic/layer_management.morph
@@ -0,0 +1,8 @@
+name: layer_management
+kind: chunk
+configure-commands:
+- mkdir -p build && cd build && cmake .. -DWITH_GLESv2_LIB=ON
+build-commands:
+- make -C build
+install-commands:
+- make -C build install
diff --git a/genivi.morph b/strata/genivi.morph
index caf7ff99..b75861ca 100644
--- a/genivi.morph
+++ b/strata/genivi.morph
@@ -2,7 +2,7 @@ name: genivi
kind: stratum
description: Software components designed by genivi, for genivi.
build-depends:
-- morph: genivi-foundation
+- morph: strata/genivi-foundation.morph
chunks:
- name: DLT-daemon
repo: upstream:DLT-daemon
@@ -10,17 +10,20 @@ chunks:
unpetrify-ref: v2.10.0
build-depends: []
- name: node-startup-controller
+ morph: strata/genivi/node-startup-controller.morph
repo: upstream:node-startup-controller
ref: c78fddaddc24a2c49f5ef18896c93403575295ae
unpetrify-ref: baserock/morph
build-depends:
- DLT-daemon
- name: googletest
+ morph: strata/genivi/googletest.morph
repo: upstream:googletest
ref: 5e3f7d3db4c16e2ba8b42b0bf4689f7d2abbcb08
unpetrify-ref: baserock/morph
build-depends: []
- name: googlemock
+ morph: strata/genivi/googlemock.morph
repo: upstream:googlemock
ref: 0e9998c140079046c396a0e7033bb465abae79cd
unpetrify-ref: baserock/morph
@@ -28,19 +31,19 @@ chunks:
- googletest
- name: genivi-common-api-runtime
repo: upstream:genivi-common-api-runtime
- ref: 54e7a90c76bdd0aaf6fa2fecc7628b5aa2c8d56d
- unpetrify-ref: 2.1.4
+ ref: 8a62115bad2c0615fdf40f4e54a41454ae6e4698
+ unpetrify-ref: 2.1.6
build-depends: []
- name: genivi-common-api-dbus-runtime
repo: upstream:genivi-common-api-dbus-runtime
- ref: 16a259c8b78f254ee9157346880ccf19ed8905a7
- unpetrify-ref: 2.1.4
+ ref: 53d9341444ff9a31b9cc551b10fd0b341207937b
+ unpetrify-ref: 2.1.6
build-depends:
- genivi-common-api-runtime
- name: audiomanager
repo: upstream:audiomanager
- ref: f005d28c3bfa2f46128619dddbce954b9d7b928a
- unpetrify-ref: '5.0'
+ ref: 00caae1e41e8891d9a1bafa76028e8119f06fd8a
+ unpetrify-ref: baserock/6.0
build-depends:
- DLT-daemon
- googletest
@@ -48,6 +51,7 @@ chunks:
- genivi-common-api-runtime
- genivi-common-api-dbus-runtime
- name: itzam-tarball
+ morph: strata/genivi/itzam-tarball.morph
repo: upstream:itzam-tarball
ref: 4ebcf671416927b64475da7b810b6016c847bf73
unpetrify-ref: baserock/genivi/baseline
diff --git a/strata/genivi/googlemock.morph b/strata/genivi/googlemock.morph
new file mode 100644
index 00000000..b3eaa952
--- /dev/null
+++ b/strata/genivi/googlemock.morph
@@ -0,0 +1,8 @@
+name: googlemock
+kind: chunk
+build-system: autotools
+configure-commands:
+- mkdir -p gtest/m4
+- ln -s /usr/share/gtest/m4/acx_pthread.m4 gtest/m4/acx_pthread.m4
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX"
diff --git a/strata/genivi/googletest.morph b/strata/genivi/googletest.morph
new file mode 100644
index 00000000..7723c721
--- /dev/null
+++ b/strata/genivi/googletest.morph
@@ -0,0 +1,7 @@
+name: googletest
+kind: chunk
+build-system: autotools
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p $DESTDIR/usr/share/gtest/m4
+- install -m 644 m4/acx_pthread.m4 $DESTDIR/usr/share/gtest/m4
diff --git a/strata/genivi/itzam-tarball.morph b/strata/genivi/itzam-tarball.morph
new file mode 100644
index 00000000..eaf2db61
--- /dev/null
+++ b/strata/genivi/itzam-tarball.morph
@@ -0,0 +1,10 @@
+name: itzam-tarball
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- sed -i 's/GENERIC_LIBRARY_NAME=libitzam/GENERIC_LIBRARY_NAME=itzam/g' configure.ac
+- mkdir m4
+- touch NEWS README AUTHORS ChangeLog
+- autoreconf -ivf
+post-install-commands:
+- install -D -m644 libitzam.pc "$DESTDIR$PREFIX/lib/pkgconfig/libitzam.pc"
diff --git a/strata/genivi/node-startup-controller.morph b/strata/genivi/node-startup-controller.morph
new file mode 100644
index 00000000..d3d6dc77
--- /dev/null
+++ b/strata/genivi/node-startup-controller.morph
@@ -0,0 +1,9 @@
+name: node-startup-controller
+kind: chunk
+configure-commands:
+- sh autogen.sh
+- ./configure --prefix="$PREFIX" --sysconfdir=/etc
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/gitlab.morph b/strata/gitlab.morph
index bc345e1e..0a1c35bb 100644
--- a/gitlab.morph
+++ b/strata/gitlab.morph
@@ -2,19 +2,22 @@ name: gitlab
kind: stratum
description: gitlab components for server, ci etc
build-depends:
-- morph: ruby
+- morph: strata/ruby.morph
chunks:
- name: gitlab-ce
+ morph: strata/gitlab/gitlab-ce.morph
repo: upstream:gitlab/gitlab-ce
ref: 53d98a77d34cbfddaef9eb25cf5f651a78550425
unpetrify-ref: baserock/v7.0.0
build-depends: []
- name: gitlab-ci
+ morph: strata/gitlab/gitlab-ci.morph
repo: upstream:gitlab/gitlab-ci
ref: c74044d65dec2ba8311e242c84e07a67abd52d37
unpetrify-ref: baserock/morph
build-depends: []
- name: gitlab-shell
+ morph: strata/gitlab/gitlab-shell.morph
repo: upstream:gitlab/gitlab-shell
ref: 0b4106d57223c666d9360339fd3790174aa43800
unpetrify-ref: baserock/morph
diff --git a/strata/gitlab/gitlab-ce.morph b/strata/gitlab/gitlab-ce.morph
new file mode 100644
index 00000000..571881f8
--- /dev/null
+++ b/strata/gitlab/gitlab-ce.morph
@@ -0,0 +1,6 @@
+name: gitlab-ce
+kind: chunk
+install-commands:
+- mkdir -p "$DESTDIR/$PREFIX/share/gitlab-ce"
+- cp -R * "$DESTDIR/$PREFIX/share/gitlab-ce"
+- chmod -R a+rX,g+w "$DESTDIR/$PREFIX/share/gitlab-ce"
diff --git a/strata/gitlab/gitlab-ci.morph b/strata/gitlab/gitlab-ci.morph
new file mode 100644
index 00000000..99d01367
--- /dev/null
+++ b/strata/gitlab/gitlab-ci.morph
@@ -0,0 +1,6 @@
+name: gitlab-ci
+kind: chunk
+install-commands:
+- mkdir -p "$DESTDIR/$PREFIX/share/gitlab-ci"
+- cp -R * "$DESTDIR/$PREFIX/share/gitlab-ci"
+- chmod -R a+rX,g+w "$DESTDIR/$PREFIX/share/gitlab-ci"
diff --git a/strata/gitlab/gitlab-shell.morph b/strata/gitlab/gitlab-shell.morph
new file mode 100644
index 00000000..069c6c41
--- /dev/null
+++ b/strata/gitlab/gitlab-shell.morph
@@ -0,0 +1,6 @@
+name: gitlab-shell
+kind: chunk
+install-commands:
+- mkdir -p "$DESTDIR/$PREFIX/share/gitlab-shell"
+- cp -R * "$DESTDIR/$PREFIX/share/gitlab-shell"
+- chmod -R a+rX,g+w "$DESTDIR/$PREFIX/share/gitlab-shell"
diff --git a/strata/gtk-deps.morph b/strata/gtk-deps.morph
new file mode 100644
index 00000000..71637b17
--- /dev/null
+++ b/strata/gtk-deps.morph
@@ -0,0 +1,50 @@
+name: gtk-deps
+kind: stratum
+description: the GTK+ dependencies stratum
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/x-common.morph
+- morph: strata/x-generic.morph
+- morph: strata/wayland-x86_64-generic.morph
+chunks:
+- name: shared-mime-info
+ morph: strata/gtk-deps/shared-mime-info.morph
+ repo: upstream:shared-mime-info
+ ref: 0d440d85a126ff8d535d4f70f2203a76a21d5f71
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: gnome-common
+ repo: upstream:gnome-common
+ ref: d213283fcb5228d05eb2c796579f18240e8467e8
+ unpetrify-ref: 3.12.0
+ build-depends: []
+- name: libtiff
+ repo: upstream:libtiff
+ ref: 2f83c385ff3d5493602308b62ca6d7707725b4fd
+ unpetrify-ref: Release-v4-0-3
+ build-depends: []
+- name: gdk-pixbuf
+ morph: strata/gtk-deps/gdk-pixbuf.morph
+ repo: upstream:gdk-pixbuf
+ ref: bc45874c7ba5a6a95f032b48ab78115b3e2238ad
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - libtiff
+- name: atk
+ repo: upstream:atk
+ ref: 94766ee6f1a42f94eb9736ba8396bc90af937fe4
+ unpetrify-ref: ATK_2_12_0
+ build-depends:
+ - gnome-common
+- name: at-spi2-core
+ repo: upstream:at-spi2-core
+ ref: c354b5e8d8157e1018eafeca48642116a65c4ff5
+ unpetrify-ref: AT_SPI2_CORE_2_12_0
+ build-depends: []
+- name: at-spi2-atk
+ repo: upstream:at-spi2-atk
+ ref: 01e49759d5d1fc22fb108fc9f80cd34d8eb814f6
+ unpetrify-ref: AT_SPI2_ATK_2_12_1
+ build-depends:
+ - at-spi2-core
+ - atk
diff --git a/strata/gtk-deps/gdk-pixbuf.morph b/strata/gtk-deps/gdk-pixbuf.morph
new file mode 100644
index 00000000..5cb16917
--- /dev/null
+++ b/strata/gtk-deps/gdk-pixbuf.morph
@@ -0,0 +1,8 @@
+name: gdk-pixbuf
+kind: chunk
+build-system: autotools
+install-commands:
+- make DESTDIR=$DESTDIR install
+- install -d "$DESTDIR/lib/systemd/system/multi-user.target.wants"
+- install -m 0644 systemd/gdk-pixbuf-cache-loaders.service "$DESTDIR/lib/systemd/system"
+- ln -s ../gdk-pixbuf-cache-loaders.service "$DESTDIR/lib/systemd/system/multi-user.target.wants/gdk-pixbuf-cache-loaders.service"
diff --git a/strata/gtk-deps/shared-mime-info.morph b/strata/gtk-deps/shared-mime-info.morph
new file mode 100644
index 00000000..e155fde0
--- /dev/null
+++ b/strata/gtk-deps/shared-mime-info.morph
@@ -0,0 +1,4 @@
+name: shared-mime-info
+kind: chunk
+max-jobs: 1
+build-system: autotools
diff --git a/strata/gtk2.morph b/strata/gtk2.morph
new file mode 100644
index 00000000..1265573c
--- /dev/null
+++ b/strata/gtk2.morph
@@ -0,0 +1,13 @@
+name: gtk2
+kind: stratum
+description: the gtk2 stratum
+build-depends:
+- morph: strata/gtk-deps.morph
+- morph: strata/x-generic.morph
+chunks:
+- name: gtk+
+ morph: strata/gtk2/gtk+.morph
+ repo: upstream:gtk+
+ ref: 52de99559e5b5bf09160e5a5a164d0ca5fede98c
+ unpetrify-ref: baserock/xfce-build
+ build-depends: []
diff --git a/strata/gtk2/gtk+.morph b/strata/gtk2/gtk+.morph
new file mode 100644
index 00000000..abbf2510
--- /dev/null
+++ b/strata/gtk2/gtk+.morph
@@ -0,0 +1,11 @@
+name: gtk+
+kind: chunk
+build-system: autotools
+configure-commands:
+- gdk-pixbuf-query-loaders > loader.cache
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX"
+build-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make
+install-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make install DESTDIR="$DESTDIR"
diff --git a/strata/gtk3.morph b/strata/gtk3.morph
new file mode 100644
index 00000000..3452621d
--- /dev/null
+++ b/strata/gtk3.morph
@@ -0,0 +1,14 @@
+name: gtk3
+kind: stratum
+description: the gtk3 stratum
+build-depends:
+- morph: strata/gtk-deps.morph
+- morph: strata/x-generic.morph
+- morph: strata/wayland-x86_64-generic.morph
+chunks:
+- name: gtk3
+ morph: strata/gtk3/gtk3.morph
+ repo: upstream:gtk+
+ ref: f36770fd0566cafb0a0803e5d80047a41ae68f7d
+ unpetrify-ref: baserock/morph-gtk-3
+ build-depends: []
diff --git a/strata/gtk3/gtk3.morph b/strata/gtk3/gtk3.morph
new file mode 100644
index 00000000..76007474
--- /dev/null
+++ b/strata/gtk3/gtk3.morph
@@ -0,0 +1,11 @@
+name: gtk3
+kind: chunk
+build-system: autotools
+configure-commands:
+- gdk-pixbuf-query-loaders > loader.cache
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX"
+build-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make
+install-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make install DESTDIR="$DESTDIR"
diff --git a/initramfs-utils.morph b/strata/initramfs-utils.morph
index d59dcec7..b6076cde 100644
--- a/initramfs-utils.morph
+++ b/strata/initramfs-utils.morph
@@ -2,12 +2,10 @@ name: initramfs-utils
kind: stratum
description: stratum for initramfs
build-depends:
-- morph: build-essential
+- morph: strata/build-essential.morph
chunks:
-# A more minimal initramfs would be a single executable as /init,
-# statically linked against musl.
-# But, we can get away with a single script that uses busybox for now.
- name: initramfs-scripts
+ morph: strata/initramfs-utils/initramfs-scripts.morph
repo: baserock:baserock/initramfs-scripts
ref: a97dea93d28ba272613029e46a8a0b1f699729d8
unpetrify-ref: master
diff --git a/strata/initramfs-utils/initramfs-scripts.morph b/strata/initramfs-utils/initramfs-scripts.morph
new file mode 100644
index 00000000..68ed4a7b
--- /dev/null
+++ b/strata/initramfs-utils/initramfs-scripts.morph
@@ -0,0 +1,4 @@
+name: initramfs-scripts
+kind: chunk
+install-commands:
+- install -m 755 init "$DESTDIR/init"
diff --git a/lua.morph b/strata/lua.morph
index 8ad1dfec..5ac3102b 100644
--- a/lua.morph
+++ b/strata/lua.morph
@@ -2,10 +2,11 @@ name: lua
kind: stratum
description: Interpreter for the lua scripting language.
build-depends:
-- morph: tools
+- morph: strata/tools.morph
chunks:
- name: lua
+ morph: strata/lua/lua.morph
repo: upstream:lua
- ref: bedbdc0f03bca4fe97200ddf9c3d6cb210b45888
+ ref: 948063437e0350d9ef1649ec3a76d0c24a5c8642
unpetrify-ref: baserock/5.1-morph
build-depends: []
diff --git a/strata/lua/lua.morph b/strata/lua/lua.morph
new file mode 100644
index 00000000..32aeb5c1
--- /dev/null
+++ b/strata/lua/lua.morph
@@ -0,0 +1,11 @@
+name: lua
+kind: chunk
+configure-commands:
+- sed -e 's/defined(LUA_USE_READLINE)/0/g' src/luaconf.h.orig >src/luaconf.h
+- sed -i -e '/^linux:/{n;s/-lreadline//g;s/-lhistory//g;s/-lncurses//g}' src/Makefile
+build-commands:
+- make debian_linux INSTALL_TOP="$PREFIX" RPATH="$PREFIX/lib"
+install-commands:
+- make INSTALL_TOP="$DESTDIR/$PREFIX" debian_install
+- mkdir -p "$DESTDIR/$PREFIX/lib/pkgconfig"
+- cp lua5.1.pc "$DESTDIR/$PREFIX/lib/pkgconfig/"
diff --git a/multimedia-gstreamer-0.10.morph b/strata/multimedia-gstreamer-0.10.morph
index c7a44e87..ae5fe656 100644
--- a/multimedia-gstreamer-0.10.morph
+++ b/strata/multimedia-gstreamer-0.10.morph
@@ -2,9 +2,9 @@ name: multimedia-gstreamer-0.10
kind: stratum
description: Codecs
build-depends:
-- morph: core
-- morph: foundation
-- morph: audio-bluetooth
+- morph: strata/core.morph
+- morph: strata/foundation.morph
+- morph: strata/audio-bluetooth.morph
chunks:
- name: orc
repo: upstream:orc
diff --git a/strata/multimedia.morph b/strata/multimedia.morph
new file mode 100644
index 00000000..b0d82984
--- /dev/null
+++ b/strata/multimedia.morph
@@ -0,0 +1,39 @@
+name: multimedia
+kind: stratum
+description: Codecs
+build-depends:
+- morph: strata/audio-bluetooth.morph
+chunks:
+- name: orc
+ repo: upstream:orc
+ ref: ec132ae118bead13312f126a1f6e5709a2429ff6
+ unpetrify-ref: orc-0.4.19
+ build-depends: []
+- name: gstreamer
+ repo: upstream:gstreamer
+ ref: 0217fba607637860a475d0b5d48a3d4b249ca360
+ unpetrify-ref: baserock/morph/1.2
+ build-depends:
+ - orc
+- name: gstreamer-plugins-base
+ repo: upstream:gstreamer-plugins-base
+ ref: 1263caa96fcc1e3d2963bc27acbcf88b5b17d5dd
+ unpetrify-ref: baserock/morph/1.2
+ build-depends:
+ - gstreamer
+- name: gstreamer-plugins-good
+ repo: upstream:gstreamer-plugins-good
+ ref: b7e3af91197812e41028016d2e75ad2d6530b9b3
+ unpetrify-ref: baserock/morph/1.2
+ build-depends:
+ - gstreamer
+ - gstreamer-plugins-base
+ - orc
+- name: gstreamer-plugins-bad
+ repo: upstream:gstreamer-plugins-bad
+ ref: 343470e7fd1e7a6bb95b953d25b2caf5425d0185
+ unpetrify-ref: baserock/morph/1.2
+ build-depends:
+ - gstreamer
+ - gstreamer-plugins-base
+ - orc
diff --git a/nfs.morph b/strata/nfs.morph
index e0e5f2a1..297a055f 100644
--- a/nfs.morph
+++ b/strata/nfs.morph
@@ -2,7 +2,7 @@ name: nfs
kind: stratum
description: NFS utilities
build-depends:
-- morph: foundation
+- morph: strata/foundation.morph
chunks:
- name: libevent
repo: upstream:libevent
@@ -10,16 +10,19 @@ chunks:
unpetrify-ref: release-2.0.20-stable
build-depends: []
- name: tcp-wrappers
+ morph: strata/nfs/tcp-wrappers.morph
repo: upstream:tcp-wrappers
ref: 23b65f29b324b65a057a3fa87613b788856d6e4e
unpetrify-ref: baserock/fedora-patches
build-depends: []
- name: ti-rpc
+ morph: strata/nfs/ti-rpc.morph
repo: upstream:ti-rpc
ref: c5a7a19070e74115fc9c26aa6f3dfec1da220c1f
unpetrify-ref: baserock/master
build-depends: []
- name: rpcbind
+ morph: strata/nfs/rpcbind.morph
repo: upstream:rpcbind
ref: aa3ac0d86c258d3e355ae59df31a96da795ecdfa
unpetrify-ref: baserock/master
@@ -27,6 +30,7 @@ chunks:
- ti-rpc
- tcp-wrappers
- name: nfs-utils
+ morph: strata/nfs/nfs-utils.morph
repo: upstream:nfs-utils
ref: 08baf3bc2f66a1ca6401191e19380028d2fc2c6d
unpetrify-ref: baserock/master
diff --git a/strata/nfs/nfs-utils.morph b/strata/nfs/nfs-utils.morph
new file mode 100644
index 00000000..d09c063e
--- /dev/null
+++ b/strata/nfs/nfs-utils.morph
@@ -0,0 +1,12 @@
+name: nfs-utils
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --disable-nfsv4 --disable-nfsv41 --disable-gss --with-rpcgen=internal
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR"/lib/systemd/system
+- install -m644 proc-fs-nfsd.mount "$DESTDIR"/lib/systemd/system
+- install -m644 nfs-mountd.service "$DESTDIR"/lib/systemd/system
+- install -m644 nfs-server.service "$DESTDIR"/lib/systemd/system
diff --git a/strata/nfs/rpcbind.morph b/strata/nfs/rpcbind.morph
new file mode 100644
index 00000000..35b9c77a
--- /dev/null
+++ b/strata/nfs/rpcbind.morph
@@ -0,0 +1,11 @@
+name: rpcbind
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --enable-libwrap --with-rpcuser=nobody --enable-warmstarts
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR"/lib/systemd/system
+- install -m644 rpcbind.service "$DESTDIR"/lib/systemd/system
+- install -m644 rpcbind.socket "$DESTDIR"/lib/systemd/system
diff --git a/strata/nfs/tcp-wrappers.morph b/strata/nfs/tcp-wrappers.morph
new file mode 100644
index 00000000..c68671f6
--- /dev/null
+++ b/strata/nfs/tcp-wrappers.morph
@@ -0,0 +1,9 @@
+name: tcp-wrappers
+kind: chunk
+build-commands:
+- make MAJOR=0 MINOR=7 REL=6 linux
+install-commands:
+- mkdir -p "$DESTDIR"/"$PREFIX"/include
+- install -p -m644 tcpd.h "$DESTDIR"/"$PREFIX"/include
+- mkdir -p "$DESTDIR"/"$PREFIX"/lib
+- cp -a libwrap.so* "$DESTDIR"/"$PREFIX"/lib
diff --git a/strata/nfs/ti-rpc.morph b/strata/nfs/ti-rpc.morph
new file mode 100644
index 00000000..3fb91e1f
--- /dev/null
+++ b/strata/nfs/ti-rpc.morph
@@ -0,0 +1,6 @@
+name: ti-rpc
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --sysconfdir=/etc
diff --git a/nodejs.morph b/strata/nodejs.morph
index aece2d2a..f8955a01 100644
--- a/nodejs.morph
+++ b/strata/nodejs.morph
@@ -2,7 +2,7 @@ name: nodejs
kind: stratum
description: Stratum for nodejs related stuff
build-depends:
-- morph: core
+- morph: strata/core.morph
chunks:
- name: node
repo: upstream:node
diff --git a/openstack-clients.morph b/strata/openstack-clients.morph
index fc130872..616a8762 100644
--- a/openstack-clients.morph
+++ b/strata/openstack-clients.morph
@@ -2,7 +2,7 @@ name: openstack-clients
kind: stratum
description: A stratum with OpenStack clients, for OpenStack deployments.
build-depends:
-- morph: tools
+- morph: strata/tools.morph
chunks:
- name: jsonschema
repo: upstream:jsonschema
@@ -28,6 +28,7 @@ chunks:
- python-json-pointer
- python-json-patch
- name: python-prettytable
+ morph: strata/openstack-clients/python-prettytable.morph
repo: upstream:python-prettytable
ref: 941133673e5a0003cd5ce1b6db2a51cf3307d9c1
unpetrify-ref: baserock/morph
@@ -68,6 +69,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: pytz
+ morph: strata/openstack-clients/pytz.morph
repo: upstream:pytz
ref: 384207f01fd5b8bf1eb20cb64c17679084731944
unpetrify-ref: baserock/morph
diff --git a/strata/openstack-clients/python-prettytable.morph b/strata/openstack-clients/python-prettytable.morph
new file mode 100644
index 00000000..cf1ac6e1
--- /dev/null
+++ b/strata/openstack-clients/python-prettytable.morph
@@ -0,0 +1,6 @@
+name: python-prettytable
+kind: chunk
+build-commands:
+- cd src && python setup.py build
+install-commands:
+- cd src && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/strata/openstack-clients/pytz.morph b/strata/openstack-clients/pytz.morph
new file mode 100644
index 00000000..f5557946
--- /dev/null
+++ b/strata/openstack-clients/pytz.morph
@@ -0,0 +1,6 @@
+name: pytz
+kind: chunk
+build-commands:
+- cd src && python setup.py build
+install-commands:
+- cd src && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/qt4-sdk.morph b/strata/qt4-sdk.morph
index 88c0974d..b260c9d9 100644
--- a/qt4-sdk.morph
+++ b/strata/qt4-sdk.morph
@@ -2,9 +2,10 @@ name: qt4-sdk
kind: stratum
description: Qt4 Desktop Environment, IDE and Example Apps
build-depends:
-- morph: qt4-tools
+- morph: strata/qt4-tools.morph
chunks:
- name: qt-creator
+ morph: strata/qt4-sdk/qt-creator.morph
repo: upstream:qt-creator
ref: d5a6b10634c1a3271012e9578e016772ef077d59
unpetrify-ref: baserock/morph/2.7
diff --git a/strata/qt4-sdk/qt-creator.morph b/strata/qt4-sdk/qt-creator.morph
new file mode 100644
index 00000000..76d9f7d7
--- /dev/null
+++ b/strata/qt4-sdk/qt-creator.morph
@@ -0,0 +1,9 @@
+name: qt-creator
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- ./qhelpgenerator.sh
diff --git a/qt4-tools.morph b/strata/qt4-tools.morph
index 6dfc9b87..18d2cc5f 100644
--- a/qt4-tools.morph
+++ b/strata/qt4-tools.morph
@@ -2,27 +2,31 @@ name: qt4-tools
kind: stratum
description: Qt4 Development Libraries and Tools
build-depends:
-- morph: tools
-- morph: x-generic
-- morph: multimedia-gstreamer-0.10
+- morph: strata/tools.morph
+- morph: strata/x-generic.morph
+- morph: strata/multimedia-gstreamer-0.10.morph
chunks:
- name: icu
+ morph: strata/qt4-tools/icu.morph
repo: upstream:icu
ref: ba023548a3bff7277cbea4acade3042ce9d8949e
unpetrify-ref: baserock/morph
build-depends: []
- name: ruby-1.8
+ morph: strata/qt4-tools/ruby-1.8.morph
repo: upstream:ruby
ref: 7a24f1710028d568ad61d0aa49d5178260178d77
unpetrify-ref: baserock/morph/ruby_1_8_7
build-depends: []
- name: ruby-1.9
+ morph: strata/qt4-tools/ruby-1.9.morph
repo: upstream:ruby
ref: cb3ea602294b5038b5f7ac21d3875a2b52342956
unpetrify-ref: baserock/morph/ruby_1_9_3
build-depends:
- ruby-1.8
- name: qt4-tools
+ morph: strata/qt4-tools/qt4-tools.morph
repo: upstream:qt4-tools
ref: a182f020bc1703c20d86ba18f2f6b4ea8889de84
unpetrify-ref: baserock/morph
diff --git a/strata/qt4-tools/icu.morph b/strata/qt4-tools/icu.morph
new file mode 100644
index 00000000..37dec07e
--- /dev/null
+++ b/strata/qt4-tools/icu.morph
@@ -0,0 +1,8 @@
+name: icu
+kind: chunk
+configure-commands:
+- cd source; ./runConfigureICU Linux --prefix=/usr
+build-commands:
+- cd source; unset TARGET ; make
+install-commands:
+- cd source; unset TARGET ; make DESTDIR="$DESTDIR" install
diff --git a/strata/qt4-tools/qt4-tools.morph b/strata/qt4-tools/qt4-tools.morph
new file mode 100644
index 00000000..bc4cc17e
--- /dev/null
+++ b/strata/qt4-tools/qt4-tools.morph
@@ -0,0 +1,18 @@
+name: qt4-tools
+kind: chunk
+max-jobs: 1
+configure-commands:
+- |
+ arch=$(uname -m)
+ if [ "${arch}" != "${arch//arm/}" ] ; then
+ sed 's/g++-unix.conf)/&\nQMAKE_CXXFLAGS += -fno-strict-volatile-bitfields/' \
+ -i mkspecs/linux-g++/qmake.conf
+ else
+ echo Running on x86, not modifying qmake.conf
+ fi
+- ./configure -v -prefix /usr -opensource -confirm-license
+build-commands:
+- make
+- LD_LIBRARY_PATH="$PWD"/lib QT_PLUGIN_PATH="$PWD"/plugins make docs
+install-commands:
+- make install INSTALL_ROOT="$DESTDIR"
diff --git a/strata/qt4-tools/ruby-1.8.morph b/strata/qt4-tools/ruby-1.8.morph
new file mode 100644
index 00000000..cee282c0
--- /dev/null
+++ b/strata/qt4-tools/ruby-1.8.morph
@@ -0,0 +1,9 @@
+name: ruby-1.8
+kind: chunk
+configure-commands:
+- autoconf
+- ./configure --prefix=/usr --program-suffix=-1.8
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/qt4-tools/ruby-1.9.morph b/strata/qt4-tools/ruby-1.9.morph
new file mode 100644
index 00000000..bc697ada
--- /dev/null
+++ b/strata/qt4-tools/ruby-1.9.morph
@@ -0,0 +1,9 @@
+name: ruby-1.9
+kind: chunk
+configure-commands:
+- autoconf
+- ./configure --prefix=/usr --enable-shared --with-baseruby=/usr/bin/ruby-1.8
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/qt5-sdk.morph b/strata/qt5-sdk.morph
index b26d2271..f0b3cc2e 100644
--- a/qt5-sdk.morph
+++ b/strata/qt5-sdk.morph
@@ -2,14 +2,16 @@ name: qt5-sdk
kind: stratum
description: Qt5 Desktop Environment, IDE and Example Apps
build-depends:
-- morph: qt5-tools
+- morph: strata/qt5-tools.morph
chunks:
- name: qt-creator
+ morph: strata/qt5-sdk/qt-creator.morph
repo: upstream:qt-creator
ref: d5a6b10634c1a3271012e9578e016772ef077d59
unpetrify-ref: baserock/morph/2.7
build-depends: []
- name: snowshoe
+ morph: strata/qt5-sdk/snowshoe.morph
repo: upstream:snowshoe
ref: 098f931de58072edd5d591cdc4a2ad3c05e83991
unpetrify-ref: baserock/morph
diff --git a/strata/qt5-sdk/qt-creator.morph b/strata/qt5-sdk/qt-creator.morph
new file mode 100644
index 00000000..76d9f7d7
--- /dev/null
+++ b/strata/qt5-sdk/qt-creator.morph
@@ -0,0 +1,9 @@
+name: qt-creator
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- ./qhelpgenerator.sh
diff --git a/strata/qt5-sdk/snowshoe.morph b/strata/qt5-sdk/snowshoe.morph
new file mode 100644
index 00000000..f89ab751
--- /dev/null
+++ b/strata/qt5-sdk/snowshoe.morph
@@ -0,0 +1,8 @@
+name: snowshoe
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
diff --git a/qt5-tools.morph b/strata/qt5-tools.morph
index 26e57550..1c784bf3 100644
--- a/qt5-tools.morph
+++ b/strata/qt5-tools.morph
@@ -2,45 +2,52 @@ name: qt5-tools
kind: stratum
description: Qt5 Development Libraries and Tools
build-depends:
-- morph: tools
-- morph: x-generic
-- morph: multimedia-gstreamer-0.10
+- morph: strata/tools.morph
+- morph: strata/x-generic.morph
+- morph: strata/multimedia-gstreamer-0.10.morph
chunks:
- name: icu
+ morph: strata/qt5-tools/icu.morph
repo: upstream:icu
ref: ba023548a3bff7277cbea4acade3042ce9d8949e
unpetrify-ref: baserock/morph
build-depends: []
- name: ruby-1.8
+ morph: strata/qt5-tools/ruby-1.8.morph
repo: upstream:ruby
ref: 7a24f1710028d568ad61d0aa49d5178260178d77
unpetrify-ref: baserock/morph/ruby_1_8_7
build-depends: []
- name: ruby-1.9
+ morph: strata/qt5-tools/ruby-1.9.morph
repo: upstream:ruby
ref: cb3ea602294b5038b5f7ac21d3875a2b52342956
unpetrify-ref: baserock/morph/ruby_1_9_3
build-depends:
- ruby-1.8
- name: qtbase
+ morph: strata/qt5-tools/qtbase.morph
repo: upstream:qt5/qtbase
- ref: 79be8352ced650e98ab0afe89e91cffee4f6a04a
+ ref: 55f24d7e91e7c906cf4e3a3ef7a4d95ff094a7a8
unpetrify-ref: baserock/morph
build-depends:
- icu
- name: qtsvg
+ morph: strata/qt5-tools/qtsvg.morph
repo: upstream:qt5/qtsvg
ref: 552bf3adcc48c669f9dfbda5818142fb18c9e957
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtjsbackend
+ morph: strata/qt5-tools/qtjsbackend.morph
repo: upstream:qt5/qtjsbackend
ref: c6978bf56f599a3da8c03b1a7e58102aa84223e7
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtscript
+ morph: strata/qt5-tools/qtscript.morph
repo: upstream:qt5/qtscript
ref: d20e99b3bdbcf77b69a92a2ba1b3ca1f1379e7c8
unpetrify-ref: baserock/morph
@@ -48,6 +55,7 @@ chunks:
- qtbase
- qtjsbackend
- name: qtdeclarative
+ morph: strata/qt5-tools/qtdeclarative.morph
repo: upstream:qt5/qtdeclarative
ref: 774d0310883a9526210c4530bbb9d0af26d88699
unpetrify-ref: baserock/morph
@@ -56,6 +64,7 @@ chunks:
- qtjsbackend
- qtscript
- name: qtquick1
+ morph: strata/qt5-tools/qtquick1.morph
repo: upstream:qt5/qtquick1
ref: b13755a2411dca01e65bb443a399ed130d5dd738
unpetrify-ref: baserock/morph
@@ -64,6 +73,7 @@ chunks:
- qtjsbackend
- qtscript
- name: qt3d
+ morph: strata/qt5-tools/qt3d.morph
repo: upstream:qt5/qt3d
ref: 805fbf45a54f1b69f4b13f6dc9f962b07c017d3b
unpetrify-ref: baserock/morph
@@ -73,6 +83,7 @@ chunks:
- qtscript
- qtdeclarative
- name: qtquickcontrols
+ morph: strata/qt5-tools/qtquickcontrols.morph
repo: upstream:qt5/qtquickcontrols
ref: acf9e50d52c4d09a1aed9490bb2f3c5de7dce9bb
unpetrify-ref: baserock/morph
@@ -81,24 +92,28 @@ chunks:
- qtjsbackend
- qtdeclarative
- name: qtsensors
+ morph: strata/qt5-tools/qtsensors.morph
repo: upstream:qt5/qtsensors
ref: cd22d77e07af6046be24d0322187a86c9a3c4d1d
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtserialport
+ morph: strata/qt5-tools/qtserialport.morph
repo: upstream:qt5/qtserialport
ref: b1abca2eee45e7b8ecf71cb5cd1e77a2821fcac2
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtx11extras
+ morph: strata/qt5-tools/qtx11extras.morph
repo: upstream:qt5/qtx11extras
ref: 3b33afd2814c88002e2efc4955e5b1851aff0c58
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtwebkit
+ morph: strata/qt5-tools/qtwebkit.morph
repo: upstream:qt5/qtwebkit
ref: 15a558c03ea7a35f97dfc0b16024d026d20920be
unpetrify-ref: baserock/morph
@@ -109,6 +124,7 @@ chunks:
- qtjsbackend
- qtdeclarative
- name: qtwebkit-examples
+ morph: strata/qt5-tools/qtwebkit-examples.morph
repo: upstream:qt5/qtwebkit-examples
ref: fdaa2bb5e47d6ca1d3e8c681f88eae0b9d4ae351
unpetrify-ref: baserock/morph
@@ -118,24 +134,28 @@ chunks:
- qtdeclarative
- qtwebkit
- name: qtmultimedia
+ morph: strata/qt5-tools/qtmultimedia.morph
repo: upstream:qt5/qtmultimedia
ref: 8b73d090f87f88ee3ae4efc437ac866d05df76be
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtxmlpatterns
+ morph: strata/qt5-tools/qtxmlpatterns.morph
repo: upstream:qt5/qtxmlpatterns
ref: ed713a904ee55f1c345d2d6c35e77892be96977e
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtdoc
+ morph: strata/qt5-tools/qtdoc.morph
repo: upstream:qt5/qtdoc
ref: 674abef4f06bdde57a272d69750e2a4ac5027ea9
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qtgraphicaleffects
+ morph: strata/qt5-tools/qtgraphicaleffects.morph
repo: upstream:qt5/qtgraphicaleffects
ref: e41d08f95d74d7309fc976cb62141b78239de975
unpetrify-ref: baserock/morph
@@ -144,12 +164,14 @@ chunks:
- qtjsbackend
- qtdeclarative
- name: qtimageformats
+ morph: strata/qt5-tools/qtimageformats.morph
repo: upstream:qt5/qtimageformats
ref: 3f7f6126d9832e03a4dcaaca5279220f00126e89
unpetrify-ref: baserock/morph
build-depends:
- qtbase
- name: qttools
+ morph: strata/qt5-tools/qttools.morph
repo: upstream:qt5/qttools
ref: 1369d91dd095cd4ea2febe759ef6446e41bd2d80
unpetrify-ref: baserock/morph
@@ -159,6 +181,7 @@ chunks:
- qtdeclarative
- qtwebkit
- name: qttranslations
+ morph: strata/qt5-tools/qttranslations.morph
repo: upstream:qt5/qttranslations
ref: e91af8e6363a4538f08992b6af51d17b91453080
unpetrify-ref: baserock/morph
diff --git a/strata/qt5-tools/icu.morph b/strata/qt5-tools/icu.morph
new file mode 100644
index 00000000..37dec07e
--- /dev/null
+++ b/strata/qt5-tools/icu.morph
@@ -0,0 +1,8 @@
+name: icu
+kind: chunk
+configure-commands:
+- cd source; ./runConfigureICU Linux --prefix=/usr
+build-commands:
+- cd source; unset TARGET ; make
+install-commands:
+- cd source; unset TARGET ; make DESTDIR="$DESTDIR" install
diff --git a/strata/qt5-tools/qt3d.morph b/strata/qt5-tools/qt3d.morph
new file mode 100644
index 00000000..d4e44d4e
--- /dev/null
+++ b/strata/qt5-tools/qt3d.morph
@@ -0,0 +1,10 @@
+name: qt3d
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtbase.morph b/strata/qt5-tools/qtbase.morph
new file mode 100644
index 00000000..1427c4c2
--- /dev/null
+++ b/strata/qt5-tools/qtbase.morph
@@ -0,0 +1,15 @@
+name: qtbase
+kind: chunk
+configure-commands:
+- ./configure -v -prefix /usr -opensource -confirm-license
+build-commands:
+- make
+- touch /qtbase.build/src/corelib/corelib.pro
+- ./bin/qmake -set QDOC /qtbase.build/bin/qdoc
+- make html_docs
+- ./bin/qmake -unset QDOC
+install-commands:
+- make install INSTALL_ROOT="$DESTDIR"
+- ./bin/qmake -set QDOC /qtbase.build/bin/qdoc
+- make install_html_docs INSTALL_ROOT="$DESTDIR"
+- ./bin/qmake -unset QDOC
diff --git a/strata/qt5-tools/qtdeclarative.morph b/strata/qt5-tools/qtdeclarative.morph
new file mode 100644
index 00000000..9eb02331
--- /dev/null
+++ b/strata/qt5-tools/qtdeclarative.morph
@@ -0,0 +1,10 @@
+name: qtdeclarative
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtdoc.morph b/strata/qt5-tools/qtdoc.morph
new file mode 100644
index 00000000..3b449382
--- /dev/null
+++ b/strata/qt5-tools/qtdoc.morph
@@ -0,0 +1,8 @@
+name: qtdoc
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtgraphicaleffects.morph b/strata/qt5-tools/qtgraphicaleffects.morph
new file mode 100644
index 00000000..27c42971
--- /dev/null
+++ b/strata/qt5-tools/qtgraphicaleffects.morph
@@ -0,0 +1,8 @@
+name: qtgraphicaleffects
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtimageformats.morph b/strata/qt5-tools/qtimageformats.morph
new file mode 100644
index 00000000..08323ca1
--- /dev/null
+++ b/strata/qt5-tools/qtimageformats.morph
@@ -0,0 +1,10 @@
+name: qtimageformats
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtjsbackend.morph b/strata/qt5-tools/qtjsbackend.morph
new file mode 100644
index 00000000..5813084c
--- /dev/null
+++ b/strata/qt5-tools/qtjsbackend.morph
@@ -0,0 +1,10 @@
+name: qtjsbackend
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtmultimedia.morph b/strata/qt5-tools/qtmultimedia.morph
new file mode 100644
index 00000000..537baa08
--- /dev/null
+++ b/strata/qt5-tools/qtmultimedia.morph
@@ -0,0 +1,10 @@
+name: qtmultimedia
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make install_html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtquick1.morph b/strata/qt5-tools/qtquick1.morph
new file mode 100644
index 00000000..d4692445
--- /dev/null
+++ b/strata/qt5-tools/qtquick1.morph
@@ -0,0 +1,10 @@
+name: qtquick1
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtquickcontrols.morph b/strata/qt5-tools/qtquickcontrols.morph
new file mode 100644
index 00000000..12051034
--- /dev/null
+++ b/strata/qt5-tools/qtquickcontrols.morph
@@ -0,0 +1,10 @@
+name: qtquickcontrols
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtscript.morph b/strata/qt5-tools/qtscript.morph
new file mode 100644
index 00000000..6f27842e
--- /dev/null
+++ b/strata/qt5-tools/qtscript.morph
@@ -0,0 +1,10 @@
+name: qtscript
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtsensors.morph b/strata/qt5-tools/qtsensors.morph
new file mode 100644
index 00000000..d4b4ec00
--- /dev/null
+++ b/strata/qt5-tools/qtsensors.morph
@@ -0,0 +1,10 @@
+name: qtsensors
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtserialport.morph b/strata/qt5-tools/qtserialport.morph
new file mode 100644
index 00000000..0a623865
--- /dev/null
+++ b/strata/qt5-tools/qtserialport.morph
@@ -0,0 +1,10 @@
+name: qtserialport
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtsvg.morph b/strata/qt5-tools/qtsvg.morph
new file mode 100644
index 00000000..40316a3c
--- /dev/null
+++ b/strata/qt5-tools/qtsvg.morph
@@ -0,0 +1,10 @@
+name: qtsvg
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qttools.morph b/strata/qt5-tools/qttools.morph
new file mode 100644
index 00000000..1baa10e7
--- /dev/null
+++ b/strata/qt5-tools/qttools.morph
@@ -0,0 +1,10 @@
+name: qttools
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- unset TARGET ; make
+- unset TARGET ; make html_docs
+install-commands:
+- unset TARGET ; make install INSTALL_ROOT=$DESTDIR
+- unset TARGET ; make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qttranslations.morph b/strata/qt5-tools/qttranslations.morph
new file mode 100644
index 00000000..bfb61302
--- /dev/null
+++ b/strata/qt5-tools/qttranslations.morph
@@ -0,0 +1,8 @@
+name: qttranslations
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtwebkit-examples.morph b/strata/qt5-tools/qtwebkit-examples.morph
new file mode 100644
index 00000000..b6683e65
--- /dev/null
+++ b/strata/qt5-tools/qtwebkit-examples.morph
@@ -0,0 +1,8 @@
+name: qtwebkit-examples
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtwebkit.morph b/strata/qt5-tools/qtwebkit.morph
new file mode 100644
index 00000000..c9348aca
--- /dev/null
+++ b/strata/qt5-tools/qtwebkit.morph
@@ -0,0 +1,11 @@
+name: qtwebkit
+kind: chunk
+max-jobs: 1
+configure-commands:
+- QMAKEPATH=/qtwebkit.build/Tools/qmake/mkspecs qmake WebKit.pro
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtx11extras.morph b/strata/qt5-tools/qtx11extras.morph
new file mode 100644
index 00000000..edea0acf
--- /dev/null
+++ b/strata/qt5-tools/qtx11extras.morph
@@ -0,0 +1,10 @@
+name: qtx11extras
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/qtxmlpatterns.morph b/strata/qt5-tools/qtxmlpatterns.morph
new file mode 100644
index 00000000..bdd32d5f
--- /dev/null
+++ b/strata/qt5-tools/qtxmlpatterns.morph
@@ -0,0 +1,10 @@
+name: qtxmlpatterns
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+- make html_docs
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
+- make install_html_docs INSTALL_ROOT=$DESTDIR
diff --git a/strata/qt5-tools/ruby-1.8.morph b/strata/qt5-tools/ruby-1.8.morph
new file mode 100644
index 00000000..cee282c0
--- /dev/null
+++ b/strata/qt5-tools/ruby-1.8.morph
@@ -0,0 +1,9 @@
+name: ruby-1.8
+kind: chunk
+configure-commands:
+- autoconf
+- ./configure --prefix=/usr --program-suffix=-1.8
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/qt5-tools/ruby-1.9.morph b/strata/qt5-tools/ruby-1.9.morph
new file mode 100644
index 00000000..bc697ada
--- /dev/null
+++ b/strata/qt5-tools/ruby-1.9.morph
@@ -0,0 +1,9 @@
+name: ruby-1.9
+kind: chunk
+configure-commands:
+- autoconf
+- ./configure --prefix=/usr --enable-shared --with-baseruby=/usr/bin/ruby-1.8
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/ruby.morph b/strata/ruby.morph
index c60a0848..d61d32f2 100644
--- a/ruby.morph
+++ b/strata/ruby.morph
@@ -2,9 +2,10 @@ name: ruby
kind: stratum
description: ruby and things from ruby world
build-depends:
-- morph: tools
+- morph: strata/tools.morph
chunks:
- name: ruby-1.8
+ morph: strata/ruby/ruby-1.8.morph
repo: upstream:ruby
ref: 7a24f1710028d568ad61d0aa49d5178260178d77
unpetrify-ref: baserock/morph/ruby_1_8_7
@@ -15,6 +16,7 @@ chunks:
unpetrify-ref: master
build-depends: []
- name: ruby
+ morph: strata/ruby/ruby.morph
repo: upstream:ruby
ref: ct-mcr-1/sam/chef
unpetrify-ref: 05604af5a6da635b8bca51269db8b433972e82c0
@@ -22,6 +24,7 @@ chunks:
- ruby-1.8
- libyaml
- name: bundler
+ morph: strata/ruby/bundler.morph
repo: upstream:bundler
ref: 0708fbe62617a63300e1cc3b9869cc1280c57ef6
build-depends:
diff --git a/strata/ruby/bundler.morph b/strata/ruby/bundler.morph
new file mode 100644
index 00000000..643ef119
--- /dev/null
+++ b/strata/ruby/bundler.morph
@@ -0,0 +1,6 @@
+name: bundler
+kind: chunk
+build-commands:
+- rake build
+install-commands:
+- gem install ./pkg/*gem --bindir "$DESTDIR/$PREFIX/bin" --install-dir "$DESTDIR/$PREFIX/lib/ruby/gems/2.0.0"
diff --git a/strata/ruby/ruby-1.8.morph b/strata/ruby/ruby-1.8.morph
new file mode 100644
index 00000000..cee282c0
--- /dev/null
+++ b/strata/ruby/ruby-1.8.morph
@@ -0,0 +1,9 @@
+name: ruby-1.8
+kind: chunk
+configure-commands:
+- autoconf
+- ./configure --prefix=/usr --program-suffix=-1.8
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/ruby/ruby.morph b/strata/ruby/ruby.morph
new file mode 100644
index 00000000..c5d4afe1
--- /dev/null
+++ b/strata/ruby/ruby.morph
@@ -0,0 +1,9 @@
+name: ruby
+kind: chunk
+configure-commands:
+- autoconf
+- ./configure --prefix=/usr --enable-shared --with-baseruby=/usr/bin/ruby-1.8
+build-commands:
+- make
+install-commands:
+- make DESTDIR=$DESTDIR install
diff --git a/tools.morph b/strata/tools.morph
index efc5051c..e28b44c8 100644
--- a/tools.morph
+++ b/strata/tools.morph
@@ -2,7 +2,7 @@ name: tools
kind: stratum
description: Extra development tools included in the devel system
build-depends:
-- morph: foundation
+- morph: strata/foundation.morph
chunks:
- name: six
repo: upstream:six
@@ -10,11 +10,13 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: python-ttystatus
+ morph: strata/tools/python-ttystatus.morph
repo: upstream:python-ttystatus
ref: 47d871216cea6ce3b9d6efd70e9a0f38ab8604f0
unpetrify-ref: baserock/morph
build-depends: []
- name: python-coveragepy
+ morph: strata/tools/python-coveragepy.morph
repo: upstream:python-coveragepy
ref: 77d2e3bfd8fb325092aaed37ba1378054d182d19
unpetrify-ref: baserock/morph
@@ -37,6 +39,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: cmdtest
+ morph: strata/tools/cmdtest.morph
repo: upstream:cmdtest
ref: 62fa7e08f76a5b6bb8410add49c40656b3e73acd
unpetrify-ref: baserock/morph
@@ -45,16 +48,19 @@ chunks:
- python-ttystatus
- python-markdown
- name: coreutils
+ morph: strata/tools/coreutils.morph
repo: upstream:coreutils
- ref: 66282c0d87c933218205b5e20ce46708182ac36e
- unpetrify-ref: baserock/morph
+ ref: 9df9643842e4b4d8ece710fe6105f32fa38a0d22
+ unpetrify-ref: baserock/8.23
build-depends: []
- name: distcc
+ morph: strata/tools/distcc.morph
repo: upstream:distcc
ref: c9691a9604fdf9d6711204999787d332b7141692
unpetrify-ref: baserock/morph
build-depends: []
- name: e2fsprogs
+ morph: strata/tools/e2fsprogs.morph
repo: upstream:e2fsprogs
ref: 485edc675200ff3097cec521c357441a1c2d9b0d
unpetrify-ref: baserock/morph
@@ -80,11 +86,13 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: lsof
+ morph: strata/tools/lsof.morph
repo: upstream:lsof
ref: fffb8558208586338587027c265fd0eca44466be
unpetrify-ref: baserock/morph
build-depends: []
- name: pyfilesystem
+ morph: strata/tools/pyfilesystem.morph
repo: upstream:pyfilesystem
ref: 821f7db1ce3a3e1ac53fa514ddacbc2871eac0f6
unpetrify-ref: baserock/morph
@@ -92,7 +100,7 @@ chunks:
- six
- name: morph
repo: baserock:baserock/morph
- ref: 2c61412b43d2a30ac237ee3d03a61fc647fed0ba
+ ref: 8c9aea626d1308a876d145d379ac5f23905fa9b4
unpetrify-ref: master
build-depends:
- cliapp
@@ -100,6 +108,7 @@ chunks:
- python-coverage-test-runner
- pyfilesystem
- name: git-fat
+ morph: strata/tools/git-fat.morph
repo: upstream:git-fat
ref: 208f88d0f0ef04c25e8a231979eb0083f57b1610
unpetrify-ref: baserock/morph
@@ -110,6 +119,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: rsync
+ morph: strata/tools/rsync.morph
repo: upstream:rsync
ref: 9faf8e0ccff2755cd019ff64d8322226a214b013
unpetrify-ref: baserock/morph
@@ -120,31 +130,37 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: vala
+ morph: strata/tools/vala.morph
repo: upstream:vala
ref: 4e4a02c03445336237b36723b23a91670ef7621b
unpetrify-ref: baserock/bootstrap
build-depends: []
- name: vim
+ morph: strata/tools/vim.morph
repo: upstream:vim
ref: 592b8c975bf83b4dcf608769bc664a80cb1daf9e
unpetrify-ref: baserock/morph
build-depends: []
- name: screen
+ morph: strata/tools/screen.morph
repo: upstream:screen
ref: 7dd4a9e5f385c96a77e8ee5c977a1dde4c0ff467
unpetrify-ref: baserock/morph
build-depends: []
- name: u-boot
+ morph: strata/tools/u-boot.morph
repo: upstream:u-boot
ref: fe57382d04b46c37f34cf8d3b3ad876554fd12bf
unpetrify-ref: baserock/morph
build-depends: []
- name: kexec-tools
+ morph: strata/tools/kexec-tools.morph
repo: upstream:kexec-tools
ref: 9359b61ca44980d33c0bee42b9bb2e36e72835dd
unpetrify-ref: baserock/morph
build-depends: []
- name: device-tree-compiler
+ morph: strata/tools/device-tree-compiler.morph
repo: upstream:device-tree-compiler
ref: c92f284c3cf76d471eb27a271de3a51cb45ed058
unpetrify-ref: baserock/morph
diff --git a/strata/tools/cmdtest.morph b/strata/tools/cmdtest.morph
new file mode 100644
index 00000000..3e1c71c6
--- /dev/null
+++ b/strata/tools/cmdtest.morph
@@ -0,0 +1,6 @@
+name: cmdtest
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix=/usr --root "$DESTDIR"
diff --git a/strata/tools/coreutils.morph b/strata/tools/coreutils.morph
new file mode 100644
index 00000000..820a4eed
--- /dev/null
+++ b/strata/tools/coreutils.morph
@@ -0,0 +1,9 @@
+name: coreutils
+kind: chunk
+build-system: autotools
+configure-commands:
+- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
+- bash bootstrap --skip-po
+- FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix="$PREFIX" --disable-nls --enable-no-install-program='[,base64,basename,cat,chcon,chgrp,chmod,chown,chroot,cksum,comm,cp,csplit,cut,date,dd,df,dir,dircolors,dirname,du,echo,env,expand,expr,false,fold,ginstall,groups,head,hostid,id,kill,ln,logname,ls,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nice,nohup,od,printenv,printf,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,sleep,sort,split,stat,stty,sum,sync,tac,tail,tee,test,timeout,touch,tr,true,tty,uname,unexpand,uniq,unlink,uptime,users,wc,who,whoami,yes'
+install-commands:
+- make INSTALL_PROGRAM=install DESTDIR="$DESTDIR" install
diff --git a/strata/tools/device-tree-compiler.morph b/strata/tools/device-tree-compiler.morph
new file mode 100644
index 00000000..8abfafc8
--- /dev/null
+++ b/strata/tools/device-tree-compiler.morph
@@ -0,0 +1,6 @@
+name: device-tree-compiler
+kind: chunk
+build-commands:
+- make all
+install-commands:
+- make install DESTDIR="$DESTDIR" PREFIX="$PREFIX"
diff --git a/strata/tools/distcc.morph b/strata/tools/distcc.morph
new file mode 100644
index 00000000..9f42b50e
--- /dev/null
+++ b/strata/tools/distcc.morph
@@ -0,0 +1,6 @@
+name: distcc
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --disable-Werror
diff --git a/strata/tools/e2fsprogs.morph b/strata/tools/e2fsprogs.morph
new file mode 100644
index 00000000..9d3b32a8
--- /dev/null
+++ b/strata/tools/e2fsprogs.morph
@@ -0,0 +1,14 @@
+name: e2fsprogs
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" --sysconfdir=/etc \
+ --disable-libuuid --disable-uuidd --disable-fsck
+install-commands:
+- |
+ td="$(mktemp -d)"
+ make DESTDIR="$td" install
+ find "$td" \( -name blkid -o -name findfs -o -name fsck \) -delete
+ find "$td" \( -name blkid.8 -o -name findfs.8 \) -delete
+ mv "$td"/* "$DESTDIR"
diff --git a/strata/tools/git-fat.morph b/strata/tools/git-fat.morph
new file mode 100644
index 00000000..c971b07f
--- /dev/null
+++ b/strata/tools/git-fat.morph
@@ -0,0 +1,4 @@
+name: git-fat
+kind: chunk
+install-commands:
+- install -D -m 755 git-fat "$DESTDIR/usr/bin/git-fat"
diff --git a/strata/tools/kexec-tools.morph b/strata/tools/kexec-tools.morph
new file mode 100644
index 00000000..118c1ac2
--- /dev/null
+++ b/strata/tools/kexec-tools.morph
@@ -0,0 +1,6 @@
+name: kexec-tools
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./bootstrap
+- ./configure --prefix="$PREFIX"
diff --git a/strata/tools/lsof.morph b/strata/tools/lsof.morph
new file mode 100644
index 00000000..5fabcd64
--- /dev/null
+++ b/strata/tools/lsof.morph
@@ -0,0 +1,12 @@
+name: lsof
+kind: chunk
+configure-commands:
+- tar xf lsof_*_src.tar
+- cd lsof_*_src/ && ./Configure -n linux
+build-commands:
+- cd lsof_*_src/ && make
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/bin
+- mv lsof_*_src/lsof "$DESTDIR$PREFIX"/bin/lsof
+- mkdir -p "$DESTDIR$PREFIX"/man/man8
+- mv lsof_*_src/lsof.8 "$DESTDIR$PREFIX"/man/man8
diff --git a/strata/tools/pyfilesystem.morph b/strata/tools/pyfilesystem.morph
new file mode 100644
index 00000000..a4931dfa
--- /dev/null
+++ b/strata/tools/pyfilesystem.morph
@@ -0,0 +1,6 @@
+name: pyfilesystem
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix="$PREFIX" --root "$DESTDIR"
diff --git a/strata/tools/python-coveragepy.morph b/strata/tools/python-coveragepy.morph
new file mode 100644
index 00000000..ed5e3d87
--- /dev/null
+++ b/strata/tools/python-coveragepy.morph
@@ -0,0 +1,6 @@
+name: python-coveragepy
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix=/usr --root "$DESTDIR"
diff --git a/strata/tools/python-ttystatus.morph b/strata/tools/python-ttystatus.morph
new file mode 100644
index 00000000..e45ef7a8
--- /dev/null
+++ b/strata/tools/python-ttystatus.morph
@@ -0,0 +1,6 @@
+name: python-ttystatus
+kind: chunk
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix=/usr --root "$DESTDIR"
diff --git a/strata/tools/rsync.morph b/strata/tools/rsync.morph
new file mode 100644
index 00000000..9a92878d
--- /dev/null
+++ b/strata/tools/rsync.morph
@@ -0,0 +1,6 @@
+name: rsync
+kind: chunk
+build-system: autotools
+build-commands:
+- make proto
+- make
diff --git a/strata/tools/screen.morph b/strata/tools/screen.morph
new file mode 100644
index 00000000..0b23c5d4
--- /dev/null
+++ b/strata/tools/screen.morph
@@ -0,0 +1,11 @@
+name: screen
+kind: chunk
+description: A terminal multiplexer and sanity tool for many
+max-jobs: 1
+configure-commands:
+- cd ./src && sh autogen.sh
+- cd ./src && ./configure --prefix="$PREFIX"
+build-commands:
+- cd ./src && make
+install-commands:
+- cd ./src && make DESTDIR="$DESTDIR" install
diff --git a/strata/tools/u-boot.morph b/strata/tools/u-boot.morph
new file mode 100644
index 00000000..9be30bc7
--- /dev/null
+++ b/strata/tools/u-boot.morph
@@ -0,0 +1,11 @@
+name: u-boot
+kind: chunk
+build-commands:
+- make tools
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX/bin"
+- install -m 755 tools/img2brec.sh "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/jtagconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/netconsole "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkenvimage "$DESTDIR$PREFIX/bin/."
+- install -m 755 tools/mkimage "$DESTDIR$PREFIX/bin/."
diff --git a/strata/tools/vala.morph b/strata/tools/vala.morph
new file mode 100644
index 00000000..dcac5d49
--- /dev/null
+++ b/strata/tools/vala.morph
@@ -0,0 +1,5 @@
+name: vala
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/strata/tools/vim.morph b/strata/tools/vim.morph
new file mode 100644
index 00000000..58e1403f
--- /dev/null
+++ b/strata/tools/vim.morph
@@ -0,0 +1,10 @@
+name: vim
+kind: chunk
+build-system: autotools
+configure-commands:
+- echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >>src/feature.h
+- ./configure --prefix="$PREFIX" --enable-multibyte
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- mkdir -p "$DESTDIR"/etc
+- install -m 644 runtime/vimrc_example.vim "$DESTDIR"/etc/vimrc
diff --git a/trove.morph b/strata/trove.morph
index 91ecaaa5..70cc054b 100644
--- a/trove.morph
+++ b/strata/trove.morph
@@ -2,7 +2,7 @@ name: trove
kind: stratum
description: Trove software
build-depends:
-- morph: tools
+- morph: strata/tools.morph
chunks:
- name: bottle
repo: upstream:bottle
@@ -15,23 +15,27 @@ chunks:
unpetrify-ref: master
build-depends: []
- name: lua
+ morph: strata/trove/lua.morph
repo: upstream:lua
- ref: bedbdc0f03bca4fe97200ddf9c3d6cb210b45888
+ ref: 948063437e0350d9ef1649ec3a76d0c24a5c8642
unpetrify-ref: baserock/5.1-morph
build-depends: []
- name: lace
+ morph: strata/trove/lace.morph
repo: upstream:gitano/lace
ref: d1b540b6d361d6a1f51e53cdaab69f053340efbb
unpetrify-ref: baserock/morph
build-depends:
- lua
- name: luxio
+ morph: strata/trove/luxio.morph
repo: upstream:luxio
ref: be9d125080b9ff2376273e21b75669b65dc88d46
unpetrify-ref: baserock/morph
build-depends:
- lua
- name: supple
+ morph: strata/trove/supple.morph
repo: upstream:gitano/supple
ref: 0963e5706d78d0ae7446ea91af986de1e196eb39
unpetrify-ref: baserock/morph
@@ -39,12 +43,14 @@ chunks:
- lua
- luxio
- name: clod
+ morph: strata/trove/clod.morph
repo: upstream:gitano/clod
ref: da15894f42f48d15db997c4355d6b672371a4163
unpetrify-ref: baserock/morph
build-depends:
- lua
- name: gall
+ morph: strata/trove/gall.morph
repo: upstream:gitano/gall
ref: f58c7526fbb0421d7f5446644f01f4cf57035ee2
unpetrify-ref: baserock/morph
@@ -57,19 +63,22 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: lrexlib-pcre
+ morph: strata/trove/lrexlib-pcre.morph
repo: upstream:lrexlib
- ref: da8a015f9e0192c47552313c981a574ff41a6b88
+ ref: 0524a6e3ab6d50cba63c8642a875e246de53d651
unpetrify-ref: baserock/morph
build-depends:
- pcre
- lua
- name: gitano
+ morph: strata/trove/gitano.morph
repo: upstream:gitano/gitano
ref: 4b8ce6875266fdd6609a217dcf2924d7d4815cc2
unpetrify-ref: baserock/morph
build-depends:
- lua
- name: cgit
+ morph: strata/trove/cgit.morph
repo: upstream:cgit
ref: acbf4a15e260c711094455dbef7c024f2553fd32
unpetrify-ref: baserock/morph
@@ -92,6 +101,7 @@ chunks:
- bzr-tarball
- python-fastimport
- name: cvs-tarball
+ morph: strata/trove/cvs-tarball.morph
repo: upstream:cvs-tarball
ref: ca4cd317a75ef4349563b5a9a734561beb4a4f98
unpetrify-ref: baserock/morph
@@ -102,12 +112,14 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: libapr-util-tarball
+ morph: strata/trove/libapr-util-tarball.morph
repo: upstream:libapr-util-tarball
ref: daba269ee5a262cc23621b3ee37ed368d2a2b69b
unpetrify-ref: baserock/morph
build-depends:
- libapr-tarball
- name: perl-dbi-tarball
+ morph: strata/trove/perl-dbi-tarball.morph
repo: upstream:perl-dbi-tarball
ref: 09e269cff811f0c1881ea0d6b7571173bab8377b
unpetrify-ref: baserock/morph
@@ -126,16 +138,19 @@ chunks:
- libapr-tarball
- libapr-util-tarball
- name: swig-tarball
+ morph: strata/trove/swig-tarball.morph
repo: upstream:swig-tarball
ref: 1f6cb46b6a4b3ebf9352fa10198b0b286f84138b
unpetrify-ref: baserock/morph
build-depends: []
- name: neon
+ morph: strata/trove/neon.morph
repo: upstream:neon
ref: 837374e9d797e216f1de684595cefe791f67c0e4
unpetrify-ref: baserock/morph
build-depends: []
- name: subversion-tarball
+ morph: strata/trove/subversion-tarball.morph
repo: upstream:subversion-tarball
ref: 351e074672d9aa6446d5829938b697a3d6b23266
unpetrify-ref: baserock/morph
@@ -146,22 +161,26 @@ chunks:
- libserf-tarball
- neon
- name: mercurial-tarball
+ morph: strata/trove/mercurial-tarball.morph
repo: upstream:mercurial-tarball
ref: 4b0aa73b8c69bd5b7521337809f7bc4714209a5a
unpetrify-ref: baserock/morph
build-depends: []
- name: hg-fast-export
+ morph: strata/trove/hg-fast-export.morph
repo: upstream:hg-fast-export
ref: 09a472aa58da0417a11a22bae172785f7cb2e80f
unpetrify-ref: baserock/morph
build-depends:
- mercurial-tarball
- name: cvsps
+ morph: strata/trove/cvsps.morph
repo: upstream:cvsps
ref: 71c6d1f5668f405a7b259a0aac0d423f6c9b4d49
unpetrify-ref: baserock/morph
build-depends: []
- name: lorry
+ morph: strata/trove/lorry.morph
repo: baserock:baserock/lorry
ref: ede3f337e9769b0e6756d4b9cc37d33aa62b82ba
unpetrify-ref: master
@@ -177,16 +196,19 @@ chunks:
- mercurial-tarball
- hg-fast-export
- name: trove-setup
+ morph: strata/trove/trove-setup.morph
repo: baserock:baserock/trove-setup
- ref: 160fd3f2f1d372751836c0073bdc944df1cfbb91
+ ref: ac0d11ed43d65f99a47793e465bef9b2dc2032a3
unpetrify-ref: master
build-depends: []
- name: lorry-controller
+ morph: strata/trove/lorry-controller.morph
repo: baserock:baserock/lorry-controller
ref: de723aed60a6a16aa8c8354b99ef7539a153fef7
unpetrify-ref: master
build-depends: []
- name: lighttpd
+ morph: strata/trove/lighttpd.morph
repo: upstream:lighttpd
ref: 12e4e21763da770034267ff0a7b660876930f789
unpetrify-ref: baserock/morph
@@ -198,6 +220,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: lua-scrypt
+ morph: strata/trove/lua-scrypt.morph
repo: upstream:lua-scrypt
ref: 0d7f74cd3eab7d54fbb13294194de7ea70ac34a5
unpetrify-ref: baserock/morph
diff --git a/strata/trove/cgit.morph b/strata/trove/cgit.morph
new file mode 100644
index 00000000..bd373a51
--- /dev/null
+++ b/strata/trove/cgit.morph
@@ -0,0 +1,6 @@
+name: cgit
+kind: chunk
+build-commands:
+- make prefix="$PREFIX"
+install-commands:
+- make prefix="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/strata/trove/clod.morph b/strata/trove/clod.morph
new file mode 100644
index 00000000..e31ca4fb
--- /dev/null
+++ b/strata/trove/clod.morph
@@ -0,0 +1,7 @@
+name: clod
+kind: chunk
+description: Configuration Language Organised (by) Dots.
+build-commands:
+- make
+install-commands:
+- make INST_BASE="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/strata/trove/cvs-tarball.morph b/strata/trove/cvs-tarball.morph
new file mode 100644
index 00000000..e8322017
--- /dev/null
+++ b/strata/trove/cvs-tarball.morph
@@ -0,0 +1,6 @@
+name: cvs-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- YACC='bison -y' ./configure --prefix "$PREFIX" --with-external-zlib --without-gssapi
+ --without-krb4 --disable-dependency-tracking --disable-nls --disable-rpath
diff --git a/strata/trove/cvsps.morph b/strata/trove/cvsps.morph
new file mode 100644
index 00000000..ff53784e
--- /dev/null
+++ b/strata/trove/cvsps.morph
@@ -0,0 +1,6 @@
+name: cvsps
+kind: chunk
+build-commands:
+- make
+install-commands:
+- make install prefix="$DESTDIR$PREFIX"
diff --git a/strata/trove/gall.morph b/strata/trove/gall.morph
new file mode 100644
index 00000000..c1f2fd47
--- /dev/null
+++ b/strata/trove/gall.morph
@@ -0,0 +1,7 @@
+name: gall
+kind: chunk
+description: Git Abstraction Layer for Lua
+build-commands:
+- make
+install-commands:
+- make INST_BASE="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/strata/trove/gitano.morph b/strata/trove/gitano.morph
new file mode 100644
index 00000000..962224d5
--- /dev/null
+++ b/strata/trove/gitano.morph
@@ -0,0 +1,5 @@
+name: gitano
+kind: chunk
+install-commands:
+- make install INST_ROOT="$PREFIX" DESTDIR="$DESTDIR"
+- cp scripts/htpasswd "$DESTDIR/$PREFIX/bin"
diff --git a/strata/trove/hg-fast-export.morph b/strata/trove/hg-fast-export.morph
new file mode 100644
index 00000000..ef99a97a
--- /dev/null
+++ b/strata/trove/hg-fast-export.morph
@@ -0,0 +1,10 @@
+name: hg-fast-export
+kind: chunk
+install-commands:
+- install -d "$DESTDIR/$PREFIX/bin"
+- install -m 0755 hg-fast-export.py "$DESTDIR/$PREFIX/bin/"
+- install -m 0755 hg-reset.py "$DESTDIR/$PREFIX/bin/"
+- install -m 0755 hg-fast-export.sh "$DESTDIR/$PREFIX/bin/hg-fast-export"
+- install -m 0755 hg-reset.sh "$DESTDIR/$PREFIX/bin/hg-reset"
+- install -d "$DESTDIR/$PREFIX/lib/python2.7/site-packages"
+- install -m 0644 hg2git.py "$DESTDIR/$PREFIX/lib/python2.7/site-packages/"
diff --git a/strata/trove/lace.morph b/strata/trove/lace.morph
new file mode 100644
index 00000000..70752397
--- /dev/null
+++ b/strata/trove/lace.morph
@@ -0,0 +1,7 @@
+name: lace
+kind: chunk
+description: Lua Access Control Engine.
+build-commands:
+- make
+install-commands:
+- make INST_BASE="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/strata/trove/libapr-util-tarball.morph b/strata/trove/libapr-util-tarball.morph
new file mode 100644
index 00000000..e34e3610
--- /dev/null
+++ b/strata/trove/libapr-util-tarball.morph
@@ -0,0 +1,5 @@
+name: libapr-util-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix "$PREFIX" --with-apr=/usr/bin/apr-1-config
diff --git a/strata/trove/lighttpd.morph b/strata/trove/lighttpd.morph
new file mode 100644
index 00000000..ae371c52
--- /dev/null
+++ b/strata/trove/lighttpd.morph
@@ -0,0 +1,6 @@
+name: lighttpd
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --prefix="$PREFIX" --with-openssl --with-openssl-libs=/usr/lib
diff --git a/strata/trove/lorry-controller.morph b/strata/trove/lorry-controller.morph
new file mode 100644
index 00000000..2f90a9a1
--- /dev/null
+++ b/strata/trove/lorry-controller.morph
@@ -0,0 +1,10 @@
+name: lorry-controller
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- install -d 0755 "$DESTDIR/etc/lighttpd"
+- install -m 0644 -D etc/lighttpd/*.conf "$DESTDIR/etc/lighttpd/."
+- |
+ TGT="$DESTDIR/usr/lib/systemd/system"
+ install -d "$TGT/multi-user.target.wants"
+ install -m 0644 units/*.service units/*.timer "$TGT/."
diff --git a/strata/trove/lorry.morph b/strata/trove/lorry.morph
new file mode 100644
index 00000000..6b8cb355
--- /dev/null
+++ b/strata/trove/lorry.morph
@@ -0,0 +1,3 @@
+name: lorry
+kind: chunk
+build-system: python-distutils
diff --git a/strata/trove/lrexlib-pcre.morph b/strata/trove/lrexlib-pcre.morph
new file mode 100644
index 00000000..63f3b034
--- /dev/null
+++ b/strata/trove/lrexlib-pcre.morph
@@ -0,0 +1,9 @@
+name: lrexlib-pcre
+kind: chunk
+description: Lua regular expression library - PCRE build only
+build-commands:
+- gcc -fPIC -DPIC -DVERSION=\"2.7.2\" -o rex_pcre.so -shared src/common.c src/pcre/lpcre.c
+ src/pcre/lpcre_f.c -lpcre
+install-commands:
+- mkdir -p $DESTDIR/usr/lib/lua/5.1/
+- cp rex_pcre.so $DESTDIR/usr/lib/lua/5.1/
diff --git a/strata/trove/lua-scrypt.morph b/strata/trove/lua-scrypt.morph
new file mode 100644
index 00000000..141b8ec3
--- /dev/null
+++ b/strata/trove/lua-scrypt.morph
@@ -0,0 +1,4 @@
+name: lua-scrypt
+kind: chunk
+install-commands:
+- make lua-5.1-install DESTDIR="$DESTDIR"
diff --git a/strata/trove/lua.morph b/strata/trove/lua.morph
new file mode 100644
index 00000000..32aeb5c1
--- /dev/null
+++ b/strata/trove/lua.morph
@@ -0,0 +1,11 @@
+name: lua
+kind: chunk
+configure-commands:
+- sed -e 's/defined(LUA_USE_READLINE)/0/g' src/luaconf.h.orig >src/luaconf.h
+- sed -i -e '/^linux:/{n;s/-lreadline//g;s/-lhistory//g;s/-lncurses//g}' src/Makefile
+build-commands:
+- make debian_linux INSTALL_TOP="$PREFIX" RPATH="$PREFIX/lib"
+install-commands:
+- make INSTALL_TOP="$DESTDIR/$PREFIX" debian_install
+- mkdir -p "$DESTDIR/$PREFIX/lib/pkgconfig"
+- cp lua5.1.pc "$DESTDIR/$PREFIX/lib/pkgconfig/"
diff --git a/strata/trove/luxio.morph b/strata/trove/luxio.morph
new file mode 100644
index 00000000..29aabfaf
--- /dev/null
+++ b/strata/trove/luxio.morph
@@ -0,0 +1,7 @@
+name: luxio
+kind: chunk
+description: Lua Unix IO (and related stuff).
+build-commands:
+- make lua-5.1
+install-commands:
+- make DESTDIR="$DESTDIR" lua-5.1-install
diff --git a/strata/trove/mercurial-tarball.morph b/strata/trove/mercurial-tarball.morph
new file mode 100644
index 00000000..03264f56
--- /dev/null
+++ b/strata/trove/mercurial-tarball.morph
@@ -0,0 +1,6 @@
+name: mercurial-tarball
+kind: chunk
+build-commands:
+- make build PREFIX="$PREFIX"
+install-commands:
+- make install-bin PREFIX="$PREFIX" DESTDIR="$DESTDIR"
diff --git a/strata/trove/neon.morph b/strata/trove/neon.morph
new file mode 100644
index 00000000..19f8e83f
--- /dev/null
+++ b/strata/trove/neon.morph
@@ -0,0 +1,8 @@
+name: neon
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --prefix="$PREFIX" --with-ssl
+install-commands:
+- make install-lib install-headers install-config DESTDIR="$DESTDIR"
diff --git a/strata/trove/perl-dbi-tarball.morph b/strata/trove/perl-dbi-tarball.morph
new file mode 100644
index 00000000..9eb3a537
--- /dev/null
+++ b/strata/trove/perl-dbi-tarball.morph
@@ -0,0 +1,5 @@
+name: perl-dbi-tarball
+kind: chunk
+build-system: cpan
+build-commands:
+- make -j1
diff --git a/strata/trove/subversion-tarball.morph b/strata/trove/subversion-tarball.morph
new file mode 100644
index 00000000..cb416d53
--- /dev/null
+++ b/strata/trove/subversion-tarball.morph
@@ -0,0 +1,10 @@
+name: subversion-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- python gen-make.py build.conf
+- ./configure --prefix="$PREFIX" --without-berkeley-db
+install-commands:
+- make install DESTDIR="$DESTDIR"
+- make swig-pl
+- make install-swig-pl DESTDIR="$DESTDIR"
diff --git a/strata/trove/supple.morph b/strata/trove/supple.morph
new file mode 100644
index 00000000..6470ba28
--- /dev/null
+++ b/strata/trove/supple.morph
@@ -0,0 +1,7 @@
+name: supple
+kind: chunk
+description: Sandbox (for) Untrusted Procedure Partitioning (in) Lua Engine.
+build-commands:
+- make
+install-commands:
+- make INST_BASE="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/strata/trove/swig-tarball.morph b/strata/trove/swig-tarball.morph
new file mode 100644
index 00000000..61f154a4
--- /dev/null
+++ b/strata/trove/swig-tarball.morph
@@ -0,0 +1,5 @@
+name: swig-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-ccache
diff --git a/strata/trove/trove-setup.morph b/strata/trove/trove-setup.morph
new file mode 100644
index 00000000..1f49760f
--- /dev/null
+++ b/strata/trove/trove-setup.morph
@@ -0,0 +1,4 @@
+name: trove-setup
+kind: chunk
+install-commands:
+- make install DESTDIR="$DESTDIR"
diff --git a/virtualbox-guest-x86_64.morph b/strata/virtualbox-guest-x86_64.morph
index 49df2405..7ac14158 100644
--- a/virtualbox-guest-x86_64.morph
+++ b/strata/virtualbox-guest-x86_64.morph
@@ -3,17 +3,19 @@ kind: stratum
description: |
VirtualBox Guest Additions for x86_64
build-depends:
-- morph: tools
-- morph: bsp-x86_64-generic
-- morph: x-common
-- morph: x-generic
+- morph: strata/tools.morph
+- morph: strata/bsp-x86_64-generic.morph
+- morph: strata/x-common.morph
+- morph: strata/x-generic.morph
chunks:
- name: yasm
+ morph: strata/virtualbox-guest-x86_64/yasm.morph
repo: upstream:yasm
ref: fefefe262eb29081f0bcb4d48f2d476ce5730562
unpetrify-ref: baserock/morph
build-depends: []
- name: vboxguest
+ morph: strata/virtualbox-guest-x86_64/vboxguest.morph
repo: upstream:VirtualBox
ref: 617aeb5a3c13f4a46423e8c2fb560449403ad56d
unpetrify-ref: baserock/morph
diff --git a/strata/virtualbox-guest-x86_64/vboxguest.morph b/strata/virtualbox-guest-x86_64/vboxguest.morph
new file mode 100644
index 00000000..f31c9944
--- /dev/null
+++ b/strata/virtualbox-guest-x86_64/vboxguest.morph
@@ -0,0 +1,34 @@
+name: vboxguest
+kind: chunk
+description: |
+ VirtualBox guest additions
+max-jobs: 1
+build-commands:
+- truncate -s0 src/VBox/Additions/common/pam/Makefile.kmk
+- env PATH="${PATH}:$(pwd)/kBuild/bin/linux.amd64/" VBOX_ONLY_ADDITIONS=1 VBOX_ONLY_BUILD=1
+ kmk
+- cd out/linux.amd64/release/bin/additions/src/ && make M="$(pwd)" -C /usr/src/linux
+ modules
+install-commands:
+- cd out/linux.amd64/release/bin/additions/src && make M="$(pwd)" -C /usr/src/linux
+ INSTALL_MOD_PATH="$DESTDIR" modules_install
+- install -m 755 -D -o 0 -g 0 out/linux.amd64/release/bin/additions/mount.vboxsf "$DESTDIR/sbin/mount.vboxsf"
+- install -m 755 -D -o 0 -g 0 out/linux.amd64/release/bin/additions/VBoxService "$DESTDIR/sbin/VBoxService"
+- install -m 755 -D -o 0 -g 0 out/linux.amd64/release/bin/additions/VBoxControl "$DESTDIR/sbin/VBoxControl"
+- |
+ install -m 644 -D -o 0 -g 0 /proc/self/fd/0 "$DESTDIR/lib/systemd/system/virtualbox-guest.service" <<EOS
+ [Unit]
+ Description=VirtualBox Guest Additions
+
+ [Service]
+ ExecStart=/sbin/VBoxService -f
+ Restart=always
+ EOS
+- mkdir -p "$DESTDIR/lib/systemd/system/basic.target.wants"
+- ln -s "/lib/systemd/system/virtualbox-guest.service" "$DESTDIR/lib/systemd/system/basic.target.wants/virtualbox-guest.service"
+- mkdir -p "$DESTDIR/etc/modules-load.d"
+- echo vboxsf > "$DESTDIR/etc/modules-load.d/virtualbox-guest-filesystem.conf"
+system-integration:
+ vboxguest-misc:
+ 00-depmod:
+ - depmod -a $(cd /lib/modules; ls | head -n 1)
diff --git a/strata/virtualbox-guest-x86_64/yasm.morph b/strata/virtualbox-guest-x86_64/yasm.morph
new file mode 100644
index 00000000..437ae97d
--- /dev/null
+++ b/strata/virtualbox-guest-x86_64/yasm.morph
@@ -0,0 +1,4 @@
+name: yasm
+kind: chunk
+max-jobs: 1
+build-system: autotools
diff --git a/virtualization.morph b/strata/virtualization.morph
index 33e662b4..1f35df7e 100644
--- a/virtualization.morph
+++ b/strata/virtualization.morph
@@ -2,30 +2,35 @@ name: virtualization
kind: stratum
description: virtualization for baserock
build-depends:
-- morph: connectivity
+- morph: strata/connectivity.morph
chunks:
- name: yajl
+ morph: strata/virtualization/yajl.morph
repo: upstream:yajl
ref: 52fc681857228c65c1cb439782da485554875481
unpetrify-ref: baserock/morph
build-depends: []
- name: xml-catalog
+ morph: strata/virtualization/xml-catalog.morph
repo: baserock:baserock/xml-catalog
ref: 1d4a2abc875c4dda1b5eadc0a097a48a8d2ec82b
unpetrify-ref: master
build-depends: []
- name: lvm2
+ morph: strata/virtualization/lvm2.morph
repo: upstream:lvm2
ref: 8c5b90b50bdf9f1a7ae1d3c4cf58ce4b0d7c2768
unpetrify-ref: baserock/morph
build-depends: []
- name: dnsmasq
+ morph: strata/virtualization/dnsmasq.morph
repo: upstream:dnsmasq
ref: 8471cd938ca41fbe4fee8ae3f657625c92cfb954
unpetrify-ref: baserock/morph
build-depends:
- lvm2
- name: qemu
+ morph: strata/virtualization/qemu.morph
repo: upstream:qemu
ref: f8d1fb61e65575011a67d7ba97b690feb5630c91
unpetrify-ref: baserock/morph
@@ -42,6 +47,7 @@ chunks:
build-depends:
- xorg-util-macros
- name: libvirt
+ morph: strata/virtualization/libvirt.morph
repo: upstream:libvirt
ref: 13b7bb4acba9b70e015b7faa020b08018885aad8
unpetrify-ref: baserock/morph
@@ -87,18 +93,21 @@ chunks:
unpetrify-ref: 3.7.4
build-depends: []
- name: pygobject
+ morph: strata/virtualization/pygobject.morph
repo: upstream:pygobject
ref: 276341d7ddab180020c31e6837bd28fd25784de0
unpetrify-ref: baserock/morph
build-depends:
- gnome-common
- name: libsoup
+ morph: strata/virtualization/libsoup.morph
repo: upstream:libsoup
ref: ce764489e358bad6b49418f5c8bc7b25a4b1815e
unpetrify-ref: baserock/morph
build-depends:
- gnome-common
- name: libosinfo
+ morph: strata/virtualization/libosinfo.morph
repo: upstream:libosinfo
ref: a86c74c4d3f62bb0e315ab7fc78ec9f7746bdd12
unpetrify-ref: baserock/morph
diff --git a/strata/virtualization/dnsmasq.morph b/strata/virtualization/dnsmasq.morph
new file mode 100644
index 00000000..4db0bf09
--- /dev/null
+++ b/strata/virtualization/dnsmasq.morph
@@ -0,0 +1,6 @@
+name: dnsmasq
+kind: chunk
+build-system: autotools
+configure-commands: []
+install-commands:
+- make install PREFIX="$PREFIX" DESTDIR="$DESTDIR"
diff --git a/strata/virtualization/libosinfo.morph b/strata/virtualization/libosinfo.morph
new file mode 100644
index 00000000..d5679965
--- /dev/null
+++ b/strata/virtualization/libosinfo.morph
@@ -0,0 +1,6 @@
+name: libosinfo
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-gtk-doc --disable-tests --disable-vala
+ --with-usb-ids-path=usb.ids --with-pci-ids-path=pci.ids
diff --git a/strata/virtualization/libsoup.morph b/strata/virtualization/libsoup.morph
new file mode 100644
index 00000000..0a5ebef6
--- /dev/null
+++ b/strata/virtualization/libsoup.morph
@@ -0,0 +1,6 @@
+name: libsoup
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --disable-tls-check
diff --git a/strata/virtualization/libvirt.morph b/strata/virtualization/libvirt.morph
new file mode 100644
index 00000000..63b5d768
--- /dev/null
+++ b/strata/virtualization/libvirt.morph
@@ -0,0 +1,6 @@
+name: libvirt
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ GNULIB_SRCDIR=gnulib-src ./autogen.sh --without-apparmor --with-attr --without-audit --without-avahi --with-blkid --without-capng --with-curl --with-dbus --with-fuse --without-glusterfs --without-hal --without-netcf --without-numactl --without-openwsman --with-pciaccess --without-readline --without-sanlock --without-sasl --without-selinux --without-ssh2 --with-systemd-daemon --with-udev --with-yajl --without-xen --with-qemu --without-uml --without-openvz --without-vmware --without-phyp --without-xenapi --without-libxl --without-vbox --without-lxc --without-esx --without-hyperv --without-parallels --with-test --with-remote --with-libvirtd --with-init-script=systemd --without-bhyve --without-gnutls --without-polkit --without-firewalld --without-dtrace --without-numad --with-network --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 --with-python --prefix="$PREFIX"
diff --git a/strata/virtualization/lvm2.morph b/strata/virtualization/lvm2.morph
new file mode 100644
index 00000000..49c166dc
--- /dev/null
+++ b/strata/virtualization/lvm2.morph
@@ -0,0 +1,6 @@
+name: lvm2
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --enable-applib --enable-cmdlib --enable-pkgconfig
+ --enable-dmeventd --enable-udev_sync
diff --git a/strata/virtualization/pygobject.morph b/strata/virtualization/pygobject.morph
new file mode 100644
index 00000000..a423537e
--- /dev/null
+++ b/strata/virtualization/pygobject.morph
@@ -0,0 +1,5 @@
+name: pygobject
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-cairo
diff --git a/strata/virtualization/qemu.morph b/strata/virtualization/qemu.morph
new file mode 100644
index 00000000..17ffbeb6
--- /dev/null
+++ b/strata/virtualization/qemu.morph
@@ -0,0 +1,5 @@
+name: qemu
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/strata/virtualization/xml-catalog.morph b/strata/virtualization/xml-catalog.morph
new file mode 100644
index 00000000..34ba0306
--- /dev/null
+++ b/strata/virtualization/xml-catalog.morph
@@ -0,0 +1,6 @@
+name: xml-catalog
+kind: chunk
+install-commands:
+- make DESTDIR="$DESTDIR" install
+post-install-commands:
+- ./post-install.sh
diff --git a/strata/virtualization/yajl.morph b/strata/virtualization/yajl.morph
new file mode 100644
index 00000000..3fac99db
--- /dev/null
+++ b/strata/virtualization/yajl.morph
@@ -0,0 +1,8 @@
+name: yajl
+kind: chunk
+configure-commands:
+- ./configure -p "$PREFIX"
+build-commands:
+- make distro
+install-commands:
+- make install DESTDIR="$DESTDIR"
diff --git a/wayland-armv7-versatile.morph b/strata/wayland-armv7-versatile.morph
index 3980c170..e9891869 100644
--- a/wayland-armv7-versatile.morph
+++ b/strata/wayland-armv7-versatile.morph
@@ -1,7 +1,7 @@
name: wayland-armv7-versatile
kind: stratum
build-depends:
-- morph: x-common
+- morph: strata/x-common.morph
chunks:
- name: libxkbcommon
repo: upstream:xorg-lib-libxkbcommon
@@ -9,12 +9,14 @@ chunks:
unpetrify-ref: baserock/genivi/baseline
build-depends: []
- name: wayland
+ morph: strata/wayland-armv7-versatile/wayland.morph
repo: upstream:wayland
ref: cbd8ab5ba7f3f0dba6c9b04176b3a2da965cd21c
unpetrify-ref: baserock/1.4.0
build-depends:
- libxkbcommon
- name: mesa-wayland
+ morph: strata/wayland-armv7-versatile/mesa-wayland.morph
repo: upstream:mesa
ref: e51e5d4f9875e9a970d7560c6ac0bfed933facc5
unpetrify-ref: baserock/arm/10.0.4-gallium
@@ -37,11 +39,13 @@ chunks:
build-depends:
- freetype2
- name: freefont-otf
+ morph: strata/wayland-armv7-versatile/freefont-otf.morph
repo: upstream:freefont-otf
- ref: 0ca3ccce74e81f7feb6e922edd988be0e1a43f05
+ ref: 75fa95a912718bb94a135d4bf6b13bb38e186ce7
unpetrify-ref: baserock/morph
build-depends: []
- name: cairo
+ morph: strata/wayland-armv7-versatile/cairo.morph
repo: upstream:cairo
ref: c373daa9d4bade91b3fc8b7850163db4b3aec40a
unpetrify-ref: baserock/genivi/1.12.10
@@ -79,6 +83,7 @@ chunks:
unpetrify-ref: baserock/genivi/baseline
build-depends: []
- name: linux-api-headers
+ morph: strata/wayland-armv7-versatile/linux-api-headers.morph
repo: upstream:linux
ref: 316df4c3eb667636eadf4b663f4087f1f9cc3cfe
unpetrify-ref: baserock/morph
@@ -109,6 +114,7 @@ chunks:
- freetype2
- freefont-otf
- name: weston
+ morph: strata/wayland-armv7-versatile/weston.morph
repo: upstream:weston
ref: 8658e06e69cc3944e89684a2de619e479751633f
unpetrify-ref: baserock/genivi/baseline-h-1.1
@@ -121,6 +127,7 @@ chunks:
- libinput
- cairo
- name: wayland-ivi-extension
+ morph: strata/wayland-armv7-versatile/wayland-ivi-extension.morph
repo: upstream:genivi/wayland-ivi-extension
ref: 8b59529cf3b279a948f253bc79263d00d3f051a5
unpetrify-ref: baserock/genivi/baseline-h-1.1
diff --git a/strata/wayland-armv7-versatile/cairo.morph b/strata/wayland-armv7-versatile/cairo.morph
new file mode 100644
index 00000000..f91ac385
--- /dev/null
+++ b/strata/wayland-armv7-versatile/cairo.morph
@@ -0,0 +1,5 @@
+name: cairo
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-glesv2
diff --git a/strata/wayland-armv7-versatile/freefont-otf.morph b/strata/wayland-armv7-versatile/freefont-otf.morph
new file mode 100644
index 00000000..e5c6c482
--- /dev/null
+++ b/strata/wayland-armv7-versatile/freefont-otf.morph
@@ -0,0 +1,5 @@
+name: freefont-otf
+kind: chunk
+install-commands:
+- mkdir -p $DESTDIR/usr/share/fonts/opentype/freefont
+- install -p *.otf $DESTDIR/usr/share/fonts/opentype/freefont
diff --git a/strata/wayland-armv7-versatile/linux-api-headers.morph b/strata/wayland-armv7-versatile/linux-api-headers.morph
new file mode 100644
index 00000000..595138fe
--- /dev/null
+++ b/strata/wayland-armv7-versatile/linux-api-headers.morph
@@ -0,0 +1,9 @@
+name: linux-api-headers
+kind: chunk
+build-commands:
+- make mrproper
+- make headers_check
+install-commands:
+- make INSTALL_HDR_PATH=dest headers_install
+- install -d "$DESTDIR${PREFIX-/usr}/include"
+- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/wayland-armv7-versatile/mesa-wayland.morph b/strata/wayland-armv7-versatile/mesa-wayland.morph
new file mode 100644
index 00000000..f39c4241
--- /dev/null
+++ b/strata/wayland-armv7-versatile/mesa-wayland.morph
@@ -0,0 +1,7 @@
+name: mesa-wayland
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-gles2 --enable-gallium-egl --with-egl-platforms=wayland,drm
+ --enable-gbm --enable-dri --enable-shared-glapi --with-gallium-drivers=swrast --with-dri-drivers=swrast
+ --with-state-trackers=egl
diff --git a/strata/wayland-armv7-versatile/wayland-ivi-extension.morph b/strata/wayland-armv7-versatile/wayland-ivi-extension.morph
new file mode 100644
index 00000000..c3308ce7
--- /dev/null
+++ b/strata/wayland-armv7-versatile/wayland-ivi-extension.morph
@@ -0,0 +1,8 @@
+name: wayland-ivi-extension
+kind: chunk
+configure-commands:
+- cmake -DCMAKE_INSTALL_PREFIX=$PREFIX
+build-commands:
+- make
+install-commands:
+- make install DESTDIR=$DESTDIR
diff --git a/strata/wayland-armv7-versatile/wayland.morph b/strata/wayland-armv7-versatile/wayland.morph
new file mode 100644
index 00000000..752a5d6e
--- /dev/null
+++ b/strata/wayland-armv7-versatile/wayland.morph
@@ -0,0 +1,7 @@
+name: wayland
+kind: chunk
+description: Wayland server
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX" --disable-documentation
diff --git a/strata/wayland-armv7-versatile/weston.morph b/strata/wayland-armv7-versatile/weston.morph
new file mode 100644
index 00000000..8ce58496
--- /dev/null
+++ b/strata/wayland-armv7-versatile/weston.morph
@@ -0,0 +1,53 @@
+name: weston
+kind: chunk
+description: weston compositor
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- |
+ LDFLAGS='-L/lib64 -lrt' \
+ ./configure --prefix=$PREFIX --with-cairo-glesv2 --disable-xwayland \
+ --disable-drm-compositor --disable-x11-compositor \
+ --disable-wayland-compositor --disable-weston-launch --enable-egl \
+ --enable-clients --enable-demo-clients-install --enable-fbdev-compositor
+post-install-commands:
+- install -d "$DESTDIR/usr/share/weston"
+- install -m 0644 data/*.png "$DESTDIR/usr/share/weston/"
+- sed -i 's,/weston.build/data/,/usr/share/weston/,g' ivi-shell/weston.ini
+- sed -i 's,/weston.build/clients/,/usr/bin/,g' ivi-shell/weston.ini
+- sed -i 's,/weston.build/,/usr/libexec/,g' ivi-shell/weston.ini
+- sed -i '/^\[ivi-launcher\]/,$d' ivi-shell/weston.ini
+- |
+ cat <<EOF >> ivi-shell/weston.ini
+ [ivi-launcher]
+ workspace-id=0
+ icon-id=4001
+ icon=/usr/share/weston/icon_ivi_flower.png
+ path=/usr/bin/weston-flower
+
+ [ivi-launcher]
+ workspace-id=0
+ icon-id=4002
+ icon=/usr/share/weston/icon_ivi_clickdot.png
+ path=/usr/bin/weston-clickdot
+
+ [ivi-launcher]
+ workspace-id=1
+ icon-id=4003
+ icon=/usr/share/weston/icon_ivi_simple-egl.png
+ path=/usr/bin/weston-simple-egl
+
+ [ivi-launcher]
+ workspace-id=1
+ icon-id=4004
+ icon=/usr/share/weston/icon_ivi_simple-shm.png
+ path=/usr/bin/weston-simple-shm
+
+ [ivi-launcher]
+ workspace-id=2
+ icon-id=4005
+ icon=/usr/share/weston/icon_ivi_smoke.png
+ path=/usr/bin/weston-smoke
+ EOF
+- install -d "$DESTDIR/usr/share/doc/weston"
+- install -m 0644 ivi-shell/weston.ini "$DESTDIR/usr/share/doc/weston/ivi-shell-weston.ini"
diff --git a/wayland-x86_64-generic.morph b/strata/wayland-x86_64-generic.morph
index 353b953b..9827068f 100644
--- a/wayland-x86_64-generic.morph
+++ b/strata/wayland-x86_64-generic.morph
@@ -1,7 +1,7 @@
name: wayland-x86_64-generic
kind: stratum
build-depends:
-- morph: x-common
+- morph: strata/x-common.morph
chunks:
- name: libxkbcommon
repo: upstream:xorg-lib-libxkbcommon
@@ -9,12 +9,14 @@ chunks:
unpetrify-ref: baserock/genivi/baseline
build-depends: []
- name: wayland
+ morph: strata/wayland-x86_64-generic/wayland.morph
repo: upstream:wayland
ref: cbd8ab5ba7f3f0dba6c9b04176b3a2da965cd21c
unpetrify-ref: baserock/1.4.0
build-depends:
- libxkbcommon
- name: mesa-wayland
+ morph: strata/wayland-x86_64-generic/mesa-wayland.morph
repo: upstream:mesa
ref: a77b370b4ba1045e2612650503cf45827af94a12
unpetrify-ref: baserock/10.0.4-gallium
@@ -37,11 +39,13 @@ chunks:
build-depends:
- freetype2
- name: freefont-otf
+ morph: strata/wayland-x86_64-generic/freefont-otf.morph
repo: upstream:freefont-otf
- ref: 0ca3ccce74e81f7feb6e922edd988be0e1a43f05
+ ref: 75fa95a912718bb94a135d4bf6b13bb38e186ce7
unpetrify-ref: baserock/morph
build-depends: []
- name: cairo
+ morph: strata/wayland-x86_64-generic/cairo.morph
repo: upstream:cairo
ref: c373daa9d4bade91b3fc8b7850163db4b3aec40a
unpetrify-ref: baserock/genivi/1.12.10
@@ -79,6 +83,7 @@ chunks:
unpetrify-ref: baserock/genivi/baseline
build-depends: []
- name: linux-api-headers
+ morph: strata/wayland-x86_64-generic/linux-api-headers.morph
repo: upstream:linux
ref: 316df4c3eb667636eadf4b663f4087f1f9cc3cfe
unpetrify-ref: baserock/morph
@@ -109,6 +114,7 @@ chunks:
- freetype2
- freefont-otf
- name: weston
+ morph: strata/wayland-x86_64-generic/weston.morph
repo: upstream:weston
ref: 8658e06e69cc3944e89684a2de619e479751633f
unpetrify-ref: baserock/genivi/baseline-h-1.1
@@ -121,6 +127,7 @@ chunks:
- pixman
- libxkbcommon
- name: wayland-ivi-extension
+ morph: strata/wayland-x86_64-generic/wayland-ivi-extension.morph
repo: upstream:genivi/wayland-ivi-extension
ref: 8b59529cf3b279a948f253bc79263d00d3f051a5
unpetrify-ref: baserock/genivi/baseline-h-1.1
diff --git a/strata/wayland-x86_64-generic/cairo.morph b/strata/wayland-x86_64-generic/cairo.morph
new file mode 100644
index 00000000..f91ac385
--- /dev/null
+++ b/strata/wayland-x86_64-generic/cairo.morph
@@ -0,0 +1,5 @@
+name: cairo
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-glesv2
diff --git a/strata/wayland-x86_64-generic/freefont-otf.morph b/strata/wayland-x86_64-generic/freefont-otf.morph
new file mode 100644
index 00000000..e5c6c482
--- /dev/null
+++ b/strata/wayland-x86_64-generic/freefont-otf.morph
@@ -0,0 +1,5 @@
+name: freefont-otf
+kind: chunk
+install-commands:
+- mkdir -p $DESTDIR/usr/share/fonts/opentype/freefont
+- install -p *.otf $DESTDIR/usr/share/fonts/opentype/freefont
diff --git a/strata/wayland-x86_64-generic/linux-api-headers.morph b/strata/wayland-x86_64-generic/linux-api-headers.morph
new file mode 100644
index 00000000..595138fe
--- /dev/null
+++ b/strata/wayland-x86_64-generic/linux-api-headers.morph
@@ -0,0 +1,9 @@
+name: linux-api-headers
+kind: chunk
+build-commands:
+- make mrproper
+- make headers_check
+install-commands:
+- make INSTALL_HDR_PATH=dest headers_install
+- install -d "$DESTDIR${PREFIX-/usr}/include"
+- cp -r dest/include/* "$DESTDIR/${PREFIX-/usr}/include"
diff --git a/strata/wayland-x86_64-generic/mesa-wayland.morph b/strata/wayland-x86_64-generic/mesa-wayland.morph
new file mode 100644
index 00000000..06dfeee3
--- /dev/null
+++ b/strata/wayland-x86_64-generic/mesa-wayland.morph
@@ -0,0 +1,7 @@
+name: mesa-wayland
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-gles2 --enable-gallium-egl --with-egl-platforms=wayland,drm
+ --enable-gbm --enable-dri --enable-shared-glapi --with-gallium-drivers=swrast --with-dri-drivers=,i915,i965,swrast
+ --with-state-trackers=egl
diff --git a/strata/wayland-x86_64-generic/wayland-ivi-extension.morph b/strata/wayland-x86_64-generic/wayland-ivi-extension.morph
new file mode 100644
index 00000000..c3308ce7
--- /dev/null
+++ b/strata/wayland-x86_64-generic/wayland-ivi-extension.morph
@@ -0,0 +1,8 @@
+name: wayland-ivi-extension
+kind: chunk
+configure-commands:
+- cmake -DCMAKE_INSTALL_PREFIX=$PREFIX
+build-commands:
+- make
+install-commands:
+- make install DESTDIR=$DESTDIR
diff --git a/strata/wayland-x86_64-generic/wayland.morph b/strata/wayland-x86_64-generic/wayland.morph
new file mode 100644
index 00000000..752a5d6e
--- /dev/null
+++ b/strata/wayland-x86_64-generic/wayland.morph
@@ -0,0 +1,7 @@
+name: wayland
+kind: chunk
+description: Wayland server
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX" --disable-documentation
diff --git a/strata/wayland-x86_64-generic/weston.morph b/strata/wayland-x86_64-generic/weston.morph
new file mode 100644
index 00000000..8ce58496
--- /dev/null
+++ b/strata/wayland-x86_64-generic/weston.morph
@@ -0,0 +1,53 @@
+name: weston
+kind: chunk
+description: weston compositor
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- |
+ LDFLAGS='-L/lib64 -lrt' \
+ ./configure --prefix=$PREFIX --with-cairo-glesv2 --disable-xwayland \
+ --disable-drm-compositor --disable-x11-compositor \
+ --disable-wayland-compositor --disable-weston-launch --enable-egl \
+ --enable-clients --enable-demo-clients-install --enable-fbdev-compositor
+post-install-commands:
+- install -d "$DESTDIR/usr/share/weston"
+- install -m 0644 data/*.png "$DESTDIR/usr/share/weston/"
+- sed -i 's,/weston.build/data/,/usr/share/weston/,g' ivi-shell/weston.ini
+- sed -i 's,/weston.build/clients/,/usr/bin/,g' ivi-shell/weston.ini
+- sed -i 's,/weston.build/,/usr/libexec/,g' ivi-shell/weston.ini
+- sed -i '/^\[ivi-launcher\]/,$d' ivi-shell/weston.ini
+- |
+ cat <<EOF >> ivi-shell/weston.ini
+ [ivi-launcher]
+ workspace-id=0
+ icon-id=4001
+ icon=/usr/share/weston/icon_ivi_flower.png
+ path=/usr/bin/weston-flower
+
+ [ivi-launcher]
+ workspace-id=0
+ icon-id=4002
+ icon=/usr/share/weston/icon_ivi_clickdot.png
+ path=/usr/bin/weston-clickdot
+
+ [ivi-launcher]
+ workspace-id=1
+ icon-id=4003
+ icon=/usr/share/weston/icon_ivi_simple-egl.png
+ path=/usr/bin/weston-simple-egl
+
+ [ivi-launcher]
+ workspace-id=1
+ icon-id=4004
+ icon=/usr/share/weston/icon_ivi_simple-shm.png
+ path=/usr/bin/weston-simple-shm
+
+ [ivi-launcher]
+ workspace-id=2
+ icon-id=4005
+ icon=/usr/share/weston/icon_ivi_smoke.png
+ path=/usr/bin/weston-smoke
+ EOF
+- install -d "$DESTDIR/usr/share/doc/weston"
+- install -m 0644 ivi-shell/weston.ini "$DESTDIR/usr/share/doc/weston/ivi-shell-weston.ini"
diff --git a/webtools.morph b/strata/webtools.morph
index 523dde2b..da5e3338 100644
--- a/webtools.morph
+++ b/strata/webtools.morph
@@ -2,9 +2,10 @@ name: webtools
kind: stratum
description: pip, node and other fun things
build-depends:
-- morph: tools
+- morph: strata/tools.morph
chunks:
- name: icu
+ morph: strata/webtools/icu.morph
repo: upstream:icu
ref: ba023548a3bff7277cbea4acade3042ce9d8949e
unpetrify-ref: baserock/morph
@@ -15,6 +16,7 @@ chunks:
unpetrify-ref: master
build-depends: []
- name: tar
+ morph: strata/webtools/tar.morph
repo: upstream:tar
ref: 0492b656656ca7973b126b8c117804d80952de48
unpetrify-ref: baserock/morph
@@ -30,8 +32,9 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: nginx
+ morph: strata/webtools/nginx.morph
repo: upstream:nginx
- ref: 37a582c9ea3e731c115e560d31b26f78535b8fca
- unpetrify-ref: baserock/v1.7.0
+ ref: 37a582c9ea3e731c115e560d31b26f78535b8fca
+ unpetrify-ref: baserock/v1.7.0
build-depends:
- pcre
diff --git a/strata/webtools/icu.morph b/strata/webtools/icu.morph
new file mode 100644
index 00000000..37dec07e
--- /dev/null
+++ b/strata/webtools/icu.morph
@@ -0,0 +1,8 @@
+name: icu
+kind: chunk
+configure-commands:
+- cd source; ./runConfigureICU Linux --prefix=/usr
+build-commands:
+- cd source; unset TARGET ; make
+install-commands:
+- cd source; unset TARGET ; make DESTDIR="$DESTDIR" install
diff --git a/strata/webtools/nginx.morph b/strata/webtools/nginx.morph
new file mode 100644
index 00000000..08949ec9
--- /dev/null
+++ b/strata/webtools/nginx.morph
@@ -0,0 +1,13 @@
+name: nginx
+kind: chunk
+configure-commands:
+- |
+ ./configure --prefix=$PREFIX \
+ --conf-path=/etc/nginx/nginx.conf \
+ --pid-path=/etc/nginx/nginx.pid \
+ --error-log-path=/var/log/nginx/error.log \
+ --http-log-path=/var/log/nginx/access.log
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/webtools/tar.morph b/strata/webtools/tar.morph
new file mode 100644
index 00000000..2253e3b7
--- /dev/null
+++ b/strata/webtools/tar.morph
@@ -0,0 +1,10 @@
+name: tar
+kind: chunk
+configure-commands:
+- bash bootstrap --skip-po
+- FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/sbin
+ --disable-nls
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/x-common.morph b/strata/x-common.morph
index 77ba793b..a6791d48 100644
--- a/x-common.morph
+++ b/strata/x-common.morph
@@ -1,9 +1,10 @@
name: x-common
kind: stratum
build-depends:
-- morph: genivi-foundation
+- morph: strata/genivi-foundation.morph
chunks:
- name: llvm
+ morph: strata/x-common/llvm.morph
repo: upstream:llvm
ref: 60aa15443579a9542a1e8818f3c5dd901edb03d9
unpetrify-ref: baserock/morph
diff --git a/strata/x-common/llvm.morph b/strata/x-common/llvm.morph
new file mode 100644
index 00000000..fed29165
--- /dev/null
+++ b/strata/x-common/llvm.morph
@@ -0,0 +1,8 @@
+name: llvm
+kind: chunk
+description: Low Level Virtual Machine
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --libdir="$PREFIX"/lib/llvm --sysconfdir=/etc --enable-shared
+ --enable-libffi --enable-targets=all --disable-expensive-checks --disable-debug-runtime
+ --disable-assertions --enable-optimized
diff --git a/x-generic.morph b/strata/x-generic.morph
index 8309a88e..1f68e064 100644
--- a/x-generic.morph
+++ b/strata/x-generic.morph
@@ -1,9 +1,10 @@
name: x-generic
kind: stratum
build-depends:
-- morph: x-common
+- morph: strata/x-common.morph
chunks:
- name: mesa-x
+ morph: strata/x-generic/mesa-x.morph
repo: upstream:mesa
ref: b8e3777eb34a6f585d7c168003bd8ebd69bf107c
unpetrify-ref: baserock/genivi/morph
@@ -48,8 +49,9 @@ chunks:
- freetype2
- xorg-lib-libfontenc
- name: freefont-otf
+ morph: strata/x-generic/freefont-otf.morph
repo: upstream:freefont-otf
- ref: 0ca3ccce74e81f7feb6e922edd988be0e1a43f05
+ ref: 75fa95a912718bb94a135d4bf6b13bb38e186ce7
unpetrify-ref: baserock/morph
build-depends: []
- name: xorg-lib-libICE
@@ -95,6 +97,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: xserver
+ morph: strata/x-generic/xserver.morph
repo: upstream:xserver
ref: b7cbfa882778cf8857577e0da77aa9295f072db3
unpetrify-ref: baserock/morph
@@ -181,6 +184,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: util-keysyms
+ morph: strata/x-generic/util-keysyms.morph
repo: upstream:util-keysyms
ref: 0be179eff4eadb99ee303891d1c29c4e4dd6fbab
unpetrify-ref: baserock/morph
diff --git a/strata/x-generic/freefont-otf.morph b/strata/x-generic/freefont-otf.morph
new file mode 100644
index 00000000..e5c6c482
--- /dev/null
+++ b/strata/x-generic/freefont-otf.morph
@@ -0,0 +1,5 @@
+name: freefont-otf
+kind: chunk
+install-commands:
+- mkdir -p $DESTDIR/usr/share/fonts/opentype/freefont
+- install -p *.otf $DESTDIR/usr/share/fonts/opentype/freefont
diff --git a/strata/x-generic/mesa-x.morph b/strata/x-generic/mesa-x.morph
new file mode 100644
index 00000000..a5a51500
--- /dev/null
+++ b/strata/x-generic/mesa-x.morph
@@ -0,0 +1,21 @@
+name: mesa-x
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ cpu=$(echo $TARGET | cut -d '-' -f 1)
+ case "$cpu" in
+ x86_32|x64_64)
+ DRIDRIVERS=intel,i915,i965,swrast
+ ;;
+ *)
+ DRIDRIVERS=swrast
+ ;;
+ esac
+ ./autogen.sh --prefix="$PREFIX" \
+ --enable-gles2 \
+ --disable-gallium-egl \
+ --with-egl-platforms=x11,drm \
+ --enable-gbm --enable-shared-glapi \
+ --with-gallium-drivers=swrast \
+ --with-dri-drivers=$DRIDRIVERS
diff --git a/strata/x-generic/util-keysyms.morph b/strata/x-generic/util-keysyms.morph
new file mode 100644
index 00000000..ddae3707
--- /dev/null
+++ b/strata/x-generic/util-keysyms.morph
@@ -0,0 +1,9 @@
+name: util-keysyms
+kind: chunk
+configure-commands:
+- git submodule update --init
+- ./autogen.sh --prefix=/usr
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/strata/x-generic/xserver.morph b/strata/x-generic/xserver.morph
new file mode 100644
index 00000000..473f5d32
--- /dev/null
+++ b/strata/x-generic/xserver.morph
@@ -0,0 +1,5 @@
+name: xserver
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --with-sha1=libsha1
diff --git a/xfce.morph b/strata/xfce.morph
index e3dcb8ee..e5a30821 100644
--- a/xfce.morph
+++ b/strata/xfce.morph
@@ -2,22 +2,35 @@ name: xfce
kind: stratum
description: xfce stratum
build-depends:
-- morph: genivi-x-generic
-- morph: gtk2
-- morph: x-generic
+- morph: strata/genivi-x-generic.morph
+- morph: strata/gtk2.morph
+- morph: strata/x-generic.morph
chunks:
+- name: libcroco
+ repo: upstream:libcroco
+ ref: 611f624a6e15065792b41eb5ce14811293f3fb0a
+ unpetrify-ref: baserock/morph
+ build-depends: []
+- name: librsvg
+ morph: strata/xfce/librsvg.morph
+ repo: upstream:librsvg
+ ref: 61171ca59d02b58b7da1697ca1d924bff93e66cb
+ unpetrify-ref: baserock/morph
+ build-depends: []
- name: xfce-dev-tools
repo: upstream:xfce/xfce4-dev-tools
ref: 9244250ac0c15ba160688758c5dccf97f3f160ef
unpetrify-ref: baserock/morph
build-depends: []
- name: libxfce4util
+ morph: strata/xfce/libxfce4util.morph
repo: upstream:xfce/libxfce4util
ref: fc0437fe503c3eaa5ccd4fa68f098bc428f27cad
unpetrify-ref: baserock/morph
build-depends:
- xfce-dev-tools
- name: xfconf
+ morph: strata/xfce/xfconf.morph
repo: upstream:xfce/xfconf
ref: ed6ed2f7656a0d5d8cb453cb643061c9a157f2ae
unpetrify-ref: baserock/morph
@@ -25,6 +38,7 @@ chunks:
- xfce-dev-tools
- libxfce4util
- name: libxfce4ui
+ morph: strata/xfce/libxfce4ui.morph
repo: upstream:xfce/libxfce4ui
ref: a9c2a379709915dfda255d3ca9181fac3f8484d8
unpetrify-ref: baserock/morph
@@ -33,6 +47,7 @@ chunks:
- libxfce4util
- xfconf
- name: garcon
+ morph: strata/xfce/garcon.morph
repo: upstream:xfce/garcon
ref: febd4136365714556f6afbccf4302e8f4550e5d1
unpetrify-ref: baserock/morph
@@ -44,6 +59,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: exo
+ morph: strata/xfce/exo.morph
repo: upstream:xfce/exo
ref: b985c4b5c72ef116d55bbf746c16a05f26afc045
unpetrify-ref: baserock/morph
@@ -52,11 +68,13 @@ chunks:
- libxfce4ui
- perl-uri
- name: libwnck
+ morph: strata/xfce/libwnck.morph
repo: upstream:libwnck
ref: 6792abcdf27aceba1012406d51606e84b065a526
unpetrify-ref: baserock/xfce-build
build-depends: []
- name: xfce4-panel
+ morph: strata/xfce/xfce4-panel.morph
repo: upstream:xfce/xfce4-panel
ref: 6ac8bfcb481781e8e23b101f5c5fdd70cf6d083b
unpetrify-ref: baserock/morph
@@ -66,6 +84,7 @@ chunks:
- exo
- libwnck
- name: thunar
+ morph: strata/xfce/thunar.morph
repo: upstream:xfce/thunar
ref: 8289f48c200b91cc1e9932e13defb8e6a4765054
unpetrify-ref: baserock/morph
@@ -75,6 +94,7 @@ chunks:
- garcon
- libwnck
- name: xfce4-settings
+ morph: strata/xfce/xfce4-settings.morph
repo: upstream:xfce/xfce4-settings
ref: 697ce5cd4bf4860a0a20c27b557be296c9adf469
unpetrify-ref: baserock/morph
@@ -90,6 +110,7 @@ chunks:
unpetrify-ref: baserock/morph
build-depends: []
- name: xfce4-session
+ morph: strata/xfce/xfce4-session.morph
repo: upstream:xfce/xfce4-session
ref: 2c89b2f12409ca617fc094e2942cb0d69318c7b5
unpetrify-ref: baserock/morph
@@ -100,12 +121,14 @@ chunks:
- libxfce4ui
- libwnck
- name: gtk-xfce-engine-2
+ morph: strata/xfce/gtk-xfce-engine-2.morph
repo: upstream:xfce/gtk-xfce-engine
ref: ed44a71f1a4d76ae850483ece41638bb9a3e7781
unpetrify-ref: baserock/morph
build-depends:
- xfce-dev-tools
- name: xfdesktop
+ morph: strata/xfce/xfdesktop.morph
repo: upstream:xfce/xfdesktop
ref: d2f7404da32f29cfec4a704389112fe7183edda5
unpetrify-ref: baserock/morph
@@ -115,6 +138,7 @@ chunks:
- xfconf
- libwnck
- name: xfwm4
+ morph: strata/xfce/xfwm4.morph
repo: upstream:xfce/xfwm4
ref: 523ef8a6861af772be3468cd700ad14172c86768
unpetrify-ref: baserock/morph
@@ -125,6 +149,7 @@ chunks:
- xfconf
- libwnck
- name: xfce4-appfinder
+ morph: strata/xfce/xfce4-appfinder.morph
repo: upstream:xfce/xfce4-appfinder
ref: 5c069f13fde648913a59f022957b2c83b5764f39
unpetrify-ref: baserock/morph
@@ -133,12 +158,14 @@ chunks:
- libxfce4ui
- garcon
- name: tumbler
+ morph: strata/xfce/tumbler.morph
repo: upstream:xfce/tumbler
ref: f8191f286227a045fbdabd7684c9da81ade518c8
unpetrify-ref: baserock/morph
build-depends:
- xfce-dev-tools
- name: elementary-xfce
+ morph: strata/xfce/elementary-xfce.morph
repo: upstream:elementary-xfce
ref: 81e683bb46f8ba58c49c60ed75124951b7ba0779
unpetrify-ref: baserock/morph
diff --git a/strata/xfce/elementary-xfce.morph b/strata/xfce/elementary-xfce.morph
new file mode 100644
index 00000000..978cfdc4
--- /dev/null
+++ b/strata/xfce/elementary-xfce.morph
@@ -0,0 +1,10 @@
+name: elementary-xfce
+kind: chunk
+install-commands:
+- mkdir -p $DESTDIR/usr/share/icons/
+- cp -R elementary-xfce $DESTDIR/usr/share/icons/
+- cp -R elementary-xfce-* $DESTDIR/usr/share/icons/
+- gtk-update-icon-cache -t -f $DESTDIR/usr/share/icons/elementary-xfce
+- gtk-update-icon-cache -t -f $DESTDIR/usr/share/icons/elementary-xfce-dark
+- gtk-update-icon-cache -t -f $DESTDIR/usr/share/icons/elementary-xfce-darker
+- gtk-update-icon-cache -t -f $DESTDIR/usr/share/icons/elementary-xfce-darkest
diff --git a/strata/xfce/exo.morph b/strata/xfce/exo.morph
new file mode 100644
index 00000000..f5096213
--- /dev/null
+++ b/strata/xfce/exo.morph
@@ -0,0 +1,8 @@
+name: exo
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/garcon.morph b/strata/xfce/garcon.morph
new file mode 100644
index 00000000..569197ff
--- /dev/null
+++ b/strata/xfce/garcon.morph
@@ -0,0 +1,8 @@
+name: garcon
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/gtk-xfce-engine-2.morph b/strata/xfce/gtk-xfce-engine-2.morph
new file mode 100644
index 00000000..cf1c2530
--- /dev/null
+++ b/strata/xfce/gtk-xfce-engine-2.morph
@@ -0,0 +1,8 @@
+name: gtk-xfce-engine-2
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/librsvg.morph b/strata/xfce/librsvg.morph
new file mode 100644
index 00000000..f4d880ed
--- /dev/null
+++ b/strata/xfce/librsvg.morph
@@ -0,0 +1,6 @@
+name: librsvg
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --disable-gtk-theme
diff --git a/strata/xfce/libwnck.morph b/strata/xfce/libwnck.morph
new file mode 100644
index 00000000..bb8d7afa
--- /dev/null
+++ b/strata/xfce/libwnck.morph
@@ -0,0 +1,11 @@
+name: libwnck
+kind: chunk
+build-system: autotools
+configure-commands:
+- gdk-pixbuf-query-loaders > loader.cache
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX"
+build-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make
+install-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make install DESTDIR="$DESTDIR"
diff --git a/strata/xfce/libxfce4ui.morph b/strata/xfce/libxfce4ui.morph
new file mode 100644
index 00000000..5fbd342e
--- /dev/null
+++ b/strata/xfce/libxfce4ui.morph
@@ -0,0 +1,8 @@
+name: libxfce4ui
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=${PREFIX}
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/libxfce4util.morph b/strata/xfce/libxfce4util.morph
new file mode 100644
index 00000000..60a59126
--- /dev/null
+++ b/strata/xfce/libxfce4util.morph
@@ -0,0 +1,8 @@
+name: libxfce4util
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/thunar.morph b/strata/xfce/thunar.morph
new file mode 100644
index 00000000..51f76ac5
--- /dev/null
+++ b/strata/xfce/thunar.morph
@@ -0,0 +1,9 @@
+name: thunar
+kind: chunk
+configure-commands:
+- gdk-pixbuf-query-loaders > loader.cache
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make
+install-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make install
diff --git a/strata/xfce/tumbler.morph b/strata/xfce/tumbler.morph
new file mode 100644
index 00000000..fe27a783
--- /dev/null
+++ b/strata/xfce/tumbler.morph
@@ -0,0 +1,8 @@
+name: tumbler
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/xfce4-appfinder.morph b/strata/xfce/xfce4-appfinder.morph
new file mode 100644
index 00000000..f8d1fcbe
--- /dev/null
+++ b/strata/xfce/xfce4-appfinder.morph
@@ -0,0 +1,8 @@
+name: xfce4-appfinder
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=${PREFIX}
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/xfce4-panel.morph b/strata/xfce/xfce4-panel.morph
new file mode 100644
index 00000000..fe85e172
--- /dev/null
+++ b/strata/xfce/xfce4-panel.morph
@@ -0,0 +1,8 @@
+name: xfce4-panel
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/xfce4-session.morph b/strata/xfce/xfce4-session.morph
new file mode 100644
index 00000000..87ffac22
--- /dev/null
+++ b/strata/xfce/xfce4-session.morph
@@ -0,0 +1,9 @@
+name: xfce4-session
+kind: chunk
+configure-commands:
+- gdk-pixbuf-query-loaders > loader.cache
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make
+install-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make install
diff --git a/strata/xfce/xfce4-settings.morph b/strata/xfce/xfce4-settings.morph
new file mode 100644
index 00000000..6063dbc1
--- /dev/null
+++ b/strata/xfce/xfce4-settings.morph
@@ -0,0 +1,8 @@
+name: xfce4-settings
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/xfconf.morph b/strata/xfce/xfconf.morph
new file mode 100644
index 00000000..cfbe741b
--- /dev/null
+++ b/strata/xfce/xfconf.morph
@@ -0,0 +1,8 @@
+name: xfconf
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=${PREFIX}
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/xfdesktop.morph b/strata/xfce/xfdesktop.morph
new file mode 100644
index 00000000..4af5a905
--- /dev/null
+++ b/strata/xfce/xfdesktop.morph
@@ -0,0 +1,8 @@
+name: xfdesktop
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/strata/xfce/xfwm4.morph b/strata/xfce/xfwm4.morph
new file mode 100644
index 00000000..0c4e2273
--- /dev/null
+++ b/strata/xfce/xfwm4.morph
@@ -0,0 +1,11 @@
+name: xfwm4
+kind: chunk
+configure-commands:
+- gdk-pixbuf-query-loaders > loader.cache
+- ./autogen.sh --prefix="$PREFIX" --enable-debug=yes
+build-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make
+install-commands:
+- GDK_PIXBUF_MODULE_FILE="$(pwd)/loader.cache" make install
+- install -m 0644 index.theme $DESTDIR/usr/share/icons/hicolor
+- gtk-update-icon-cache $DESTDIR/usr/share/icons/hicolor
diff --git a/armv7lhf-cross-toolchain-system-x86_32-generic.morph b/systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph
index 1c9ae41d..e983ba7a 100644
--- a/armv7lhf-cross-toolchain-system-x86_32-generic.morph
+++ b/systems/armv7lhf-cross-toolchain-system-x86_32-generic.morph
@@ -1,11 +1,15 @@
name: armv7lhf-cross-toolchain-system-x86_32-generic
kind: system
+description: A system that contains an ARM cross compiler, intended to be used as
+ a sysroot.
arch: x86_32
-description: A system that contains an ARM cross compiler, intended to be used as a sysroot.
strata:
-- morph: build-essential
-- morph: armv7lhf-cross-toolchain
-- morph: cross-tools
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: armv7lhf-cross-toolchain
+ morph: strata/armv7lhf-cross-toolchain.morph
+- name: cross-tools
+ morph: strata/cross-tools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/armv7lhf-cross-toolchain-system-x86_64-generic.morph b/systems/armv7lhf-cross-toolchain-system-x86_64-generic.morph
index 43f5bf87..1a8c20bb 100644
--- a/armv7lhf-cross-toolchain-system-x86_64-generic.morph
+++ b/systems/armv7lhf-cross-toolchain-system-x86_64-generic.morph
@@ -1,11 +1,15 @@
name: armv7lhf-cross-toolchain-system-x86_64-generic
kind: system
+description: A system that contains an ARM cross compiler, intended to be used as
+ a sysroot.
arch: x86_64
-description: A system that contains an ARM cross compiler, intended to be used as a sysroot.
strata:
-- morph: build-essential
-- morph: armv7lhf-cross-toolchain
-- morph: cross-tools
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: armv7lhf-cross-toolchain
+ morph: strata/armv7lhf-cross-toolchain.morph
+- name: cross-tools
+ morph: strata/cross-tools.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/base-system-armv7-highbank.morph b/systems/base-system-armv7-highbank.morph
index 9573866c..4efd3981 100644
--- a/base-system-armv7-highbank.morph
+++ b/systems/base-system-armv7-highbank.morph
@@ -1,16 +1,20 @@
+name: base-system-armv7-highbank
+kind: system
+description: The set of strata required to have a minimal system for an ARM highbank
+ system.
arch: armv7l
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7-highbank
+ morph: strata/bsp-armv7-highbank.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: The set of strata required to have a minimal system for an ARM highbank
- system.
-kind: system
-name: base-system-armv7-highbank
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7-highbank
diff --git a/base-system-armv7-versatile.morph b/systems/base-system-armv7-versatile.morph
index 31e3bf3a..2c3634b5 100644
--- a/base-system-armv7-versatile.morph
+++ b/systems/base-system-armv7-versatile.morph
@@ -1,16 +1,20 @@
+name: base-system-armv7-versatile
+kind: system
+description: The set of strata required to have a minimal system for an ARM versatile
+ system.
arch: armv7l
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7-versatile
+ morph: strata/bsp-armv7-versatile.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: The set of strata required to have a minimal system for an ARM versatile
- system.
-kind: system
-name: base-system-armv7-versatile
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7-versatile
diff --git a/base-system-armv7b-highbank.morph b/systems/base-system-armv7b-highbank.morph
index 75c69f85..2218af6f 100644
--- a/base-system-armv7b-highbank.morph
+++ b/systems/base-system-armv7b-highbank.morph
@@ -1,16 +1,20 @@
+name: base-system-armv7b-highbank
+kind: system
+description: The set of strata required to have a minimal system for an ARM highbank
+ system.
arch: armv7b
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7b-highbank
+ morph: strata/bsp-armv7b-highbank.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: The set of strata required to have a minimal system for an ARM highbank
- system.
-kind: system
-name: base-system-armv7b-highbank
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7b-highbank
diff --git a/base-system-armv7b-vexpress-tc2.morph b/systems/base-system-armv7b-vexpress-tc2.morph
index bdd63a00..83b437a1 100644
--- a/base-system-armv7b-vexpress-tc2.morph
+++ b/systems/base-system-armv7b-vexpress-tc2.morph
@@ -1,15 +1,19 @@
+name: base-system-armv7b-vexpress-tc2
+kind: system
+description: A small system for Versatile TC2 boards system.
arch: armv7b
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7b-vexpress-tc2
+ morph: strata/bsp-armv7b-vexpress-tc2.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: A small system for Versatile TC2 boards system.
-kind: system
-name: base-system-armv7b-vexpress-tc2
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7b-vexpress-tc2
diff --git a/base-system-armv7lhf-highbank.morph b/systems/base-system-armv7lhf-highbank.morph
index 7a8fa323..f5ced471 100644
--- a/base-system-armv7lhf-highbank.morph
+++ b/systems/base-system-armv7lhf-highbank.morph
@@ -1,16 +1,20 @@
+name: base-system-armv7lhf-highbank
+kind: system
+description: The set of strata required to have a minimal system for an ARM highbank
+ system.
arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7-highbank
+ morph: strata/bsp-armv7-highbank.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: The set of strata required to have a minimal system for an ARM highbank
- system.
-kind: system
-name: base-system-armv7lhf-highbank
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-armv7-highbank
diff --git a/base-system-ppc64-generic.morph b/systems/base-system-ppc64-generic.morph
index c1589af3..85bc50b4 100644
--- a/base-system-ppc64-generic.morph
+++ b/systems/base-system-ppc64-generic.morph
@@ -1,16 +1,20 @@
+name: base-system-ppc64-generic
+kind: system
+description: The set of strata required to have a minimal system for a 64-bit ppc64
+ system.
arch: ppc64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-ppc64-generic
+ morph: strata/bsp-ppc64-generic.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: The set of strata required to have a minimal system for a 64-bit ppc64
- system.
-kind: system
-name: base-system-ppc64-generic
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-ppc64-generic
diff --git a/systems/base-system-x86_32-generic.morph b/systems/base-system-x86_32-generic.morph
new file mode 100644
index 00000000..f82d1667
--- /dev/null
+++ b/systems/base-system-x86_32-generic.morph
@@ -0,0 +1,22 @@
+name: base-system-x86_32-generic
+kind: system
+description: The set of strata required to have a basic system for a 32-bit x86 system.
+arch: x86_32
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_32-generic
+ morph: strata/bsp-x86_32-generic.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- cloud-init
diff --git a/systems/base-system-x86_64-generic.morph b/systems/base-system-x86_64-generic.morph
new file mode 100644
index 00000000..1bcafc2a
--- /dev/null
+++ b/systems/base-system-x86_64-generic.morph
@@ -0,0 +1,23 @@
+name: base-system-x86_64-generic
+kind: system
+description: The set of strata required to have a minimal system for a 64-bit x86
+ system.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- cloud-init
diff --git a/ceph-service-x86_64-generic.morph b/systems/ceph-service-x86_64-generic.morph
index 15188bcd..567443c4 100644
--- a/ceph-service-x86_64-generic.morph
+++ b/systems/ceph-service-x86_64-generic.morph
@@ -1,14 +1,19 @@
name: ceph-service-x86_64-generic
+kind: system
description: The set of strata required to have a minimal system for a 64-bit x86
system + the service daemons for ceph object, block and file storage.
-kind: system
arch: x86_64
strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: bsp-x86_64-generic
-- morph: ceph-service
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: ceph-service
+ morph: strata/ceph-service.morph
configuration-extensions:
- set-hostname
- add-config-files
diff --git a/systems/cross-bootstrap-system-armv7lhf-generic.morph b/systems/cross-bootstrap-system-armv7lhf-generic.morph
new file mode 100644
index 00000000..4eecf7fe
--- /dev/null
+++ b/systems/cross-bootstrap-system-armv7lhf-generic.morph
@@ -0,0 +1,11 @@
+name: cross-bootstrap-system-armv7lhf-generic
+kind: system
+description: A system that produces the minimum needed to build a devel system
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: cross-bootstrap
+ morph: strata/cross-bootstrap.morph
diff --git a/systems/cross-bootstrap-system-ppc64-generic.morph b/systems/cross-bootstrap-system-ppc64-generic.morph
new file mode 100644
index 00000000..8b274e80
--- /dev/null
+++ b/systems/cross-bootstrap-system-ppc64-generic.morph
@@ -0,0 +1,11 @@
+name: cross-bootstrap-system-ppc64-generic
+kind: system
+description: A system that produces the minimum needed to build a devel system
+arch: ppc64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: cross-bootstrap
+ morph: strata/cross-bootstrap.morph
diff --git a/systems/cross-bootstrap-system-x86_64-generic.morph b/systems/cross-bootstrap-system-x86_64-generic.morph
new file mode 100644
index 00000000..bdd42cf3
--- /dev/null
+++ b/systems/cross-bootstrap-system-x86_64-generic.morph
@@ -0,0 +1,11 @@
+name: cross-bootstrap-system-x86_64-generic
+kind: system
+description: A system that produces the minimum needed to build a devel system
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: cross-bootstrap
+ morph: strata/cross-bootstrap.morph
diff --git a/systems/cxmanage-system-x86_64-generic.morph b/systems/cxmanage-system-x86_64-generic.morph
new file mode 100644
index 00000000..4d731ea3
--- /dev/null
+++ b/systems/cxmanage-system-x86_64-generic.morph
@@ -0,0 +1,24 @@
+name: cxmanage-system-x86_64-generic
+kind: system
+description: A baserock development system with calxeda management tools added
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: cxmanage
+ morph: strata/cxmanage.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- fstab
diff --git a/devel-system-armv7-chroot.morph b/systems/devel-system-armv7-chroot.morph
index aabf9ec1..fd1cf5fd 100644
--- a/devel-system-armv7-chroot.morph
+++ b/systems/devel-system-armv7-chroot.morph
@@ -1,17 +1,22 @@
+name: devel-system-armv7-chroot
+kind: system
+description: A system that is able to build other systems based on the ARM highbank
+ architecture.
arch: armv7l
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: A system that is able to build other systems based on the ARM highbank
- architecture.
-kind: system
-name: devel-system-armv7-chroot
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: tools
-- morph: openstack-clients
diff --git a/systems/devel-system-armv7-highbank.morph b/systems/devel-system-armv7-highbank.morph
new file mode 100644
index 00000000..112a8af2
--- /dev/null
+++ b/systems/devel-system-armv7-highbank.morph
@@ -0,0 +1,24 @@
+name: devel-system-armv7-highbank
+kind: system
+description: A system that is able to build other systems based on the ARM highbank
+ architecture.
+arch: armv7l
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7-highbank
+ morph: strata/bsp-armv7-highbank.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7-versatile.morph b/systems/devel-system-armv7-versatile.morph
new file mode 100644
index 00000000..efa48ece
--- /dev/null
+++ b/systems/devel-system-armv7-versatile.morph
@@ -0,0 +1,24 @@
+name: devel-system-armv7-versatile
+kind: system
+description: A system that is able to build other systems based on the ARM versatile
+ architecture.
+arch: armv7l
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7-versatile
+ morph: strata/bsp-armv7-versatile.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7-wandboard.morph b/systems/devel-system-armv7-wandboard.morph
new file mode 100644
index 00000000..49d189d0
--- /dev/null
+++ b/systems/devel-system-armv7-wandboard.morph
@@ -0,0 +1,23 @@
+name: devel-system-armv7-wandboard
+kind: system
+description: A system that is able to build other systems based on the Wandboard.
+arch: armv7l
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-wandboard
+ morph: strata/bsp-wandboard.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7b-chroot.morph b/systems/devel-system-armv7b-chroot.morph
new file mode 100644
index 00000000..4ee06869
--- /dev/null
+++ b/systems/devel-system-armv7b-chroot.morph
@@ -0,0 +1,21 @@
+name: devel-system-armv7b-chroot
+kind: system
+description: A system that is able to build other systems based on the ARMv7b architecture.
+arch: armv7b
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7b-highbank.morph b/systems/devel-system-armv7b-highbank.morph
new file mode 100644
index 00000000..686b97f5
--- /dev/null
+++ b/systems/devel-system-armv7b-highbank.morph
@@ -0,0 +1,24 @@
+name: devel-system-armv7b-highbank
+kind: system
+description: A system that is able to build other systems based on the ARM highbank
+ architecture.
+arch: armv7b
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7b-highbank
+ morph: strata/bsp-armv7b-highbank.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7lhf-chroot.morph b/systems/devel-system-armv7lhf-chroot.morph
new file mode 100644
index 00000000..4505331c
--- /dev/null
+++ b/systems/devel-system-armv7lhf-chroot.morph
@@ -0,0 +1,21 @@
+name: devel-system-armv7lhf-chroot
+kind: system
+description: A system that is able to build other systems based on the ARMv7lhf architecture.
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7lhf-highbank.morph b/systems/devel-system-armv7lhf-highbank.morph
new file mode 100644
index 00000000..ed2d41d8
--- /dev/null
+++ b/systems/devel-system-armv7lhf-highbank.morph
@@ -0,0 +1,24 @@
+name: devel-system-armv7lhf-highbank
+kind: system
+description: A system that is able to build other systems based on the ARM highbank
+ architecture.
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7-highbank
+ morph: strata/bsp-armv7-highbank.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7lhf-jetson.morph b/systems/devel-system-armv7lhf-jetson.morph
new file mode 100644
index 00000000..74a1cc25
--- /dev/null
+++ b/systems/devel-system-armv7lhf-jetson.morph
@@ -0,0 +1,24 @@
+name: devel-system-armv7lhf-jetson
+kind: system
+description: A system that is able to build other systems based on the NVIDIA Jetson
+ TK1.
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: bsp-jetson-devel
+ morph: strata/bsp-jetson-devel.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-armv7lhf-wandboard.morph b/systems/devel-system-armv7lhf-wandboard.morph
new file mode 100644
index 00000000..00ef2004
--- /dev/null
+++ b/systems/devel-system-armv7lhf-wandboard.morph
@@ -0,0 +1,23 @@
+name: devel-system-armv7lhf-wandboard
+kind: system
+description: A system that is able to build other systems based on the Wandboard.
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-wandboard
+ morph: strata/bsp-wandboard.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/devel-system-ppc64-chroot.morph b/systems/devel-system-ppc64-chroot.morph
index dfb2b7c8..a2430afb 100644
--- a/devel-system-ppc64-chroot.morph
+++ b/systems/devel-system-ppc64-chroot.morph
@@ -1,17 +1,22 @@
+name: devel-system-ppc64-chroot
+kind: system
+description: A system that is able to build other systems based on the 64-bit PowerPc
+ architecture.
arch: ppc64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
configuration-extensions:
- set-hostname
- add-config-files
- simple-network
- nfsboot
- install-files
-description: A system that is able to build other systems based on the 64-bit PowerPc
- architecture.
-kind: system
-name: devel-system-ppc64-chroot
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: tools
-- morph: openstack-clients
diff --git a/systems/devel-system-ppc64-generic.morph b/systems/devel-system-ppc64-generic.morph
new file mode 100644
index 00000000..259e224e
--- /dev/null
+++ b/systems/devel-system-ppc64-generic.morph
@@ -0,0 +1,24 @@
+name: devel-system-ppc64-generic
+kind: system
+description: A system that is able to build other systems based on the 64-bit PowerPc
+ architecture.
+arch: ppc64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-ppc64-generic
+ morph: strata/bsp-ppc64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-x86_32-chroot.morph b/systems/devel-system-x86_32-chroot.morph
new file mode 100644
index 00000000..a7085737
--- /dev/null
+++ b/systems/devel-system-x86_32-chroot.morph
@@ -0,0 +1,24 @@
+name: devel-system-x86_32-chroot
+kind: system
+description: A system that is able to build other systems based on the 32-bit x86
+ architecture.
+arch: x86_32
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: bsp-x86_both-tools
+ morph: strata/bsp-x86_both-tools.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-x86_32-generic.morph b/systems/devel-system-x86_32-generic.morph
new file mode 100644
index 00000000..a7f3f9ce
--- /dev/null
+++ b/systems/devel-system-x86_32-generic.morph
@@ -0,0 +1,27 @@
+name: devel-system-x86_32-generic
+kind: system
+description: A system that is able to build other systems based on the 32-bit x86
+ architecture.
+arch: x86_32
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_32-generic
+ morph: strata/bsp-x86_32-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- cloud-init
diff --git a/systems/devel-system-x86_64-chroot.morph b/systems/devel-system-x86_64-chroot.morph
new file mode 100644
index 00000000..91f80dbc
--- /dev/null
+++ b/systems/devel-system-x86_64-chroot.morph
@@ -0,0 +1,24 @@
+name: devel-system-x86_64-chroot
+kind: system
+description: A system that is able to build other systems based on the 64-bit x86
+ architecture.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: bsp-x86_both-tools
+ morph: strata/bsp-x86_both-tools.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/devel-system-x86_64-generic.morph b/systems/devel-system-x86_64-generic.morph
new file mode 100644
index 00000000..bf5a7f45
--- /dev/null
+++ b/systems/devel-system-x86_64-generic.morph
@@ -0,0 +1,27 @@
+name: devel-system-x86_64-generic
+kind: system
+description: A system that is able to build other systems based on the 64-bit x86
+ architecture.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- cloud-init
diff --git a/systems/devel-system-x86_64-vagrant.morph b/systems/devel-system-x86_64-vagrant.morph
new file mode 100644
index 00000000..454f981d
--- /dev/null
+++ b/systems/devel-system-x86_64-vagrant.morph
@@ -0,0 +1,46 @@
+name: devel-system-x86_64-vagrant
+kind: system
+description: A system that is able to build other systems based on the 64-bit x86
+ architecture. This adds the virtualbox guest additions and vagrant configuration
+ too
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: genivi-x-generic
+ morph: strata/genivi-x-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: virtualization
+ morph: strata/virtualization.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: virtualbox-guest-x86_64
+ morph: strata/virtualbox-guest-x86_64.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- vagrant
diff --git a/systems/distbuild-system-armv7lhf-highbank.morph b/systems/distbuild-system-armv7lhf-highbank.morph
new file mode 100644
index 00000000..112883b9
--- /dev/null
+++ b/systems/distbuild-system-armv7lhf-highbank.morph
@@ -0,0 +1,27 @@
+name: distbuild-system-armv7lhf-highbank
+kind: system
+description: Morph distributed build node for armv7lhf highbank
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-armv7-highbank
+ morph: strata/bsp-armv7-highbank.morph
+- name: tools
+ morph: strata/tools.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: distbuild
+ morph: strata/distbuild.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- distbuild
+- fstab
diff --git a/systems/distbuild-system-armv7lhf-jetson.morph b/systems/distbuild-system-armv7lhf-jetson.morph
new file mode 100644
index 00000000..8423264e
--- /dev/null
+++ b/systems/distbuild-system-armv7lhf-jetson.morph
@@ -0,0 +1,27 @@
+name: distbuild-system-armv7lhf-jetson
+kind: system
+description: Morph distributed build node for armv7lhf jetson
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-jetson-devel
+ morph: strata/bsp-jetson-devel.morph
+- name: tools
+ morph: strata/tools.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: distbuild
+ morph: strata/distbuild.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- distbuild
+- fstab
diff --git a/systems/distbuild-system-ppc64.morph b/systems/distbuild-system-ppc64.morph
new file mode 100644
index 00000000..e8c57048
--- /dev/null
+++ b/systems/distbuild-system-ppc64.morph
@@ -0,0 +1,27 @@
+name: distbuild-system-ppc64
+kind: system
+description: Morph distributed build node for ppc64
+arch: ppc64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-ppc64-generic
+ morph: strata/bsp-ppc64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: distbuild
+ morph: strata/distbuild.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- distbuild
+- fstab
diff --git a/systems/distbuild-system-x86_32.morph b/systems/distbuild-system-x86_32.morph
new file mode 100644
index 00000000..f2078678
--- /dev/null
+++ b/systems/distbuild-system-x86_32.morph
@@ -0,0 +1,27 @@
+name: distbuild-system-x86_32
+kind: system
+description: Morph distributed build node for x86_32
+arch: x86_32
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_32-generic
+ morph: strata/bsp-x86_32-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: distbuild
+ morph: strata/distbuild.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- distbuild
+- fstab
diff --git a/systems/distbuild-system-x86_64.morph b/systems/distbuild-system-x86_64.morph
new file mode 100644
index 00000000..cd461d30
--- /dev/null
+++ b/systems/distbuild-system-x86_64.morph
@@ -0,0 +1,28 @@
+name: distbuild-system-x86_64
+kind: system
+description: Morph distributed build node for x86_64
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: distbuild
+ morph: strata/distbuild.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- distbuild
+- fstab
+- mason
diff --git a/systems/genivi-baseline-system-armv7lhf-versatile.morph b/systems/genivi-baseline-system-armv7lhf-versatile.morph
new file mode 100644
index 00000000..7844e429
--- /dev/null
+++ b/systems/genivi-baseline-system-armv7lhf-versatile.morph
@@ -0,0 +1,35 @@
+name: genivi-baseline-system-armv7lhf-versatile
+kind: system
+description: A GENIVI baseline system for an ARMv7 system.
+arch: armv7lhf
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: bsp-armv7-versatile
+ morph: strata/bsp-armv7-versatile.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: wayland-armv7-versatile
+ morph: strata/wayland-armv7-versatile.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- strip-gplv3
+- fstab
diff --git a/systems/genivi-baseline-system-x86_64-generic.morph b/systems/genivi-baseline-system-x86_64-generic.morph
new file mode 100644
index 00000000..1e5e687c
--- /dev/null
+++ b/systems/genivi-baseline-system-x86_64-generic.morph
@@ -0,0 +1,34 @@
+name: genivi-baseline-system-x86_64-generic
+kind: system
+description: A GENIVI baseline system for a 64-bit x86 system.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: wayland-x86_64-generic
+ morph: strata/wayland-x86_64-generic.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- strip-gplv3
diff --git a/systems/gitlab-ci-runner.morph b/systems/gitlab-ci-runner.morph
new file mode 100644
index 00000000..35eef485
--- /dev/null
+++ b/systems/gitlab-ci-runner.morph
@@ -0,0 +1,49 @@
+name: gitlab-ci-runner
+kind: system
+description: A system to run build tests as part of GitLab CI architecture.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: genivi-x-generic
+ morph: strata/genivi-x-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: virtualization
+ morph: strata/virtualization.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: databases
+ morph: strata/databases.morph
+- name: webtools
+ morph: strata/webtools.morph
+- name: ruby
+ morph: strata/ruby.morph
+- name: nfs
+ morph: strata/nfs.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/gitlab-server.morph b/systems/gitlab-server.morph
new file mode 100644
index 00000000..c78abe1c
--- /dev/null
+++ b/systems/gitlab-server.morph
@@ -0,0 +1,33 @@
+name: gitlab-server
+kind: system
+description: system which hosts a gitlab server
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: core
+ morph: strata/core.morph
+- name: tools
+ morph: strata/tools.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: databases
+ morph: strata/databases.morph
+- name: webtools
+ morph: strata/webtools.morph
+- name: ruby
+ morph: strata/ruby.morph
+- name: gitlab
+ morph: strata/gitlab.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
+- gitlab
+- fstab
diff --git a/initramfs-x86_64.morph b/systems/initramfs-x86_64.morph
index 7daa81fd..4bb0020d 100644
--- a/initramfs-x86_64.morph
+++ b/systems/initramfs-x86_64.morph
@@ -1,10 +1,11 @@
name: initramfs-x86_64
-description: Initramfs for x86_64
kind: system
+description: Initramfs for x86_64
arch: x86_64
-configuration-extensions: []
strata:
-- morph: build-essential
+- name: build-essential
+ morph: strata/build-essential.morph
artifacts:
- build-essential-minimal
-- morph: initramfs-utils
+- name: initramfs-utils
+ morph: strata/initramfs-utils.morph
diff --git a/minimal-system-x86_32-generic.morph b/systems/minimal-system-x86_32-generic.morph
index b9e9b9e9..6c48361f 100644
--- a/minimal-system-x86_32-generic.morph
+++ b/systems/minimal-system-x86_32-generic.morph
@@ -1,19 +1,20 @@
-arch: x86_32
-configuration-extensions:
-- set-hostname
-- simple-network
-- nfsboot
-- install-files
-- busybox-init
+name: minimal-system-x86_32-generic
+kind: system
description: The set of strata required to have a minimal system for a 32-bit x86
system.
-kind: system
-name: minimal-system-x86_32-generic
+arch: x86_32
strata:
-- morph: build-essential
+- name: build-essential
+ morph: strata/build-essential.morph
artifacts:
- build-essential-minimal
-- morph: bsp-x86_32-generic
- # Don't include kernel headers in the system
+- name: bsp-x86_32-generic
+ morph: strata/bsp-x86_32-generic.morph
artifacts:
- bsp-x86_32-generic-runtime
+configuration-extensions:
+- set-hostname
+- simple-network
+- nfsboot
+- install-files
+- busybox-init
diff --git a/minimal-system-x86_64-generic.morph b/systems/minimal-system-x86_64-generic.morph
index 9ead85e8..02fb7deb 100644
--- a/minimal-system-x86_64-generic.morph
+++ b/systems/minimal-system-x86_64-generic.morph
@@ -1,19 +1,20 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- simple-network
-- nfsboot
-- install-files
-- busybox-init
+name: minimal-system-x86_64-generic
+kind: system
description: The set of strata required to have a minimal system for a 64-bit x86
system.
-kind: system
-name: minimal-system-x86_64-generic
+arch: x86_64
strata:
-- morph: build-essential
+- name: build-essential
+ morph: strata/build-essential.morph
artifacts:
- build-essential-minimal
-- morph: bsp-x86_64-generic
- # Don't include kernel headers in the system
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
artifacts:
- bsp-x86_64-generic-runtime
+configuration-extensions:
+- set-hostname
+- simple-network
+- nfsboot
+- install-files
+- busybox-init
diff --git a/systems/nodejs-system-x86_64.morph b/systems/nodejs-system-x86_64.morph
new file mode 100644
index 00000000..1dab9f2a
--- /dev/null
+++ b/systems/nodejs-system-x86_64.morph
@@ -0,0 +1,44 @@
+name: nodejs-system-x86_64
+kind: system
+description: A system that is able to build other systems based on the 64-bit x86
+ architecture.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: genivi-x-generic
+ morph: strata/genivi-x-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: virtualization
+ morph: strata/virtualization.morph
+- name: openstack-clients
+ morph: strata/openstack-clients.morph
+- name: nodejs
+ morph: strata/nodejs.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/qt4-devel-system-x86_64-generic.morph b/systems/qt4-devel-system-x86_64-generic.morph
new file mode 100644
index 00000000..eb3ab48d
--- /dev/null
+++ b/systems/qt4-devel-system-x86_64-generic.morph
@@ -0,0 +1,40 @@
+name: qt4-devel-system-x86_64-generic
+kind: system
+description: A system that is able to build other systems based on the 64-bit x86
+ architecture.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: multimedia-gstreamer-0.10
+ morph: strata/multimedia-gstreamer-0.10.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+- name: qt4-tools
+ morph: strata/qt4-tools.morph
+- name: qt4-sdk
+ morph: strata/qt4-sdk.morph
+- name: lua
+ morph: strata/lua.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: enlightenment
+ morph: strata/enlightenment.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/qt5-devel-system-x86_64-generic.morph b/systems/qt5-devel-system-x86_64-generic.morph
new file mode 100644
index 00000000..eafd97e0
--- /dev/null
+++ b/systems/qt5-devel-system-x86_64-generic.morph
@@ -0,0 +1,40 @@
+name: qt5-devel-system-x86_64-generic
+kind: system
+description: A system that is able to build other systems based on the 64-bit x86
+ architecture.
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: multimedia-gstreamer-0.10
+ morph: strata/multimedia-gstreamer-0.10.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: tools
+ morph: strata/tools.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+- name: qt5-tools
+ morph: strata/qt5-tools.morph
+- name: qt5-sdk
+ morph: strata/qt5-sdk.morph
+- name: lua
+ morph: strata/lua.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: enlightenment
+ morph: strata/enlightenment.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/trove-system-x86_64.morph b/systems/trove-system-x86_64.morph
new file mode 100644
index 00000000..fbcdf3fe
--- /dev/null
+++ b/systems/trove-system-x86_64.morph
@@ -0,0 +1,31 @@
+name: trove-system-x86_64
+kind: system
+description: Trove server
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: core
+ morph: strata/core.morph
+- name: tools
+ morph: strata/tools.morph
+- name: trove
+ morph: strata/trove.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: ansible
+ morph: strata/ansible.morph
+- name: cloudinit-support
+ morph: strata/cloudinit-support.morph
+configuration-extensions:
+- set-hostname
+- trove
+- nfsboot-server
+- fstab
+- simple-network
+- install-files
+- cloud-init
diff --git a/systems/web-system-x86_64-generic.morph b/systems/web-system-x86_64-generic.morph
new file mode 100644
index 00000000..1e6eba80
--- /dev/null
+++ b/systems/web-system-x86_64-generic.morph
@@ -0,0 +1,33 @@
+name: web-system-x86_64-generic
+kind: system
+description: system with web tools
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: core
+ morph: strata/core.morph
+- name: tools
+ morph: strata/tools.morph
+- name: nfs
+ morph: strata/nfs.morph
+- name: databases
+ morph: strata/databases.morph
+- name: webtools
+ morph: strata/webtools.morph
+- name: erlang
+ morph: strata/erlang.morph
+- name: ruby
+ morph: strata/ruby.morph
+- name: nodejs
+ morph: strata/nodejs.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/systems/xfce-system.morph b/systems/xfce-system.morph
new file mode 100644
index 00000000..efdd7bdb
--- /dev/null
+++ b/systems/xfce-system.morph
@@ -0,0 +1,41 @@
+name: xfce-system
+kind: system
+description: A GENIVI devel with XFCE
+arch: x86_64
+strata:
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: genivi-foundation
+ morph: strata/genivi-foundation.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: connectivity
+ morph: strata/connectivity.morph
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+- name: multimedia
+ morph: strata/multimedia.morph
+- name: genivi
+ morph: strata/genivi.morph
+- name: genivi-x-generic
+ morph: strata/genivi-x-generic.morph
+- name: gtk2
+ morph: strata/gtk2.morph
+- name: tools
+ morph: strata/tools.morph
+- name: xfce
+ morph: strata/xfce.morph
+configuration-extensions:
+- set-hostname
+- add-config-files
+- simple-network
+- nfsboot
+- install-files
diff --git a/trove-system-x86_64.morph b/trove-system-x86_64.morph
deleted file mode 100644
index fb892d81..00000000
--- a/trove-system-x86_64.morph
+++ /dev/null
@@ -1,22 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- trove
-- nfsboot-server
-- fstab
-- simple-network
-- install-files
-- cloud-init
-description: Trove server
-kind: system
-name: trove-system-x86_64
-strata:
-- morph: build-essential
-- morph: bsp-x86_64-generic
-- morph: foundation
-- morph: core
-- morph: tools
-- morph: trove
-- morph: nfs
-- morph: ansible
-- morph: cloudinit-support
diff --git a/trove.configure b/trove.configure
index c7a4f3af..4cc9720a 100755
--- a/trove.configure
+++ b/trove.configure
@@ -25,6 +25,7 @@
# * TROVE_COMPANY
# * LORRY_SSH_KEY
# * UPSTREAM_TROVE
+# * UPSTREAM_TROVE_PROTOCOL
# * TROVE_ADMIN_USER
# * TROVE_ADMIN_EMAIL
# * TROVE_ADMIN_NAME
@@ -136,7 +137,8 @@ trove_configuration={
optional_keys = ('MASON_ID', 'HOSTNAME', 'TROVE_HOSTNAME',
- 'LORRY_CONTROLLER_MINIONS', 'TROVE_BACKUP_KEYS')
+ 'LORRY_CONTROLLER_MINIONS', 'TROVE_BACKUP_KEYS',
+ 'UPSTREAM_TROVE_PROTOCOL')
for key in optional_keys:
if key in os.environ:
diff --git a/web-system-x86_64-generic.morph b/web-system-x86_64-generic.morph
deleted file mode 100644
index 836bb45e..00000000
--- a/web-system-x86_64-generic.morph
+++ /dev/null
@@ -1,22 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: system with web tools
-kind: system
-name: web-system-x86_64-generic
-strata:
-- morph: build-essential
-- morph: bsp-x86_64-generic
-- morph: foundation
-- morph: core
-- morph: tools
-- morph: nfs
-- morph: databases
-- morph: webtools
-- morph: erlang
-- morph: ruby
-- morph: nodejs
diff --git a/xfce-system.morph b/xfce-system.morph
deleted file mode 100644
index 475aca6a..00000000
--- a/xfce-system.morph
+++ /dev/null
@@ -1,26 +0,0 @@
-arch: x86_64
-configuration-extensions:
-- set-hostname
-- add-config-files
-- simple-network
-- nfsboot
-- install-files
-description: A GENIVI devel with XFCE
-kind: system
-name: xfce-system
-strata:
-- morph: build-essential
-- morph: core
-- morph: foundation
-- morph: genivi-foundation
-- morph: bsp-x86_64-generic
-- morph: connectivity
-- morph: audio-bluetooth
-- morph: x-common
-- morph: x-generic
-- morph: multimedia
-- morph: genivi
-- morph: genivi-x-generic
-- morph: gtk2
-- morph: tools
-- morph: xfce