summaryrefslogtreecommitdiff
path: root/baserock/strata
diff options
context:
space:
mode:
Diffstat (limited to 'baserock/strata')
-rw-r--r--baserock/strata/NetworkManager-common.morph31
-rw-r--r--baserock/strata/NetworkManager-common/NetworkManager.morph5
-rw-r--r--baserock/strata/ansible.morph17
-rw-r--r--baserock/strata/ansible/ansible.morph9
-rw-r--r--baserock/strata/ansible/openstack-ansible-modules.morph5
-rw-r--r--baserock/strata/apache-httpd-server.morph41
-rw-r--r--baserock/strata/apache-httpd-server/apr.morph22
-rw-r--r--baserock/strata/apache-httpd-server/httpd-server.morph67
-rw-r--r--baserock/strata/apache-httpd-server/mod_wsgi.morph18
-rw-r--r--baserock/strata/armv7lhf-cross-toolchain.morph54
-rw-r--r--baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph24
-rw-r--r--baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph74
-rw-r--r--baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph48
-rw-r--r--baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph51
-rw-r--r--baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph32
-rw-r--r--baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph10
-rw-r--r--baserock/strata/audio-bluetooth.morph105
-rw-r--r--baserock/strata/audio-bluetooth/alsa-utils.morph7
-rw-r--r--baserock/strata/audio-bluetooth/bluez-tools.morph10
-rw-r--r--baserock/strata/audio-bluetooth/bluez.morph12
-rw-r--r--baserock/strata/audio-bluetooth/json-c.morph7
-rw-r--r--baserock/strata/audio-bluetooth/libical.morph6
-rw-r--r--baserock/strata/audio-bluetooth/libsndfile.morph5
-rw-r--r--baserock/strata/audio-bluetooth/nohands.morph5
-rw-r--r--baserock/strata/audio-bluetooth/ofono.morph11
-rw-r--r--baserock/strata/audio-bluetooth/pulseaudio.morph13
-rw-r--r--baserock/strata/baserock-import.morph24
-rw-r--r--baserock/strata/bsp-armv5l-openbmc-aspeed.morph18
-rw-r--r--baserock/strata/bsp-armv5l-openbmc-aspeed/linux-armv5l-openbmc-aspeed.morph9
-rw-r--r--baserock/strata/bsp-armv5l-openbmc-aspeed/u-boot@aspeed.morph14
-rw-r--r--baserock/strata/bsp-armv7-highbank.morph17
-rw-r--r--baserock/strata/bsp-armv7-highbank/linux-armv7-highbank.morph52
-rw-r--r--baserock/strata/bsp-armv7-versatile.morph12
-rw-r--r--baserock/strata/bsp-armv7-versatile/linux-armv7-versatile.morph31
-rw-r--r--baserock/strata/bsp-armv7b-highbank.morph17
-rw-r--r--baserock/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph53
-rw-r--r--baserock/strata/bsp-armv7b-vexpress-tc2.morph11
-rw-r--r--baserock/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph57
-rw-r--r--baserock/strata/bsp-armv8b64-generic.morph15
-rw-r--r--baserock/strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph278
-rw-r--r--baserock/strata/bsp-armv8l64-generic.morph14
-rw-r--r--baserock/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph276
-rw-r--r--baserock/strata/bsp-jetson.morph43
-rw-r--r--baserock/strata/bsp-jetson/device-tree-compiler.morph6
-rw-r--r--baserock/strata/bsp-jetson/linux-firmware-jetson.morph15
-rw-r--r--baserock/strata/bsp-jetson/linux-jetson-tk1.morph248
-rw-r--r--baserock/strata/bsp-jetson/nouveau-drm.morph14
-rw-r--r--baserock/strata/bsp-jetson/u-boot@jetson.morph20
-rw-r--r--baserock/strata/bsp-ppc64-generic.morph11
-rw-r--r--baserock/strata/bsp-ppc64-generic/linux-ppc64.morph226
-rw-r--r--baserock/strata/bsp-wandboard.morph18
-rw-r--r--baserock/strata/bsp-wandboard/linux-armv7-wandboard.morph70
-rw-r--r--baserock/strata/bsp-wandboard/u-boot@wandboard.morph11
-rw-r--r--baserock/strata/bsp-x86_32-generic.morph26
-rw-r--r--baserock/strata/bsp-x86_32-generic/linux-x86-32-generic.morph287
-rw-r--r--baserock/strata/bsp-x86_32-generic/nasm.morph5
-rw-r--r--baserock/strata/bsp-x86_32-generic/syslinux.morph12
-rw-r--r--baserock/strata/bsp-x86_64-generic.morph26
-rw-r--r--baserock/strata/bsp-x86_64-generic/linux-x86-64-generic.morph287
-rw-r--r--baserock/strata/bsp-x86_64-generic/nasm.morph5
-rw-r--r--baserock/strata/bsp-x86_64-generic/syslinux.morph12
-rw-r--r--baserock/strata/bsp-x86_both-tools.morph21
-rw-r--r--baserock/strata/bsp-x86_both-tools/nasm.morph5
-rw-r--r--baserock/strata/bsp-x86_both-tools/syslinux.morph12
-rw-r--r--baserock/strata/build-essential.morph411
-rw-r--r--baserock/strata/build-essential/binutils.morph8
-rw-r--r--baserock/strata/build-essential/busybox.morph89
-rw-r--r--baserock/strata/build-essential/ccache.morph12
-rw-r--r--baserock/strata/build-essential/fhs-dirs.morph49
-rw-r--r--baserock/strata/build-essential/gawk.morph5
-rw-r--r--baserock/strata/build-essential/gcc.morph63
-rw-r--r--baserock/strata/build-essential/glibc.morph98
-rw-r--r--baserock/strata/build-essential/linux-api-headers.morph24
-rw-r--r--baserock/strata/build-essential/m4-tarball.morph5
-rw-r--r--baserock/strata/build-essential/make.morph5
-rw-r--r--baserock/strata/build-essential/stage1-binutils.morph23
-rw-r--r--baserock/strata/build-essential/stage1-gcc.morph83
-rw-r--r--baserock/strata/build-essential/stage2-binutils.morph21
-rw-r--r--baserock/strata/build-essential/stage2-busybox.morph80
-rw-r--r--baserock/strata/build-essential/stage2-fake-bash.morph4
-rw-r--r--baserock/strata/build-essential/stage2-fhs-dirs.morph51
-rw-r--r--baserock/strata/build-essential/stage2-gawk.morph9
-rw-r--r--baserock/strata/build-essential/stage2-gcc-fixed-headers.morph19
-rw-r--r--baserock/strata/build-essential/stage2-gcc.morph82
-rw-r--r--baserock/strata/build-essential/stage2-glibc.morph103
-rw-r--r--baserock/strata/build-essential/stage2-libstdc++.morph36
-rw-r--r--baserock/strata/build-essential/stage2-linux-api-headers.morph24
-rw-r--r--baserock/strata/build-essential/stage2-make.morph9
-rw-r--r--baserock/strata/build-essential/stage2-reset-specs.morph21
-rw-r--r--baserock/strata/c2man/c2man.morph11
-rw-r--r--baserock/strata/ceph-service.morph63
-rw-r--r--baserock/strata/ceph-service/boost.morph8
-rw-r--r--baserock/strata/ceph-service/ceph.morph26
-rw-r--r--baserock/strata/ceph-service/keyutils.morph7
-rw-r--r--baserock/strata/ceph-service/leveldb.morph9
-rw-r--r--baserock/strata/ceph-service/libaio.morph7
-rw-r--r--baserock/strata/chef.morph187
-rw-r--r--baserock/strata/chef/chef-master.morph20
-rw-r--r--baserock/strata/chef/chef-zero-2.2.morph13
-rw-r--r--baserock/strata/chef/coderay-1.1.0.morph13
-rw-r--r--baserock/strata/chef/diff-lcs-1.2.5.morph13
-rw-r--r--baserock/strata/chef/erubis-master.morph19
-rw-r--r--baserock/strata/chef/ffi-1.9.3.morph13
-rw-r--r--baserock/strata/chef/ffi-yajl-master.morph13
-rw-r--r--baserock/strata/chef/hashie-2.1.2.morph13
-rw-r--r--baserock/strata/chef/highline-master.morph13
-rw-r--r--baserock/strata/chef/hoe-master.morph13
-rw-r--r--baserock/strata/chef/ipaddress-0.8.0.morph13
-rw-r--r--baserock/strata/chef/json-1.8.1.morph13
-rw-r--r--baserock/strata/chef/libpopt.morph6
-rw-r--r--baserock/strata/chef/libyajl2-1.0.1.morph13
-rw-r--r--baserock/strata/chef/method_source-0.8.2.morph13
-rw-r--r--baserock/strata/chef/mime-types-1.25.1.morph13
-rw-r--r--baserock/strata/chef/mixlib-authentication-1.3.0.morph13
-rw-r--r--baserock/strata/chef/mixlib-cli-1.5.0.morph13
-rw-r--r--baserock/strata/chef/mixlib-config-2.1.0.morph13
-rw-r--r--baserock/strata/chef/mixlib-log-master.morph13
-rw-r--r--baserock/strata/chef/mixlib-shellout-1.4.0.morph13
-rw-r--r--baserock/strata/chef/net-dhcp-1.2.1.morph13
-rw-r--r--baserock/strata/chef/net-ssh-2.9.1.morph15
-rw-r--r--baserock/strata/chef/net-ssh-gateway-1.2.0.morph15
-rw-r--r--baserock/strata/chef/net-ssh-multi-1.2.0.morph15
-rw-r--r--baserock/strata/chef/ohai-master.morph13
-rw-r--r--baserock/strata/chef/plist-master.morph13
-rw-r--r--baserock/strata/chef/pry-master.morph13
-rw-r--r--baserock/strata/chef/rack-1.5.2.morph13
-rw-r--r--baserock/strata/chef/sgdisk.morph7
-rw-r--r--baserock/strata/chef/slop-3.6.0.morph13
-rw-r--r--baserock/strata/chef/systemu-master.morph13
-rw-r--r--baserock/strata/chef/wmi-lite-1.0.0.morph13
-rw-r--r--baserock/strata/chef/yajl.morph6
-rw-r--r--baserock/strata/cloudinit-support.morph21
-rw-r--r--baserock/strata/cloudinit-support/cloud-init.morph6
-rw-r--r--baserock/strata/connectivity.morph22
-rw-r--r--baserock/strata/connectivity/wpa_supplicant.morph8
-rw-r--r--baserock/strata/connman-common.morph11
-rw-r--r--baserock/strata/connman-common/connman.morph6
-rw-r--r--baserock/strata/core.morph404
-rw-r--r--baserock/strata/core/acl.morph6
-rw-r--r--baserock/strata/core/attr.morph19
-rw-r--r--baserock/strata/core/autoconf-tarball.morph5
-rw-r--r--baserock/strata/core/autoconf.morph5
-rw-r--r--baserock/strata/core/automake.morph8
-rw-r--r--baserock/strata/core/bash.morph37
-rw-r--r--baserock/strata/core/bison.morph5
-rw-r--r--baserock/strata/core/bzip2.morph10
-rw-r--r--baserock/strata/core/ca-certificates.morph23
-rw-r--r--baserock/strata/core/cmake.morph8
-rw-r--r--baserock/strata/core/cpython.morph12
-rw-r--r--baserock/strata/core/curl.morph9
-rw-r--r--baserock/strata/core/e2fsprogs.morph22
-rw-r--r--baserock/strata/core/flex.morph14
-rw-r--r--baserock/strata/core/gdbm.morph8
-rw-r--r--baserock/strata/core/gettext-tarball.morph5
-rw-r--r--baserock/strata/core/git.morph7
-rw-r--r--baserock/strata/core/gperf.morph3
-rw-r--r--baserock/strata/core/libcap2.morph6
-rw-r--r--baserock/strata/core/libexpat.morph6
-rw-r--r--baserock/strata/core/libffi.morph8
-rw-r--r--baserock/strata/core/libtool-tarball.morph5
-rw-r--r--baserock/strata/core/libtool.morph5
-rw-r--r--baserock/strata/core/linux-pam.morph9
-rw-r--r--baserock/strata/core/mini-utils.morph7
-rw-r--r--baserock/strata/core/ncurses.morph45
-rw-r--r--baserock/strata/core/openssl-new.morph15
-rw-r--r--baserock/strata/core/patch.morph5
-rw-r--r--baserock/strata/core/perl.morph16
-rw-r--r--baserock/strata/core/pkg-config.morph5
-rw-r--r--baserock/strata/core/readline.morph8
-rw-r--r--baserock/strata/core/shadow.morph55
-rw-r--r--baserock/strata/core/texinfo-tarball.morph9
-rw-r--r--baserock/strata/core/util-linux.morph11
-rw-r--r--baserock/strata/coreutils-common.morph40
-rw-r--r--baserock/strata/coreutils-common/coreutils.morph16
-rw-r--r--baserock/strata/coreutils-common/diff.morph8
-rw-r--r--baserock/strata/coreutils-common/findutils.morph5
-rw-r--r--baserock/strata/coreutils-common/sed.morph13
-rw-r--r--baserock/strata/coreutils-common/tar.morph18
-rw-r--r--baserock/strata/cross-bootstrap.morph29
-rw-r--r--baserock/strata/cross-bootstrap/groff.morph13
-rw-r--r--baserock/strata/cross-bootstrap/openssh.morph28
-rw-r--r--baserock/strata/cross-bootstrap/rsync.morph6
-rw-r--r--baserock/strata/cross-tools.morph11
-rw-r--r--baserock/strata/cups.morph11
-rw-r--r--baserock/strata/cups/cups.morph12
-rw-r--r--baserock/strata/cxmanage.morph36
-rw-r--r--baserock/strata/cxmanage/pexpect.morph10
-rw-r--r--baserock/strata/databases.morph35
-rw-r--r--baserock/strata/databases/memcached.morph21
-rw-r--r--baserock/strata/databases/redis.morph6
-rw-r--r--baserock/strata/devtools.morph46
-rw-r--r--baserock/strata/devtools/nano.morph16
-rw-r--r--baserock/strata/devtools/screen.morph11
-rw-r--r--baserock/strata/devtools/vim.morph10
-rw-r--r--baserock/strata/devtools/wget.morph10
-rw-r--r--baserock/strata/django.morph37
-rw-r--r--baserock/strata/docutils.morph52
-rw-r--r--baserock/strata/docutils/docbook-xml.morph104
-rw-r--r--baserock/strata/docutils/docbook-xsl.morph50
-rw-r--r--baserock/strata/docutils/xml-catalog.morph6
-rw-r--r--baserock/strata/enlightenment.morph80
-rw-r--r--baserock/strata/enlightenment/bullet3.morph8
-rw-r--r--baserock/strata/enlightenment/efl.morph9
-rw-r--r--baserock/strata/enlightenment/elementary.morph8
-rw-r--r--baserock/strata/enlightenment/enlightenment.morph8
-rw-r--r--baserock/strata/enlightenment/eterm.morph8
-rw-r--r--baserock/strata/enlightenment/evas_generic_loaders.morph8
-rw-r--r--baserock/strata/enlightenment/imlib2.morph8
-rw-r--r--baserock/strata/enlightenment/libast.morph8
-rw-r--r--baserock/strata/erlang.morph18
-rw-r--r--baserock/strata/erlang/erlang.morph9
-rw-r--r--baserock/strata/erlang/rebar.morph6
-rw-r--r--baserock/strata/foundation.morph111
-rw-r--r--baserock/strata/foundation/btrfs-progs.morph8
-rw-r--r--baserock/strata/foundation/dbus-pre.morph10
-rw-r--r--baserock/strata/foundation/dbus.morph10
-rw-r--r--baserock/strata/foundation/fuse.morph5
-rw-r--r--baserock/strata/foundation/groff.morph13
-rw-r--r--baserock/strata/foundation/kmod.morph49
-rw-r--r--baserock/strata/foundation/libgpg-error.morph7
-rw-r--r--baserock/strata/foundation/lzo.morph5
-rw-r--r--baserock/strata/foundation/openssh.morph28
-rw-r--r--baserock/strata/foundation/pciutils.morph11
-rw-r--r--baserock/strata/foundation/rsync.morph9
-rw-r--r--baserock/strata/foundation/systemd.morph38
-rw-r--r--baserock/strata/foundation/tbdiff.morph3
-rw-r--r--baserock/strata/foundation/time-zone-database.morph11
-rw-r--r--baserock/strata/genivi.morph113
-rw-r--r--baserock/strata/genivi/DLT-daemon.morph5
-rw-r--r--baserock/strata/genivi/genivi-common-api-dbus-runtime.morph3
-rw-r--r--baserock/strata/genivi/genivi-common-api-runtime.morph3
-rw-r--r--baserock/strata/genivi/googlemock.morph8
-rw-r--r--baserock/strata/genivi/googletest.morph7
-rw-r--r--baserock/strata/genivi/itzam-tarball.morph10
-rw-r--r--baserock/strata/genivi/libarchive.morph6
-rw-r--r--baserock/strata/genivi/linuxquota.morph10
-rw-r--r--baserock/strata/genivi/node-startup-controller.morph9
-rw-r--r--baserock/strata/genivi/persistence-administrator.morph5
-rw-r--r--baserock/strata/genivi/persistence-client-library.morph6
-rw-r--r--baserock/strata/genivi/persistence-common-object.morph5
-rw-r--r--baserock/strata/glib-common.morph28
-rw-r--r--baserock/strata/graphics-common.morph61
-rw-r--r--baserock/strata/graphics-common/cairo.morph5
-rw-r--r--baserock/strata/graphics-common/freefont-otf.morph5
-rw-r--r--baserock/strata/graphics-common/pixman.morph5
-rw-r--r--baserock/strata/gtk-deps.morph55
-rw-r--r--baserock/strata/gtk-deps/gdk-pixbuf.morph6
-rw-r--r--baserock/strata/gtk-deps/pango.morph8
-rw-r--r--baserock/strata/gtk-deps/shared-mime-info.morph4
-rw-r--r--baserock/strata/gtk2.morph12
-rw-r--r--baserock/strata/gtk2/gtk+.morph11
-rw-r--r--baserock/strata/gtk3.morph19
-rw-r--r--baserock/strata/gtk3/gtk3.morph11
-rw-r--r--baserock/strata/initramfs-utils.morph11
-rw-r--r--baserock/strata/initramfs-utils/initramfs-scripts.morph3
-rw-r--r--baserock/strata/input-common.morph34
-rw-r--r--baserock/strata/input-common/libxkbcommon.morph5
-rw-r--r--baserock/strata/input-common/xkeyboard-config.morph7
-rw-r--r--baserock/strata/installer-utils.morph11
-rw-r--r--baserock/strata/installer-utils/installer-scripts.morph4
-rw-r--r--baserock/strata/java.morph22
-rw-r--r--baserock/strata/java/java-ant.morph8
-rw-r--r--baserock/strata/java/java-binary.morph16
-rw-r--r--baserock/strata/libdrm-common.morph17
-rw-r--r--baserock/strata/libdrm-common/drm.morph7
-rw-r--r--baserock/strata/libsoup-common.morph11
-rw-r--r--baserock/strata/libsoup-common/libsoup.morph6
-rw-r--r--baserock/strata/lighttpd-server.morph12
-rw-r--r--baserock/strata/lighttpd-server/lighttpd.morph6
-rw-r--r--baserock/strata/llvm-common.morph10
-rw-r--r--baserock/strata/llvm-common/llvm.morph7
-rw-r--r--baserock/strata/lorry-controller.morph16
-rw-r--r--baserock/strata/lorry-controller/lorry-controller.morph10
-rw-r--r--baserock/strata/lorry.morph125
-rw-r--r--baserock/strata/lorry/cvs-tarball.morph10
-rw-r--r--baserock/strata/lorry/cvsps.morph6
-rw-r--r--baserock/strata/lorry/hg-fast-export.morph10
-rw-r--r--baserock/strata/lorry/libapr-util.morph7
-rw-r--r--baserock/strata/lorry/libapr.morph21
-rw-r--r--baserock/strata/lorry/libserf.morph6
-rw-r--r--baserock/strata/lorry/lorry.morph3
-rw-r--r--baserock/strata/lorry/mercurial-tarball.morph6
-rw-r--r--baserock/strata/lorry/neon.morph8
-rw-r--r--baserock/strata/lorry/perl-dbi-tarball.morph5
-rw-r--r--baserock/strata/lorry/subversion-tarball.morph12
-rw-r--r--baserock/strata/lorry/swig.morph7
-rw-r--r--baserock/strata/lua.morph16
-rw-r--r--baserock/strata/lua/lua.morph11
-rw-r--r--baserock/strata/lua/luajit2.morph7
-rw-r--r--baserock/strata/lvm.morph15
-rw-r--r--baserock/strata/lvm/lvm2.morph31
-rw-r--r--baserock/strata/mesa-common.morph14
-rw-r--r--baserock/strata/mesa-common/mesa.morph22
-rw-r--r--baserock/strata/morph-utils.morph54
-rw-r--r--baserock/strata/morph-utils/cmdtest.morph6
-rw-r--r--baserock/strata/morph-utils/pyfilesystem.morph6
-rw-r--r--baserock/strata/morph-utils/python-ttystatus.morph6
-rw-r--r--baserock/strata/mtd-utilities.morph11
-rw-r--r--baserock/strata/mtd-utilities/mtd-utils.morph6
-rw-r--r--baserock/strata/multimedia-common.morph37
-rw-r--r--baserock/strata/multimedia-common/libmad.morph10
-rw-r--r--baserock/strata/multimedia-gstreamer-0.10.morph37
-rw-r--r--baserock/strata/multimedia-gstreamer.morph45
-rw-r--r--baserock/strata/network-security.morph18
-rw-r--r--baserock/strata/network-security/nspr.morph12
-rw-r--r--baserock/strata/network-security/nss.morph7
-rw-r--r--baserock/strata/networking-utils.morph105
-rw-r--r--baserock/strata/networking-utils/conntrack-tools.morph4
-rw-r--r--baserock/strata/networking-utils/ebtables.morph7
-rw-r--r--baserock/strata/networking-utils/iproute2.morph10
-rw-r--r--baserock/strata/networking-utils/ipset.morph6
-rw-r--r--baserock/strata/networking-utils/iputils.morph24
-rw-r--r--baserock/strata/networking-utils/libnet.morph16
-rw-r--r--baserock/strata/networking-utils/libnetfilter_conntrack.morph3
-rw-r--r--baserock/strata/networking-utils/libnetfilter_cthelper.morph3
-rw-r--r--baserock/strata/networking-utils/libnetfilter_cttimeout.morph3
-rw-r--r--baserock/strata/networking-utils/libnetfilter_queue.morph3
-rw-r--r--baserock/strata/networking-utils/libnfnetlink.morph3
-rw-r--r--baserock/strata/networking-utils/libpcap.morph3
-rw-r--r--baserock/strata/networking-utils/tcpdump.morph3
-rw-r--r--baserock/strata/nfs.morph31
-rw-r--r--baserock/strata/nfs/nfs-utils.morph13
-rw-r--r--baserock/strata/nfs/rpcbind.morph11
-rw-r--r--baserock/strata/nfs/tcp-wrappers.morph9
-rw-r--r--baserock/strata/nfs/ti-rpc.morph6
-rw-r--r--baserock/strata/nodejs.morph11
-rw-r--r--baserock/strata/ntpd.morph10
-rw-r--r--baserock/strata/ntpd/ntpd.morph51
-rw-r--r--baserock/strata/ocaml-language.morph11
-rw-r--r--baserock/strata/ocaml/ocaml.morph8
-rw-r--r--baserock/strata/openbmc.morph22
-rw-r--r--baserock/strata/openbmc/i2c-tools.morph16
-rw-r--r--baserock/strata/openbmc/isc-dhcp.morph3
-rw-r--r--baserock/strata/openbmc/lm_sensors.morph7
-rw-r--r--baserock/strata/openstack-clients.morph154
-rw-r--r--baserock/strata/openstack-clients/appdirs.morph3
-rw-r--r--baserock/strata/openstack-clients/argparse.morph3
-rw-r--r--baserock/strata/openstack-clients/cliff-tablib.morph3
-rw-r--r--baserock/strata/openstack-clients/os-client-config.morph3
-rw-r--r--baserock/strata/openstack-clients/pyparsing.morph6
-rw-r--r--baserock/strata/openstack-clients/python-ironicclient.morph3
-rw-r--r--baserock/strata/openstack-clients/python-openstackclient.morph3
-rw-r--r--baserock/strata/openstack-clients/tablib.morph3
-rw-r--r--baserock/strata/openstack-common.morph144
-rw-r--r--baserock/strata/openstack-common/babel.morph8
-rw-r--r--baserock/strata/openstack-services.morph786
-rw-r--r--baserock/strata/openstack-services/ceilometer.morph23
-rw-r--r--baserock/strata/openstack-services/cinder.morph21
-rw-r--r--baserock/strata/openstack-services/erlang-sd_notify.morph8
-rw-r--r--baserock/strata/openstack-services/glance.morph29
-rw-r--r--baserock/strata/openstack-services/horizon.morph63
-rw-r--r--baserock/strata/openstack-services/ipaddr-py.morph6
-rw-r--r--baserock/strata/openstack-services/ironic.morph18
-rw-r--r--baserock/strata/openstack-services/keystone.morph9
-rw-r--r--baserock/strata/openstack-services/librabbitmq.morph10
-rw-r--r--baserock/strata/openstack-services/neutron.morph27
-rw-r--r--baserock/strata/openstack-services/nova.morph24
-rw-r--r--baserock/strata/openstack-services/novnc.morph11
-rw-r--r--baserock/strata/openstack-services/open-iscsi.morph46
-rw-r--r--baserock/strata/openstack-services/pies.morph11
-rw-r--r--baserock/strata/openstack-services/pysendfile.morph3
-rw-r--r--baserock/strata/openstack-services/qpid-python.morph6
-rw-r--r--baserock/strata/openstack-services/rabbitmq-codegen.morph7
-rw-r--r--baserock/strata/openstack-services/rabbitmq-server.morph16
-rw-r--r--baserock/strata/openstack-services/rtslib-fb.morph27
-rw-r--r--baserock/strata/openstack-services/singledispatch.morph3
-rw-r--r--baserock/strata/openstack-services/tempest.morph12
-rw-r--r--baserock/strata/openstack-services/tftp-hpa.morph5
-rw-r--r--baserock/strata/openstack-services/thrift.morph6
-rw-r--r--baserock/strata/ostree-core.morph18
-rw-r--r--baserock/strata/pcre-utils.morph10
-rw-r--r--baserock/strata/python-cliapp.morph26
-rw-r--r--baserock/strata/python-cliapp/python-coveragepy.morph6
-rw-r--r--baserock/strata/python-common.morph88
-rw-r--r--baserock/strata/python-common/pycrypto.morph3
-rw-r--r--baserock/strata/python-core.morph52
-rw-r--r--baserock/strata/python-core/pyyaml.morph6
-rw-r--r--baserock/strata/python-pygobject.morph13
-rw-r--r--baserock/strata/python-pygobject/pygobject.morph5
-rw-r--r--baserock/strata/python-tools.morph29
-rw-r--r--baserock/strata/python-wsgi.morph17
-rw-r--r--baserock/strata/python3-core.morph11
-rw-r--r--baserock/strata/python3-core/python3.morph7
-rw-r--r--baserock/strata/qt4-sdk.morph11
-rw-r--r--baserock/strata/qt4-sdk/qt-creator.morph9
-rw-r--r--baserock/strata/qt4-tools.morph33
-rw-r--r--baserock/strata/qt4-tools/icu.morph8
-rw-r--r--baserock/strata/qt4-tools/qt4-tools.morph18
-rw-r--r--baserock/strata/qt4-tools/ruby-1.8.morph9
-rw-r--r--baserock/strata/qt4-tools/ruby-1.9.morph9
-rw-r--r--baserock/strata/qt5-sdk.morph12
-rw-r--r--baserock/strata/qt5-sdk/qt-creator.morph8
-rw-r--r--baserock/strata/qt5-sdk/snowshoe.morph8
-rw-r--r--baserock/strata/qt5-tools-qtmultimedia.morph12
-rw-r--r--baserock/strata/qt5-tools-qtwebkit.morph34
-rw-r--r--baserock/strata/qt5-tools.morph137
-rw-r--r--baserock/strata/qt5-tools/icu.morph9
-rw-r--r--baserock/strata/qt5-tools/qt3d.morph10
-rw-r--r--baserock/strata/qt5-tools/qtbase.morph17
-rw-r--r--baserock/strata/qt5-tools/qtconnectivity.morph10
-rw-r--r--baserock/strata/qt5-tools/qtdeclarative.morph10
-rw-r--r--baserock/strata/qt5-tools/qtdoc.morph8
-rw-r--r--baserock/strata/qt5-tools/qtgraphicaleffects.morph8
-rw-r--r--baserock/strata/qt5-tools/qtimageformats.morph10
-rw-r--r--baserock/strata/qt5-tools/qtjsbackend.morph10
-rw-r--r--baserock/strata/qt5-tools/qtlocation.morph10
-rw-r--r--baserock/strata/qt5-tools/qtmultimedia.morph10
-rw-r--r--baserock/strata/qt5-tools/qtquick1.morph10
-rw-r--r--baserock/strata/qt5-tools/qtquickcontrols.morph10
-rw-r--r--baserock/strata/qt5-tools/qtscript.morph10
-rw-r--r--baserock/strata/qt5-tools/qtsensors.morph10
-rw-r--r--baserock/strata/qt5-tools/qtserialport.morph10
-rw-r--r--baserock/strata/qt5-tools/qtsvg.morph10
-rw-r--r--baserock/strata/qt5-tools/qttools.morph10
-rw-r--r--baserock/strata/qt5-tools/qttranslations.morph8
-rw-r--r--baserock/strata/qt5-tools/qtwebkit-examples.morph8
-rw-r--r--baserock/strata/qt5-tools/qtwebkit.morph11
-rw-r--r--baserock/strata/qt5-tools/qtwebsockets.morph10
-rw-r--r--baserock/strata/qt5-tools/qtx11extras.morph10
-rw-r--r--baserock/strata/qt5-tools/qtxmlpatterns.morph10
-rw-r--r--baserock/strata/qt5-tools/ruby-1.8.morph9
-rw-r--r--baserock/strata/qt5-tools/ruby-1.9.morph9
-rw-r--r--baserock/strata/ruby.morph51
-rw-r--r--baserock/strata/ruby/bundler.morph6
-rw-r--r--baserock/strata/ruby/hoe.morph16
-rw-r--r--baserock/strata/ruby/rake-compiler.morph15
-rw-r--r--baserock/strata/ruby/ruby-1.8.morph9
-rw-r--r--baserock/strata/ruby/ruby.morph9
-rw-r--r--baserock/strata/samba.morph12
-rw-r--r--baserock/strata/samba/samba.morph127
-rw-r--r--baserock/strata/swift.morph53
-rw-r--r--baserock/strata/swift/gf-complete.morph20
-rw-r--r--baserock/strata/swift/liberasurecode.morph5
-rw-r--r--baserock/strata/swift/xattr.morph8
-rw-r--r--baserock/strata/test-tools.morph133
-rw-r--r--baserock/strata/test-tools/subunit.morph3
-rw-r--r--baserock/strata/tools.morph84
-rw-r--r--baserock/strata/tools/device-tree-compiler.morph6
-rw-r--r--baserock/strata/tools/distcc.morph10
-rw-r--r--baserock/strata/tools/gdb.morph6
-rw-r--r--baserock/strata/tools/git-fat.morph4
-rw-r--r--baserock/strata/tools/ipmitool.morph5
-rw-r--r--baserock/strata/tools/kexec-tools.morph6
-rw-r--r--baserock/strata/tools/lsof.morph12
-rw-r--r--baserock/strata/tools/parted.morph11
-rw-r--r--baserock/strata/tools/procps-ng.morph27
-rw-r--r--baserock/strata/tools/u-boot.morph11
-rw-r--r--baserock/strata/tools/vala-bootstrap.morph7
-rw-r--r--baserock/strata/tools/zip.morph9
-rw-r--r--baserock/strata/trove.morph82
-rw-r--r--baserock/strata/trove/cgit.morph6
-rw-r--r--baserock/strata/trove/clod.morph7
-rw-r--r--baserock/strata/trove/gall.morph7
-rw-r--r--baserock/strata/trove/gitano.morph5
-rw-r--r--baserock/strata/trove/lace.morph7
-rw-r--r--baserock/strata/trove/lrexlib-pcre.morph9
-rw-r--r--baserock/strata/trove/lua-scrypt.morph4
-rw-r--r--baserock/strata/trove/lua.morph11
-rw-r--r--baserock/strata/trove/luxio.morph7
-rw-r--r--baserock/strata/trove/supple.morph7
-rw-r--r--baserock/strata/trove/trove-setup.morph4
-rw-r--r--baserock/strata/unionfs-fuse-group.morph20
-rw-r--r--baserock/strata/unionfs-fuse-group/unionfs-fuse.morph12
-rw-r--r--baserock/strata/virtualbox-guest-x86_64.morph22
-rw-r--r--baserock/strata/virtualbox-guest-x86_64/vboxguest.morph34
-rw-r--r--baserock/strata/virtualbox-guest-x86_64/yasm.morph4
-rw-r--r--baserock/strata/virtualization.morph91
-rw-r--r--baserock/strata/virtualization/dmidecode.morph7
-rw-r--r--baserock/strata/virtualization/dnsmasq.morph10
-rw-r--r--baserock/strata/virtualization/libosinfo.morph6
-rw-r--r--baserock/strata/virtualization/libvirt.morph34
-rw-r--r--baserock/strata/virtualization/openvswitch.morph11
-rw-r--r--baserock/strata/virtualization/qemu.morph5
-rw-r--r--baserock/strata/virtualization/yajl.morph8
-rw-r--r--baserock/strata/wayland-generic.morph10
-rw-r--r--baserock/strata/wayland-generic/wayland.morph7
-rw-r--r--baserock/strata/webtools.morph22
-rw-r--r--baserock/strata/webtools/icu.morph8
-rw-r--r--baserock/strata/webtools/nginx.morph14
-rw-r--r--baserock/strata/weston-common.morph14
-rw-r--r--baserock/strata/weston-common/weston.morph7
-rw-r--r--baserock/strata/weston-genivi.morph21
-rw-r--r--baserock/strata/weston-genivi/wayland-ivi-extension.morph8
-rw-r--r--baserock/strata/weston-genivi/weston.morph53
-rw-r--r--baserock/strata/x-common.morph325
-rw-r--r--baserock/strata/x-drivers.morph36
-rw-r--r--baserock/strata/x-generic.morph60
-rw-r--r--baserock/strata/x-generic/xserver.morph12
-rw-r--r--baserock/strata/xfce.morph159
-rw-r--r--baserock/strata/xfce/elementary-xfce.morph10
-rw-r--r--baserock/strata/xfce/exo.morph8
-rw-r--r--baserock/strata/xfce/garcon.morph8
-rw-r--r--baserock/strata/xfce/gtk-xfce-engine-2.morph8
-rw-r--r--baserock/strata/xfce/libwnck.morph11
-rw-r--r--baserock/strata/xfce/libxfce4ui.morph8
-rw-r--r--baserock/strata/xfce/libxfce4util.morph8
-rw-r--r--baserock/strata/xfce/thunar.morph9
-rw-r--r--baserock/strata/xfce/tumbler.morph8
-rw-r--r--baserock/strata/xfce/xfce4-appfinder.morph8
-rw-r--r--baserock/strata/xfce/xfce4-panel.morph8
-rw-r--r--baserock/strata/xfce/xfce4-session.morph9
-rw-r--r--baserock/strata/xfce/xfce4-settings.morph8
-rw-r--r--baserock/strata/xfce/xfconf.morph8
-rw-r--r--baserock/strata/xfce/xfdesktop.morph8
-rw-r--r--baserock/strata/xfce/xfwm4.morph11
-rw-r--r--baserock/strata/xorg-util-macros-common.morph17
-rw-r--r--baserock/strata/xstatic.morph154
-rw-r--r--baserock/strata/zookeeper-client.morph16
-rw-r--r--baserock/strata/zookeeper-server.morph11
-rw-r--r--baserock/strata/zookeeper.morph14
-rw-r--r--baserock/strata/zookeeper/zookeeper-client.morph17
-rw-r--r--baserock/strata/zookeeper/zookeeper-server.morph30
-rw-r--r--baserock/strata/zookeeper/zookeeper.morph14
513 files changed, 13375 insertions, 0 deletions
diff --git a/baserock/strata/NetworkManager-common.morph b/baserock/strata/NetworkManager-common.morph
new file mode 100644
index 00000000..9072966d
--- /dev/null
+++ b/baserock/strata/NetworkManager-common.morph
@@ -0,0 +1,31 @@
+name: NetworkManager-common
+kind: stratum
+build-depends:
+- morph: strata/audio-bluetooth.morph
+- morph: strata/network-security.morph
+- morph: strata/connectivity.morph
+chunks:
+- name: libndp
+ repo: upstream:libndp
+ ref: f3a3a63d5b5abced8f75731d7b995606933c6e33
+ unpetrify-ref: v1.4
+ build-system: autotools
+- name: readline6
+ repo: upstream:readline
+ ref: 7628b745a813aac53586b640da056a975f1c443e
+ unpetrify-ref: readline-6.3
+ build-system: autotools
+- name: libgudev
+ repo: upstream:libgudev
+ ref: d722339aae9065a379acc0c421e8bbab866d5a38
+ unpetrify-ref: 230
+ build-system: autotools
+- name: NetworkManager
+ morph: strata/NetworkManager-common/NetworkManager.morph
+ repo: upstream:NetworkManager
+ ref: acdaf78a068b6c65ba799a7098b867953db4801c
+ unpetrify-ref: 1.0.0
+ build-depends:
+ - libgudev
+ - libndp
+ - readline6
diff --git a/baserock/strata/NetworkManager-common/NetworkManager.morph b/baserock/strata/NetworkManager-common/NetworkManager.morph
new file mode 100644
index 00000000..553c979b
--- /dev/null
+++ b/baserock/strata/NetworkManager-common/NetworkManager.morph
@@ -0,0 +1,5 @@
+name: NetworkManager
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --with-session-tracking=systemd --disable-ppp --enable-more-warnings=yes
diff --git a/baserock/strata/ansible.morph b/baserock/strata/ansible.morph
new file mode 100644
index 00000000..43ebc2bd
--- /dev/null
+++ b/baserock/strata/ansible.morph
@@ -0,0 +1,17 @@
+name: ansible
+kind: stratum
+description: A stratum with ansible and its dependencies
+build-depends:
+- morph: strata/core.morph
+- morph: strata/python-common.morph
+chunks:
+- name: ansible
+ morph: strata/ansible/ansible.morph
+ repo: upstream:ansible
+ ref: 0a7124541247cc613352054f4bc0c3e116e0b657
+ unpetrify-ref: baserock/v1.8.4
+- name: openstack-ansible-modules
+ morph: strata/ansible/openstack-ansible-modules.morph
+ repo: upstream:openstack/openstack-ansible-modules
+ ref: 451dcdeadfd35615a867d5e59a684e4aa82959ae
+ unpetrify-ref: master
diff --git a/baserock/strata/ansible/ansible.morph b/baserock/strata/ansible/ansible.morph
new file mode 100644
index 00000000..dbc6ec4b
--- /dev/null
+++ b/baserock/strata/ansible/ansible.morph
@@ -0,0 +1,9 @@
+name: ansible
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- |
+ install -D -m644 /proc/self/fd/0 "$DESTDIR/etc/ansible/ansible.cfg" <<EOF
+ [defaults]
+ log_path=/var/log/ansible
+ EOF
diff --git a/baserock/strata/ansible/openstack-ansible-modules.morph b/baserock/strata/ansible/openstack-ansible-modules.morph
new file mode 100644
index 00000000..d8e885e6
--- /dev/null
+++ b/baserock/strata/ansible/openstack-ansible-modules.morph
@@ -0,0 +1,5 @@
+name: openstack-ansible-modules
+kind: chunk
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/share/ansible/ansible-openstack-modules
+- cp -r * "$DESTDIR$PREFIX"/share/ansible/ansible-openstack-modules
diff --git a/baserock/strata/apache-httpd-server.morph b/baserock/strata/apache-httpd-server.morph
new file mode 100644
index 00000000..74aa72f5
--- /dev/null
+++ b/baserock/strata/apache-httpd-server.morph
@@ -0,0 +1,41 @@
+name: apache-httpd-server
+kind: stratum
+description: apache http web server and some utilities related to it
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/pcre-utils.morph
+- morph: strata/python-core.morph
+chunks:
+- name: apr
+ morph: strata/apache-httpd-server/apr.morph
+ repo: upstream:apache/apr
+ ref: 3c818c6d7351f0130282d212a69035642f5fecad
+ unpetrify-ref: trunk
+- name: httpd-server
+ morph: strata/apache-httpd-server/httpd-server.morph
+ repo: upstream:apache/httpd
+ ref: 6d8e0b2fd95268fcba96326ba9dce7bb8f712c19
+ unpetrify-ref: 2.4.10
+ build-depends:
+ - apr
+- name: psutil
+ repo: upstream:python-packages/psutil
+ ref: 2bc8555f0428af81c2d067aa76168ed7bc5e0179
+ unpetrify-ref: release-2.2.0
+ build-system: python-distutils
+- name: mod_wsgi-metrics
+ repo: upstream:python-packages/mod_wsgi-metrics
+ ref: ec715eb593255229f9f45f3f323edbb845c691d8
+ unpetrify-ref: 1.1.1
+ build-system: python-distutils
+ build-depends:
+ - psutil
+- name: mod_wsgi
+ morph: strata/apache-httpd-server/mod_wsgi.morph
+ repo: upstream:python-packages/mod_wsgi
+ ref: 1be8b37aaf07d8cb3083da99d6fda12375221b07
+ unpetrify-ref: 4.4.5
+ build-depends:
+ - apr
+ - httpd-server
+ - mod_wsgi-metrics
diff --git a/baserock/strata/apache-httpd-server/apr.morph b/baserock/strata/apache-httpd-server/apr.morph
new file mode 100644
index 00000000..aaba1954
--- /dev/null
+++ b/baserock/strata/apache-httpd-server/apr.morph
@@ -0,0 +1,22 @@
+name: apr
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./buildconf
+- |
+ ./configure --prefix="$PREFIX" \
+ --disable-static \
+ --enable-threads \
+ --with-installbuilddir="$PREFIX"/share/apr-1/build
+post-install-commands:
+# Install files required for apr-util and httpd
+- |
+ for file in find_apr.m4 apr_common.m4 install.sh gen-build.py get-version.sh \
+ config.guess config.sub; do
+ cp build/"$file" "$DESTDIR$PREFIX"/share/apr-1/build/"$file";
+ done
+# Create a symlink in the build directory to the include directory (this is needed for httpd)
+- ln -sf /usr/include/apr-2 "$DESTDIR$PREFIX"/share/apr-1/build/
+# Copy apr headers needed for mod_wsgi
+- cp include/private/apr_support.h "$DESTDIR$PREFIX"/include/apr-2
+- cp include/arch/unix/apr_private.h "$DESTDIR$PREFIX"/include/apr-2
diff --git a/baserock/strata/apache-httpd-server/httpd-server.morph b/baserock/strata/apache-httpd-server/httpd-server.morph
new file mode 100644
index 00000000..41f0c36b
--- /dev/null
+++ b/baserock/strata/apache-httpd-server/httpd-server.morph
@@ -0,0 +1,67 @@
+name: httpd-server
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./buildconf --with-apr=/usr/share/apr-1
+# We override --libexecdir with the same value as --enable-layout=RPM
+# ought to provide, because otherwise there is a bug where when mod_wsgi
+# calls apxs, it fails as follows because the variable is empty.
+#
+#/usr/share/apr-1/build/libtool --silent --mode=link gcc -std=gnu99
+# -o src/server/mod_wsgi.la -rpath # -module -avoid-version
+# src/server/wsgi_validate.lo src/server/wsgi_stream.lo
+# src/server/wsgi_server.lo src/server/wsgi_restrict.lo
+# src/server/wsgi_metrics.lo src/server/wsgi_logger.lo
+# src/server/wsgi_interp.lo src/server/wsgi_daemon.lo
+# src/server/wsgi_convert.lo src/server/wsgi_buckets.lo
+# src/server/wsgi_apache.lo src/server/mod_wsgi.lo
+# -L/usr/lib -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm
+# libtool: error: only absolute run-paths are allowed
+# apxs:Error: Command failed with rc=65536
+#
+- |
+ ./configure --prefix="$PREFIX" \
+ --libexecdir="$PREFIX"/lib/httpd/modules \
+ --enable-layout=RPM \
+ --enable-mpms-shared=all \
+ --with-apr="$PREFIX"/bin/apr-2-config \
+ --enable-suexec --with-suexec \
+ --with-suexec-caller=apache \
+ --with-suexec-docroot=/var/www \
+ --with-suexec-logfile=/var/log/httpd/suexec.log \
+ --with-suexec-bin="$PREFIX"/sbin/suexec \
+ --with-suexec-uidmin=500 --with-suexec-gidmin=100\
+ --with-suexec-userdir=public_html \
+ --enable-pie \
+ --with-pcre \
+ --enable-mods-shared=all \
+ --enable-ssl --with-ssl \
+ --enable-case-filter --enable-case-filter-in \
+ --enable-cgid --enable-cgi\
+ --enable-so
+post-install-commands:
+# Add perl interpreter path to apxs script, required for loading mod_wsgi.
+- |
+ sed -i 's|#!/replace/with/path/to/perl/interpreter -w|#!/usr/bin/perl -w|g' \
+ "$DESTDIR$PREFIX"/bin/apxs
+# Add conf.d directory where apache will look for other configurations to load.
+- mkdir -p "$DESTDIR"/etc/httpd/conf.d
+- echo 'Include /etc/httpd/conf.d/*.conf' >> "$DESTDIR"/etc/httpd/conf/httpd.conf
+####################################################################################
+# This chunk should add an apache user and an apache group, create the apache home
+# directory and move suexec to /usr/lib/httpd/suexec as system-integration time.
+# This is not possible because linux-user-chroot drops all capabilities for security so
+# it does not allow to change the owners of directories or files.
+# So for now you should create a script which includes the following commands:
+# - mkdir -p /var/www
+# - groupadd -r apache
+# - |
+# useradd -c "Apache Server" -d /var/www -g apache \
+# -s /bin/false apache
+#
+# - mkdir -p /usr/lib/httpd
+# - mv -v /usr/bin/suexec /usr/lib/httpd/suexec
+# - chgrp apache /usr/lib/httpd/suexec
+# - chmod 4754 /usr/lib/httpd/suexec
+# - chown -R apache:apache /var/www
+####################################################################################
diff --git a/baserock/strata/apache-httpd-server/mod_wsgi.morph b/baserock/strata/apache-httpd-server/mod_wsgi.morph
new file mode 100644
index 00000000..86004ad3
--- /dev/null
+++ b/baserock/strata/apache-httpd-server/mod_wsgi.morph
@@ -0,0 +1,18 @@
+name: mod_wsgi
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" \
+ --with-apxs=/usr/bin/apxs
+post-install-commands:
+- |
+ install -D -m 644 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/httpd/conf.d/wsgi.conf
+ # NOTE: mod_wsgi can not coexist in the same apache process as
+ # mod_wsgi_python3. Only load if mod_wsgi_python3 is not
+ # already loaded.
+
+ <IfModule !wsgi_module>
+ LoadModule wsgi_module /usr/lib/httpd/modules/mod_wsgi.so
+ </IfModule>
+ EOF
diff --git a/baserock/strata/armv7lhf-cross-toolchain.morph b/baserock/strata/armv7lhf-cross-toolchain.morph
new file mode 100644
index 00000000..7112653a
--- /dev/null
+++ b/baserock/strata/armv7lhf-cross-toolchain.morph
@@ -0,0 +1,54 @@
+name: armv7lhf-cross-toolchain
+kind: stratum
+description: Stratum for building an armv7lhf cross compiler for your native system.
+build-depends:
+- morph: strata/build-essential.morph
+chunks:
+- name: armv7lhf-cross-binutils
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
+ repo: upstream:binutils-tarball
+ ref: 5500a97a2ad1735db5b35bc51cfb825c1f4c38df
+ unpetrify-ref: binutils-2.25
+
+- name: armv7lhf-cross-linux-api-headers
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
+ repo: upstream:linux
+ ref: df2e1b9168a7ab5dd8149e38b5ac70cdef86d1fa
+ unpetrify-ref: baserock/v3.8
+
+- name: armv7lhf-cross-gcc-nolibc
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - armv7lhf-cross-binutils
+
+- name: armv7lhf-cross-glibc
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph
+ repo: upstream:glibc
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: baserock/glibc-2.21
+ build-depends:
+ - armv7lhf-cross-binutils
+ - armv7lhf-cross-gcc-nolibc
+ - armv7lhf-cross-linux-api-headers
+
+- name: armv7lhf-cross-gcc
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - armv7lhf-cross-binutils
+ - armv7lhf-cross-glibc
+
+- name: armv7lhf-cross-libstdc++
+ morph: strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - armv7lhf-cross-binutils
+ - armv7lhf-cross-gcc
+ - armv7lhf-cross-glibc
diff --git a/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
new file mode 100644
index 00000000..8e842e41
--- /dev/null
+++ b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-binutils.morph
@@ -0,0 +1,24 @@
+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/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
new file mode 100644
index 00000000..b5a8c338
--- /dev/null
+++ b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc-nolibc.morph
@@ -0,0 +1,74 @@
+name: armv7lhf-cross-gcc-nolibc
+kind: chunk
+
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. Standard flags. See gcc.morph.
+# 2. See stage1-gcc.morph.
+# 3. Our binutils is for the final $TARGET, rather than the intermediate
+# target our GCC is being built for, so we need to set
+# with-build-time-tools to get it to find our binutils at
+# build-time and with-as and with-ld so our temporary GCC uses
+# the appropriate tools when it compiles our libc, rather than
+# trying to use $TARGET_STAGE1-as when producing binaries.
+# 4. Disable stuff that doesn't work when building a cross compiler
+# without an existing libc, and generally try to keep this build as
+# simple as possible.
+- |
+ export MORPH_ARCH=armv7lhf
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+ export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
+
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target="$TARGET_STAGE1" \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir="$PREFIX/lib" \
+ `# [2]` --with-sysroot=/nonexistentdir \
+ --with-newlib \
+ `# [2]` --with-local-prefix="$PREFIX" \
+ `# [2]` --with-native-system-header-dir="$PREFIX/include" \
+ `# [3]` --with-build-time-tools="$PREFIX/$TARGET/bin" \
+ `# [3]` --with-as="$PREFIX/$TARGET/bin/as" \
+ `# [3]` --with-ld="$PREFIX/$TARGET/bin/ld" \
+ --without-headers \
+ --disable-nls \
+ --disable-shared \
+ `# [4]` --disable-multilib \
+ `# [4]` --disable-decimal-float \
+ `# [4]` --disable-threads \
+ `# [4]` --disable-libatomic \
+ `# [4]` --disable-libgomp \
+ `# [4]` --disable-libitm \
+ `# [4]` --disable-libquadmath \
+ `# [4]` --disable-libsanitizer \
+ `# [4]` --disable-libssp \
+ `# [4]` --disable-libvtv \
+ `# [4]` --disable-libcilkrts \
+ `# [4]` --disable-libstdc++-v3 \
+ --enable-languages=c,c++
+
+build-commands:
+- |
+ # See stage1-gcc.morph.
+ case "$MORPH_ARCH" in
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
+ cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
new file mode 100644
index 00000000..140a29b1
--- /dev/null
+++ b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-gcc.morph
@@ -0,0 +1,48 @@
+name: armv7lhf-cross-gcc
+kind: chunk
+
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. Use the default sysroot path to install to and locate headers
+# 2. Avoid having more than one copy of ZLib in use on the system
+# 3. Standard flags. See gcc.morph.
+- |
+ export MORPH_ARCH=armv7lhf
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target="$TARGET" \
+ --prefix="$PREFIX" \
+ `# [1]` --with-sysroot \
+ --disable-bootstrap \
+ `# [2]` --with-system-zlib \
+ `# [3]` --libdir="$PREFIX/lib" \
+ `# [3]` --disable-multilib \
+ `# [3]` --enable-languages=c,c++,fortran
+
+build-commands:
+- cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- ln -s gcc "$DESTDIR/$PREFIX/bin/cc"
+- |
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+ for fortran_alias in f77 f90 f95; do
+ ln -s "$TARGET-gfortran" \
+ "$DESTDIR/$PREFIX/bin/$TARGET-$fortran_alias"
+ done
diff --git a/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph
new file mode 100644
index 00000000..2a692c38
--- /dev/null
+++ b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-glibc.morph
@@ -0,0 +1,51 @@
+name: armv7lhf-cross-glibc
+kind: chunk
+
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. Location of linux-api-headers, needed since glibc doesn't
+# support being given a sysroot.
+# 2. Location of binutils, since we build binutils for the final
+# target triplet, but our gcc of our stage 1 target triplet.
+# 3. Normal flags. See strata/build-essential/glibc.morph.
+# 4. Force configuration values of certain things that can't be detected
+# in a cross-compile.
+- |
+ export MORPH_ARCH=armv7lhf
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+ export TARGET_STAGE1=armv7lhf-none-linux-gnueabi
+
+ export CFLAGS="-O2 $CFLAGS"
+
+ # glibc looks for $TARGET-gcc, but not $TARGET_STAGE1-gcc even
+ # though --build is specified, so we have to override what gcc to
+ # use here.
+ export CC="$TARGET_STAGE1-gcc"
+
+ case "$MORPH_ARCH" in
+ armv7*)
+ ARCH_FLAGS="--without-fp" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$TARGET_STAGE1 --host=$TARGET \
+ --prefix="$PREFIX" \
+ `# [1]` --with-headers="$PREFIX/$TARGET/sys-root/$PREFIX/include" \
+ `# [2]` --with-binutils="$PREFIX/$TARGET/bin" \
+ `# [3]` --disable-profile --enable-kernel=2.6.25 \
+ `# [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:
+- |
+ # glibc doesn't help with sysroots, so we need to spell out the
+ # full path ourselves.
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+ cd o && make install_root="$DESTDIR/$PREFIX/$TARGET/sys-root/" \
+ localtime=UTC install
diff --git a/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph
new file mode 100644
index 00000000..7743bb5b
--- /dev/null
+++ b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-libstdc++.morph
@@ -0,0 +1,32 @@
+name: armv7lhf-cross-libstdc++
+kind: chunk
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. Use the default sysroot path to install to and locate headers
+# 2. From LFS: the header location of C++ needs to be explicitly given
+# as we are running the configure script from the top-level
+# directory.
+- |
+ export MORPH_ARCH=armv7lhf
+ export TARGET=armv7lhf-baserock-linux-gnueabi
+
+ # -fPIC must be given, otherwise it will not be possible to create
+ # shared libraries linked to libstdc++
+ export CPPFLAGS="-fPIC"
+ cd o && ../libstdc++-v3/configure \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target="$TARGET" \
+ --prefix="$PREFIX" \
+ --disable-nls \
+ --disable-shared \
+ --disable-multilib \
+ `# [1]` --with-sysroot
+
+build-commands:
+- cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
new file mode 100644
index 00000000..c2654419
--- /dev/null
+++ b/baserock/strata/armv7lhf-cross-toolchain/armv7lhf-cross-linux-api-headers.morph
@@ -0,0 +1,10 @@
+name: armv7lhf-cross-linux-api-headers
+kind: chunk
+install-commands:
+- 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/baserock/strata/audio-bluetooth.morph b/baserock/strata/audio-bluetooth.morph
new file mode 100644
index 00000000..0bf1c220
--- /dev/null
+++ b/baserock/strata/audio-bluetooth.morph
@@ -0,0 +1,105 @@
+name: audio-bluetooth
+kind: stratum
+description: Components required for audio and bluetooth.
+build-depends:
+- morph: strata/glib-common.morph
+- morph: strata/foundation.morph
+chunks:
+- name: libatomic_ops
+ repo: upstream:libatomic_ops
+ ref: 0a58f5d63969c10d2141af89cb7a53df786909ab
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: alsa-lib
+ repo: upstream:alsa-lib
+ ref: 9cfd1faa27511edbb8bebbab85030125f33590ae
+ unpetrify-ref: v1.0.28
+ build-system: autotools
+- name: alsa-utils
+ morph: strata/audio-bluetooth/alsa-utils.morph
+ repo: upstream:alsa-utils
+ ref: bbf137f66b2c8ce36db73f59ee69d5c443436524
+ unpetrify-ref: v1.0.28
+ build-depends:
+ - alsa-lib
+- name: libical
+ morph: strata/audio-bluetooth/libical.morph
+ repo: upstream:libical
+ ref: 52568782ae136e1ec4ddf3eb6da7b0f3fbd3f1b3
+ unpetrify-ref: baserock/morph
+- name: bluez
+ morph: strata/audio-bluetooth/bluez.morph
+ repo: upstream:bluez
+ ref: a18201b5321e8b41d2ee7c7bc7285d976fc433e6
+ unpetrify-ref: baserock/v5.17-patched
+ build-depends:
+ - libical
+ - alsa-lib
+- name: dbus-glib
+ repo: upstream:dbus-glib
+ ref: 397e8297d433547c9bf4150ddd2b9e0b4c39628c
+ unpetrify-ref: dbus-glib_0.102
+ build-system: autotools
+- name: bluez-tools
+ morph: strata/audio-bluetooth/bluez-tools.morph
+ repo: upstream:bluez-tools
+ ref: 7350787e96a6ecf2cc5d4afddb3321ccad9fa461
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - dbus-glib
+- name: obexd
+ repo: upstream:obexd
+ ref: 4225280022c206762c91beee47c62d05e1baeacc
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - bluez
+ - libical
+- name: speex
+ repo: upstream:speex
+ ref: e5dc987a403426ee3d0d81768afffa0fe74e20fa
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: nohands
+ morph: strata/audio-bluetooth/nohands.morph
+ repo: upstream:nohands
+ ref: 20ec5cc245fd5e74d9a0fc21497d1ba4164f2a3a
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - bluez
+ - speex
+- name: mobile-broadband-provider-info
+ repo: upstream:mobile-broadband-provider-info
+ ref: 4ed19e11c2975105b71b956440acdb25d46a347d
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: ofono
+ morph: strata/audio-bluetooth/ofono.morph
+ repo: upstream:ofono
+ ref: d05b718cc0b0d367227fbfbf52e60fc5462cc549
+ unpetrify-ref: '1.15'
+ build-depends:
+ - mobile-broadband-provider-info
+ - bluez
+- name: json-c
+ morph: strata/audio-bluetooth/json-c.morph
+ repo: upstream:json-c
+ ref: e8bd6865d7a671e9f75ece05dfe86a19ba610581
+ unpetrify-ref: baserock/json-c-0.12-20140410-plus-patch
+- name: libsndfile
+ morph: strata/audio-bluetooth/libsndfile.morph
+ repo: upstream:libsndfile
+ ref: 6c05c615c95ffef7a8a5a707cde0bb52bdd74244
+ unpetrify-ref: baserock/morph
+- name: pulseaudio
+ morph: strata/audio-bluetooth/pulseaudio.morph
+ repo: upstream:pulseaudio
+ ref: 53ad8aa7caa33caac52e35f71253e29d5a15f6e7
+ unpetrify-ref: v6.0
+ build-depends:
+ - libsndfile
+ - libatomic_ops
+ - speex
+ - json-c
+ - alsa-lib
+ - bluez
diff --git a/baserock/strata/audio-bluetooth/alsa-utils.morph b/baserock/strata/audio-bluetooth/alsa-utils.morph
new file mode 100644
index 00000000..a6a1e041
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/bluez-tools.morph b/baserock/strata/audio-bluetooth/bluez-tools.morph
new file mode 100644
index 00000000..80e47ef5
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/bluez.morph b/baserock/strata/audio-bluetooth/bluez.morph
new file mode 100644
index 00000000..1395b98d
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/json-c.morph b/baserock/strata/audio-bluetooth/json-c.morph
new file mode 100644
index 00000000..c3d9243c
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/libical.morph b/baserock/strata/audio-bluetooth/libical.morph
new file mode 100644
index 00000000..1f772fd9
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/libsndfile.morph b/baserock/strata/audio-bluetooth/libsndfile.morph
new file mode 100644
index 00000000..8d6c2fe0
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/nohands.morph b/baserock/strata/audio-bluetooth/nohands.morph
new file mode 100644
index 00000000..ebe249c0
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/ofono.morph b/baserock/strata/audio-bluetooth/ofono.morph
new file mode 100644
index 00000000..a775b0c1
--- /dev/null
+++ b/baserock/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/baserock/strata/audio-bluetooth/pulseaudio.morph b/baserock/strata/audio-bluetooth/pulseaudio.morph
new file mode 100644
index 00000000..be4cb557
--- /dev/null
+++ b/baserock/strata/audio-bluetooth/pulseaudio.morph
@@ -0,0 +1,13 @@
+name: pulseaudio
+kind: chunk
+description: PulseAudio System
+build-system: autotools
+pre-configure-commands:
+- NOCONFIGURE=1 ./bootstrap.sh
+configure-commands:
+- ./configure --prefix="$PREFIX" --localstatedir=/var --sysconfdir=/etc --with-database=simple
+ --with-systemduserunitdir=/lib/systemd/system
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- 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/baserock/strata/baserock-import.morph b/baserock/strata/baserock-import.morph
new file mode 100644
index 00000000..74fc9363
--- /dev/null
+++ b/baserock/strata/baserock-import.morph
@@ -0,0 +1,24 @@
+name: baserock-import
+kind: stratum
+description: Tools for importing software into Baserock definitions.
+build-depends:
+- morph: strata/python-common.morph
+- morph: strata/morph-utils.morph
+chunks:
+- name: ansicolor
+ repo: upstream:python-packages/ansicolor
+ ref: 9d3adbaff35bb6cde1d63414a8cc72f572c4d0ef
+ unpetrify-ref: 0.2.4
+ build-system: python-distutils
+- name: requests-cache
+ repo: upstream:python-packages/requests-cache
+ ref: a1b5e65ccd715f1e8434f18f27913715340d6aaf
+ unpetrify-ref: 0.4.6
+ build-system: python-distutils
+- name: baserock-import
+ repo: baserock:baserock/import
+ ref: f74e7e428325be1cb018898a52d0aed4aec7a549
+ unpetrify-ref: master
+ build-system: python-distutils
+ build-depends:
+ - ansicolor
diff --git a/baserock/strata/bsp-armv5l-openbmc-aspeed.morph b/baserock/strata/bsp-armv5l-openbmc-aspeed.morph
new file mode 100644
index 00000000..d7e1f180
--- /dev/null
+++ b/baserock/strata/bsp-armv5l-openbmc-aspeed.morph
@@ -0,0 +1,18 @@
+name: bsp-armv5l-openbmc-aspeed
+kind: stratum
+description: |
+ The set of platform specific components required for booting
+ armvl5-openbmc-aspeed based systems
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv5l-openbmc-aspeed
+ morph: strata/bsp-armv5l-openbmc-aspeed/linux-armv5l-openbmc-aspeed.morph
+ repo: upstream:linux-stable
+ ref: 5cbce86c2115075b8054e4dba8cdf328aa6fa5b6
+ unpetrify-ref: baserock/v2.6.28.9/openbmc_aspeed_wedge
+- name: u-boot@aspeed
+ morph: strata/bsp-armv5l-openbmc-aspeed/u-boot@aspeed.morph
+ repo: upstream:u-boot
+ ref: af962087db0b88f4073f8f5a6184cb7f011d224d
+ unpetrify-ref: baserock/v2013.07+aspeed_wedge
diff --git a/baserock/strata/bsp-armv5l-openbmc-aspeed/linux-armv5l-openbmc-aspeed.morph b/baserock/strata/bsp-armv5l-openbmc-aspeed/linux-armv5l-openbmc-aspeed.morph
new file mode 100644
index 00000000..c6e38c63
--- /dev/null
+++ b/baserock/strata/bsp-armv5l-openbmc-aspeed/linux-armv5l-openbmc-aspeed.morph
@@ -0,0 +1,9 @@
+name: linux-armv5l-openbmc-aspeed
+kind: chunk
+configure-commands:
+- make ast2400_defconfig
+build-commands:
+- make $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- cp arch/arm/boot/Image "$DESTDIR/boot/vmlinux"
diff --git a/baserock/strata/bsp-armv5l-openbmc-aspeed/u-boot@aspeed.morph b/baserock/strata/bsp-armv5l-openbmc-aspeed/u-boot@aspeed.morph
new file mode 100644
index 00000000..1ded05c5
--- /dev/null
+++ b/baserock/strata/bsp-armv5l-openbmc-aspeed/u-boot@aspeed.morph
@@ -0,0 +1,14 @@
+name: u-boot@aspeed
+kind: chunk
+configure-commands:
+- make ast2400_spi_config
+build-commands:
+- make
+- 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/baserock/strata/bsp-armv7-highbank.morph b/baserock/strata/bsp-armv7-highbank.morph
new file mode 100644
index 00000000..9ac97e6c
--- /dev/null
+++ b/baserock/strata/bsp-armv7-highbank.morph
@@ -0,0 +1,17 @@
+name: bsp-armv7-highbank
+kind: stratum
+description: The platform dependent components required to boot an ARM highbank board.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv7-highbank
+ morph: strata/bsp-armv7-highbank/linux-armv7-highbank.morph
+ repo: upstream:linux-stable
+
+ # Linux 3.16 and later do not boot on Calxeda. They fail just before
+ # starting 'init' with this sort of message:
+ #
+ # Unhandled fault: imprecise external abort (0xc06) at 0xb6fea878
+
+ ref: f35b5e46feabab668a44df5b33f3558629f94dfc
+ unpetrify-ref: v3.15.10
diff --git a/baserock/strata/bsp-armv7-highbank/linux-armv7-highbank.morph b/baserock/strata/bsp-armv7-highbank/linux-armv7-highbank.morph
new file mode 100644
index 00000000..e904ff45
--- /dev/null
+++ b/baserock/strata/bsp-armv7-highbank/linux-armv7-highbank.morph
@@ -0,0 +1,52 @@
+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 FUSE_FS
+#- scripts/config -e OVERLAY_FS # Activate when we build Linux >= 3.18
+- 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 -e DEVPTS_MULTIPLE_INSTANCES
+- scripts/config --set-str UEVENT_HELPER_PATH ''
+- scripts/config -e DM_SNAPSHOT
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e TMPFS
+- scripts/config -e TMPFS_POSIX_ACL
+- scripts/config -e VFAT_FS
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e VETH
+- 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/baserock/strata/bsp-armv7-versatile.morph b/baserock/strata/bsp-armv7-versatile.morph
new file mode 100644
index 00000000..470f6c56
--- /dev/null
+++ b/baserock/strata/bsp-armv7-versatile.morph
@@ -0,0 +1,12 @@
+name: bsp-armv7-versatile
+kind: stratum
+description: The platform dependent components required to boot an ARM versatile development
+ board.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv7-versatile
+ morph: strata/bsp-armv7-versatile/linux-armv7-versatile.morph
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
diff --git a/baserock/strata/bsp-armv7-versatile/linux-armv7-versatile.morph b/baserock/strata/bsp-armv7-versatile/linux-armv7-versatile.morph
new file mode 100644
index 00000000..ed0194b8
--- /dev/null
+++ b/baserock/strata/bsp-armv7-versatile/linux-armv7-versatile.morph
@@ -0,0 +1,31 @@
+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 FUSE_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e DEVPTS_MULTIPLE_INSTANCES
+- 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 DM_SNAPSHOT
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e SECCOMP
+- scripts/config -d DEBUG_STACK_TRACE
+- scripts/config -e FB_VESA
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- 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/baserock/strata/bsp-armv7b-highbank.morph b/baserock/strata/bsp-armv7b-highbank.morph
new file mode 100644
index 00000000..397b9fcb
--- /dev/null
+++ b/baserock/strata/bsp-armv7b-highbank.morph
@@ -0,0 +1,17 @@
+name: bsp-armv7b-highbank
+kind: stratum
+description: The platform dependent components required to boot an ARM highbank board.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv7b-highbank
+ morph: strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
+ repo: upstream:linux-stable
+
+ # Linux 3.16 and later do not boot on Calxeda. They fail just before
+ # starting 'init' with this sort of message:
+ #
+ # Unhandled fault: imprecise external abort (0xc06) at 0xb6fea878
+
+ ref: f35b5e46feabab668a44df5b33f3558629f94dfc
+ unpetrify-ref: v3.15.10
diff --git a/baserock/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph b/baserock/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
new file mode 100644
index 00000000..1b86d320
--- /dev/null
+++ b/baserock/strata/bsp-armv7b-highbank/linux-armv7b-highbank.morph
@@ -0,0 +1,53 @@
+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 DM_SNAPSHOT
+- scripts/config -e DEVTMPFS
+- scripts/config -e DEVTMPFS_MOUNT
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e DEVPTS_MULTIPLE_INSTANCES
+- scripts/config -e BLK_DEV_LOOP
+- scripts/config -e BTRFS_FS
+- scripts/config -e TMPFS
+- scripts/config -e FUSE_FS
+#- scripts/config -e OVERLAY_FS # Activate when we build Linux >= 3.18
+- 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
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- 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/baserock/strata/bsp-armv7b-vexpress-tc2.morph b/baserock/strata/bsp-armv7b-vexpress-tc2.morph
new file mode 100644
index 00000000..ea67c386
--- /dev/null
+++ b/baserock/strata/bsp-armv7b-vexpress-tc2.morph
@@ -0,0 +1,11 @@
+name: bsp-armv7b-vexpress-tc2
+kind: stratum
+description: The platform dependent components required to boot Versatile TC2 board
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv7b-vexpress-tc2
+ morph: strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
diff --git a/baserock/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph b/baserock/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
new file mode 100644
index 00000000..fd6fab15
--- /dev/null
+++ b/baserock/strata/bsp-armv7b-vexpress-tc2/linux-armv7b-vexpress-tc2.morph
@@ -0,0 +1,57 @@
+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 DM_SNAPSHOT
+- 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 FUSE_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e IKCONFIG
+- scripts/config -e IKCONFIG_PROC
+- scripts/config -e CGROUPS
+- scripts/config -e CONFIG_FHANDLE
+- scripts/config -e DEVPTS_MULTIPLE_INSTANCES
+- 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
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e VETH
+- 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/baserock/strata/bsp-armv8b64-generic.morph b/baserock/strata/bsp-armv8b64-generic.morph
new file mode 100644
index 00000000..636e62b4
--- /dev/null
+++ b/baserock/strata/bsp-armv8b64-generic.morph
@@ -0,0 +1,15 @@
+name: bsp-armv8b64-generic
+kind: stratum
+description: |
+ The set of platform specific components required for booting generic ARMv8
+ systems in big-endian mode, such as the 64-bit APM XGene ARM based m400
+ Moonshot cartridge.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv8b64-generic
+ morph: strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph
+ repo: upstream:linux
+ ref: cd1397b1f6e429b82e94565b0af93c6bd44e4271
+ unpetrify-ref: baserock/bjdooks/m400-be3
+ build-depends: []
diff --git a/baserock/strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph b/baserock/strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph
new file mode 100644
index 00000000..9362eb6e
--- /dev/null
+++ b/baserock/strata/bsp-armv8b64-generic/linux-armv8b64-generic.morph
@@ -0,0 +1,278 @@
+name: linux-armv8b64-generic
+kind: chunk
+configure-commands:
+- make ARCH=arm64 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 DEVPTS_MULTIPLE_INSTANCES
+- 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 -e XFS_FS
+- scripts/config -e LIBCRC32C
+- scripts/config -e FUSE_FS
+- scripts/config -e OVERLAY_FS
+- 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 DM_SNAPSHOT
+- 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 IP_NF_NAT
+- scripts/config -e IP_NF_TARGET_MASQUERADE
+- scripts/config -e FB_VESA
+- scripts/config -e HOTPLUG_PCI
+- scripts/config -e HOTPLUG_PCI_ACPI
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e IPV6
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
+# Required for M400
+- scripts/config -e SATA_AHCI_PLATFORM
+- scripts/config -e AHCI_XGENE
+- scripts/config -e GENERIC_PHY
+- scripts/config -e PHY_XGENE
+- scripts/config -e NET_VENDOR_MELLANOX
+- scripts/config -e MLX4_EN
+- scripts/config -e MLX4_EN_DCB
+- scripts/config -e MLX4_EN_VXLAN
+- scripts/config -e MLX4_CORE
+- scripts/config -e MLX5_CORE
+- scripts/config -e NET_IP_TUNNEL
+- scripts/config -e VXLAN
+- scripts/config -e UIO
+- scripts/config -e UIO_PDRV_GENIRQ
+- scripts/config -e GPIO_DWAPB
+- scripts/config -e KEYBOARD_GPIO
+- scripts/config -e INPUT_POLLDEV
+- scripts/config -e KEYBOARD_GPIO_POLLED
+- scripts/config -d DMA_CMA
+- scripts/config -e POWER_RESET
+- scripts/config -e POWER_RESET_GPIO
+- scripts/config -e POWER_RESET_SYSCON
+- scripts/config -e POWER_AVS
+# Big endian kernel
+- scripts/config -e CPU_BIG_ENDIAN
+- yes '' | make ARCH=arm64 oldconfig
+build-commands:
+# Only generate Image here, uImage generated in deployment
+# due to availability of mkimage build systems
+- make vmlinux dtbs $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- make install dtbs_install INSTALL_PATH="$DESTDIR/boot"
+- cp arch/arm64/boot/Image "$DESTDIR/boot/vmlinux"
diff --git a/baserock/strata/bsp-armv8l64-generic.morph b/baserock/strata/bsp-armv8l64-generic.morph
new file mode 100644
index 00000000..ca74dbe3
--- /dev/null
+++ b/baserock/strata/bsp-armv8l64-generic.morph
@@ -0,0 +1,14 @@
+name: bsp-armv8l64-generic
+kind: stratum
+description: |
+ The set of platform specific components required for booting
+ armv8l64-based systems, like the 64-bit APM XGene ARM based m400
+ Moonshot cartridge.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-armv8l64-generic
+ morph: strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph
+ repo: upstream:linux
+ ref: 5f06398ae6a04f414932243de38b5cf3d264ff84
+ unpetrify-ref: baserock/apm-xgene-m400-moonshot-cartridge
diff --git a/baserock/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph b/baserock/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph
new file mode 100644
index 00000000..dd54b4e4
--- /dev/null
+++ b/baserock/strata/bsp-armv8l64-generic/linux-armv8l64-generic.morph
@@ -0,0 +1,276 @@
+name: linux-armv8l64-generic
+kind: chunk
+configure-commands:
+- make ARCH=arm64 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 DEVPTS_MULTIPLE_INSTANCES
+- 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 -e FUSE_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
+- 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 DM_SNAPSHOT
+- 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 IP_NF_NAT
+- scripts/config -e IP_NF_TARGET_MASQUERADE
+- scripts/config -e FB_VESA
+- scripts/config -e HOTPLUG_PCI
+- scripts/config -e HOTPLUG_PCI_ACPI
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e IPV6
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
+# Required for M400
+- scripts/config -e SATA_AHCI_PLATFORM
+- scripts/config -e AHCI_XGENE
+- scripts/config -e GENERIC_PHY
+- scripts/config -e PHY_XGENE
+- scripts/config -e NET_VENDOR_MELLANOX
+- scripts/config -e MLX4_EN
+- scripts/config -e MLX4_EN_DCB
+- scripts/config -e MLX4_EN_VXLAN
+- scripts/config -e MLX4_CORE
+- scripts/config -e MLX5_CORE
+- scripts/config -e NET_IP_TUNNEL
+- scripts/config -e VXLAN
+- scripts/config -e UIO
+- scripts/config -e UIO_PDRV_GENIRQ
+- scripts/config -e GPIO_DWAPB
+- scripts/config -e KEYBOARD_GPIO
+- scripts/config -e INPUT_POLLDEV
+- scripts/config -e KEYBOARD_GPIO_POLLED
+- scripts/config -d DMA_CMA
+- scripts/config -e POWER_RESET
+- scripts/config -e POWER_RESET_GPIO
+- scripts/config -e POWER_RESET_SYSCON
+- scripts/config -e POWER_AVS
+- yes '' | make ARCH=arm64 oldconfig
+build-commands:
+# Only generate Image here, uImage generated in deployment
+# due to availability of mkimage build systems
+- make vmlinux dtbs $MAKEFLAGS
+install-commands:
+- mkdir -p "$DESTDIR"/boot
+- make install dtbs_install INSTALL_PATH="$DESTDIR/boot"
+- cp arch/arm64/boot/Image "$DESTDIR/boot/vmlinux"
diff --git a/baserock/strata/bsp-jetson.morph b/baserock/strata/bsp-jetson.morph
new file mode 100644
index 00000000..48d7218c
--- /dev/null
+++ b/baserock/strata/bsp-jetson.morph
@@ -0,0 +1,43 @@
+name: bsp-jetson
+kind: stratum
+description: |
+ Platform-specific chunks for NVIDIA Jetson TK1
+
+ Support for the Tegra platform is still being developed. A very recent
+ kernel with some patches is currently required to get a fully
+ accelerated graphics stack on this platform. Note that the SATA and
+ networking will not work unless you have flashed the bootloader on
+ your board to the version of U-Boot built in this stratum. Also, the
+ CPUs on the Jetson run at a slow speed with this version of Linux.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: device-tree-compiler
+ morph: strata/bsp-jetson/device-tree-compiler.morph
+ repo: upstream:device-tree-compiler
+ ref: 302fca9f4c283e1994cf0a5a9ce1cf43ca15e6d2
+ unpetrify-ref: v1.4.1
+- name: u-boot@jetson
+ morph: strata/bsp-jetson/u-boot@jetson.morph
+ repo: upstream:u-boot
+ ref: f33cdaa4c3da4a8fd35aa2f9a3172f31cc887b35
+ unpetrify-ref: v2015.04
+ build-depends:
+ - device-tree-compiler
+- name: linux-jetson-tk1
+ morph: strata/bsp-jetson/linux-jetson-tk1.morph
+ repo: upstream:linux
+ ref: a6df05fd37874251833bd6f18404cd2efaa62603
+ unpetrify-ref: baserock/tegra/4.0-with-cpufreq-gpu
+- name: nouveau-drm
+ morph: strata/bsp-jetson/nouveau-drm.morph
+ repo: upstream:nouveau
+ ref: 73de0a7758eb447d6157d2ed79c84d1a4e6ca09b
+ unpetrify-ref: baserock/tegra/4.0
+ build-depends:
+ - linux-jetson-tk1
+- name: linux-firmware-jetson
+ morph: strata/bsp-jetson/linux-firmware-jetson.morph
+ repo: upstream:linux-firmware
+ ref: ff2afc9d9649cab2a1f79b8d4eeb0cc0100a2f85
+ unpetrify-ref: baserock/tegra/4.0
diff --git a/baserock/strata/bsp-jetson/device-tree-compiler.morph b/baserock/strata/bsp-jetson/device-tree-compiler.morph
new file mode 100644
index 00000000..8abfafc8
--- /dev/null
+++ b/baserock/strata/bsp-jetson/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/baserock/strata/bsp-jetson/linux-firmware-jetson.morph b/baserock/strata/bsp-jetson/linux-firmware-jetson.morph
new file mode 100644
index 00000000..e24e7ec7
--- /dev/null
+++ b/baserock/strata/bsp-jetson/linux-firmware-jetson.morph
@@ -0,0 +1,15 @@
+name: linux-firmware-jetson
+kind: chunk
+install-commands:
+- install -d "$DESTDIR/lib/firmware/nvidia/tegra124"
+- install -d "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_fuc409c "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_fuc409d "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_fuc41ac "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_fuc41ad "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_bundle "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_method "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_sw_ctx "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nouveau/nvea_sw_nonctx "$DESTDIR/lib/firmware/nouveau"
+- install -m644 nvidia/tegra124/xusb.bin "$DESTDIR/lib/firmware/nvidia/tegra124"
+- install -m644 LICENCE.nvidia "$DESTDIR/lib/firmware"
diff --git a/baserock/strata/bsp-jetson/linux-jetson-tk1.morph b/baserock/strata/bsp-jetson/linux-jetson-tk1.morph
new file mode 100644
index 00000000..784a39c4
--- /dev/null
+++ b/baserock/strata/bsp-jetson/linux-jetson-tk1.morph
@@ -0,0 +1,248 @@
+name: linux-jetson-tk1
+kind: chunk
+configure-commands:
+- make ARCH=arm tegra_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 DEVPTS_MULTIPLE_INSTANCES
+- 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 -e FUSE_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
+- 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 DM_SNAPSHOT
+- 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 DRM_TEGRA_STAGING
+- scripts/config -m DRM_NOUVEAU
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
+- scripts/config -m DRM_NOUVEAU
+- scripts/config -e NOUVEAU_PLATFORM_DRIVER
+- scripts/config -e DRM_TEGRA_STAGING
+- scripts/config --set-val NOUVEAU_DEBUG 5
+- scripts/config --set-val NOUVEAU_DEBUG_DEFAULT 3
+- 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-jetson-tk1.dtb "$DESTDIR"/boot/.
+- make modules
+- make INSTALL_MOD_PATH="$DESTDIR" modules_install
+- install -d "$DESTDIR$PREFIX/src/linux"
+- |
+ (
+ printf 'Makefile\0'
+ printf 'Module.symvers\0'
+ find arch/arm -maxdepth 1 -name 'Makefile*' -print0
+ find arch/arm \( -name 'module.lds' -o -name 'Kbuild.platforms' -o -name 'Platform' \) -print0
+ find arch/arm \( -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/baserock/strata/bsp-jetson/nouveau-drm.morph b/baserock/strata/bsp-jetson/nouveau-drm.morph
new file mode 100644
index 00000000..218091f4
--- /dev/null
+++ b/baserock/strata/bsp-jetson/nouveau-drm.morph
@@ -0,0 +1,14 @@
+name: nouveau-drm
+kind: chunk
+build-commands:
+- sed -e 's/.*android\/sync.*/#ifdef CONFIG_SYNC\n&\n#endif/' -i drm/nouveau/nouveau_fence.c
+- cd drm/nouveau && make ARCH=arm M=$(pwd) -C /usr/src/linux/ modules
+install-commands:
+- cd drm/nouveau && make ARCH=arm M="$(pwd)" -C /usr/src/linux/ INSTALL_MOD_PATH="$DESTDIR"
+ modules_install
+system-integration:
+ nouveau-drm-misc:
+ 00-earlyconf:
+ - (cd /lib/modules && for version in *; do rm "$version/kernel/drivers/gpu/drm/nouveau/nouveau.ko";
+ done)
+ - (cd /lib/modules && for version in *; do depmod -a "$version"; done)
diff --git a/baserock/strata/bsp-jetson/u-boot@jetson.morph b/baserock/strata/bsp-jetson/u-boot@jetson.morph
new file mode 100644
index 00000000..533f253a
--- /dev/null
+++ b/baserock/strata/bsp-jetson/u-boot@jetson.morph
@@ -0,0 +1,20 @@
+name: u-boot@jetson
+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"
+- mkdir -p "$DESTDIR/boot/u-boot/"
+- install -m 755 u-boot-dtb-tegra.bin "$DESTDIR/boot/u-boot.bin"
+- install -m 755 u-boot-nodtb-tegra.bin "$DESTDIR/boot/u-boot/u-boot-nodtb-tegra.bin"
+- install -m 755 u-boot.dtb "$DESTDIR/boot/u-boot/u-boot.dtb"
+- size -A u-boot | grep -w .bss | tr -s ' ' | cut -d ' ' -f 2 > "$DESTDIR/boot/u-boot/u-boot-bss-size"
+- 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/baserock/strata/bsp-ppc64-generic.morph b/baserock/strata/bsp-ppc64-generic.morph
new file mode 100644
index 00000000..ea606a75
--- /dev/null
+++ b/baserock/strata/bsp-ppc64-generic.morph
@@ -0,0 +1,11 @@
+name: bsp-ppc64-generic
+kind: stratum
+description: The platform dependent components required to boot a ppc64 board.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: linux-ppc64
+ morph: strata/bsp-ppc64-generic/linux-ppc64.morph
+ repo: upstream:linux
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
diff --git a/baserock/strata/bsp-ppc64-generic/linux-ppc64.morph b/baserock/strata/bsp-ppc64-generic/linux-ppc64.morph
new file mode 100644
index 00000000..d2ef0747
--- /dev/null
+++ b/baserock/strata/bsp-ppc64-generic/linux-ppc64.morph
@@ -0,0 +1,226 @@
+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 DEVPTS_MULTIPLE_INSTANCES
+- 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 -e FUSE_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
+- 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 DM_SNAPSHOT
+- 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
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
+- 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/baserock/strata/bsp-wandboard.morph b/baserock/strata/bsp-wandboard.morph
new file mode 100644
index 00000000..ba704b1b
--- /dev/null
+++ b/baserock/strata/bsp-wandboard.morph
@@ -0,0 +1,18 @@
+name: bsp-wandboard
+kind: stratum
+description: The platform dependent components required to boot an wandboard ARM board.
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: u-boot@wandboard
+ morph: strata/bsp-wandboard/u-boot@wandboard.morph
+ repo: upstream:u-boot
+ ref: fe57382d04b46c37f34cf8d3b3ad876554fd12bf
+ unpetrify-ref: baserock/morph
+- name: linux-armv7-wandboard
+ morph: strata/bsp-wandboard/linux-armv7-wandboard.morph
+ repo: upstream:linux-stable
+ ref: 660613d1a4e94144490850b6c3d350331860fac4
+ unpetrify-ref: v3.19.2
+ build-depends:
+ - u-boot@wandboard
diff --git a/baserock/strata/bsp-wandboard/linux-armv7-wandboard.morph b/baserock/strata/bsp-wandboard/linux-armv7-wandboard.morph
new file mode 100644
index 00000000..8137198e
--- /dev/null
+++ b/baserock/strata/bsp-wandboard/linux-armv7-wandboard.morph
@@ -0,0 +1,70 @@
+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 DEVPTS_MULTIPLE_INSTANCES
+- 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 -e FUSE_FS
+- scripts/config -e OVERLAY_FS
+- 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 DM_SNAPSHOT
+- 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 VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e VETH
+- 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/baserock/strata/bsp-wandboard/u-boot@wandboard.morph b/baserock/strata/bsp-wandboard/u-boot@wandboard.morph
new file mode 100644
index 00000000..8a51ee7c
--- /dev/null
+++ b/baserock/strata/bsp-wandboard/u-boot@wandboard.morph
@@ -0,0 +1,11 @@
+name: u-boot@wandboard
+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/baserock/strata/bsp-x86_32-generic.morph b/baserock/strata/bsp-x86_32-generic.morph
new file mode 100644
index 00000000..05d179b5
--- /dev/null
+++ b/baserock/strata/bsp-x86_32-generic.morph
@@ -0,0 +1,26 @@
+name: bsp-x86_32-generic
+kind: stratum
+description: The set of platform specific components required for booting a 32-bit
+ x86 based system.
+build-depends:
+# nasm wants asciidoc and xmlto for generating its docs
+# so include docutils here
+- morph: strata/docutils.morph
+chunks:
+- name: linux-x86-32-generic
+ morph: strata/bsp-x86_32-generic/linux-x86-32-generic.morph
+ repo: upstream:linux
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
+- name: nasm
+ morph: strata/bsp-x86_32-generic/nasm.morph
+ repo: upstream:nasm
+ ref: 8fa0fe16408afc76ce1ae4387e1a9d46893cfda6
+ unpetrify-ref: nasm-2.11.08
+- name: syslinux
+ morph: strata/bsp-x86_32-generic/syslinux.morph
+ repo: upstream:syslinux
+ ref: 2aab8555987b547b617cbb887e61083fece01541
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - nasm
diff --git a/baserock/strata/bsp-x86_32-generic/linux-x86-32-generic.morph b/baserock/strata/bsp-x86_32-generic/linux-x86-32-generic.morph
new file mode 100644
index 00000000..208eb506
--- /dev/null
+++ b/baserock/strata/bsp-x86_32-generic/linux-x86-32-generic.morph
@@ -0,0 +1,287 @@
+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 DEVPTS_MULTIPLE_INSTANCES
+- 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 -e FUSE_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
+- 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 DM_SNAPSHOT
+- 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 ATL1
+- scripts/config -e ATL1C
+- scripts/config -e ATL1E
+- scripts/config -e E100
+- scripts/config -e E1000
+- scripts/config -e E1000E
+- scripts/config -e USB_USBNET
+- scripts/config -e USB_NET_AX8817X
+- scripts/config -e USB_NET_AX88179_178A
+- scripts/config -e USB_NET_DM9601
+- 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 IP_NF_NAT
+- scripts/config -e IP_NF_TARGET_MASQUERADE
+- scripts/config -e FB_VESA
+- scripts/config -e HOTPLUG_PCI
+- scripts/config -e HOTPLUG_PCI_ACPI
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e KVM_INTEL
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
+- scripts/config -e SCSI_VIRTIO
+- scripts/config -e HYPERVISOR_GUEST
+- scripts/config -e PARAVIRT
+- 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/baserock/strata/bsp-x86_32-generic/nasm.morph b/baserock/strata/bsp-x86_32-generic/nasm.morph
new file mode 100644
index 00000000..0ab1a629
--- /dev/null
+++ b/baserock/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/baserock/strata/bsp-x86_32-generic/syslinux.morph b/baserock/strata/bsp-x86_32-generic/syslinux.morph
new file mode 100644
index 00000000..4570865b
--- /dev/null
+++ b/baserock/strata/bsp-x86_32-generic/syslinux.morph
@@ -0,0 +1,12 @@
+name: syslinux
+kind: chunk
+products:
+- artifact: syslinux-devel
+ include:
+ - (usr/)?share/syslinux/com32.*
+build-commands:
+- make clean
+- make NO_WERROR=1
+- make NO_WERROR=1 installer
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/baserock/strata/bsp-x86_64-generic.morph b/baserock/strata/bsp-x86_64-generic.morph
new file mode 100644
index 00000000..31d8374c
--- /dev/null
+++ b/baserock/strata/bsp-x86_64-generic.morph
@@ -0,0 +1,26 @@
+name: bsp-x86_64-generic
+kind: stratum
+description: The set of platform specific components required for booting a 64-bit
+ x86 based system.
+build-depends:
+# nasm wants asciidoc and xmlto for generating its docs
+# so include docutils here
+- morph: strata/docutils.morph
+chunks:
+- name: linux-x86-64-generic
+ morph: strata/bsp-x86_64-generic/linux-x86-64-generic.morph
+ repo: upstream:linux
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
+- name: nasm
+ morph: strata/bsp-x86_64-generic/nasm.morph
+ repo: upstream:nasm
+ ref: 8fa0fe16408afc76ce1ae4387e1a9d46893cfda6
+ unpetrify-ref: nasm-2.11.08
+- name: syslinux
+ morph: strata/bsp-x86_64-generic/syslinux.morph
+ repo: upstream:syslinux
+ ref: 2aab8555987b547b617cbb887e61083fece01541
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - nasm
diff --git a/baserock/strata/bsp-x86_64-generic/linux-x86-64-generic.morph b/baserock/strata/bsp-x86_64-generic/linux-x86-64-generic.morph
new file mode 100644
index 00000000..bc8ac7d1
--- /dev/null
+++ b/baserock/strata/bsp-x86_64-generic/linux-x86-64-generic.morph
@@ -0,0 +1,287 @@
+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 DEVPTS_MULTIPLE_INSTANCES
+- 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 -e FUSE_FS
+- scripts/config -e OVERLAY_FS
+- scripts/config -e XFS_FS
+- scripts/config -e LIBCRC32C
+- 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 DM_SNAPSHOT
+- 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 ATL1
+- scripts/config -e ATL1C
+- scripts/config -e ATL1E
+- scripts/config -e E100
+- scripts/config -e E1000
+- scripts/config -e E1000E
+- scripts/config -e USB_USBNET
+- scripts/config -e USB_NET_AX8817X
+- scripts/config -e USB_NET_AX88179_178A
+- scripts/config -e USB_NET_DM9601
+- 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 IP_NF_NAT
+- scripts/config -e IP_NF_TARGET_MASQUERADE
+- scripts/config -e FB_VESA
+- scripts/config -e HOTPLUG_PCI
+- scripts/config -e HOTPLUG_PCI_ACPI
+- scripts/config -e VLAN_8021Q
+- scripts/config -e BRIDGE_VLAN_FILTERING
+- scripts/config -e BLK_DEV_NBD
+- scripts/config -e BRIDGE_NF_EBTABLES
+- scripts/config -e NETFILTER
+- scripts/config -e NETFILTER_ADVANCED
+- scripts/config -e NETFILTER_XT_MATCH_ADDRTYPE
+- scripts/config -e OPENVSWITCH
+- scripts/config -e OPENVSWITCH_VXLAN
+- scripts/config -e CONFIG_OPENVSWITCH_GRE
+- scripts/config -e NET_CLS_BASIC
+- scripts/config -e NET_SCH_INGRESS
+- scripts/config -e NET_ACT_POLICE
+- scripts/config -e NET_IPGRE_DEMUX
+- scripts/config -e NET_SCH_HTB
+- scripts/config -e NET_SCH_HFSC
+- scripts/config -e VXLAN
+- scripts/config -e VETH
+- scripts/config -e IP_NF_MATCH_AH
+- scripts/config -e IP_NF_MATCH_ECN
+- scripts/config -e IP_NF_MATCH_RPFILTER
+- scripts/config -e IP_NF_MATCH_TTL
+- scripts/config -e IP_NF_TARGET_SYNPROXY
+- scripts/config -e IP_NF_TARGET_NETMAP
+- scripts/config -e IP_NF_TARGET_REDIRECT
+- scripts/config -e IP_NF_TARGET_CLUSTERIP
+- scripts/config -e IP_NF_TARGET_ECN
+- scripts/config -e IP_NF_TARGET_TTL
+- scripts/config -e IP_NF_RAW
+- scripts/config -e IP_NF_SECURITY
+- scripts/config -e IP_NF_ARPTABLES
+- scripts/config -e KVM_INTEL
+- scripts/config -e NETFILTER_NETLINK_QUEUE
+- scripts/config -e SCSI_NETLINK
+- scripts/config -e NETFILTER_XT_TARGET_MARK
+- scripts/config -e NETFILTER_XT_SET
+- scripts/config -e IP_SET
+- scripts/config -e IP_SET_BITMAP_IP
+- scripts/config -e IP_SET_BITMAP_IPMAC
+- scripts/config -e IP_SET_BITMAP_PORT
+- scripts/config -e IP_SET_HASH_IP
+- scripts/config -e IP_SET_HASH_IPMARK
+- scripts/config -e IP_SET_HASH_IPPORT
+- scripts/config -e IP_SET_HASH_IPPORTIP
+- scripts/config -e IP_SET_HASH_IPPORTNET
+- scripts/config -e IP_SET_HASH_MAC
+- scripts/config -e IP_SET_HASH_NETPORTNET
+- scripts/config -e IP_SET_HASH_NET
+- scripts/config -e IP_SET_HASH_NETNET
+- scripts/config -e IP_SET_HASH_NETPORT
+- scripts/config -e IP_SET_HASH_NETIFACE
+- scripts/config -e IP_SET_LIST_SET
+- scripts/config -e NF_CONNTRACK_TIMEOUT
+- scripts/config -e NF_CONNTRACK_TIMESTAMP
+- scripts/config -e NF_CONNTRACK_EVENTS
+- scripts/config -e NF_CONNTRACK_LABELS
+- scripts/config -e NETFILTER_NETLINK_ACCT
+- scripts/config -e NETFILTER_NETLINK_QUEUE_CT
+- scripts/config -e NF_CT_PROTO_DCCP
+- scripts/config -e NF_CT_PROTO_GRE
+- scripts/config -e NF_CT_PROTO_SCTP
+- scripts/config -e NF_CT_PROTO_UDPLITE
+- scripts/config -e NF_CT_NETLINK_TIMEOUT
+- scripts/config -e NF_CT_NETLINK_HELPER
+- scripts/config -e NF_CONNTRACK_AMANDA
+- scripts/config -e NF_CONNTRACK_H323
+- scripts/config -e NF_CONNTRACK_BROADCAST
+- scripts/config -e NF_CONNTRACK_NETBIOS_NS
+- scripts/config -e NF_CONNTRACK_SNMP
+- scripts/config -e NF_CONNTRACK_PPTP
+- scripts/config -e NF_CONNTRACK_SANE
+- scripts/config -e NF_CONNTRACK_TFTP
+- scripts/config -e NF_LOG_COMMON
+- scripts/config -e NF_NAT_PROTO_DCCP
+- scripts/config -e NF_NAT_PROTO_UDPLITE
+- scripts/config -e NF_NAT_PROTO_SCTP
+- scripts/config -e NF_NAT_AMANDA
+- scripts/config -e NF_NAT_TFTP
+- scripts/config -e NF_TABLES
+- scripts/config -e NF_TABLES_INET
+- scripts/config -e NFT_COMPAT
+- scripts/config -e NFT_EXTHDR
+- scripts/config -e NFT_META
+- scripts/config -e NFT_CT
+- scripts/config -e NFT_LIMIT
+- scripts/config -e NFT_NAT
+- scripts/config -e NFT_QUEUE
+- scripts/config -e NFT_REJECT
+- scripts/config -e NFT_REJECT_INET
+- scripts/config -e NFT_RBTREE
+- scripts/config -e NFT_HASH
+- scripts/config -e NFT_COUNTER
+- scripts/config -e NFT_LOG
+- scripts/config -e NFT_MASQ
+- scripts/config -e NETFILTER_XT_CONNMARK
+- scripts/config -e NETFILTER_XT_TARGET_AUDIT
+- scripts/config -e NETFILTER_XT_TARGET_CHECKSUM
+- scripts/config -e NETFILTER_XT_TARGET_CLASSIFY
+- scripts/config -e NETFILTER_XT_TARGET_CT
+- scripts/config -e NETFILTER_XT_TARGET_DSCP
+- scripts/config -e NETFILTER_XT_TARGET_HMARK
+- scripts/config -e NETFILTER_XT_TARGET_LED
+- scripts/config -e NETFILTER_XT_TARGET_LOG
+- scripts/config -e NETFILTER_XT_TARGET_NFQUEUE
+- scripts/config -e NETFILTER_XT_TARGET_RATEEST
+- scripts/config -e NETFILTER_XT_TARGET_TPROXY
+- scripts/config -e NETFILTER_XT_TARGET_TCPOPTSTRIP
+- scripts/config -e NETFILTER_XT_TARGET_TEE
+- scripts/config -e NETFILTER_XT_TARGET_TRACE
+- scripts/config -e NETFILTER_XT_TARGET_IDLETIMER
+- scripts/config -e NETFILTER_XT_MATCH_BPF
+- scripts/config -e NETFILTER_XT_MATCH_CLUSTER
+- scripts/config -e NETFILTER_XT_MATCH_COMMENT
+- scripts/config -e NETFILTER_XT_MATCH_CONNBYTES
+- scripts/config -e NETFILTER_XT_MATCH_CONNLABEL
+- scripts/config -e NETFILTER_XT_MATCH_CONNLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_CPU
+- scripts/config -e NETFILTER_XT_MATCH_DCCP
+- scripts/config -e NETFILTER_XT_MATCH_DEVGROUP
+- scripts/config -e NETFILTER_XT_MATCH_DSCP
+- scripts/config -e NETFILTER_XT_MATCH_ESP
+- scripts/config -e NETFILTER_XT_MATCH_HASHLIMIT
+- scripts/config -e NETFILTER_XT_MATCH_HELPER
+- scripts/config -e NETFILTER_XT_MATCH_IPCOMP
+- scripts/config -e NETFILTER_XT_MATCH_IPRANGE
+- scripts/config -e NETFILTER_XT_MATCH_IPVS
+- scripts/config -e NETFILTER_XT_MATCH_L2TP
+- scripts/config -e NETFILTER_XT_MATCH_LENGTH
+- scripts/config -e NETFILTER_XT_MATCH_LIMIT
+- scripts/config -e NETFILTER_XT_MATCH_MAC
+- scripts/config -e NETFILTER_XT_MATCH_MULTIPORT
+- scripts/config -e NETFILTER_XT_MATCH_NFACCT
+- scripts/config -e NETFILTER_XT_MATCH_OSF
+- scripts/config -e NETFILTER_XT_MATCH_OWNER
+- scripts/config -e NETFILTER_XT_MATCH_CGROUP
+- scripts/config -e NETFILTER_XT_MATCH_PHYSDEV
+- scripts/config -e NETFILTER_XT_MATCH_PKTTYPE
+- scripts/config -e NETFILTER_XT_MATCH_QUOTA
+- scripts/config -e NETFILTER_XT_MATCH_RATEEST
+- scripts/config -e NETFILTER_XT_MATCH_REALM
+- scripts/config -e NETFILTER_XT_MATCH_RECENT
+- scripts/config -e NETFILTER_XT_MATCH_SCTP
+- scripts/config -e NETFILTER_XT_MATCH_SOCKET
+- scripts/config -e NETFILTER_XT_MATCH_STATISTIC
+- scripts/config -e NETFILTER_XT_MATCH_STRING
+- scripts/config -e NETFILTER_XT_MATCH_TCPMSS
+- scripts/config -e NETFILTER_XT_MATCH_TIME
+- scripts/config -e NETFILTER_XT_MATCH_U32
+- scripts/config -e IP_VS
+- scripts/config -e BRIDGE_NETFILTER
+- scripts/config -e CRYPTO_CRC32C
+- scripts/config -e CONFIGFS_FS
+- scripts/config -e EXPERT
+- scripts/config -e TARGET_CORE
+- scripts/config -e ISCSI_TARGET
+- scripts/config -e TCM_IBLOCK
+- scripts/config -e TCM_FILEIO
+- scripts/config -e TCM_PSCSI
+- scripts/config -e TCM_USER
+- scripts/config -e CONFIG_UIO
+- scripts/config -e LOOPBACK_TARGET
+- scripts/config -e TCM_FC
+- scripts/config -e LIBFC
+- scripts/config -e SCSI_FC_ATTRS
+- scripts/config -e SCSI_ISCSI_ATTRS
+- scripts/config -e ISCSI_TCP
+- scripts/config -e SCSI_LOWLEVEL
+- scripts/config -e SCSI_VIRTIO
+- scripts/config -e HYPERVISOR_GUEST
+- scripts/config -e PARAVIRT
+- 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/baserock/strata/bsp-x86_64-generic/nasm.morph b/baserock/strata/bsp-x86_64-generic/nasm.morph
new file mode 100644
index 00000000..0ab1a629
--- /dev/null
+++ b/baserock/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/baserock/strata/bsp-x86_64-generic/syslinux.morph b/baserock/strata/bsp-x86_64-generic/syslinux.morph
new file mode 100644
index 00000000..4570865b
--- /dev/null
+++ b/baserock/strata/bsp-x86_64-generic/syslinux.morph
@@ -0,0 +1,12 @@
+name: syslinux
+kind: chunk
+products:
+- artifact: syslinux-devel
+ include:
+ - (usr/)?share/syslinux/com32.*
+build-commands:
+- make clean
+- make NO_WERROR=1
+- make NO_WERROR=1 installer
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/baserock/strata/bsp-x86_both-tools.morph b/baserock/strata/bsp-x86_both-tools.morph
new file mode 100644
index 00000000..0d159ce6
--- /dev/null
+++ b/baserock/strata/bsp-x86_both-tools.morph
@@ -0,0 +1,21 @@
+name: bsp-x86_both-tools
+kind: stratum
+description: The set of platform specific components required for configuring a bootable
+ x86 based system.
+build-depends:
+# nasm wants asciidoc and xmlto for generating its docs
+# so include docutils here
+- morph: strata/docutils.morph
+chunks:
+- name: nasm
+ morph: strata/bsp-x86_both-tools/nasm.morph
+ repo: upstream:nasm
+ ref: 8fa0fe16408afc76ce1ae4387e1a9d46893cfda6
+ unpetrify-ref: nasm-2.11.08
+- name: syslinux
+ morph: strata/bsp-x86_both-tools/syslinux.morph
+ repo: upstream:syslinux
+ ref: d715b39c0801ecea5e52f9029cea7c76320f93cf
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - nasm
diff --git a/baserock/strata/bsp-x86_both-tools/nasm.morph b/baserock/strata/bsp-x86_both-tools/nasm.morph
new file mode 100644
index 00000000..0ab1a629
--- /dev/null
+++ b/baserock/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/baserock/strata/bsp-x86_both-tools/syslinux.morph b/baserock/strata/bsp-x86_both-tools/syslinux.morph
new file mode 100644
index 00000000..4570865b
--- /dev/null
+++ b/baserock/strata/bsp-x86_both-tools/syslinux.morph
@@ -0,0 +1,12 @@
+name: syslinux
+kind: chunk
+products:
+- artifact: syslinux-devel
+ include:
+ - (usr/)?share/syslinux/com32.*
+build-commands:
+- make clean
+- make NO_WERROR=1
+- make NO_WERROR=1 installer
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/baserock/strata/build-essential.morph b/baserock/strata/build-essential.morph
new file mode 100644
index 00000000..78063ce4
--- /dev/null
+++ b/baserock/strata/build-essential.morph
@@ -0,0 +1,411 @@
+name: build-essential
+kind: stratum
+description: |
+ Toolchain stratum
+
+ Stage 1: build a minimal cross compiler with the host's tools.
+
+ Starting with a cross compiler ensures that (a) nothing from the host
+ can leak into the build-essential artifacts, and (b) cross-compiling
+ build-essential is fully tested and supported, since we always use the
+ cross code paths.
+
+ Stage 2: cross-build the whole of build-essential, using the host's tools
+ but the cross-compiler toolchain.
+
+ Stage 2 GCC outputs code for the same 'bootstrap' machine as stage 1 GCC,
+ but because stage 2 GCC is also built to *run* on the bootstrap machine
+ it can only execute inside the stage 3 chroot (due to being built against
+ a libc with a non-standard prefix).
+
+ Stage 3: build the whole of build-essential again, this time using a
+ staging area containing only the output of stage 2. The result of this
+ build is fully reproducible.
+
+ We do a switch-a-roo between stage 2 and 3: stages 2 chunks are all built
+ to run on a host *-bootstrap-* while stage 3 chunks are native-built for
+ a *-baserock-* machine. This works, because the cross build was all for
+ show (and cleanliness) and the binaries actually still run on the host.
+
+ After build-essential is built we do another trick. See
+ stage2-fhs-dirs.morph for details. Basically, /bin is a symlink to
+ /tools/bin during stage 2 but in stage 3 it becomes a real directory
+ again.
+
+ PLEASE KEEP THE REFS IN 'armv7lhf-cross-toolchain' STRATUM UP TO DATE WITH
+ THIS ONE!
+
+ Please note that the chunk 'build-depends' field is treated differently in
+ this stratum to how other strata in definitions.git use it. Other strata
+ rely on the fact that dependencies of a dependency (called 'transitive
+ dependencies') are implicitly included in the staging area. Within
+ build-essential, some chunks list transitive dependencies explicitly to
+ make clearer what is going on.
+products:
+- artifact: build-essential-minimal
+ include:
+ - fhs-dirs-.*
+ - busybox-.*
+ - glibc-nss
+chunks:
+- name: stage1-binutils
+ morph: strata/build-essential/stage1-binutils.morph
+ repo: upstream:binutils-tarball
+ ref: 5500a97a2ad1735db5b35bc51cfb825c1f4c38df
+ unpetrify-ref: binutils-2.25
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage1-gcc
+ morph: strata/build-essential/stage1-gcc.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - stage1-binutils
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-linux-api-headers
+ morph: strata/build-essential/stage2-linux-api-headers.morph
+ repo: upstream:linux
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-glibc
+ morph: strata/build-essential/stage2-glibc.morph
+ repo: upstream:glibc
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: glibc-2.21
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-libstdc++
+ morph: strata/build-essential/stage2-libstdc++.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-binutils
+ morph: strata/build-essential/stage2-binutils.morph
+ repo: upstream:binutils-tarball
+ ref: 5500a97a2ad1735db5b35bc51cfb825c1f4c38df
+ unpetrify-ref: binutils-2.25
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-gcc-fixed-headers
+ morph: strata/build-essential/stage2-gcc-fixed-headers.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-gcc
+ morph: strata/build-essential/stage2-gcc.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ - stage2-gcc-fixed-headers
+ - stage2-libstdc++
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-busybox
+ morph: strata/build-essential/stage2-busybox.morph
+ repo: upstream:busybox
+ ref: 1ecfe811fe2f70380170ef7d820e8150054e88ca
+ unpetrify-ref: '1_23_1'
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-fake-bash
+ morph: strata/build-essential/stage2-fake-bash.morph
+ repo: upstream:bash
+ ref: 3590145af6f1c9fa321dff231f69ae696e7e740b
+ unpetrify-ref: baserock/bash-4.3-patch-27
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-fhs-dirs
+ morph: strata/build-essential/stage2-fhs-dirs.morph
+ repo: baserock:baserock/fhs-dirs
+ ref: 1218cbd38a4f4e9da75af6f7fae946ca92666afb
+ unpetrify-ref: master
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-gawk
+ morph: strata/build-essential/stage2-gawk.morph
+ repo: upstream:gawk
+ ref: 925f9363c4b0a5bb9375298afcdcf404efb32587
+ unpetrify-ref: gawk-4.1-stable
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-make
+ morph: strata/build-essential/stage2-make.morph
+ repo: upstream:make-tarball
+ ref: 4978d7129e42340ab9efeb0cb9cae4ad0fa052d4
+ unpetrify-ref: baserock/make-4.1-ttyname-segfault-fix
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: stage2-reset-specs
+ morph: strata/build-essential/stage2-reset-specs.morph
+ repo: upstream:glibc
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: glibc-2.21
+ build-depends:
+ - stage1-binutils
+ - stage1-gcc
+ - stage2-linux-api-headers
+ - stage2-glibc
+ build-mode: bootstrap
+ prefix: /tools
+
+- name: fhs-dirs
+ morph: strata/build-essential/fhs-dirs.morph
+ repo: baserock:baserock/fhs-dirs
+ ref: 1218cbd38a4f4e9da75af6f7fae946ca92666afb
+ unpetrify-ref: master
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+
+- name: linux-api-headers
+ morph: strata/build-essential/linux-api-headers.morph
+ repo: upstream:linux
+ ref: 39a8804455fb23f09157341d3ba7db6d7ae6ee76
+ unpetrify-ref: v4.0
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+
+- name: glibc
+ morph: strata/build-essential/glibc.morph
+ repo: upstream:glibc
+ ref: 4e42b5b8f89f0e288e68be7ad70f9525aebc2cff
+ unpetrify-ref: glibc-2.21
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-fake-bash
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - linux-api-headers
+ artifacts:
+ glibc-gconv: build-essential-runtime
+ glibc-libs: build-essential-minimal
+ glibc-nss: build-essential-runtime
+
+- name: zlib
+ repo: upstream:zlib
+ ref: 50893291621658f355bc5b4d450a8d06a563053d
+ unpetrify-ref: v1.2.8
+ build-system: autotools
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+ artifacts:
+ zlib-libs: build-essential-minimal
+
+- name: binutils
+ morph: strata/build-essential/binutils.morph
+ repo: upstream:binutils-tarball
+ ref: 5500a97a2ad1735db5b35bc51cfb825c1f4c38df
+ unpetrify-ref: binutils-2.25
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+ - zlib
+
+- name: busybox
+ morph: strata/build-essential/busybox.morph
+ repo: upstream:busybox
+ ref: 1ecfe811fe2f70380170ef7d820e8150054e88ca
+ unpetrify-ref: '1_23_1'
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+
+- name: gawk
+ morph: strata/build-essential/gawk.morph
+ repo: upstream:gawk
+ ref: dc5af665700d9b04fdf9c18930526d28eef5d5d9
+ unpetrify-ref: gawk-4.1.1
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+
+- name: m4-tarball
+ morph: strata/build-essential/m4-tarball.morph
+ repo: upstream:m4-tarball
+ ref: 23c11479b3ad787adc7a651ee0c4347839e47723
+ unpetrify-ref: m4-1.4.17
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+
+- name: gcc
+ morph: strata/build-essential/gcc.morph
+ repo: upstream:gcc-tarball
+ ref: b3c9b176c1f10ebeff5700eb3760e9511f23fa06
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+ - zlib
+ - m4-tarball
+ - linux-api-headers
+ artifacts:
+ gcc-libs: build-essential-minimal
+
+- name: make
+ morph: strata/build-essential/make.morph
+ repo: upstream:make-tarball
+ ref: 4978d7129e42340ab9efeb0cb9cae4ad0fa052d4
+ unpetrify-ref: baserock/make-4.1-ttyname-segfault-fix
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+
+- name: ccache
+ morph: strata/build-essential/ccache.morph
+ repo: upstream:ccache
+ ref: 567631456f0899cdf0c382f898d38aadc8901d32
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - stage2-binutils
+ - stage2-busybox
+ - stage2-glibc
+ - stage2-fhs-dirs
+ - stage2-gawk
+ - stage2-gcc
+ - stage2-linux-api-headers
+ - stage2-make
+ - stage2-reset-specs
+ - glibc
+ - zlib
diff --git a/baserock/strata/build-essential/binutils.morph b/baserock/strata/build-essential/binutils.morph
new file mode 100644
index 00000000..bab52672
--- /dev/null
+++ b/baserock/strata/build-essential/binutils.morph
@@ -0,0 +1,8 @@
+name: binutils
+kind: chunk
+build-system: autotools
+
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
+ --with-system-zlib
diff --git a/baserock/strata/build-essential/busybox.morph b/baserock/strata/build-essential/busybox.morph
new file mode 100644
index 00000000..1bbd97a6
--- /dev/null
+++ b/baserock/strata/build-essential/busybox.morph
@@ -0,0 +1,89 @@
+name: busybox
+kind: chunk
+
+configure-commands:
+# Busybox's default config has everything enabled.
+- make defconfig KCONFIG_NOTIMESTAMP=1
+
+- 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
+
+# Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin.
+- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/''
+ -i .config'
+# We have GAWK, but in GENIVI baseline we want to get rid of it
+# - sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config
+
+# Depends on stuff that was removed since eglibc 2.14.
+- sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config
+
+# Busybox Patch is incompatible enough with GNU Patch that it can't be
+# used for GNULib projects built from Git.
+- sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config
+
+# None of this is needed because we have kmod; and it actually breaks the
+# Linux build because depmod isn't compatible enough with util-linux's.
+- 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
+
+# General features that we don't need.
+- 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_LSPCI=y.*/# CONFIG_LSPCI 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
+
+# Now turn on some little bits we do need
+- 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 KCONFIG_NOTIMESTAMP=1
+
+install-commands:
+- |
+ if [ "$PREFIX" = /usr ]; then PREFIX=; fi &&
+ make CONFIG_PREFIX="$DESTDIR$PREFIX" KCONFIG_NOTIMESTAMP=1 install &&
+ chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
+# Set up man environment variables
+- mkdir -p "$DESTDIR"/etc
+- |
+ 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/baserock/strata/build-essential/ccache.morph b/baserock/strata/build-essential/ccache.morph
new file mode 100644
index 00000000..383eee8a
--- /dev/null
+++ b/baserock/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/baserock/strata/build-essential/fhs-dirs.morph b/baserock/strata/build-essential/fhs-dirs.morph
new file mode 100644
index 00000000..f4a1b1e9
--- /dev/null
+++ b/baserock/strata/build-essential/fhs-dirs.morph
@@ -0,0 +1,49 @@
+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 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/baserock/strata/build-essential/gawk.morph b/baserock/strata/build-essential/gawk.morph
new file mode 100644
index 00000000..1ad871c6
--- /dev/null
+++ b/baserock/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/baserock/strata/build-essential/gcc.morph b/baserock/strata/build-essential/gcc.morph
new file mode 100644
index 00000000..f16b3c0e
--- /dev/null
+++ b/baserock/strata/build-essential/gcc.morph
@@ -0,0 +1,63 @@
+name: gcc
+kind: chunk
+
+products:
+- artifact: gcc-libs
+ include:
+ - (usr/)lib/lib.*\.so(\.\d+)*$
+- artifact: gcc-doc
+ include:
+ - (usr/)?share/doc/.*
+ - (usr/)?share/man/.*
+ - (usr/)?share/info/.*
+- artifact: gcc-devel
+ # devel includes everything which isn't documentation or libs, since
+ # everything else gcc produces is required for compiling
+ # this is the -devel artifact instead of -misc, since it goes in -devel
+ # stratum artifacts by default
+ include: [.*]
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. An attempt to stop anything going in $PREFIX/lib64 (which doesn't
+# fully work; we will need to hobble the multilib configuration in
+# config/i386/t-linux64 if we really want to kill /lib64).
+# 2. Avoid having more than one copy of ZLib in use on the system
+# 3. Multilib does not make sense in Baserock.
+- |
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir=$PREFIX/lib \
+ --disable-bootstrap \
+ `# [2]` --with-system-zlib \
+ `# [3]` --disable-multilib \
+ --enable-languages=c,c++,fortran
+
+build-commands:
+- |
+ case "$MORPH_ARCH" in
+ armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile
+ sed -i "s/--target=none/--target=armv5/" o/Makefile ;;
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
+ cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+- 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/baserock/strata/build-essential/glibc.morph b/baserock/strata/build-essential/glibc.morph
new file mode 100644
index 00000000..54dbbd9c
--- /dev/null
+++ b/baserock/strata/build-essential/glibc.morph
@@ -0,0 +1,98 @@
+name: glibc
+kind: chunk
+products:
+- artifact: glibc-nss
+ include:
+ - etc/nsswitch.conf
+ - (usr/)?lib/libnss.*
+- artifact: glibc-gconv
+ include:
+ - (usr/)?lib/gconv/.*
+- artifact: glibc-libs
+ include:
+ - sbin/ldconfig
+ - lib(32|64)?/ld-.*
+ - (usr/)?lib(exec)?/pt_chown
+- artifact: glibc-bins
+ include:
+ - (usr/)?s?bin/.*
+ - (usr/)?libexec/getconf/.*
+ - (usr/)?lib(32|64)?/libSegFault\.so(\.\d+)*$
+- artifact: glibc-libs
+ include:
+ # This is processed after bins, so bins can take libSegFault.so
+ - (usr/)?lib(32|64)?/lib[^/]*\.so(\.\d+)*$
+ - etc/ld.so.conf
+ - etc/ld.so.conf.d
+- artifact: glibc-devel
+ include:
+ - (usr/)?include/.*
+ - (usr/)?lib(32|64)?/lib.*\.a
+ - (usr/)?lib(32|64)?/lib.*\.la
+ - (usr/)?(lib(32|64)?|share)/pkgconfig/.*\.pc
+ - (usr/)?lib(32|64)?/.*\.o
+- artifact: glibc-locale
+ include:
+ - (usr/)?share/locale/.*
+ - (usr/)?share/i18n/.*
+ - (usr/)?share/zoneinfo/.*
+- artifact: glibc-misc
+ include:
+ - .*
+configure-commands:
+- mkdir o
+
+- |
+ case "$MORPH_ARCH" in
+ armv7*)
+ ARCH_FLAGS="--without-fp" ;;
+ esac
+
+ # We override the PATH here to remove /tools/bin from it.
+ # Thanks to this glibc finds bash in /bin/bash through the /bin
+ # symlink. This is important because glibc changes the path to bash
+ # of the shebang in some scripts and these scripts will be broken if
+ # they point to bash in /tools/bin/bash.
+ export PATH="/usr/bin:/sbin:/bin";
+ export CFLAGS="-O2 $CFLAGS";
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --prefix="$PREFIX" \
+ --disable-profile \
+ --enable-kernel=3.0.0 \
+ --without-cvs \
+ --without-selinux \
+ --enable-obsolete-rpc
+
+build-commands:
+- cd o && make localtime=UTC
+
+install-commands:
+- cd o && make install_root="$DESTDIR" localtime=UTC install
+- mkdir -p "$DESTDIR/etc"
+- mkdir -p "$DESTDIR/etc/ld.so.conf.d"
+- |
+ cat <<EOF > nsswitch.conf
+ passwd: compat
+ group: compat
+ shadow: compat
+
+ hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns mdns4
+ networks: files
+
+ protocols: db files
+ services: db files
+ ethers: db files
+ rpc: db files
+
+ netgroup: nis
+ EOF
+- install -m 644 -o root -g root nsswitch.conf "$DESTDIR/etc/nsswitch.conf"
+- |
+ cat <<EOF > ld.so.conf
+ /lib
+ /usr/lib
+ /usr/local/lib
+ include /etc/ld.so.conf.d/*.conf
+ EOF
+- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.conf"
diff --git a/baserock/strata/build-essential/linux-api-headers.morph b/baserock/strata/build-essential/linux-api-headers.morph
new file mode 100644
index 00000000..62aa22b8
--- /dev/null
+++ b/baserock/strata/build-essential/linux-api-headers.morph
@@ -0,0 +1,24 @@
+name: linux-api-headers
+kind: chunk
+install-commands:
+- |
+ case "$MORPH_ARCH" in
+ armv5l)
+ ARCH="arm" ;;
+ armv7b|armv7l|armv7lhf)
+ ARCH="arm" ;;
+ armv8l64|armv8b64)
+ ARCH="arm64" ;;
+ x86_32)
+ ARCH="i386" ;;
+ x86_64)
+ ARCH="x86_64" ;;
+ ppc64)
+ ARCH="powerpc" ;;
+ *)
+ echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
+ exit 1
+ esac
+ ARCH=$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/baserock/strata/build-essential/m4-tarball.morph b/baserock/strata/build-essential/m4-tarball.morph
new file mode 100644
index 00000000..eb16726a
--- /dev/null
+++ b/baserock/strata/build-essential/m4-tarball.morph
@@ -0,0 +1,5 @@
+name: m4-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-gcc-warnings
diff --git a/baserock/strata/build-essential/make.morph b/baserock/strata/build-essential/make.morph
new file mode 100644
index 00000000..1259b342
--- /dev/null
+++ b/baserock/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/baserock/strata/build-essential/stage1-binutils.morph b/baserock/strata/build-essential/stage1-binutils.morph
new file mode 100644
index 00000000..69a79d14
--- /dev/null
+++ b/baserock/strata/build-essential/stage1-binutils.morph
@@ -0,0 +1,23 @@
+name: stage1-binutils
+kind: chunk
+build-system: autotools
+
+configure-commands:
+# We set the sysroot location dynamically at runtime by passing
+# `--sysroot` to GCC, so we need to build a linker with sysroot support.
+# We set it to a non-existent directory as a safety net to avoid looking
+# at the host dirs in case we forget to set the sysroot. Setting the
+# lib path is vital to avoid the tools we build linking to the libraries
+# on the host system; the '=' makes the path we give relative to the
+# sysroot, which we can then set at runtime by passing -Wl,--sysroot to
+# GCC. Although nothing should be installed on /lib64, we configure the
+# linker to look at that directory as well to make things more robust
+# (currently GCC installs libraries to this directory at least on
+# x86_64).
+
+- |
+ ./configure --prefix="$PREFIX" --disable-nls --disable-werror \
+ --build=$(sh config.guess) \
+ --host=$(sh config.guess) \
+ --target=$TARGET_STAGE1 \
+ --with-sysroot=/nonexistentdir --with-lib-path="=$PREFIX/lib:=$PREFIX/lib64"
diff --git a/baserock/strata/build-essential/stage1-gcc.morph b/baserock/strata/build-essential/stage1-gcc.morph
new file mode 100644
index 00000000..6418ed6a
--- /dev/null
+++ b/baserock/strata/build-essential/stage1-gcc.morph
@@ -0,0 +1,83 @@
+name: stage1-gcc
+kind: chunk
+
+configure-commands:
+# Workaround from LFS due GCC not detecting stack protection correctly
+- |
+ sed -i -e '/k prot/a \
+ gcc_cv_libc_provides_ssp=yes
+ ' gcc/configure
+
+- mkdir o
+
+# Configure flag notes:
+# 1. See gcc.morph.
+# 2. Although we will be setting a sysroot at runtime, giving a
+# temporary one at configuration time seems necessary so that
+# `--with-native-system-header-dir` produces effect and
+# /tools/include is in the include path for the newly built GCC. We
+# set it by default to a non-existent directory to avoid GCC looking
+# at the host dirs, in case we forget to give it at runtime.
+# 3. Disable searching /usr/local/include for headers
+# 4. The pass 1 compiler needs to find the libraries we build in pass
+# 2. Include path must be set explicility, because it defaults to
+# $SYSROOT/usr/include rather than $SYSROOT/include.
+# 5. Disable stuff that doesn't work when building a cross compiler
+# without an existing libc, and generally try to keep this build as
+# simple as possible.
+- |
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ --host=$(sh ../config.guess) \
+ --target=$TARGET_STAGE1 \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir="$PREFIX/lib" \
+ `# [2]` --with-sysroot=/nonexistentdir \
+ --with-newlib \
+ `# [3]` --with-local-prefix="$PREFIX" \
+ `# [4]` --with-native-system-header-dir="$PREFIX/include" \
+ --without-headers \
+ --disable-nls \
+ --disable-shared \
+ --disable-multilib \
+ `# [5]` --disable-decimal-float \
+ `# [5]` --disable-threads \
+ `# [5]` --disable-libatomic \
+ `# [5]` --disable-libgomp \
+ `# [5]` --disable-libitm \
+ `# [5]` --disable-libquadmath \
+ `# [5]` --disable-libsanitizer \
+ `# [5]` --disable-libssp \
+ `# [5]` --disable-libvtv \
+ `# [5]` --disable-libcilkrts \
+ `# [5]` --disable-libstdc++-v3 \
+ --enable-languages=c,c++
+
+build-commands:
+- |
+ # GCC is not passing the correct host/target flags to GMP's configure
+ # script, which causes it to not use the machine-dependent code for
+ # the platform and use the generic one instead. However, the generic
+ # code results on an undefined reference to `__gmpn_invert_limb' in
+ # ARMv7. Fix the invocation of GMP's configure script so that GMP can
+ # use the machine-dependent code.
+ case "$MORPH_ARCH" in
+ armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile
+ sed -i "s/--target=none/--target=armv5/" o/Makefile ;;
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
+ cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/build-essential/stage2-binutils.morph b/baserock/strata/build-essential/stage2-binutils.morph
new file mode 100644
index 00000000..b07b56a4
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-binutils.morph
@@ -0,0 +1,21 @@
+name: stage2-binutils
+kind: chunk
+build-system: autotools
+
+configure-commands:
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CXX="$TARGET_STAGE1-g++ --sysroot=$STAGE2_SYSROOT"
+ # binutils has its own embedded libtool, which is old and strips out
+ # `--sysroot`. Work around by modifying the compiler command to
+ # include the sysroot flag
+ export CC="$TARGET_STAGE1-gcc --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))"
+ make
diff --git a/baserock/strata/build-essential/stage2-busybox.morph b/baserock/strata/build-essential/stage2-busybox.morph
new file mode 100644
index 00000000..f271a40d
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-busybox.morph
@@ -0,0 +1,80 @@
+name: stage2-busybox
+kind: chunk
+
+configure-commands:
+# Explicitly setting HOSTCC is required because we have a 'gcc' earlier in
+# the PATH supplied by the stage2-gcc chunk, which can't execute outside of
+# the stage 3 staging area.
+- make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- KCONFIG_NOTIMESTAMP=1 defconfig
+
+# Avoid dividing applets between $PREFIX/[s]bin and $PREFIX/usr/[s]bin.
+- '[ "$PREFIX" = /usr ] || sed -e ''s/.*INSTALL_NO_USR.*/CONFIG_INSTALL_NO_USR=y/''
+ -i .config'
+# We have GAWK.
+- sed -e 's/CONFIG_AWK=y.*/# CONFIG_AWK is not set/' -i .config
+
+# Depends on stuff that was removed since eglibc 2.14.
+- sed -e 's/CONFIG_INETD=y.*/# CONFIG_INETD is not set/' -i .config
+
+# Busybox Patch is incompatible enough with GNU Patch that it can't be
+# used for GNULib projects built from Git.
+- sed -e 's/CONFIG_PATCH=y.*/# CONFIG_PATCH is not set/' -i .config
+
+# None of this is needed because we have kmod; and it actually breaks the
+# Linux build because depmod isn't compatible enough with util-linux's.
+- 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
+
+# General features that we don't need.
+- 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="--sysroot=$STAGE2_SYSROOT"
+ make HOSTCC="/usr/bin/gcc" CROSS_COMPILE=$TARGET_STAGE1- KCONFIG_NOTIMESTAMP=1
+
+install-commands:
+# We expect to be built with a non-standard prefix in stage 2 (i.e. not
+# /usr). The install will break if prefix is set to /usr.
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CPPFLAGS="--sysroot=$STAGE2_SYSROOT"
+ export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
+ make CONFIG_PREFIX="$DESTDIR$PREFIX" \
+ HOSTCC="/usr/bin/gcc" \
+ CROSS_COMPILE=$TARGET_STAGE1- \
+ KCONFIG_NOTIMESTAMP=1 install &&
+ chmod 6755 "$DESTDIR$PREFIX"/bin/busybox
diff --git a/baserock/strata/build-essential/stage2-fake-bash.morph b/baserock/strata/build-essential/stage2-fake-bash.morph
new file mode 100644
index 00000000..021fd366
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-fake-bash.morph
@@ -0,0 +1,4 @@
+name: stage2-fake-bash
+kind: chunk
+install-commands:
+- printf '#!/bin/sh\nexec /bin/sh "$@"\n' | install -D /proc/self/fd/0 -m 755 "$DESTDIR$PREFIX/bin/bash"
diff --git a/baserock/strata/build-essential/stage2-fhs-dirs.morph b/baserock/strata/build-essential/stage2-fhs-dirs.morph
new file mode 100644
index 00000000..64080217
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-fhs-dirs.morph
@@ -0,0 +1,51 @@
+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 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/baserock/strata/build-essential/stage2-gawk.morph b/baserock/strata/build-essential/stage2-gawk.morph
new file mode 100644
index 00000000..15c838b6
--- /dev/null
+++ b/baserock/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="--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/baserock/strata/build-essential/stage2-gcc-fixed-headers.morph b/baserock/strata/build-essential/stage2-gcc-fixed-headers.morph
new file mode 100644
index 00000000..10794872
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-gcc-fixed-headers.morph
@@ -0,0 +1,19 @@
+name: stage2-gcc-fixed-headers
+kind: chunk
+install-commands:
+# Stage 1 GCC's fixincludes process created a limits.h before there was
+# a real limits.h available for the target. This step (taken from Linux
+# Linux From Scratch) creates a better one so that stage 2 GCC can compile.
+#
+# THIS IS A FRAGILE HACK! We need to replace the headers. The only way to
+# overwrite files in a staging area is to install a new chunk.
+# This is undesired behaviour in the long term, as we want to never
+# have overlaps, so this functionality may go away.
+- |
+ 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/baserock/strata/build-essential/stage2-gcc.morph b/baserock/strata/build-essential/stage2-gcc.morph
new file mode 100644
index 00000000..cd600e18
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-gcc.morph
@@ -0,0 +1,82 @@
+name: stage2-gcc
+kind: chunk
+
+configure-commands:
+- mkdir o
+
+# In other projects we specify the sysroot location using CPPFLAGS.
+# Here, that breaks because GCC compiles stuff for the *build* machine,
+# too ... and this requires using the host's compiler, which cannot use
+# the same set of CPPFLAGS as the target. If we specify the sysroot
+# using CC instead then we don't interfere, because we are only
+# specifying the *host* C compiler.
+#
+# Configure flag notes:
+# 1. It's vital that this compiler runs in the bootstrap machine, and
+# targets the same machine (TARGET_STAGE1) so that the stage 1 GCC
+# is used instead of the compiler of the build machine.
+# 2. See gcc.morph.
+# 3. Disable searching /usr/local/include for headers
+# 4. This flag causes the correct --sysroot flag to be passed when
+# calling stage 1 GCC.
+- |
+ case "$MORPH_ARCH" in
+ armv7lhf) ARCH_FLAGS="--with-arch=armv7-a \
+ --with-cpu=cortex-a9 \
+ --with-tune=cortex-a9 \
+ --with-fpu=vfpv3-d16 \
+ --with-float=hard" ;;
+ armv7*) ARCH_FLAGS="--with-arch=armv7-a" ;;
+ esac
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ export CC="$TARGET_STAGE1-gcc --sysroot=$STAGE2_SYSROOT"
+ export CXX="$TARGET_STAGE1-g++ --sysroot=$STAGE2_SYSROOT"
+ export AR="$TARGET_STAGE1-ar"
+ export RANLIB="$TARGET_STAGE1-ranlib"
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(sh ../config.guess) \
+ `# [1]` --host=$TARGET_STAGE1 \
+ `# [1]` --target=$TARGET_STAGE1 \
+ --prefix="$PREFIX" \
+ `# [2]` --libdir=$PREFIX/lib \
+ `# [3]` --with-local-prefix=$PREFIX \
+ `# [4]` --with-build-sysroot="$STAGE2_SYSROOT" \
+ --disable-bootstrap \
+ --disable-nls \
+ --disable-multilib \
+ --disable-libgomp \
+ --disable-libstdcxx-pch \
+ --enable-languages=c,c++
+
+build-commands:
+- |
+ case "$MORPH_ARCH" in
+ armv5*) sed -i "s/--host=none/--host=armv5/" o/Makefile
+ sed -i "s/--target=none/--target=armv5/" o/Makefile ;;
+ armv7*) sed -i "s/--host=none/--host=armv7a/" o/Makefile
+ sed -i "s/--target=none/--target=armv7a/" o/Makefile ;;
+ esac
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
+
+# Stage 3 builds need to link against this file in the location that
+# it will be in the final system, so we make a temporary link now.
+#
+# On x86_64 GCC resolutely installs its libraries into lib64. To fix this
+# would require hobbling the MULTILIB_OSDIRNAMES field in
+# gcc/config/i386/t-linux64 and this might break things, so for now we
+# tolerate the inconsistency.
+- |
+ 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/baserock/strata/build-essential/stage2-glibc.morph b/baserock/strata/build-essential/stage2-glibc.morph
new file mode 100644
index 00000000..f44d0ebb
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-glibc.morph
@@ -0,0 +1,103 @@
+name: stage2-glibc
+kind: chunk
+
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. Avoid installing to PREFIX/lib64 on x86_64.
+# 2. Location of linux-api-headers.
+# 3. Normal flags. See glibc.morph.
+# 4. Force configuration values of certain things that can't be detected
+# in a cross-compile.
+- |
+ case "$MORPH_ARCH" in
+ armv7*)
+ ARCH_FLAGS="--without-fp" ;;
+ esac
+
+ export CFLAGS="-O2 $CFLAGS"; export CXX=false; \
+ cd o && ../configure \
+ $ARCH_FLAGS \
+ --build=$(../scripts/config.guess) --host=$TARGET_STAGE1 \
+ --prefix="$PREFIX" \
+ `# [1]` --libdir="$PREFIX/lib" \
+ `# [2]` --with-headers="$(pwd)/../../$PREFIX/include" \
+ `# [3]` --disable-profile --enable-kernel=2.6.25 \
+ `# [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
+- mkdir -p "$DESTDIR/etc"
+- mkdir -p "$DESTDIR/etc/ld.so.conf.d"
+- |
+ cat <<EOF > ld.so.conf
+ /lib
+ /usr/lib
+ /usr/local/lib
+ include /etc/ld.so.conf.d/*.conf
+ EOF
+- install -m 644 -o root -g root ld.so.conf "$DESTDIR/etc/ld.so.conf"
+- |
+ # Fix up GCC to handle the sysroot containing glibc being in a different
+ # location for each chunk build.
+ #
+ # For headers, it's enough to pass -B in the CPPFLAGS. This would work for
+ # the startup files (crt*.o) as well, except where libtool is involved (in
+ # which case it strips -B out of your LDFLAGS before calling GCC). We get
+ # around this by making GCC locate them relative to the environment variable
+ # STAGE2_SYSROOT, which we can then set along with CPPFLAGS in each stage 2
+ # chunk build.
+ #
+ # We also force the use of the program loader at PREFIX/lib/ld.so instead
+ # of its usual home in /lib or /lib64, which is necessary for the output of
+ # stage 2 to work as a chroot when building stage 3.
+
+ sysroot="$(dirname "$(pwd)")"
+ specs_dir="$(dirname $($TARGET_STAGE1-gcc --print-libgcc-file-name))"
+ target_specs_dir="$DESTDIR/${specs_dir#$sysroot}"
+ mkdir -p "$target_specs_dir"
+
+ $TARGET_STAGE1-gcc -dumpspecs |
+ sed -e "s@[gMS]\?crt[1in].o%s@%:getenv(STAGE2_SYSROOT $PREFIX/lib/&)@g" \
+ -e "s@/lib\(64\)\?/ld@$PREFIX/lib/ld@g" \
+ > "$target_specs_dir/specs-for-sysroot"
+
+ # NASTY HACK #
+ # We create a symlink to the actual specs here, so that later the
+ # symlink can be replaced with a dangling link.
+ #
+ # This is necessary as we need to have gcc use its internal specs,
+ # which can differ to the specs generated by `gcc -dumpspecs`.
+ #
+ # The dangling symlink will not make it onto the final system, just
+ # like all other bootstrap only components.
+ ln -s specs-for-sysroot "$target_specs_dir/specs"
+
+# Install a symlink for the program interpreter (ld.so) so that binaries
+# built in stage 3 before the stage 3 glibc is built can use it.
+# FIXME: get a better way of finding the name of the loader. The lib64
+# path is hardcoded into glibc in the file
+# sysdeps/unix/sysv/linux/configure.
+- 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*))
+ [ -z $loader ] && loader=$(basename $(ls "$DESTDIR$PREFIX"/lib/ld.so*))
+ [ -z $loader ] && ( echo "Bug in stage2-glibc ld.so symlinks" ; exit 1 )
+ ln -s "$PREFIX/lib/$loader" "$DESTDIR/lib/$loader"
+ esac
diff --git a/baserock/strata/build-essential/stage2-libstdc++.morph b/baserock/strata/build-essential/stage2-libstdc++.morph
new file mode 100644
index 00000000..3d89ad85
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-libstdc++.morph
@@ -0,0 +1,36 @@
+name: stage2-libstdc++
+kind: chunk
+configure-commands:
+- mkdir o
+
+# Configure flag notes:
+# 1. The thread C++ library cannot be built, as the thread C library
+# was not build in stage1-gcc.
+# 2. Prevents the installation of precompiled include files, which are
+# not needed at this stage.
+# 3. From LFS: the header location of C++ needs to be explicitly given
+# as we are running the configure script from the top-level
+# directory.
+- |
+ export STAGE2_SYSROOT="$(dirname $(pwd))"
+ # -fPIC must be given, otherwise it will not be possible to create
+ # shared libraries linked to libstdc++
+ export CPPFLAGS="--sysroot=$STAGE2_SYSROOT -fPIC"
+ export LDFLAGS="--sysroot=$STAGE2_SYSROOT"
+ cd o && ../libstdc++-v3/configure \
+ --build=$(sh ../config.guess) \
+ --host="$TARGET_STAGE1" \
+ --target="$TARGET_STAGE1" \
+ --prefix="$PREFIX" \
+ --disable-nls \
+ --disable-shared \
+ --disable-multilib \
+ `# [1]` --disable-libstdcxx-threads \
+ `# [2]` --disable-libstdcxx-pch \
+ `# [3]` --with-gxx-include-dir=/tools/"$TARGET_STAGE1"/include/c++/4.9.2
+
+build-commands:
+- cd o && make
+
+install-commands:
+- cd o && make DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/build-essential/stage2-linux-api-headers.morph b/baserock/strata/build-essential/stage2-linux-api-headers.morph
new file mode 100644
index 00000000..1da94ee9
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-linux-api-headers.morph
@@ -0,0 +1,24 @@
+name: stage2-linux-api-headers
+kind: chunk
+install-commands:
+- |
+ case "$MORPH_ARCH" in
+ armv5l)
+ ARCH="arm" ;;
+ armv7b|armv7l|armv7lhf)
+ ARCH="arm" ;;
+ armv8l64|armv8b64)
+ ARCH="arm64" ;;
+ x86_32)
+ ARCH="i386" ;;
+ x86_64)
+ ARCH="x86_64" ;;
+ ppc64)
+ ARCH="powerpc" ;;
+ *)
+ echo "Error: unsupported Morph architecture: $MORPH_ARCH" >&2
+ exit 1
+ esac
+ ARCH=$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/baserock/strata/build-essential/stage2-make.morph b/baserock/strata/build-essential/stage2-make.morph
new file mode 100644
index 00000000..0b05581c
--- /dev/null
+++ b/baserock/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="--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/baserock/strata/build-essential/stage2-reset-specs.morph b/baserock/strata/build-essential/stage2-reset-specs.morph
new file mode 100644
index 00000000..8892f67c
--- /dev/null
+++ b/baserock/strata/build-essential/stage2-reset-specs.morph
@@ -0,0 +1,21 @@
+name: stage2-reset-specs
+kind: chunk
+
+# Nasty hack to get around being unable to reliably add configuration to gcc,
+# hence the gcc specs are modified, combined with Baserock's rootfs protection
+# preventing specs being modified before builds.
+# The limitation is overcome by installing files as part of a chunk, which
+# overwrites previous files.
+# New specs were added for the bootstrap builds, but after stage2 we start
+# having chrooted builds, so the old specs need to be replaced.
+# Unfortunately we can't just replace the specs with the ones gcc produces,
+# since gcc behaves differently without specs to with specs it produces!
+# So we use a **NASTY HACK** to replace the specs symlink with one that
+# points to a file that doesn't exist.
+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/baserock/strata/c2man/c2man.morph b/baserock/strata/c2man/c2man.morph
new file mode 100644
index 00000000..93390d2d
--- /dev/null
+++ b/baserock/strata/c2man/c2man.morph
@@ -0,0 +1,11 @@
+name: c2man
+kind: chunk
+configure-commands:
+- ./Configure -d -e
+build-commands:
+- make LEX=flex
+install-commands:
+- mkdir -p $DESTDIR$PREFIX/bin
+- mkdir -p $DESTDIR$PREFIX/lib
+- mkdir -p $DESTDIR$PREFIX/man
+- make install bin=$DESTDIR$PREFIX/bin privlib=$DESTDIR$PREFIX/lib/c2man mansrc=$DESTDIR$PREFIX/man
diff --git a/baserock/strata/ceph-service.morph b/baserock/strata/ceph-service.morph
new file mode 100644
index 00000000..c428a1ba
--- /dev/null
+++ b/baserock/strata/ceph-service.morph
@@ -0,0 +1,63 @@
+name: ceph-service
+kind: stratum
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/network-security.morph
+chunks:
+- name: libaio
+ morph: strata/ceph-service/libaio.morph
+ repo: upstream:libaio
+ ref: 08f50baec0e7731116d3f665c6155d7829edf5d7
+ unpetrify-ref: libaio-0.3.110-1
+- name: keyutils
+ morph: strata/ceph-service/keyutils.morph
+ repo: upstream:keyutils
+ ref: 9209a0c8fd63afc59f644e078b40cec531409c30
+ unpetrify-ref: v1.5.9
+- name: libunwind
+ repo: upstream:libunwind
+ ref: d7322f0f64dab715c4feb5f08edef5660d8719c0
+ unpetrify-ref: v1.1
+ build-system: autotools
+- name: gperftools
+ repo: upstream:gperftools
+ ref: 846b775dfadb77901202ae7ddbac30ad1de7df01
+ unpetrify-ref: gperftools-2.2
+ build-system: autotools
+ build-depends:
+ - libunwind
+- name: snappy
+ repo: upstream:snappy-git
+ ref: 1ff9be9b8fafc8528ca9e055646f5932aa5db9c4
+ unpetrify-ref: master
+ build-system: autotools
+- name: leveldb
+ morph: strata/ceph-service/leveldb.morph
+ repo: upstream:leveldb
+ ref: e353fbc7ea81f12a5694991b708f8f45343594b1
+ unpetrify-ref: v1.17
+ build-depends:
+ - snappy
+ - gperftools
+- name: libeditline
+ repo: upstream:libeditline-tarball
+ ref: 7503ff5f8610734521f40e276b59b3b6291830e7
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: boost
+ morph: strata/ceph-service/boost.morph
+ repo: upstream:boost-tarball
+ ref: ed232fdd34968697a68783b3195b1da4226915b5
+ unpetrify-ref: boost_1_57_0
+- name: ceph
+ morph: strata/ceph-service/ceph.morph
+ repo: upstream:ceph
+ ref: f4f12a634b0a92938d54d77910134dbbcdf864e6
+ unpetrify-ref: v0.94.1.1
+ build-depends:
+ - libaio
+ - gperftools
+ - leveldb
+ - libeditline
+ - keyutils
+ - boost
diff --git a/baserock/strata/ceph-service/boost.morph b/baserock/strata/ceph-service/boost.morph
new file mode 100644
index 00000000..fa785e3c
--- /dev/null
+++ b/baserock/strata/ceph-service/boost.morph
@@ -0,0 +1,8 @@
+name: boost
+kind: chunk
+configure-commands:
+- ./bootstrap.sh
+build-commands:
+- ./b2
+install-commands:
+- ./b2 install --prefix="$DESTDIR$PREFIX"
diff --git a/baserock/strata/ceph-service/ceph.morph b/baserock/strata/ceph-service/ceph.morph
new file mode 100644
index 00000000..56d30ead
--- /dev/null
+++ b/baserock/strata/ceph-service/ceph.morph
@@ -0,0 +1,26 @@
+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
+ --without-libxfs
+build-commands:
+- make
+install-commands:
+- make install
+- install -D -m 755 src/init-ceph.in "$DESTDIR"/etc/init.d/ceph-SysV
+- install -D -m 755 systemd/ceph "$DESTDIR"/etc/systemd/system/ceph
+- install -D -m 644 systemd/ceph-mon@.service "$DESTDIR"/etc/systemd/system/ceph-mon@.service
+- install -D -m 644 systemd/ceph-osd@.service "$DESTDIR"/etc/systemd/system/ceph-osd@.service
+- install -D -m 644 systemd/ceph-mds@.service "$DESTDIR"/etc/systemd/system/ceph-mds@.service
+- install -D -m 644 systemd/ceph.target "$DESTDIR"/etc/systemd/system/ceph.target
+- 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/baserock/strata/ceph-service/keyutils.morph b/baserock/strata/ceph-service/keyutils.morph
new file mode 100644
index 00000000..4d47e265
--- /dev/null
+++ b/baserock/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/baserock/strata/ceph-service/leveldb.morph b/baserock/strata/ceph-service/leveldb.morph
new file mode 100644
index 00000000..2b97c6e6
--- /dev/null
+++ b/baserock/strata/ceph-service/leveldb.morph
@@ -0,0 +1,9 @@
+name: leveldb
+kind: chunk
+build-commands:
+- make
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/lib
+- mkdir -p "$DESTDIR$PREFIX"/include
+- cp --preserve=links libleveldb.* "$DESTDIR$PREFIX"/lib
+- cp -r include/leveldb "$DESTDIR$PREFIX"/include
diff --git a/baserock/strata/ceph-service/libaio.morph b/baserock/strata/ceph-service/libaio.morph
new file mode 100644
index 00000000..62c24d37
--- /dev/null
+++ b/baserock/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/baserock/strata/chef.morph b/baserock/strata/chef.morph
new file mode 100644
index 00000000..b28298e0
--- /dev/null
+++ b/baserock/strata/chef.morph
@@ -0,0 +1,187 @@
+name: chef
+kind: stratum
+description: Autogenerated by Baserock import tool
+build-depends:
+- morph: strata/ruby.morph
+- morph: strata/core.morph
+chunks:
+- name: yajl
+ morph: strata/chef/yajl.morph
+ repo: upstream:yajl
+ ref: a0ecdde0c042b9256170f2f8890dd9451a4240aa
+ unpetrify-ref: 2.1.0
+- name: libyajl2-1.0.1
+ morph: strata/chef/libyajl2-1.0.1.morph
+ repo: upstream:ruby-gems/libyajl2-gem
+ ref: 98aef032f536d13775bc7b3b69a25ebac9bdee0a
+ unpetrify-ref: 1.0.1
+ build-depends:
+ - yajl
+- name: chef-12.0.0.alpha.0
+ morph: strata/chef/chef-master.morph
+ repo: upstream:ruby-gems/chef
+ ref: 9841bc9c6271c6d9add3aff0c2e11239cfb129ca
+ unpetrify-ref: 12.0.3
+- name: chef-zero-2.2
+ morph: strata/chef/chef-zero-2.2.morph
+ repo: upstream:ruby-gems/chef-zero
+ ref: 231c3abd052e606820297a97e4bc32bdab656a02
+ unpetrify-ref: v2.2
+- name: coderay-1.1.0.rc1
+ morph: strata/chef/coderay-1.1.0.morph
+ repo: upstream:ruby-gems/coderay
+ ref: a48037b85a12228431b32103786456f36beb355f
+ unpetrify-ref: v1.1.0
+- name: erubis-master
+ morph: strata/chef/erubis-master.morph
+ repo: upstream:ruby-gems/erubis
+ ref: 14d3eab57fbc361312c8f3af350cbf9a5bafce17
+ unpetrify-ref: master
+- name: ffi-1.9.3
+ morph: strata/chef/ffi-1.9.3.morph
+ repo: upstream:ruby-gems/ffi
+ ref: d982b7049336106c04f7721045dc5613b16d3545
+ unpetrify-ref: 1.9.3
+- name: ffi-yajl-1.0.2
+ morph: strata/chef/ffi-yajl-master.morph
+ repo: upstream:ruby-gems/ffi-yajl
+ ref: 3a4bc4259fd67af0ff4a8c1d3d71cfbaed9c112f
+ unpetrify-ref: master
+ build-depends:
+ - libyajl2-1.0.1
+- name: hashie-2.1.2
+ morph: strata/chef/hashie-2.1.2.morph
+ repo: upstream:ruby-gems/hashie
+ ref: 95b97fbff2cac643d56ec718cb708665500682e5
+ unpetrify-ref: v2.1.2
+- name: highline-1.6.21
+ morph: strata/chef/highline-master.morph
+ repo: upstream:ruby-gems/highline
+ ref: 51de22e436e6d45696759d673d7b9ceba16cae39
+ unpetrify-ref: master
+- name: hoe-master
+ morph: strata/chef/hoe-master.morph
+ repo: upstream:ruby-gems/hoe
+ ref: d94b26b4687be0a24d04b7cb582753fbec33d7e4
+ unpetrify-ref: master
+- name: diff-lcs-1.2.5
+ morph: strata/chef/diff-lcs-1.2.5.morph
+ repo: upstream:diff-lcs
+ ref: d53e92242b9dd6745e56a0ff4ba15d2f62052b91
+ unpetrify-ref: v1.2.5
+ build-depends:
+ - hoe-master
+- name: ipaddress-0.8.0
+ morph: strata/chef/ipaddress-0.8.0.morph
+ repo: upstream:ruby-gems/ipaddress
+ ref: dae93ad0e4fb9a5d547a15dae0c3f2417078c845
+ unpetrify-ref: master
+- name: json-1.8.1
+ morph: strata/chef/json-1.8.1.morph
+ repo: upstream:ruby-gems/json
+ ref: 92a96dea2b24b9c68856004d69491f46aedd0925
+ unpetrify-ref: v1.8.1
+- name: method_source-0.8.1
+ morph: strata/chef/method_source-0.8.2.morph
+ repo: upstream:ruby-gems/method_source
+ ref: 1b1f8323a7c25f29331fe32511f50697e5405dbd
+ unpetrify-ref: v0.8.2
+- name: mime-types-1.25.1
+ morph: strata/chef/mime-types-1.25.1.morph
+ repo: upstream:ruby-gems/mime-types
+ ref: 6be836f59a041893cfc1c25668b3aa3552a7e334
+ unpetrify-ref: v1.25.1
+ build-depends:
+ - hoe-master
+- name: mixlib-authentication-1.3.0
+ morph: strata/chef/mixlib-authentication-1.3.0.morph
+ repo: upstream:ruby-gems/mixlib-authentication
+ ref: db24a56c6f5b99114998a50942220a7023060229
+ unpetrify-ref: 1.3.0
+- name: mixlib-cli-1.5.0
+ morph: strata/chef/mixlib-cli-1.5.0.morph
+ repo: upstream:ruby-gems/mixlib-cli
+ ref: b3b3c12141b5380ec61945770690fc1ae31d92b0
+ unpetrify-ref: 1.5.0
+- name: mixlib-config-2.1.0
+ morph: strata/chef/mixlib-config-2.1.0.morph
+ repo: upstream:ruby-gems/mixlib-config
+ ref: c5e2dee2beb5fdd17442ff92e520f2ef01d17ee5
+ unpetrify-ref: v2.1.0
+- name: mixlib-log-1.6.0
+ morph: strata/chef/mixlib-log-master.morph
+ repo: upstream:ruby-gems/mixlib-log
+ ref: 50ec55964ce19d3a8a14050be9a23c4b8990e2f0
+ unpetrify-ref: master
+- name: mixlib-shellout-1.4.0
+ morph: strata/chef/mixlib-shellout-1.4.0.morph
+ repo: upstream:ruby-gems/mixlib-shellout
+ ref: a04ce6db22edf0575c50e18ae2db09adced7dedc
+ unpetrify-ref: 1.4.0
+- name: net-dhcp-1.2.1
+ morph: strata/chef/net-dhcp-1.2.1.morph
+ repo: upstream:net-dhcp-ruby
+ ref: b644922a08aa09e2ce75f8f9f9fa1f0b8cecb2e9
+ unpetrify-ref: v1.2.1
+- name: net-ssh-2.9.1
+ morph: strata/chef/net-ssh-2.9.1.morph
+ repo: upstream:ruby-gems/net-ssh
+ ref: 9f8607984d8e904f211cc5edb39ab2a2ca94008e
+ unpetrify-ref: v2.9.1
+- name: net-ssh-gateway-1.2.0
+ morph: strata/chef/net-ssh-gateway-1.2.0.morph
+ repo: upstream:ruby-gems/net-ssh-gateway
+ ref: 1de7611a7f7cedbe7a4c6cf3798c88d00637582d
+ unpetrify-ref: v1.2.0
+- name: net-ssh-multi-1.2.0
+ morph: strata/chef/net-ssh-multi-1.2.0.morph
+ repo: upstream:ruby-gems/net-ssh-multi
+ ref: b659f2884b2c9abdbe3bbf3c844937a0799ed5ac
+ unpetrify-ref: v1.2.0
+- name: ohai-7.4.0.dev
+ morph: strata/chef/ohai-master.morph
+ repo: upstream:ruby-gems/ohai
+ ref: 0bf2ed32744445a253082910ee4e07b2b38023a7
+ unpetrify-ref: master
+- name: plist-master
+ morph: strata/chef/plist-master.morph
+ repo: upstream:ruby-gems/plist
+ ref: 12eb82d283cab148183c37c07e3f75a309969dec
+ unpetrify-ref: master
+- name: pry-0.10.1
+ morph: strata/chef/pry-master.morph
+ repo: upstream:ruby-gems/pry
+ ref: 6d5eb0831b50ec729d2dc3356255b49535535e37
+ unpetrify-ref: master
+- name: rack-1.5.2
+ morph: strata/chef/rack-1.5.2.morph
+ repo: upstream:ruby-gems/rack
+ ref: ac590d055c936bb9a618e955a690dc836c625211
+ unpetrify-ref: 1.5.2
+- name: slop-3.6.0
+ morph: strata/chef/slop-3.6.0.morph
+ repo: upstream:ruby-gems/slop
+ ref: c3f84e7e794004f9ae6958c13ef3dd3038c2c0eb
+ unpetrify-ref: v3.6.0
+- name: systemu-2.6.4
+ morph: strata/chef/systemu-master.morph
+ repo: upstream:ruby-gems/systemu
+ ref: 35340f1e91941af47988b1b9d77705493b96d3db
+ unpetrify-ref: master
+- name: wmi-lite-1.0.0
+ morph: strata/chef/wmi-lite-1.0.0.morph
+ repo: upstream:ruby-gems/wmi-lite
+ ref: 9377836dc0a5487474038ec727f02f9b33facfa6
+ unpetrify-ref: 1.0.0
+- name: libpopt
+ morph: strata/chef/libpopt.morph
+ repo: upstream:libpopt
+ ref: c224abf28f4ff9bbf292908324359cb5905addf8
+ unpetrify-ref: master
+- name: sgdisk
+ morph: strata/chef/sgdisk.morph
+ repo: upstream:sgdisk
+ ref: a920398fa393f9d6301b32b191bc01e086ab8bc8
+ unpetrify-ref: master
+ build-depends:
+ - libpopt
diff --git a/baserock/strata/chef/chef-master.morph b/baserock/strata/chef/chef-master.morph
new file mode 100644
index 00000000..61c12ca0
--- /dev/null
+++ b/baserock/strata/chef/chef-master.morph
@@ -0,0 +1,20 @@
+name: chef-12.0.0.alpha.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: chef-12.0.0.alpha.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build chef.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./chef-12.0.0.alpha.0.gem
+- mkdir -p "$DESTDIR"/etc
+- |
+ cat << EOF > "$DESTDIR/etc/lsb-release"
+ DISTRIB_ID=Baserock
+ DISTRIB_CODENAME=baserock
+ DISTRIB_DESCRIPTION="Baserock"
+ EOF
diff --git a/baserock/strata/chef/chef-zero-2.2.morph b/baserock/strata/chef/chef-zero-2.2.morph
new file mode 100644
index 00000000..11407ae3
--- /dev/null
+++ b/baserock/strata/chef/chef-zero-2.2.morph
@@ -0,0 +1,13 @@
+name: chef-zero-2.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: chef-zero-2.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build chef-zero.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./chef-zero-2.2.gem
diff --git a/baserock/strata/chef/coderay-1.1.0.morph b/baserock/strata/chef/coderay-1.1.0.morph
new file mode 100644
index 00000000..a380b911
--- /dev/null
+++ b/baserock/strata/chef/coderay-1.1.0.morph
@@ -0,0 +1,13 @@
+name: coderay-1.1.0.rc1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: coderay-1.1.0.rc1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build coderay.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./coderay-1.1.0.rc1.gem
diff --git a/baserock/strata/chef/diff-lcs-1.2.5.morph b/baserock/strata/chef/diff-lcs-1.2.5.morph
new file mode 100644
index 00000000..3585467f
--- /dev/null
+++ b/baserock/strata/chef/diff-lcs-1.2.5.morph
@@ -0,0 +1,13 @@
+name: diff-lcs-1.2.5
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: diff-lcs-1.2.5-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build diff-lcs.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./diff-lcs-1.2.5.gem
diff --git a/baserock/strata/chef/erubis-master.morph b/baserock/strata/chef/erubis-master.morph
new file mode 100644
index 00000000..05d1a9f9
--- /dev/null
+++ b/baserock/strata/chef/erubis-master.morph
@@ -0,0 +1,19 @@
+name: erubis-master
+kind: chunk
+build-system: manual
+products:
+- artifact: erubis-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+# Manually do what it seems like the 'rook' build system would do, if it worked
+# Values taken from 'Rookbook.props'.
+- find -type f -exec sed -e 's/\$Release\$/2.7.0/g' -i \{} \;
+- find -type f -exec sed -e 's/\$Copyright\$/copyright(c) 2006-2011 kuwata-lab.com
+ all rights reserved./g' -i \{} \;
+build-commands:
+- gem build erubis.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./erubis-2.7.0.gem
diff --git a/baserock/strata/chef/ffi-1.9.3.morph b/baserock/strata/chef/ffi-1.9.3.morph
new file mode 100644
index 00000000..672f0bd7
--- /dev/null
+++ b/baserock/strata/chef/ffi-1.9.3.morph
@@ -0,0 +1,13 @@
+name: ffi-1.9.3
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ffi-1.9.3-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ffi.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ffi-1.9.3.gem
diff --git a/baserock/strata/chef/ffi-yajl-master.morph b/baserock/strata/chef/ffi-yajl-master.morph
new file mode 100644
index 00000000..5d3c0792
--- /dev/null
+++ b/baserock/strata/chef/ffi-yajl-master.morph
@@ -0,0 +1,13 @@
+name: ffi-yajl-1.0.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ffi-yajl-1.0.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ffi-yajl.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ffi-yajl-1.0.2.gem
diff --git a/baserock/strata/chef/hashie-2.1.2.morph b/baserock/strata/chef/hashie-2.1.2.morph
new file mode 100644
index 00000000..a4fb46f6
--- /dev/null
+++ b/baserock/strata/chef/hashie-2.1.2.morph
@@ -0,0 +1,13 @@
+name: hashie-2.1.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: hashie-2.1.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build hashie.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./hashie-2.1.2.gem
diff --git a/baserock/strata/chef/highline-master.morph b/baserock/strata/chef/highline-master.morph
new file mode 100644
index 00000000..5615f6b2
--- /dev/null
+++ b/baserock/strata/chef/highline-master.morph
@@ -0,0 +1,13 @@
+name: highline-1.6.21
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: highline-1.6.21-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build highline.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./highline-1.6.21.gem
diff --git a/baserock/strata/chef/hoe-master.morph b/baserock/strata/chef/hoe-master.morph
new file mode 100644
index 00000000..1a468789
--- /dev/null
+++ b/baserock/strata/chef/hoe-master.morph
@@ -0,0 +1,13 @@
+name: hoe-master
+kind: chunk
+build-system: manual
+products:
+- artifact: hoe-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- rake gem
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pkg/hoe-3.12.0.gem
diff --git a/baserock/strata/chef/ipaddress-0.8.0.morph b/baserock/strata/chef/ipaddress-0.8.0.morph
new file mode 100644
index 00000000..fdaa5de6
--- /dev/null
+++ b/baserock/strata/chef/ipaddress-0.8.0.morph
@@ -0,0 +1,13 @@
+name: ipaddress-0.8.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ipaddress-0.8.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ipaddress.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ipaddress-0.8.0.gem
diff --git a/baserock/strata/chef/json-1.8.1.morph b/baserock/strata/chef/json-1.8.1.morph
new file mode 100644
index 00000000..cf25abca
--- /dev/null
+++ b/baserock/strata/chef/json-1.8.1.morph
@@ -0,0 +1,13 @@
+name: json-1.8.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: json-1.8.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build json.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./json-1.8.1.gem
diff --git a/baserock/strata/chef/libpopt.morph b/baserock/strata/chef/libpopt.morph
new file mode 100644
index 00000000..6adde30c
--- /dev/null
+++ b/baserock/strata/chef/libpopt.morph
@@ -0,0 +1,6 @@
+name: libpopt
+kind: chunk
+build-system: autotools
+configure-commands:
+- autoreconf -if
+- ./configure
diff --git a/baserock/strata/chef/libyajl2-1.0.1.morph b/baserock/strata/chef/libyajl2-1.0.1.morph
new file mode 100644
index 00000000..7a21831d
--- /dev/null
+++ b/baserock/strata/chef/libyajl2-1.0.1.morph
@@ -0,0 +1,13 @@
+name: libyajl2-1.0.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: libyajl2-1.0.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- USE_SYSTEM_LIBYAJL2=yes gem build libyajl2.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- USE_SYSTEM_LIBYAJL2=yes gem install --install-dir "$DESTDIR/$(gem environment home)"
+ --bindir "$DESTDIR/$PREFIX/bin" --ignore-dependencies --local ./libyajl2-1.0.1.gem
diff --git a/baserock/strata/chef/method_source-0.8.2.morph b/baserock/strata/chef/method_source-0.8.2.morph
new file mode 100644
index 00000000..5ba20da6
--- /dev/null
+++ b/baserock/strata/chef/method_source-0.8.2.morph
@@ -0,0 +1,13 @@
+name: method_source-0.8.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: method_source-0.8.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build method_source.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./method_source-0.8.1.gem
diff --git a/baserock/strata/chef/mime-types-1.25.1.morph b/baserock/strata/chef/mime-types-1.25.1.morph
new file mode 100644
index 00000000..453c42d5
--- /dev/null
+++ b/baserock/strata/chef/mime-types-1.25.1.morph
@@ -0,0 +1,13 @@
+name: mime-types-1.25.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mime-types-1.25.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mime-types.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mime-types-1.25.1.gem
diff --git a/baserock/strata/chef/mixlib-authentication-1.3.0.morph b/baserock/strata/chef/mixlib-authentication-1.3.0.morph
new file mode 100644
index 00000000..8792ff2c
--- /dev/null
+++ b/baserock/strata/chef/mixlib-authentication-1.3.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-authentication-1.3.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-authentication-1.3.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-authentication.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-authentication-1.3.0.gem
diff --git a/baserock/strata/chef/mixlib-cli-1.5.0.morph b/baserock/strata/chef/mixlib-cli-1.5.0.morph
new file mode 100644
index 00000000..84f3a4b7
--- /dev/null
+++ b/baserock/strata/chef/mixlib-cli-1.5.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-cli-1.5.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-cli-1.5.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-cli.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-cli-1.5.0.gem
diff --git a/baserock/strata/chef/mixlib-config-2.1.0.morph b/baserock/strata/chef/mixlib-config-2.1.0.morph
new file mode 100644
index 00000000..cc6077a5
--- /dev/null
+++ b/baserock/strata/chef/mixlib-config-2.1.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-config-2.1.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-config-2.1.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-config.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-config-2.1.0.gem
diff --git a/baserock/strata/chef/mixlib-log-master.morph b/baserock/strata/chef/mixlib-log-master.morph
new file mode 100644
index 00000000..ddd956c1
--- /dev/null
+++ b/baserock/strata/chef/mixlib-log-master.morph
@@ -0,0 +1,13 @@
+name: mixlib-log-1.6.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-log-1.6.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-log.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-log-1.6.0.gem
diff --git a/baserock/strata/chef/mixlib-shellout-1.4.0.morph b/baserock/strata/chef/mixlib-shellout-1.4.0.morph
new file mode 100644
index 00000000..7087c1c6
--- /dev/null
+++ b/baserock/strata/chef/mixlib-shellout-1.4.0.morph
@@ -0,0 +1,13 @@
+name: mixlib-shellout-1.4.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: mixlib-shellout-1.4.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build mixlib-shellout.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./mixlib-shellout-1.4.0.gem
diff --git a/baserock/strata/chef/net-dhcp-1.2.1.morph b/baserock/strata/chef/net-dhcp-1.2.1.morph
new file mode 100644
index 00000000..88eb4963
--- /dev/null
+++ b/baserock/strata/chef/net-dhcp-1.2.1.morph
@@ -0,0 +1,13 @@
+name: net-dhcp-1.2.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-dhcp-1.2.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build net-dhcp.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-dhcp-1.2.1.gem
diff --git a/baserock/strata/chef/net-ssh-2.9.1.morph b/baserock/strata/chef/net-ssh-2.9.1.morph
new file mode 100644
index 00000000..c06495d5
--- /dev/null
+++ b/baserock/strata/chef/net-ssh-2.9.1.morph
@@ -0,0 +1,15 @@
+name: net-ssh-2.9.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-ssh-2.9.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh.gemspec
+build-commands:
+- gem build net-ssh.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-ssh-2.9.1.gem
diff --git a/baserock/strata/chef/net-ssh-gateway-1.2.0.morph b/baserock/strata/chef/net-ssh-gateway-1.2.0.morph
new file mode 100644
index 00000000..c0425002
--- /dev/null
+++ b/baserock/strata/chef/net-ssh-gateway-1.2.0.morph
@@ -0,0 +1,15 @@
+name: net-ssh-gateway-1.2.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-ssh-gateway-1.2.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh-gateway.gemspec
+build-commands:
+- gem build net-ssh-gateway.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-ssh-gateway-1.2.0.gem
diff --git a/baserock/strata/chef/net-ssh-multi-1.2.0.morph b/baserock/strata/chef/net-ssh-multi-1.2.0.morph
new file mode 100644
index 00000000..fc433a37
--- /dev/null
+++ b/baserock/strata/chef/net-ssh-multi-1.2.0.morph
@@ -0,0 +1,15 @@
+name: net-ssh-multi-1.2.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: net-ssh-multi-1.2.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+configure-commands:
+- sed -e '/cert_chain\s*=/d' -e '/signing_key\s*=/d' -i net-ssh-multi.gemspec
+build-commands:
+- gem build net-ssh-multi.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./net-ssh-multi-1.2.0.gem
diff --git a/baserock/strata/chef/ohai-master.morph b/baserock/strata/chef/ohai-master.morph
new file mode 100644
index 00000000..f47dda35
--- /dev/null
+++ b/baserock/strata/chef/ohai-master.morph
@@ -0,0 +1,13 @@
+name: ohai-7.4.0.dev
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: ohai-7.4.0.dev-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build ohai.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./ohai-7.4.0.dev.gem
diff --git a/baserock/strata/chef/plist-master.morph b/baserock/strata/chef/plist-master.morph
new file mode 100644
index 00000000..7cf7cbb6
--- /dev/null
+++ b/baserock/strata/chef/plist-master.morph
@@ -0,0 +1,13 @@
+name: plist-master
+kind: chunk
+build-system: manual
+products:
+- artifact: plist-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- rake gem
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pkg/plist-3.1.0.gem
diff --git a/baserock/strata/chef/pry-master.morph b/baserock/strata/chef/pry-master.morph
new file mode 100644
index 00000000..07ebca7a
--- /dev/null
+++ b/baserock/strata/chef/pry-master.morph
@@ -0,0 +1,13 @@
+name: pry-0.10.1
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: pry-0.10.1-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build pry.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pry-0.10.1.gem
diff --git a/baserock/strata/chef/rack-1.5.2.morph b/baserock/strata/chef/rack-1.5.2.morph
new file mode 100644
index 00000000..50fd960c
--- /dev/null
+++ b/baserock/strata/chef/rack-1.5.2.morph
@@ -0,0 +1,13 @@
+name: rack-1.5.2
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: rack-1.5.2-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build rack.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./rack-1.5.2.gem
diff --git a/baserock/strata/chef/sgdisk.morph b/baserock/strata/chef/sgdisk.morph
new file mode 100644
index 00000000..e792f9d9
--- /dev/null
+++ b/baserock/strata/chef/sgdisk.morph
@@ -0,0 +1,7 @@
+name: sgdisk
+kind: chunk
+build-commands:
+- make
+install-commands:
+- install -D -m 0755 -o root -g root sgdisk "$DESTDIR$PREFIX/bin/sgdisk"
+
diff --git a/baserock/strata/chef/slop-3.6.0.morph b/baserock/strata/chef/slop-3.6.0.morph
new file mode 100644
index 00000000..32101078
--- /dev/null
+++ b/baserock/strata/chef/slop-3.6.0.morph
@@ -0,0 +1,13 @@
+name: slop-3.6.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: slop-3.6.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build slop.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./slop-3.6.0.gem
diff --git a/baserock/strata/chef/systemu-master.morph b/baserock/strata/chef/systemu-master.morph
new file mode 100644
index 00000000..3cc0a5e2
--- /dev/null
+++ b/baserock/strata/chef/systemu-master.morph
@@ -0,0 +1,13 @@
+name: systemu-2.6.4
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: systemu-2.6.4-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build systemu.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./systemu-2.6.4.gem
diff --git a/baserock/strata/chef/wmi-lite-1.0.0.morph b/baserock/strata/chef/wmi-lite-1.0.0.morph
new file mode 100644
index 00000000..bb4b4127
--- /dev/null
+++ b/baserock/strata/chef/wmi-lite-1.0.0.morph
@@ -0,0 +1,13 @@
+name: wmi-lite-1.0.0
+kind: chunk
+description: Automatically generated by rubygems.to_chunk
+products:
+- artifact: wmi-lite-1.0.0-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- gem build wmi-lite.gemspec
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./wmi-lite-1.0.0.gem
diff --git a/baserock/strata/chef/yajl.morph b/baserock/strata/chef/yajl.morph
new file mode 100644
index 00000000..9dbc8dbf
--- /dev/null
+++ b/baserock/strata/chef/yajl.morph
@@ -0,0 +1,6 @@
+name: yajl
+kind: chunk
+description: YAJL JSON parsing library
+build-system: cmake
+max-jobs: 1
+
diff --git a/baserock/strata/cloudinit-support.morph b/baserock/strata/cloudinit-support.morph
new file mode 100644
index 00000000..fc7d73ad
--- /dev/null
+++ b/baserock/strata/cloudinit-support.morph
@@ -0,0 +1,21 @@
+name: cloudinit-support
+kind: stratum
+description: A stratum with cloudinit to fit a system in the OpenStack cloud.
+build-depends:
+- morph: strata/build-essential.morph
+- morph: strata/python-core.morph
+- morph: strata/python-common.morph
+- morph: strata/foundation.morph
+chunks:
+- name: python-cheetah
+ repo: upstream:python-cheetah
+ ref: 831aa6b99d9b4fb012ee644d8e80e0bc0eb6d6ed
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+- name: cloud-init
+ morph: strata/cloudinit-support/cloud-init.morph
+ repo: upstream:cloud-init
+ ref: 130d51acc5b0becd64e7007f9dfe41a6e022eaec
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - python-cheetah
diff --git a/baserock/strata/cloudinit-support/cloud-init.morph b/baserock/strata/cloudinit-support/cloud-init.morph
new file mode 100644
index 00000000..5933dbf8
--- /dev/null
+++ b/baserock/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/baserock/strata/connectivity.morph b/baserock/strata/connectivity.morph
new file mode 100644
index 00000000..124b4cac
--- /dev/null
+++ b/baserock/strata/connectivity.morph
@@ -0,0 +1,22 @@
+name: connectivity
+kind: stratum
+build-depends:
+- morph: strata/foundation.morph
+chunks:
+- name: libnl
+ repo: upstream:libnl
+ ref: a2c4bd8f094a7247903578860a9c42049991860b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: wpa_supplicant
+ morph: strata/connectivity/wpa_supplicant.morph
+ repo: upstream:hostap
+ ref: c4a58c968044c2002706b1a69c089c4d63728e77
+ unpetrify-ref: baserock/hostap_2_3
+ build-depends:
+ - libnl
+- name: iptables
+ repo: upstream:iptables
+ ref: 482c6d3731e2681cb4baae835c294840300197e6
+ unpetrify-ref: v1.4.21
+ build-system: autotools
diff --git a/baserock/strata/connectivity/wpa_supplicant.morph b/baserock/strata/connectivity/wpa_supplicant.morph
new file mode 100644
index 00000000..86a51608
--- /dev/null
+++ b/baserock/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/baserock/strata/connman-common.morph b/baserock/strata/connman-common.morph
new file mode 100644
index 00000000..fde00436
--- /dev/null
+++ b/baserock/strata/connman-common.morph
@@ -0,0 +1,11 @@
+name: connman-common
+kind: stratum
+build-depends:
+- morph: strata/connectivity.morph
+- morph: strata/glib-common.morph
+chunks:
+- name: connman
+ morph: strata/connman-common/connman.morph
+ repo: upstream:connman
+ ref: 9951ba7a0353cfc884e96833c64e58c1bcae3f44
+ unpetrify-ref: baserock/1.24
diff --git a/baserock/strata/connman-common/connman.morph b/baserock/strata/connman-common/connman.morph
new file mode 100644
index 00000000..e468bc49
--- /dev/null
+++ b/baserock/strata/connman-common/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/baserock/strata/core.morph b/baserock/strata/core.morph
new file mode 100644
index 00000000..30add442
--- /dev/null
+++ b/baserock/strata/core.morph
@@ -0,0 +1,404 @@
+name: core
+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: strata/build-essential.morph
+chunks:
+- name: gdbm
+ morph: strata/core/gdbm.morph
+ repo: upstream:gdbm-tarball
+ ref: e5faeaaf75ecfb705a9b643b3e4cb881ebb69f48
+ unpetrify-ref: gdbm-1.11
+- name: perl
+ morph: strata/core/perl.morph
+ repo: upstream:perl
+ ref: 70f63a4c7dba89e8e48b44de7978faae4319e693
+ unpetrify-ref: v5.22.0
+ build-depends:
+ - gdbm
+- name: ncurses
+ morph: strata/core/ncurses.morph
+ repo: upstream:ncurses
+ ref: f67398afa6a76fbc902cc0cea963d5151fa2a953
+ unpetrify-ref: ncurses-5.9-20150131
+- name: texinfo-tarball
+ morph: strata/core/texinfo-tarball.morph
+ repo: upstream:texinfo-tarball
+ ref: 6a55f074b1f67d02149c13931eb1df9f0e539b15
+ unpetrify-ref: texinfo-5.2
+ build-depends:
+ - ncurses
+ - perl
+- name: autoconf-tarball
+ morph: strata/core/autoconf-tarball.morph
+ repo: upstream:autoconf-tarball
+ ref: 55d1d2c339bc5f935f6d8d702e98b7bd5d968e9d
+ unpetrify-ref: autoconf-2.69
+ build-depends:
+ - perl
+- name: automake
+ morph: strata/core/automake.morph
+ repo: upstream:automake
+ ref: db43dd473361d90d8b00362cfef5bac8e722000d
+ unpetrify-ref: v1.15
+ build-depends:
+ - autoconf-tarball
+ - perl
+ - texinfo-tarball
+- name: help2man
+ repo: upstream:help2man
+ ref: 83bab7e2e8e24a380266a9a247c029c49b0de666
+ unpetrify-ref: baserock/v1.46.5
+ build-system: autotools
+ build-depends:
+ - autoconf-tarball
+ - automake
+# Note: autoconf's version number must be set in autoconf's chunk morph,
+# so if you update autoconf be sure to also update the version number
+# in strata/core/autoconf.morph
+- name: autoconf
+ morph: strata/core/autoconf.morph
+ repo: upstream:autoconf
+ ref: 218f9347c9c34919c2b8eef8d9a0513ac567a3c1
+ unpetrify-ref: baserock/v2.69-texinfo-fix
+ build-depends:
+ - autoconf-tarball
+ - automake
+ - help2man
+ - texinfo-tarball
+- name: libtool-tarball
+ morph: strata/core/libtool-tarball.morph
+ repo: upstream:libtool-tarball
+ ref: c026ca36e37d2643623a75d0d3e9e451023139f3
+ unpetrify-ref: libtool-2.4.6
+- name: file
+ repo: upstream:file
+ ref: f69c3fd9bcb108292e7887dd889e8b49f68c4a52
+ unpetrify-ref: file-5.22
+ build-system: autotools
+- name: libexpat
+ morph: strata/core/libexpat.morph
+ repo: upstream:libexpat
+ ref: 7cfc09db3e258129ab05811f2f9e351746ddab9f
+ unpetrify-ref: R_2_1_0
+ build-depends:
+ - autoconf
+ - automake
+ - file
+ - libtool-tarball
+- name: openssl-new
+ morph: strata/core/openssl-new.morph
+ repo: upstream:openssl-new
+ ref: 506c1068801fdeef5cb00f2053854bf56150fb6d
+ unpetrify-ref: OpenSSL_1_0_1m
+ build-depends:
+ - perl
+- name: bzip2
+ morph: strata/core/bzip2.morph
+ repo: upstream:bzip2
+ ref: 8deafa68e52b230018c0318dc7959ff9af3ad2a5
+ unpetrify-ref: baserock/morph
+- name: readline
+ morph: strata/core/readline.morph
+ repo: upstream:readline
+ ref: 518937ab89be812ccd45e9b8c1ce4ad721d35ef6
+ unpetrify-ref: baserock/genivi/baseline
+ build-depends:
+ - automake
+- name: libffi
+ morph: strata/core/libffi.morph
+ repo: upstream:libffi
+ ref: 77d4586cc47e8f4c02278afbc220145bba0d442b
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - autoconf
+ - automake
+- name: sqlite3
+ repo: upstream:sqlite3
+ ref: 24adc227bc29cd17e39df097fbca389c7724cd14
+ unpetrify-ref: sqlite-autoconf-3080801
+ build-system: autotools
+- name: cpython
+ morph: strata/core/cpython.morph
+ repo: upstream:cpython
+ ref: 57af3f22d11600ca98c0c9073d0b3b57d43f7c4b
+ unpetrify-ref: v2.7.10
+ build-depends:
+ - openssl-new
+ - bzip2
+ - libexpat
+ - libffi
+ - sqlite3
+ - ncurses
+ - readline
+- name: ca-certificates
+ morph: strata/core/ca-certificates.morph
+ repo: upstream:ca-certificates
+ ref: e9b06b26d9e57444e74a5cb6beca3f12726fc3c6
+ unpetrify-ref: baserock/debian/20140325
+ build-depends:
+ - automake
+ - cpython
+- name: curl
+ morph: strata/core/curl.morph
+ repo: upstream:curl
+ ref: 202aa9f7758636730299b86715d924f54468a908
+ unpetrify-ref: curl-7_38_0
+ build-depends:
+ - autoconf
+ - automake
+ - file
+ - libtool-tarball
+ - openssl-new
+ - ca-certificates
+- name: gettext-tarball
+ morph: strata/core/gettext-tarball.morph
+ repo: upstream:gettext-tarball
+ ref: 482840e61f86ca321838a91e902c41d40c098bbb
+ unpetrify-ref: gettext-0.19.4
+ build-depends:
+ - libexpat
+- name: git
+ morph: strata/core/git.morph
+ repo: upstream:git
+ ref: 9874fca7122563e28d699a911404fc49d2a24f1c
+ unpetrify-ref: v2.3.0
+ build-depends:
+ - autoconf
+ - cpython
+ - curl
+ - gettext-tarball
+ - libexpat
+ - openssl-new
+- name: flex
+ morph: strata/core/flex.morph
+ repo: upstream:flex
+ ref: de10f98e8a2dc2a021796811490d0f30c3cd90bf
+ unpetrify-ref: baserock/build-essential
+ build-depends:
+ - automake
+ - file
+ - gettext-tarball
+- name: mini-utils
+ morph: strata/core/mini-utils.morph
+ repo: baserock:baserock/mini-utils
+ ref: 5293265b29bbf468ab9d7f3302b19dbc81d0f8b8
+ unpetrify-ref: master
+- name: bison
+ morph: strata/core/bison.morph
+ repo: upstream:bison
+ ref: 2ab6d1daaccf32fc4314e4b2fe44da977f11a308
+ unpetrify-ref: baserock/v3.0.2
+ build-depends:
+ - autoconf
+ - automake
+ - flex
+ - gettext-tarball
+ - git
+ - help2man
+ - mini-utils
+- name: patch
+ morph: strata/core/patch.morph
+ repo: upstream:patch
+ ref: 3bbb26c928a147cfcf0756f1cc0a1307e5cc663f
+ unpetrify-ref: baserock/v2.7.1
+ build-depends:
+ - autoconf
+ - automake
+ - bison
+ - git
+ - mini-utils
+- name: xz
+ repo: upstream:xz
+ ref: a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
+ unpetrify-ref: v5.2.0
+ build-system: autotools
+ build-depends:
+ - autoconf
+ - automake
+ - file
+ - gettext-tarball
+ - libtool-tarball
+- name: libtool
+ morph: strata/core/libtool.morph
+ repo: upstream:libtool
+ ref: 5e11a17c39a2a976a09c33a568431a9f7ad00d48
+ unpetrify-ref: baserock/v2.4.6
+ build-depends:
+ - autoconf
+ - automake
+ - file
+ - help2man
+ - git
+ - patch
+ - texinfo-tarball
+ - xz
+- name: pkg-config
+ morph: strata/core/pkg-config.morph
+ repo: upstream:pkg-config
+ ref: 74ceac54ef6f9247c00f08eecd8cca811a3c5934
+ unpetrify-ref: pkg-config-0.28
+ build-depends:
+ - autoconf
+ - automake
+ - libtool
+- name: attr
+ morph: strata/core/attr.morph
+ repo: upstream:attr
+ ref: 4b005410f865895d4dcd56e2c135278a7a315877
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - file
+ - autoconf
+ - automake
+ - gettext-tarball
+ - libtool
+- name: acl
+ morph: strata/core/acl.morph
+ repo: upstream:acl
+ ref: f13e09bd54fd4a501c4952f002ed2752bdd9f93b
+ unpetrify-ref: v2.2.52
+ build-depends:
+ - autoconf
+ - automake
+ - gettext-tarball
+ - libtool
+ - attr
+- name: linux-pam
+ morph: strata/core/linux-pam.morph
+ repo: upstream:linux-pam
+ ref: b1521c97e73b10469f7b34c0571d51c647eca83c
+ unpetrify-ref: Linux-PAM-1.1.8
+ build-depends:
+ - autoconf
+ - automake
+ - gettext-tarball
+ - libtool
+ - pkg-config
+ - flex
+ - attr
+ - acl
+- name: libcap2
+ morph: strata/core/libcap2.morph
+ repo: upstream:libcap2
+ ref: 4f7cca1bc9c2a274edb39d351b65747010d3ba7b
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - autoconf
+ - automake
+ - gettext-tarball
+ - libtool
+ - pkg-config
+ - attr
+ - acl
+ - linux-pam
+- name: shadow
+ morph: strata/core/shadow.morph
+ repo: upstream:shadow
+ ref: bfaa59229d61adb7fa0c570f0d94fd324c6e05aa
+ unpetrify-ref: upstream/4.2.1
+ build-depends:
+ - autoconf
+ - automake
+ - gettext-tarball
+ - libtool
+ - bison
+ - attr
+ - acl
+ - linux-pam
+ - libcap2
+- name: util-linux
+ morph: strata/core/util-linux.morph
+ repo: upstream:util-linux
+ ref: cd150a429d15a7c96918aa2432532ced0bd27465
+ unpetrify-ref: v2.27
+ build-depends:
+ - autoconf
+ - automake
+ - gettext-tarball
+ - git
+ - libtool
+ - pkg-config
+ - linux-pam
+ - shadow
+- name: e2fsprogs
+ morph: strata/core/e2fsprogs.morph
+ repo: upstream:e2fsprogs
+ ref: 6a3741ad293031447b95b88431eafa77401a8987
+ unpetrify-ref: v1.42.12
+ build-depends:
+ - pkg-config
+ - util-linux
+ - file
+- name: libxml2
+ repo: upstream:libxml2
+ ref: ee8f1d4cda8dc1a6f2c515fe234f7bc89cdc9f80
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - autoconf
+ - automake
+ - file
+ - cpython
+ - libtool
+ - xz
+- name: libxslt
+ repo: upstream:libxslt
+ ref: 73e08bf7c36a9145d38f51d37e66529b873c011a
+ unpetrify-ref: master
+ build-system: autotools
+ build-depends:
+ - autoconf
+ - libtool
+ - automake
+ - file
+ - libxml2
+- name: XML-Parser
+ repo: upstream:XML-Parser
+ ref: e1a3ec157140a699e3020836475a0df622f70f1b
+ unpetrify-ref: baserock/morph
+ build-system: cpan
+ build-depends:
+ - libexpat
+ - perl
+- name: intltool
+ repo: upstream:intltool
+ ref: 12f04c88be9ff8a578d8fd6990ee2448c66dc5f4
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - XML-Parser
+ - autoconf
+ - automake
+ - perl
+- name: bash
+ morph: strata/core/bash.morph
+ repo: upstream:bash
+ ref: 3590145af6f1c9fa321dff231f69ae696e7e740b
+ unpetrify-ref: baserock/bash-4.3-patch-27
+- name: cmake
+ morph: strata/core/cmake.morph
+ repo: upstream:cmake
+ ref: 732d8a467ab8a295b1bbf580f865980f8a1a9b29
+ unpetrify-ref: v3.2.1
+- name: cython
+ repo: upstream:cython
+ ref: 4dd8e762fa51d01775506fbbc102c45dbcea065d
+ unpetrify-ref: 0.22
+ build-system: python-distutils
+ build-depends:
+ - cpython
+- name: gperf
+ morph: strata/core/gperf.morph
+ repo: upstream:gperf
+ ref: 5094e4a539adf845111013f82c2c4fcaec637983
+ unpetrify-ref: baserock/morph
+- name: bc
+ repo: upstream:bc-tarball
+ ref: 0956d119432ff6a2e85bae1fa336df799cad70b0
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - flex
+ - texinfo-tarball
diff --git a/baserock/strata/core/acl.morph b/baserock/strata/core/acl.morph
new file mode 100644
index 00000000..23f08c1f
--- /dev/null
+++ b/baserock/strata/core/acl.morph
@@ -0,0 +1,6 @@
+name: acl
+kind: chunk
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install-lib install-dev
diff --git a/baserock/strata/core/attr.morph b/baserock/strata/core/attr.morph
new file mode 100644
index 00000000..d0bf6976
--- /dev/null
+++ b/baserock/strata/core/attr.morph
@@ -0,0 +1,19 @@
+name: attr
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- make configure
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" \
+ --exec-prefix="$PREFIX" \
+ --sbindir="$PREFIX"/sbin \
+ --bindir="$PREFIX"/bin \
+ --libdir="$PREFIX"/lib \
+ --libexecdir="$PREFIX"/lib \
+ --enable-lib64=yes \
+ --includedir="$PREFIX"/include \
+ --mandir="$PREFIX"/share/man \
+ --datadir="$PREFIX"/share
+install-commands:
+- make DESTDIR="$DESTDIR" install-lib install-dev
diff --git a/baserock/strata/core/autoconf-tarball.morph b/baserock/strata/core/autoconf-tarball.morph
new file mode 100644
index 00000000..fbdc5768
--- /dev/null
+++ b/baserock/strata/core/autoconf-tarball.morph
@@ -0,0 +1,5 @@
+name: autoconf-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/baserock/strata/core/autoconf.morph b/baserock/strata/core/autoconf.morph
new file mode 100644
index 00000000..63b95ba8
--- /dev/null
+++ b/baserock/strata/core/autoconf.morph
@@ -0,0 +1,5 @@
+name: autoconf
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- echo "2.69" > .tarball-version
diff --git a/baserock/strata/core/automake.morph b/baserock/strata/core/automake.morph
new file mode 100644
index 00000000..282535d6
--- /dev/null
+++ b/baserock/strata/core/automake.morph
@@ -0,0 +1,8 @@
+name: automake
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./bootstrap.sh
+- ./configure --prefix="$PREFIX"
+build-commands:
+- unset DESTDIR; make
diff --git a/baserock/strata/core/bash.morph b/baserock/strata/core/bash.morph
new file mode 100644
index 00000000..5d0b8f03
--- /dev/null
+++ b/baserock/strata/core/bash.morph
@@ -0,0 +1,37 @@
+name: bash
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ export CFLAGS="${CFLAGS} -DSYS_BASHRC='\"/etc/bash.bashrc\"'";
+ ./configure --prefix="$PREFIX" \
+ --bindir=/bin \
+ --without-bash-malloc \
+ --with-installed-readline \
+ --enable-readline
+post-install-commands:
+- |
+ cat <<'EOF' >> bash.bashrc
+ #
+ # /etc/bash.bashrc
+ #
+
+ # If not running interactively, don't do anything
+ [[ $- != *i* ]] && return
+
+ # Configure prompt for different terminals
+ case ${TERM} in
+ xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
+ PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
+
+ ;;
+ screen)
+ PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
+ ;;
+ esac
+
+ # Enable bash completion if present
+ [ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion
+ EOF
+- mkdir -p "$DESTDIR"/etc
+- install -m 644 bash.bashrc "$DESTDIR"/etc/bash.bashrc
diff --git a/baserock/strata/core/bison.morph b/baserock/strata/core/bison.morph
new file mode 100644
index 00000000..f122ca3f
--- /dev/null
+++ b/baserock/strata/core/bison.morph
@@ -0,0 +1,5 @@
+name: bison
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- sh bootstrap --skip-po --no-git --gnulib-srcdir=gnulib
diff --git a/baserock/strata/core/bzip2.morph b/baserock/strata/core/bzip2.morph
new file mode 100644
index 00000000..f4bdb794
--- /dev/null
+++ b/baserock/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/baserock/strata/core/ca-certificates.morph b/baserock/strata/core/ca-certificates.morph
new file mode 100644
index 00000000..5bdb18ea
--- /dev/null
+++ b/baserock/strata/core/ca-certificates.morph
@@ -0,0 +1,23 @@
+name: ca-certificates
+kind: chunk
+build-system: manual
+build-commands:
+- make
+install-commands:
+- mkdir -p "$DESTDIR"/usr/share/ca-certificates
+- mkdir -p "$DESTDIR"/usr/sbin
+- make DESTDIR="$DESTDIR" install
+- mkdir "$DESTDIR"/etc
+- |
+ cd "$DESTDIR"/usr/share/ca-certificates
+ find * -type f > "$DESTDIR"/etc/ca-certificates.conf
+- |
+ export CERTSCONF="$DESTDIR/etc/ca-certificates.conf"
+ export CERTSDIR="$DESTDIR/usr/share/ca-certificates"
+ export ETCCERTSDIR="$DESTDIR/etc/ssl/certs"
+ mkdir -p "$ETCCERTSDIR"
+ ./sbin/update-ca-certificates
+system-integration:
+ ca-certificates-misc:
+ 00-update-ca-certs:
+ - update-ca-certificates
diff --git a/baserock/strata/core/cmake.morph b/baserock/strata/core/cmake.morph
new file mode 100644
index 00000000..1d310ef4
--- /dev/null
+++ b/baserock/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/baserock/strata/core/cpython.morph b/baserock/strata/core/cpython.morph
new file mode 100644
index 00000000..e2f59278
--- /dev/null
+++ b/baserock/strata/core/cpython.morph
@@ -0,0 +1,12 @@
+name: cpython
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" \
+ --enable-shared \
+ --with-ensurepip=upgrade \
+ --with-system-expat \
+ --with-system-ffi
+post-install-commands:
+- test -x "$DESTDIR"/"$PREFIX"/bin/python2 || ln -s python2.7 "$DESTDIR"/"$PREFIX"/bin/python2
diff --git a/baserock/strata/core/curl.morph b/baserock/strata/core/curl.morph
new file mode 100644
index 00000000..e245688c
--- /dev/null
+++ b/baserock/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/baserock/strata/core/e2fsprogs.morph b/baserock/strata/core/e2fsprogs.morph
new file mode 100644
index 00000000..55ac486c
--- /dev/null
+++ b/baserock/strata/core/e2fsprogs.morph
@@ -0,0 +1,22 @@
+name: e2fsprogs
+kind: chunk
+build-system: autotools
+configure-commands:
+# Configure with the usual paths for binaries and config
+# but also disable whatever we can that is already provided by util-linux
+# Disabling e2fsprofs' libblkid does not work, but we don't have to
+# install it.
+- |
+ ./configure --prefix="$PREFIX" --sysconfdir=/etc \
+ --disable-libuuid --disable-uuidd --disable-libblkid
+install-commands:
+# e2fsprogs also includes tools that are provided by util-linux, so we
+# need to selectively exclude them. Removing them directly from DESTDIR
+# causes problems, so we need to remove them beforehand.
+- |
+ td="$(mktemp -d)"
+ make DESTDIR="$td" install
+ make DESTDIR="$td" install-libs
+ find "$td" \( -name blkid -o -name findfs -o \) -delete
+ find "$td" \( -name blkid.8 -o -name findfs.8 \) -delete
+ mv "$td"/* "$DESTDIR"
diff --git a/baserock/strata/core/flex.morph b/baserock/strata/core/flex.morph
new file mode 100644
index 00000000..615bf79e
--- /dev/null
+++ b/baserock/strata/core/flex.morph
@@ -0,0 +1,14 @@
+name: flex
+kind: chunk
+pre-configure-commands:
+- autoreconf -ivf
+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/baserock/strata/core/gdbm.morph b/baserock/strata/core/gdbm.morph
new file mode 100644
index 00000000..6bec33e0
--- /dev/null
+++ b/baserock/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/baserock/strata/core/gettext-tarball.morph b/baserock/strata/core/gettext-tarball.morph
new file mode 100644
index 00000000..4983b484
--- /dev/null
+++ b/baserock/strata/core/gettext-tarball.morph
@@ -0,0 +1,5 @@
+name: gettext-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/baserock/strata/core/git.morph b/baserock/strata/core/git.morph
new file mode 100644
index 00000000..765f4a5c
--- /dev/null
+++ b/baserock/strata/core/git.morph
@@ -0,0 +1,7 @@
+name: git
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- make configure
+build-commands:
+- make all
diff --git a/baserock/strata/core/gperf.morph b/baserock/strata/core/gperf.morph
new file mode 100644
index 00000000..e4f598c5
--- /dev/null
+++ b/baserock/strata/core/gperf.morph
@@ -0,0 +1,3 @@
+name: gperf
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/core/libcap2.morph b/baserock/strata/core/libcap2.morph
new file mode 100644
index 00000000..3e4f205e
--- /dev/null
+++ b/baserock/strata/core/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/baserock/strata/core/libexpat.morph b/baserock/strata/core/libexpat.morph
new file mode 100644
index 00000000..05285c0d
--- /dev/null
+++ b/baserock/strata/core/libexpat.morph
@@ -0,0 +1,6 @@
+name: libexpat
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./buildconf.sh
+- automake --add-missing --copy || true
diff --git a/baserock/strata/core/libffi.morph b/baserock/strata/core/libffi.morph
new file mode 100644
index 00000000..174477af
--- /dev/null
+++ b/baserock/strata/core/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/baserock/strata/core/libtool-tarball.morph b/baserock/strata/core/libtool-tarball.morph
new file mode 100644
index 00000000..65a3edbc
--- /dev/null
+++ b/baserock/strata/core/libtool-tarball.morph
@@ -0,0 +1,5 @@
+name: libtool-tarball
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/baserock/strata/core/libtool.morph b/baserock/strata/core/libtool.morph
new file mode 100644
index 00000000..04263ac9
--- /dev/null
+++ b/baserock/strata/core/libtool.morph
@@ -0,0 +1,5 @@
+name: libtool
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./bootstrap
diff --git a/baserock/strata/core/linux-pam.morph b/baserock/strata/core/linux-pam.morph
new file mode 100644
index 00000000..71ad98e9
--- /dev/null
+++ b/baserock/strata/core/linux-pam.morph
@@ -0,0 +1,9 @@
+name: linux-pam
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- autoreconf -ivf
+configure-commands:
+# libdir has to be specified or it'll go into lib64. It has to be /lib because
+# systemd installs its pam library into /lib/security.
+- ./configure --prefix="$PREFIX" --libdir="/lib"
diff --git a/baserock/strata/core/mini-utils.morph b/baserock/strata/core/mini-utils.morph
new file mode 100644
index 00000000..a3d1109e
--- /dev/null
+++ b/baserock/strata/core/mini-utils.morph
@@ -0,0 +1,7 @@
+name: mini-utils
+kind: chunk
+build-system: manual
+build-commands:
+- make
+install-commands:
+- make PREFIX="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/core/ncurses.morph b/baserock/strata/core/ncurses.morph
new file mode 100644
index 00000000..42acb481
--- /dev/null
+++ b/baserock/strata/core/ncurses.morph
@@ -0,0 +1,45 @@
+name: ncurses
+kind: chunk
+configure-commands:
+- LDCONFIG=true ./configure --with-shared --without-debug --enable-widec
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+post-install-commands:
+- |
+ # lfs recommends some alterations for software that looks for
+ # libcurses instead of libncurses
+ # it's more convenient to have this in a separate file than the
+ # morph as less strings have to be escaped and comments are possible
+
+ # some software expects to find libcurses in /lib
+ mkdir -p "$DESTDIR/lib"
+ mv "$DESTDIR"/"$PREFIX"/lib/libncursesw.so.5* "$DESTDIR"/lib
+ ln -sf ../../lib/libncursesw.so.5 "$DESTDIR"/"$PREFIX"/lib/libncursesw.so
+
+ # some linker tricks for libraries that look for non-wide character
+ # versions of ncurses
+ for lib in ncurses form panel menu; do
+ # remove non-wide shared object
+ rm -f "$DESTDIR/${PREFIX}/lib/lib${lib}.so"
+ # use a linker script to find the wide character variant
+ echo "INPUT(-l${lib}w)" >"$DESTDIR/${PREFIX}/lib/lib${lib}.so"
+ # symlink the non-shared library
+ ln -sf "lib${lib}w.a" "$DESTDIR/${PREFIX}/lib/lib${lib}.a"
+ done
+ ln -sf libncurses++w.a "$DESTDIR/${PREFIX}/lib/libncurses++.a"
+
+ # redirect software that looks for libcurses
+ rm -f "$DESTDIR/${PREFIX}/lib/libcursesw.so"
+ echo "INPUT(-lncursesw)" >"$DESTDIR/${PREFIX}/lib/libcursesw.so"
+ ln -sf libncurses.so "$DESTDIR/${PREFIX}/lib/libcurses.so"
+ ln -sf libncursesw.a "$DESTDIR/${PREFIX}/lib/libcursesw.a"
+ ln -sf libncurses.a "$DESTDIR/${PREFIX}/lib/libcurses.a"
+
+ # install documentation
+ mkdir -p "$DESTDIR/${PREFIX}/share/doc/ncurses"
+ cp -R doc/* "$DESTDIR/${PREFIX}/share/doc/ncurses"
+
+ # remove 'clear' and 'reset' executables, busybox provides them
+ rm -f "$DESTDIR/${PREFIX}/bin/clear" "$DESTDIR/${PREFIX}/bin/reset"
diff --git a/baserock/strata/core/openssl-new.morph b/baserock/strata/core/openssl-new.morph
new file mode 100644
index 00000000..2ed14ff2
--- /dev/null
+++ b/baserock/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/baserock/strata/core/patch.morph b/baserock/strata/core/patch.morph
new file mode 100644
index 00000000..b7f146ef
--- /dev/null
+++ b/baserock/strata/core/patch.morph
@@ -0,0 +1,5 @@
+name: patch
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./bootstrap --skip-po
diff --git a/baserock/strata/core/perl.morph b/baserock/strata/core/perl.morph
new file mode 100644
index 00000000..ce086aa7
--- /dev/null
+++ b/baserock/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/baserock/strata/core/pkg-config.morph b/baserock/strata/core/pkg-config.morph
new file mode 100644
index 00000000..ed35a2ac
--- /dev/null
+++ b/baserock/strata/core/pkg-config.morph
@@ -0,0 +1,5 @@
+name: pkg-config
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --with-internal-glib
diff --git a/baserock/strata/core/readline.morph b/baserock/strata/core/readline.morph
new file mode 100644
index 00000000..08c9586c
--- /dev/null
+++ b/baserock/strata/core/readline.morph
@@ -0,0 +1,8 @@
+name: readline
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- cp /usr/share/automake*/config.guess support
+- cp /usr/share/automake*/config.sub support
+build-commands:
+- make SHLIB_LIBS=-lncurses
diff --git a/baserock/strata/core/shadow.morph b/baserock/strata/core/shadow.morph
new file mode 100644
index 00000000..cdb1ff75
--- /dev/null
+++ b/baserock/strata/core/shadow.morph
@@ -0,0 +1,55 @@
+name: shadow
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- autoreconf -vfi
+configure-commands:
+# Installing to /bin so that they overwrite busybox login.
+- |
+ ./configure --with-selinux=no \
+ --sysconfdir=/etc \
+ --with-libpam=yes \
+ --prefix="$PREFIX" \
+ --bindir=/bin
+post-install-commands:
+# Disable things handled by pam instead
+- |
+ for OPTION in FAIL_DELAY \
+ FAILLOG_ENAB \
+ LASTLOG_ENAB \
+ MAIL_CHECK_ENAB \
+ OBSCURE_CHECKS_ENAB \
+ PORTTIME_CHECKS_ENAB \
+ QUOTAS_ENAB \
+ CONSOLE MOTD_FILE \
+ FTMP_FILE \
+ NOLOGINS_FILE \
+ ENV_HZ \
+ PASS_MIN_LEN \
+ SU_WHEEL_ONLY \
+ CRACKLIB_DICTPATH \
+ PASS_CHANGE_TRIES \
+ PASS_ALWAYS_WARN \
+ CHFN_AUTH \
+ ENVIRON_FILE
+ do
+ sed -i -e "s/^${OPTION}.*/# & #This option is handled by PAM instead./" \
+ "$DESTDIR/etc/login.defs"
+ done
+# ENCRYPT_METHOD is handled specially with PAM, it will use the default as
+# provided in login.defs, but it may be overridden in the pam.d config.
+# We do not currently override this though, and it's better to guard oursleves
+# against accidentally reducing password security by forgetting to include the
+# algorithm as an argument to the PAM module, so ENCRYPT_METHOD is configured
+# here, rather than in PAM.
+- |
+ if grep -q '[\s#]ENCRYPT_METHOD' "$DESTDIR/etc/login.defs"; then
+ sed -i -e '/^[\s#]*ENCRYPT_METHOD /s/.*/ENCRYPT_METHOD SHA512/g' "$DESTDIR/etc/login.defs"
+ else
+ echo 'ENCRYPT_METHOD SHA512' >>"$DESTDIR/etc/login.defs"
+ fi
+
+# The default pam.d config files have pam_selinux.so as a requirement, even
+# when shadow is configured '--with-selinux=no'. We change this default config
+# to make this requirement optional.
+- sed -i -e 's/\(.*\)required\(.*pam_selinux.so.*\)/\1optional\2/' "$DESTDIR"/etc/pam.d/*
diff --git a/baserock/strata/core/texinfo-tarball.morph b/baserock/strata/core/texinfo-tarball.morph
new file mode 100644
index 00000000..5f784ba2
--- /dev/null
+++ b/baserock/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/baserock/strata/core/util-linux.morph b/baserock/strata/core/util-linux.morph
new file mode 100644
index 00000000..1ec7f8e2
--- /dev/null
+++ b/baserock/strata/core/util-linux.morph
@@ -0,0 +1,11 @@
+name: util-linux
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./autogen.sh
+configure-commands:
+# Installing to /bin so that they overwrite busybox login.
+- |
+ ./configure --prefix="$PREFIX" \
+ --disable-use-tty-group \
+ --bindir=/bin
diff --git a/baserock/strata/coreutils-common.morph b/baserock/strata/coreutils-common.morph
new file mode 100644
index 00000000..2ad2d866
--- /dev/null
+++ b/baserock/strata/coreutils-common.morph
@@ -0,0 +1,40 @@
+name: coreutils-common
+kind: stratum
+description: |
+ We need to split this so we can build stuff using coreutils but we can not
+ having it in the final systems (for example in genivi ones that do not
+ accept GPLv3 code)
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: coreutils
+ morph: strata/coreutils-common/coreutils.morph
+ repo: upstream:coreutils
+ ref: 9df9643842e4b4d8ece710fe6105f32fa38a0d22
+ unpetrify-ref: baserock/8.23
+- name: sed
+ morph: strata/coreutils-common/sed.morph
+ repo: upstream:sed
+ ref: ed4b1d7c04f92b330b940d4f0d02cd51d2473ce9
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - coreutils
+- name: diff
+ morph: strata/coreutils-common/diff.morph
+ repo: upstream:diffutils
+ ref: bd86eb1a1e87ab85a7c8dbb658fa829ce69c252e
+ unpetrify-ref: baserock/v3.3
+ build-depends:
+ - coreutils
+- name: tar
+ morph: strata/coreutils-common/tar.morph
+ repo: upstream:tar
+ ref: 9a58d148c26c220cb1b163c71e7a51a2e41f6b37
+ unpetrify-ref: baserock/release_1_28
+ build-depends:
+ - coreutils
+- name: findutils
+ morph: strata/coreutils-common/findutils.morph
+ repo: upstream:findutils
+ ref: ee6b25541336f9d74624ca814538ddc8c67f0732
+ unpetrify-ref: baserock/v4.5.14
diff --git a/baserock/strata/coreutils-common/coreutils.morph b/baserock/strata/coreutils-common/coreutils.morph
new file mode 100644
index 00000000..19542d79
--- /dev/null
+++ b/baserock/strata/coreutils-common/coreutils.morph
@@ -0,0 +1,16 @@
+name: coreutils
+kind: chunk
+build-system: autotools
+configure-commands:
+- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
+- bash bootstrap --skip-po --no-git --gnulib-srcdir=gnulib
+- FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix="$PREFIX" --disable-nls
+build-commands:
+- make WERROR_CFLAGS=
+install-commands:
+- make INSTALL_PROGRAM=install DESTDIR="$DESTDIR" install
+# This hack is for supporting "fdatasync" argument in "dd" command
+# which busybox "dd" does not support.
+# This hack should dissappear when we merge /usr/bin and /bin.
+- mkdir -p "$DESTDIR"/bin/
+- ln -sf ../usr/bin/dd "$DESTDIR"/bin/
diff --git a/baserock/strata/coreutils-common/diff.morph b/baserock/strata/coreutils-common/diff.morph
new file mode 100644
index 00000000..c5eb809d
--- /dev/null
+++ b/baserock/strata/coreutils-common/diff.morph
@@ -0,0 +1,8 @@
+name: diff
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
+- ./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-gcc-warnings
diff --git a/baserock/strata/coreutils-common/findutils.morph b/baserock/strata/coreutils-common/findutils.morph
new file mode 100644
index 00000000..c9ba5ab6
--- /dev/null
+++ b/baserock/strata/coreutils-common/findutils.morph
@@ -0,0 +1,5 @@
+name: findutils
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./import-gnulib.sh -d gnulib
diff --git a/baserock/strata/coreutils-common/sed.morph b/baserock/strata/coreutils-common/sed.morph
new file mode 100644
index 00000000..75b969de
--- /dev/null
+++ b/baserock/strata/coreutils-common/sed.morph
@@ -0,0 +1,13 @@
+name: sed
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
+- ./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-gcc-warnings
+post-install-commands:
+# This hack is to use GNU sed instead the busybox one.
+# This will dissappear when we merge /usr/bin and /bin.
+- mkdir -p "$DESTDIR"/bin/
+- ln -sf ../usr/bin/sed "$DESTDIR"/bin/
diff --git a/baserock/strata/coreutils-common/tar.morph b/baserock/strata/coreutils-common/tar.morph
new file mode 100644
index 00000000..17d6a597
--- /dev/null
+++ b/baserock/strata/coreutils-common/tar.morph
@@ -0,0 +1,18 @@
+name: tar
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- rm .gitmodules
+- bash bootstrap --skip-po --gnulib-srcdir="$(pwd)/gnulib" --paxutils-srcdir="$(pwd)/paxutils"
+configure-commands:
+# Configure flag notes:
+# 1. Needed to run configure as root
+# 2. Disable some warning that cause the build to fail
+# 3. To use GNU tar instead the busybox one.
+# This will dissappear when we merge /usr/bin and /bin
+
+- |
+ `# [1]` env FORCE_UNSAFE_CONFIGURE=1 \
+ ./configure --prefix="$PREFIX" \
+ `# [2]` --disable-gcc-warnings \
+ `# [3]` --bindir=/bin
diff --git a/baserock/strata/cross-bootstrap.morph b/baserock/strata/cross-bootstrap.morph
new file mode 100644
index 00000000..e0c5991d
--- /dev/null
+++ b/baserock/strata/cross-bootstrap.morph
@@ -0,0 +1,29 @@
+name: cross-bootstrap
+kind: stratum
+description: The minimal development tools to build a baserock devel system
+build-depends:
+- morph: strata/core.morph
+- morph: strata/python-core.morph
+chunks:
+- name: groff
+ morph: strata/cross-bootstrap/groff.morph
+ repo: upstream:groff-git
+ ref: 16305a24e67966ace06d55e2a0b98cc0e3127a93
+ unpetrify-ref: 1.22.3
+- name: openssh
+ morph: strata/cross-bootstrap/openssh.morph
+ repo: upstream:openssh-git
+ ref: 782fe9e725243eeb5ad6ab9a1783b5d6bedfe0d7
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - groff
+- name: linux-user-chroot
+ repo: upstream:linux-user-chroot
+ ref: d25cc110f69e6e71a95b4ac532dcfc5423d4a16b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: rsync
+ morph: strata/cross-bootstrap/rsync.morph
+ repo: upstream:rsync
+ ref: 7cb0de6326c915a72253fd103dae93308031ec3f
+ unpetrify-ref: v3.1.1
diff --git a/baserock/strata/cross-bootstrap/groff.morph b/baserock/strata/cross-bootstrap/groff.morph
new file mode 100644
index 00000000..8380a9cc
--- /dev/null
+++ b/baserock/strata/cross-bootstrap/groff.morph
@@ -0,0 +1,13 @@
+name: groff
+kind: chunk
+max-jobs: 1
+configure-commands:
+- PAGE=A4 ./configure --prefix="$PREFIX"
+build-commands:
+# hack to avoid a netpbm dependency
+- touch doc/gnu.eps
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- ln -s eqn "$DESTDIR$PREFIX/bin/geqn"
+- ln -s tbl "$DESTDIR$PREFIX/bin/gtbl"
diff --git a/baserock/strata/cross-bootstrap/openssh.morph b/baserock/strata/cross-bootstrap/openssh.morph
new file mode 100644
index 00000000..6c759cb0
--- /dev/null
+++ b/baserock/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/baserock/strata/cross-bootstrap/rsync.morph b/baserock/strata/cross-bootstrap/rsync.morph
new file mode 100644
index 00000000..9a92878d
--- /dev/null
+++ b/baserock/strata/cross-bootstrap/rsync.morph
@@ -0,0 +1,6 @@
+name: rsync
+kind: chunk
+build-system: autotools
+build-commands:
+- make proto
+- make
diff --git a/baserock/strata/cross-tools.morph b/baserock/strata/cross-tools.morph
new file mode 100644
index 00000000..795d3936
--- /dev/null
+++ b/baserock/strata/cross-tools.morph
@@ -0,0 +1,11 @@
+name: cross-tools
+kind: stratum
+description: Tools used together with cross compilers
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: patchelf
+ repo: upstream:patchelf
+ ref: 21a85cc1c63cf3ef060ece59cdd82455e2884703
+ unpetrify-ref: baserock/morph
+ build-system: autotools
diff --git a/baserock/strata/cups.morph b/baserock/strata/cups.morph
new file mode 100644
index 00000000..b10bcd6c
--- /dev/null
+++ b/baserock/strata/cups.morph
@@ -0,0 +1,11 @@
+name: cups
+kind: stratum
+description: Cups printer driver
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: cups
+ morph: strata/cups/cups.morph
+ repo: upstream:cups
+ ref: f28bae1aeae3964fba4f0728263657405f63c417
+ unpetrify-ref: release-1.7.0
diff --git a/baserock/strata/cups/cups.morph b/baserock/strata/cups/cups.morph
new file mode 100644
index 00000000..a3c2edf8
--- /dev/null
+++ b/baserock/strata/cups/cups.morph
@@ -0,0 +1,12 @@
+name: cups
+kind: chunk
+build-system: manual
+configure-commands:
+- autoconf
+- ./configure --prefix="$PREFIX"
+build-commands:
+- make
+# Note: BUILDROOT is the variable recommended in INSTALL.txt for the
+# destination directory.
+install-commands:
+- make BUILDROOT="$DESTDIR" install
diff --git a/baserock/strata/cxmanage.morph b/baserock/strata/cxmanage.morph
new file mode 100644
index 00000000..adc9faba
--- /dev/null
+++ b/baserock/strata/cxmanage.morph
@@ -0,0 +1,36 @@
+name: cxmanage
+kind: stratum
+description: All the tools for calxeda management
+build-depends:
+- morph: strata/tools.morph
+chunks:
+- name: ipmitool
+ repo: upstream:ipmitool
+ ref: 830d5a3787b265e5dde154d2f0e08b10ae9a7bcd
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: pexpect
+ morph: strata/cxmanage/pexpect.morph
+ repo: upstream:pexpect
+ ref: 7a8455f21bb45020f3594c59fc8c85cf738e147c
+ unpetrify-ref: baserock/morph
+- name: pyipmi
+ repo: upstream:pyipmi
+ ref: bb7dba84578c05ba87db3c4186a2989c89e4e519
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+- name: tftpy
+ repo: upstream:tftpy
+ ref: f3d2fc4c62c1e64dd49adfaf8e65097eb8ea307b
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+- name: cxmanage
+ repo: upstream:cxmanage
+ ref: 54116d3c486ed7aa49f284e4cad9e6e7c293bea6
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+ build-depends:
+ - ipmitool
+ - pexpect
+ - pyipmi
+ - tftpy
diff --git a/baserock/strata/cxmanage/pexpect.morph b/baserock/strata/cxmanage/pexpect.morph
new file mode 100644
index 00000000..09254350
--- /dev/null
+++ b/baserock/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/baserock/strata/databases.morph b/baserock/strata/databases.morph
new file mode 100644
index 00000000..1f8f7b8d
--- /dev/null
+++ b/baserock/strata/databases.morph
@@ -0,0 +1,35 @@
+name: databases
+kind: stratum
+description: some popular databases and some utils related to databases
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/nfs.morph
+- morph: strata/python-core.morph
+chunks:
+- name: postgresql
+ repo: upstream:postgresql
+ ref: d4f8dde3c1c2c90c723ab550e7f449fc75599316
+ unpetrify-ref: REL9_3_4
+ build-system: autotools
+- name: redis
+ morph: strata/databases/redis.morph
+ repo: upstream:redis
+ ref: 9ee59fca9c5c429185d35779c2d5db64005091b0
+ unpetrify-ref: baserock/3.0
+- name: memcached
+ morph: strata/databases/memcached.morph
+ repo: upstream:memcached
+ ref: c5530027c8ea28674358327ab8212ebaf014c848
+ unpetrify-ref: 1.4.22
+- name: psycopg2
+ repo: upstream:python-packages/psycopg2
+ ref: 00cafbe85bb82d85cbfe0f062a73c562433b5bc8
+ unpetrify-ref: 2.5.4
+ build-system: python-distutils
+ build-depends:
+ - postgresql
+- name: python-memcached
+ repo: upstream:python-packages/python-memcached
+ ref: 156ee975ff6e5c69e1d6c58b09bedf03c182c5db
+ unpetrify-ref: master
+ build-system: python-distutils
diff --git a/baserock/strata/databases/memcached.morph b/baserock/strata/databases/memcached.morph
new file mode 100644
index 00000000..e81a8be1
--- /dev/null
+++ b/baserock/strata/databases/memcached.morph
@@ -0,0 +1,21 @@
+name: memcached
+kind: chunk
+build-system: autotools
+configure-commands:
+- perl version.pl
+- touch README
+- autoreconf -fvi
+- ./configure --prefix="$PREFIX"
+install-commands:
+- make install
+- install -D -m 644 scripts/memcached.service "$DESTDIR$PREFIX"/lib/systemd/system/memcached.service
+post-install-commands:
+- mkdir -p "$DESTDIR"/etc/sysconfig
+- |
+ cat <<EOF > "$DESTDIR"/etc/sysconfig/memcached
+ PORT="11211"
+ USER="nobody"
+ MAXCONN="1024"
+ CACHESIZE="64"
+ OPTIONS=""
+ EOF
diff --git a/baserock/strata/databases/redis.morph b/baserock/strata/databases/redis.morph
new file mode 100644
index 00000000..51f602dd
--- /dev/null
+++ b/baserock/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/baserock/strata/devtools.morph b/baserock/strata/devtools.morph
new file mode 100644
index 00000000..7bc8b581
--- /dev/null
+++ b/baserock/strata/devtools.morph
@@ -0,0 +1,46 @@
+name: devtools
+kind: stratum
+description: |
+ Extra development tools included in the devel system, this stratum
+ is here to help reduce unnecessary building, chunks added to this
+ stratum should not have any dependants (please don't build-depend on this
+ stratum)
+build-depends:
+- morph: strata/core.morph
+- morph: strata/python-core.morph
+chunks:
+- name: nano
+ morph: strata/devtools/nano.morph
+ repo: upstream:nano-tarball
+ ref: fb040ea36cb8e2158ccd9100600652f94ae90af1
+ unpetrify-ref: baserock/morph
+- name: vim
+ morph: strata/devtools/vim.morph
+ repo: upstream:vim
+ ref: 07c2c06799e0579e6bfb1a7d98acf38e36a98f79
+ unpetrify-ref: baserock/morph
+- name: pv
+ repo: upstream:pv
+ ref: d6ce7cfec684fa72d7a919d7b1aa817a0ca6102a
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: screen
+ morph: strata/devtools/screen.morph
+ repo: upstream:screen
+ ref: 7dd4a9e5f385c96a77e8ee5c977a1dde4c0ff467
+ unpetrify-ref: baserock/morph
+- name: less
+ repo: upstream:less
+ ref: 09a405d8f652b56944c93ebf5c673cdfe5319b04
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: git-review
+ repo: upstream:git-review
+ ref: 79262a52301c146a6b60d09a828661a83a5f5ba7
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: wget
+ morph: strata/devtools/wget.morph
+ repo: upstream:wget
+ ref: 71d79f4f3043cf4ca3b2fb7f5328eae725c1293f
+ unpetrify-ref: baserock/v1.16.3
diff --git a/baserock/strata/devtools/nano.morph b/baserock/strata/devtools/nano.morph
new file mode 100644
index 00000000..3eeee120
--- /dev/null
+++ b/baserock/strata/devtools/nano.morph
@@ -0,0 +1,16 @@
+name: nano
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --sysconfdir=/etc
+post-install-commands:
+- |
+ cat <<EOF >> nanorc
+ set smooth
+ include /usr/share/nano/c.nanorc
+ include /usr/share/nano/patch.nanorc
+ include /usr/share/nano/python.nanorc
+ include /usr/share/nano/sh.nanorc
+ EOF
+- mkdir -p "$DESTDIR"/etc
+- install -m 644 nanorc "$DESTDIR"/etc/nanorc
diff --git a/baserock/strata/devtools/screen.morph b/baserock/strata/devtools/screen.morph
new file mode 100644
index 00000000..0b23c5d4
--- /dev/null
+++ b/baserock/strata/devtools/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/baserock/strata/devtools/vim.morph b/baserock/strata/devtools/vim.morph
new file mode 100644
index 00000000..58e1403f
--- /dev/null
+++ b/baserock/strata/devtools/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/baserock/strata/devtools/wget.morph b/baserock/strata/devtools/wget.morph
new file mode 100644
index 00000000..a3a7995a
--- /dev/null
+++ b/baserock/strata/devtools/wget.morph
@@ -0,0 +1,10 @@
+name: wget
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+# rsync is needed if we want the bootstrap script to download .po files,
+# we can't download into our chroot so we remove this dependency
+- sed -i '/^buildreq="/,/"/ { /^rsync.*/ d }' bootstrap.conf
+- ./bootstrap --no-bootstrap-sync --skip-po
+configure-commands:
+- ./configure --prefix="$PREFIX" --with-ssl=openssl
diff --git a/baserock/strata/django.morph b/baserock/strata/django.morph
new file mode 100644
index 00000000..7da11a9f
--- /dev/null
+++ b/baserock/strata/django.morph
@@ -0,0 +1,37 @@
+name: django
+kind: stratum
+description: Stratum with Django and its plugins and dependencies.
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/python-core.morph
+chunks:
+- name: django
+ repo: upstream:python-packages/django
+ ref: 811508b0512d3fa6b2328f8647fbf9eace68eceb
+ unpetrify-ref: 1.6.8
+ build-system: python-distutils
+- name: django-appconf
+ repo: upstream:python-packages/django-appconf
+ ref: 0c9835f95b44db1b3eb1a9409f95a3ecd63b8ff5
+ unpetrify-ref: 0.6
+ build-system: python-distutils
+- name: django-compressor
+ repo: upstream:python-packages/django-compressor
+ ref: e747dce3d7e04fe595bbfed54f9554c2725eb757
+ unpetrify-ref: 1.4
+ build-system: python-distutils
+ build-depends:
+ - django-appconf
+- name: pyscss
+ repo: upstream:python-packages/pyscss
+ ref: 85e8806e39e840c4402ee813c3e38fefaf9212b4
+ unpetrify-ref: 1.2.1
+ build-system: python-distutils
+- name: django-pyscss
+ repo: upstream:python-packages/django-pyscss
+ ref: 665270b54eea5de5aca379a78673b411ed6b1f04
+ unpetrify-ref: v1.0.6
+ build-system: python-distutils
+ build-depends:
+ - django
+ - pyscss
diff --git a/baserock/strata/docutils.morph b/baserock/strata/docutils.morph
new file mode 100644
index 00000000..4329bb42
--- /dev/null
+++ b/baserock/strata/docutils.morph
@@ -0,0 +1,52 @@
+name: docutils
+kind: stratum
+description: Stuff for generating documentation
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: xml-catalog
+ morph: strata/docutils/xml-catalog.morph
+ repo: baserock:baserock/xml-catalog
+ ref: 1d4a2abc875c4dda1b5eadc0a097a48a8d2ec82b
+ unpetrify-ref: master
+- name: docbook-xml
+ morph: strata/docutils/docbook-xml.morph
+ repo: upstream:docbook-xml
+ ref: c8f0ce32a8075e9ab21e5cf734fb96195455264d
+ unpetrify-ref: docbook-xml-4.5
+ build-depends:
+ # This is a little awkward, we don't really build-depend on xml-catalog,
+ # but if we don't include it as a build dependency
+ # then we won't have the existing xml catalog in our staging area
+ # which would cause this chunk to create a new catalog which would
+ # overwrite the catalog created by the 'xml-catalog' chunk.
+ #
+ # construction of the catalog cannot be done at system-integration time
+ # because we need the catalog *here* in order to build nasm complete with
+ # man pages.
+ - xml-catalog
+- name: docbook-xsl
+ morph: strata/docutils/docbook-xsl.morph
+ repo: upstream:docbook-xsl
+ ref: 802da9dd5d4bc18f46a916eedc0c5c1980a15e59
+ unpetrify-ref: docbook-xsl-1.78.1
+ build-depends:
+ # Same issue as above, except this time we don't want to overwrite
+ # the catalog that now contains the XML DTDs.
+ - docbook-xml
+- name: asciidoc
+ repo: upstream:asciidoc
+ ref: d3a6df0caa94edaf8180bd71bf2fc68390f56520
+ unpetrify-ref: 8.6.9
+ build-system: autotools
+ build-depends:
+ - docbook-xml
+ - docbook-xsl
+- name: xmlto
+ repo: upstream:xmlto-tarball
+ ref: 6a590aba95cbcce0f184381fb19d16558e56832d
+ unpetrify-ref: xmlto-0.0.26
+ build-system: autotools
+ build-depends:
+ - docbook-xml
+ - docbook-xsl
diff --git a/baserock/strata/docutils/docbook-xml.morph b/baserock/strata/docutils/docbook-xml.morph
new file mode 100644
index 00000000..91233b6d
--- /dev/null
+++ b/baserock/strata/docutils/docbook-xml.morph
@@ -0,0 +1,104 @@
+name: docbook-xml
+kind: chunk
+build-system: manual
+install-commands:
+- install -v -d -m755 "$DESTDIR$PREFIX/share/xml/docbook/xml-dtd-4.5"
+- install -v -d -m755 "$DESTDIR/etc/xml"
+- |
+ cp -v -af docbook.cat *.dtd ent/ *.mod \
+ "$DESTDIR$PREFIX/share/xml/docbook/xml-dtd-4.5"
+post-install-commands:
+- |
+ # Create (or update) and populate the "$DESTDIR/etc/xml/docbook" catalog file
+ if [ ! -e /etc/xml/docbook ]; then
+ xmlcatalog --noout --create "$DESTDIR/etc/xml/docbook"
+ else
+ # Copy the existing catalog so we can update it
+ cp /etc/xml/docbook "$DESTDIR/etc/xml/docbook"
+ fi
+
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML V4.5//EN" \
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "public" \
+ "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "rewriteSystem" \
+ "http://www.oasis-open.org/docbook/xml/4.5" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5" \
+ "$DESTDIR/etc/xml/docbook"
+- |
+ xmlcatalog --noout --add "rewriteURI" \
+ "http://www.oasis-open.org/docbook/xml/4.5" \
+ "file:///usr/share/xml/docbook/xml-dtd-4.5" \
+ "$DESTDIR/etc/xml/docbook"
+
+- |
+ # Create (or update) and populate the "$DESTDIR/etc/xml/catalog" catalog file
+ if [ ! -e /etc/xml/catalog ]; then
+ echo 'Creating new xml catalog'
+ xmlcatalog --noout --create "$DESTDIR/etc/xml/catalog"
+ else
+ # Copy the existing catalog so we can update it
+ cp /etc/xml/catalog "$DESTDIR/etc/xml/catalog"
+ fi
+
+- |
+ xmlcatalog --noout --add "delegatePublic" \
+ "-//OASIS//ENTITIES DocBook XML" \
+ "file:///etc/xml/docbook" \
+ "$DESTDIR/etc/xml/catalog"
+- |
+ xmlcatalog --noout --add "delegatePublic" \
+ "-//OASIS//DTD DocBook XML" \
+ "file:///etc/xml/docbook" \
+ "$DESTDIR/etc/xml/catalog"
+- |
+ xmlcatalog --noout --add "delegateSystem" \
+ "http://www.oasis-open.org/docbook/" \
+ "file:///etc/xml/docbook" \
+ "$DESTDIR/etc/xml/catalog"
+- |
+ xmlcatalog --noout --add "delegateURI" \
+ "http://www.oasis-open.org/docbook/" \
+ "file:///etc/xml/docbook" \
+ "$DESTDIR/etc/xml/catalog"
diff --git a/baserock/strata/docutils/docbook-xsl.morph b/baserock/strata/docutils/docbook-xsl.morph
new file mode 100644
index 00000000..b3bf396d
--- /dev/null
+++ b/baserock/strata/docutils/docbook-xsl.morph
@@ -0,0 +1,50 @@
+name: docbook-xsl
+kind: chunk
+install-commands:
+- install -v -m755 -d "$DESTDIR$PREFIX/share/xml/docbook/xsl-stylesheets-1.78.1"
+- |
+ cp -v -R VERSION common eclipse epub extensions fo highlighting html \
+ htmlhelp images javahelp lib manpages params profiling \
+ roundtrip slides template tests tools webhelp website \
+ xhtml xhtml-1_1 \
+ "$DESTDIR$PREFIX/share/xml/docbook/xsl-stylesheets-1.78.1"
+
+- ln -s VERSION "$DESTDIR$PREFIX/share/xml/docbook/xsl-stylesheets-1.78.1/VERSION.xsl"
+
+- install -v -m644 -D README "$DESTDIR$PREFIX/share/doc/docbook-xsl-1.78.1/README.txt"
+- |
+ install -v -m644 RELEASE-NOTES* NEWS* \
+ "$DESTDIR$PREFIX/share/doc/docbook-xsl-1.78.1"
+post-install-commands:
+- if [ ! -d "$DESTDIR/etc/xml" ]; then install -v -m755 -d "$DESTDIR/etc/xml"; fi
+- |
+ if [ ! -e /etc/xml/catalog ]; then
+ echo "Creating new xml catalog"
+ xmlcatalog --noout --create "$DESTDIR/etc/xml/catalog"
+ else
+ cp /etc/xml/catalog "$DESTDIR/etc/xml/catalog"
+ fi
+
+- |
+ xmlcatalog --noout --add "rewriteSystem" \
+ "http://docbook.sourceforge.net/release/xsl/1.78.1" \
+ "/usr/share/xml/docbook/xsl-stylesheets-1.78.1" \
+ "$DESTDIR/etc/xml/catalog"
+
+- |
+ xmlcatalog --noout --add "rewriteURI" \
+ "http://docbook.sourceforge.net/release/xsl/1.78.1" \
+ "/usr/share/xml/docbook/xsl-stylesheets-1.78.1" \
+ "$DESTDIR/etc/xml/catalog"
+
+- |
+ xmlcatalog --noout --add "rewriteSystem" \
+ "http://docbook.sourceforge.net/release/xsl/current" \
+ "/usr/share/xml/docbook/xsl-stylesheets-1.78.1" \
+ "$DESTDIR/etc/xml/catalog"
+
+- |
+ xmlcatalog --noout --add "rewriteURI" \
+ "http://docbook.sourceforge.net/release/xsl/current" \
+ "/usr/share/xml/docbook/xsl-stylesheets-1.78.1" \
+ "$DESTDIR/etc/xml/catalog"
diff --git a/baserock/strata/docutils/xml-catalog.morph b/baserock/strata/docutils/xml-catalog.morph
new file mode 100644
index 00000000..34ba0306
--- /dev/null
+++ b/baserock/strata/docutils/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/baserock/strata/enlightenment.morph b/baserock/strata/enlightenment.morph
new file mode 100644
index 00000000..cf3d0e8b
--- /dev/null
+++ b/baserock/strata/enlightenment.morph
@@ -0,0 +1,80 @@
+name: enlightenment
+kind: stratum
+description: Enlightenment Desktop and Window Manager
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/x-generic.morph
+- morph: strata/lua.morph
+- morph: strata/audio-bluetooth.morph
+- morph: strata/multimedia-gstreamer.morph
+- morph: strata/connman-common.morph
+chunks:
+- name: fribidi
+ repo: upstream:fribidi
+ ref: c9916f2ab289126a32febcc4754efc73a011fb0c
+ unpetrify-ref: baserock/morph/0.19.6
+ build-system: autotools
+- name: bullet3
+ morph: strata/enlightenment/bullet3.morph
+ repo: upstream:bullet3
+ ref: 940059ddb3c4476bb9860f79f35b0b1230857f54
+ unpetrify-ref: baserock/morph
+- name: efl
+ morph: strata/enlightenment/efl.morph
+ repo: upstream:enlightenment/efl
+ ref: 3013a7c5cbd728dd9bc5516ffb4bd4f505888bd4
+ unpetrify-ref: v1.12.0
+ build-depends:
+ - bullet3
+ - fribidi
+- name: elementary
+ morph: strata/enlightenment/elementary.morph
+ repo: upstream:enlightenment/elementary
+ ref: c4fbbbf984b7bd1553191c26459bce4589122ad5
+ unpetrify-ref: v1.12.0
+ build-depends:
+ - efl
+- name: evas_generic_loaders
+ morph: strata/enlightenment/evas_generic_loaders.morph
+ repo: upstream:enlightenment/evas_generic_loaders
+ ref: 5d4415ec1e64930452f7d17cbec4c28a0efa8402
+ unpetrify-ref: v1.12.0
+ build-depends:
+ - efl
+- name: enlightenment
+ morph: strata/enlightenment/enlightenment.morph
+ repo: upstream:enlightenment/enlightenment
+ ref: 55165e2576823780a1053b03c5230cc8df8957b5
+ unpetrify-ref: v0.19.1
+ build-depends:
+ - efl
+ - elementary
+- name: imlib2
+ morph: strata/enlightenment/imlib2.morph
+ repo: upstream:enlightenment/imlib2
+ ref: f2f20dc5791a175be398a17fcdc4852a79079d47
+ unpetrify-ref: baserock/1.4.6
+ build-depends:
+ - efl
+ - elementary
+ - enlightenment
+- name: libast
+ morph: strata/enlightenment/libast.morph
+ repo: upstream:enlightenment/libast
+ ref: 0dbc0a5df55474bf61ca166be40e8de2d9e3a031
+ build-depends:
+ - efl
+ - elementary
+ - enlightenment
+ - imlib2
+- name: eterm
+ morph: strata/enlightenment/eterm.morph
+ repo: upstream:enlightenment/eterm
+ ref: 097234f1f27709ff2444e303350764ea3b80b3ad
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - efl
+ - elementary
+ - enlightenment
+ - libast
+ - imlib2
diff --git a/baserock/strata/enlightenment/bullet3.morph b/baserock/strata/enlightenment/bullet3.morph
new file mode 100644
index 00000000..357e1f67
--- /dev/null
+++ b/baserock/strata/enlightenment/bullet3.morph
@@ -0,0 +1,8 @@
+name: bullet3
+kind: chunk
+configure-commands:
+- cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=ON
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/enlightenment/efl.morph b/baserock/strata/enlightenment/efl.morph
new file mode 100644
index 00000000..b2a013ae
--- /dev/null
+++ b/baserock/strata/enlightenment/efl.morph
@@ -0,0 +1,9 @@
+name: efl
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix=/usr --with-tests=none --disable-image-loader-gif --enable-systemd
+ --disable-image-loader-tiff
+build-commands:
+- make VPATH=/usr/lib64
+install-commands:
+- make DESTDIR="$DESTDIR" VPATH=/usr/lib64 install
diff --git a/baserock/strata/enlightenment/elementary.morph b/baserock/strata/enlightenment/elementary.morph
new file mode 100644
index 00000000..3c0bda0d
--- /dev/null
+++ b/baserock/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/baserock/strata/enlightenment/enlightenment.morph b/baserock/strata/enlightenment/enlightenment.morph
new file mode 100644
index 00000000..90f0c646
--- /dev/null
+++ b/baserock/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/baserock/strata/enlightenment/eterm.morph b/baserock/strata/enlightenment/eterm.morph
new file mode 100644
index 00000000..9a98d193
--- /dev/null
+++ b/baserock/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/baserock/strata/enlightenment/evas_generic_loaders.morph b/baserock/strata/enlightenment/evas_generic_loaders.morph
new file mode 100644
index 00000000..ef36a40b
--- /dev/null
+++ b/baserock/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/baserock/strata/enlightenment/imlib2.morph b/baserock/strata/enlightenment/imlib2.morph
new file mode 100644
index 00000000..82617ad2
--- /dev/null
+++ b/baserock/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/baserock/strata/enlightenment/libast.morph b/baserock/strata/enlightenment/libast.morph
new file mode 100644
index 00000000..c44e274c
--- /dev/null
+++ b/baserock/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/baserock/strata/erlang.morph b/baserock/strata/erlang.morph
new file mode 100644
index 00000000..e9e61bea
--- /dev/null
+++ b/baserock/strata/erlang.morph
@@ -0,0 +1,18 @@
+name: erlang
+kind: stratum
+description: stratum for erlang/otp and stuff
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: erlang
+ morph: strata/erlang/erlang.morph
+ repo: upstream:erlang
+ ref: 9417f044ee3c291c2ea343c203aebdcc40597226
+ unpetrify-ref: OTP-17.3.4
+- name: rebar
+ morph: strata/erlang/rebar.morph
+ repo: upstream:erlang-modules/rebar
+ ref: d42ed4683576d995f60e3222f076e99f0b081f79
+ unpretrify-ref: master
+ build-depends:
+ - erlang
diff --git a/baserock/strata/erlang/erlang.morph b/baserock/strata/erlang/erlang.morph
new file mode 100644
index 00000000..feaf04f1
--- /dev/null
+++ b/baserock/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/baserock/strata/erlang/rebar.morph b/baserock/strata/erlang/rebar.morph
new file mode 100644
index 00000000..fa5fd64f
--- /dev/null
+++ b/baserock/strata/erlang/rebar.morph
@@ -0,0 +1,6 @@
+name: rebar
+kind: chunk
+build-commands:
+- ./bootstrap
+install-commands:
+- install -D -m 755 rebar "$DESTDIR$PREFIX"/bin/rebar
diff --git a/baserock/strata/foundation.morph b/baserock/strata/foundation.morph
new file mode 100644
index 00000000..ff18e4e7
--- /dev/null
+++ b/baserock/strata/foundation.morph
@@ -0,0 +1,111 @@
+name: foundation
+kind: stratum
+description: Basic userland runtime system
+build-depends:
+- morph: strata/coreutils-common.morph
+chunks:
+- name: bash-completion
+ repo: upstream:bash-completion
+ ref: 3085c7e12179817a02a611016606391295c69942
+ unpetrify-ref: 2.1
+ build-system: autotools
+- name: groff
+ morph: strata/foundation/groff.morph
+ repo: upstream:groff-git
+ ref: 16305a24e67966ace06d55e2a0b98cc0e3127a93
+ unpetrify-ref: 1.22.3
+- name: kmod
+ morph: strata/foundation/kmod.morph
+ repo: upstream:kmod
+ ref: ae58de0fcb4a6528dd365e23d383bbe2eaf2d566
+ unpetrify-ref: v18
+- name: time-zone-database
+ morph: strata/foundation/time-zone-database.morph
+ repo: upstream:tz
+ ref: a0782484f101ac55c916568bc1c490d7761fc904
+ unpetrify-ref: 2015a
+- name: pciutils
+ morph: strata/foundation/pciutils.morph
+ repo: upstream:pciutils
+ ref: bae04bd0473c68a2f21b7712a627abb08fd84b29
+ unpetrify-ref: baserock/morph
+- name: dbus-pre
+ morph: strata/foundation/dbus-pre.morph
+ repo: upstream:dbus
+ ref: 6b265f7e2ce10e69a07d4a6bc4ec2746fb032135
+ unpetrify-ref: baserock/v1.10.0+custom_marshaling
+- name: libgpg-error
+ morph: strata/foundation/libgpg-error.morph
+ repo: upstream:libgpg-error
+ ref: d77c33ae608d67086ea057cca5ddee99a7202f8b
+ unpetrify-ref: libgpg-error-1.19
+- name: libgcrypt
+ repo: upstream:libgcrypt
+ ref: 412eed473b557ed2172d81d76fa1e1f53c973a67
+ build-system: autotools
+ build-depends:
+ - libgpg-error
+- name: systemd
+ morph: strata/foundation/systemd.morph
+ repo: upstream:systemd
+ ref: e1439a1472c5f691733b8ef10e702beac2496a63
+ unpetrify-ref: v225
+ build-depends:
+ - dbus-pre
+ - kmod
+ - libgcrypt
+- name: libusb
+ repo: upstream:libusb
+ ref: e11525c66c7dd2db466c8f5785ff0b37d6a99ec9
+ unpetrify-ref: v1.0.19
+ build-system: autotools
+ build-depends:
+ - systemd
+- name: usbutils
+ repo: upstream:usbutils
+ ref: c37f146eb2c6642c600f1b025a6d56996b0697ff
+ unpetrify-ref: baserock/v008
+ build-system: autotools
+ build-depends:
+ - libusb
+- name: lzo
+ morph: strata/foundation/lzo.morph
+ repo: upstream:lzo
+ ref: 5cca83e4d1b0be5825a597ab24ffa6126dc0bc95
+ unpetrify-ref: lzo-2.08
+- name: fuse
+ morph: strata/foundation/fuse.morph
+ repo: upstream:fuse
+ ref: d69e627e79862e2df4ff9ff1ddb0363c4520d8a8
+ unpetrify-ref: baserock/morph
+- name: btrfs-progs
+ morph: strata/foundation/btrfs-progs.morph
+ repo: upstream:btrfs-progs
+ ref: 19a806f575cd010734fa5793c4b3bfb49926dc62
+ unpetrify-ref: v4.0
+ build-depends:
+ - lzo
+- name: dbus
+ morph: strata/foundation/dbus.morph
+ repo: upstream:dbus
+ ref: 6b265f7e2ce10e69a07d4a6bc4ec2746fb032135
+ unpetrify-ref: baserock/v1.10.0+custom_marshaling
+ build-depends:
+ - systemd
+- name: openssh
+ morph: strata/foundation/openssh.morph
+ repo: upstream:openssh-git
+ ref: 782fe9e725243eeb5ad6ab9a1783b5d6bedfe0d7
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - groff
+- name: tbdiff
+ morph: strata/foundation/tbdiff.morph
+ repo: baserock:baserock/tbdiff
+ ref: 235e95c3479f96b04d33edecc684f985bda50e53
+ unpetrify-ref: master
+- name: rsync
+ morph: strata/foundation/rsync.morph
+ repo: upstream:rsync
+ ref: 7cb0de6326c915a72253fd103dae93308031ec3f
+ unpetrify-ref: v3.1.1
diff --git a/baserock/strata/foundation/btrfs-progs.morph b/baserock/strata/foundation/btrfs-progs.morph
new file mode 100644
index 00000000..807a115f
--- /dev/null
+++ b/baserock/strata/foundation/btrfs-progs.morph
@@ -0,0 +1,8 @@
+name: btrfs-progs
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./autogen.sh
+configure-commands:
+# The change in the CFLAGS is needed to make the compilation succeed in armv5l
+- export CFLAGS="-O2 $CFLAGS"; ./configure --prefix="$PREFIX" --disable-documentation
diff --git a/baserock/strata/foundation/dbus-pre.morph b/baserock/strata/foundation/dbus-pre.morph
new file mode 100644
index 00000000..3ec008bf
--- /dev/null
+++ b/baserock/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/baserock/strata/foundation/dbus.morph b/baserock/strata/foundation/dbus.morph
new file mode 100644
index 00000000..23840ce1
--- /dev/null
+++ b/baserock/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 --enable-user-session
+build-commands:
+- make XMLTO_OUTPUT=
+install-commands:
+- make XMLTO_OUTPUT= DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/foundation/fuse.morph b/baserock/strata/foundation/fuse.morph
new file mode 100644
index 00000000..5d431307
--- /dev/null
+++ b/baserock/strata/foundation/fuse.morph
@@ -0,0 +1,5 @@
+name: fuse
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./makeconf.sh
diff --git a/baserock/strata/foundation/groff.morph b/baserock/strata/foundation/groff.morph
new file mode 100644
index 00000000..8380a9cc
--- /dev/null
+++ b/baserock/strata/foundation/groff.morph
@@ -0,0 +1,13 @@
+name: groff
+kind: chunk
+max-jobs: 1
+configure-commands:
+- PAGE=A4 ./configure --prefix="$PREFIX"
+build-commands:
+# hack to avoid a netpbm dependency
+- touch doc/gnu.eps
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- ln -s eqn "$DESTDIR$PREFIX/bin/geqn"
+- ln -s tbl "$DESTDIR$PREFIX/bin/gtbl"
diff --git a/baserock/strata/foundation/kmod.morph b/baserock/strata/foundation/kmod.morph
new file mode 100644
index 00000000..8f158e8e
--- /dev/null
+++ b/baserock/strata/foundation/kmod.morph
@@ -0,0 +1,49 @@
+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="$PREFIX" --bindir="$PREFIX"/bin \
+ --libdir="$PREFIX"/lib --sysconfdir=/etc \
+ --without-xz --with-zlib \
+ --disable-manpages --enable-python
+build-commands:
+- make
+install-commands:
+- make DESTDIR="$DESTDIR" pkgconfigdir="$PREFIX"/lib/pkgconfig install
+
+# WARNING with the following command:
+# if the staging area when kmod is built is sufficiently different to the
+# staging area that kmod is included in, then these symlinks may not work.
+#
+# i.e. if /sbin isn't a symlink when this is built (fhs-dirs isn't included or
+# doesn't symlink /sbin to /usr/bin) then we get symlinks in /sbin which point
+# to ../usr/bin, but if /sbin is itself a symlink to /usr/bin, then the symlinks
+# would end up in /usr/bin, which would point to ../usr/bin, which would evaluate
+# to /usr/usr/bin.
+#
+# The alternatives to this are:
+#
+# 1. Use hardlinks instead, which has the problem of ssh-rsync upgrades duplicating
+# the binary
+#
+# 2. Use an absolute path for the symlink, which makes things interesting when
+# inspecting a chroot
+#
+# 3. Use a wrapper script to invoke kmod with a different name, which isn't
+# possible in busybox ash without making a temporary directory, which means
+# you need an extra process to hang around to clean that directory up.
+- |
+ if [ -h /sbin ]; then
+ for app in modprobe lsmod rmmod insmod modinfo depmod; do
+ ln -sf kmod "$DESTDIR$PREFIX/bin/$app"
+ done
+ else
+ install -d "$DESTDIR"/sbin
+ for app in modprobe lsmod rmmod insmod modinfo depmod; do
+ ln -sf ../"$PREFIX"/bin/kmod "$DESTDIR/sbin/$app"
+ done
+ fi
diff --git a/baserock/strata/foundation/libgpg-error.morph b/baserock/strata/foundation/libgpg-error.morph
new file mode 100644
index 00000000..bc8dcdab
--- /dev/null
+++ b/baserock/strata/foundation/libgpg-error.morph
@@ -0,0 +1,7 @@
+name: libgpg-error
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- autoreconf -fi
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-doc
diff --git a/baserock/strata/foundation/lzo.morph b/baserock/strata/foundation/lzo.morph
new file mode 100644
index 00000000..a1a7bbc7
--- /dev/null
+++ b/baserock/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/baserock/strata/foundation/openssh.morph b/baserock/strata/foundation/openssh.morph
new file mode 100644
index 00000000..6c759cb0
--- /dev/null
+++ b/baserock/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/baserock/strata/foundation/pciutils.morph b/baserock/strata/foundation/pciutils.morph
new file mode 100644
index 00000000..03bd4a23
--- /dev/null
+++ b/baserock/strata/foundation/pciutils.morph
@@ -0,0 +1,11 @@
+name: pciutils
+kind: chunk
+configure-commands:
+- make PREFIX="$PREFIX" ZLIB=no lib/config.mk
+- echo PREFIX="$PREFIX" >>lib/config.mk
+- echo MANDIR="$PREFIX/share/man" >>lib/config.mk # ensure manpages are always installed in share/man
+build-commands:
+- make PREFIX="$PREFIX"
+install-commands:
+- make PREFIX="$PREFIX" DESTDIR="$DESTDIR" install
+- make PREFIX="$PREFIX" DESTDIR="$DESTDIR" install-lib
diff --git a/baserock/strata/foundation/rsync.morph b/baserock/strata/foundation/rsync.morph
new file mode 100644
index 00000000..54337412
--- /dev/null
+++ b/baserock/strata/foundation/rsync.morph
@@ -0,0 +1,9 @@
+name: rsync
+kind: chunk
+build-system: autotools
+build-commands:
+- make proto
+- make
+install-commands:
+- make install
+- install -D -m 644 packaging/systemd/rsync.service "$DESTDIR$PREFIX"/lib/systemd/system/rsync.service
diff --git a/baserock/strata/foundation/systemd.morph b/baserock/strata/foundation/systemd.morph
new file mode 100644
index 00000000..4c62d617
--- /dev/null
+++ b/baserock/strata/foundation/systemd.morph
@@ -0,0 +1,38 @@
+name: systemd
+kind: chunk
+build-system: autotools
+configure-commands:
+- sh autogen.sh
+# KILL added because it picks up /usr/bin/kill, which is not installed on
+# all systems
+- |
+ KILL=/bin/kill ./configure --prefix="$PREFIX" --enable-xz --disable-manpages \
+ --disable-tests --sysconfdir=/etc --localstatedir=/var \
+ --libdir="$PREFIX/lib" --libexecdir="$PREFIX/libexec" \
+ --with-rootprefix= --with-rootlibdir=/lib
+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
+- 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"
+post-install-commands:
+- |
+ cat > "$DESTDIR/etc/systemd/network/10-dhcp.network" << "EOF"
+ [Match]
+ Name=e*
+
+ [Network]
+ DHCP=yes
+ EOF
+# Use the pam config systemd provides
+- cp -a "$DESTDIR/$PREFIX"/share/factory/etc/pam.d/* "$DESTDIR/etc/pam.d"
+
+# Add pam_deny.so to the default systemd-auth pam.d config file. Without
+# it, if shadow is configured to use PAM, it would be possible to login
+# to a system with the wrong password.
+- echo 'auth requisite pam_deny.so' >> "$DESTDIR"/etc/pam.d/system-auth
diff --git a/baserock/strata/foundation/tbdiff.morph b/baserock/strata/foundation/tbdiff.morph
new file mode 100644
index 00000000..a907a109
--- /dev/null
+++ b/baserock/strata/foundation/tbdiff.morph
@@ -0,0 +1,3 @@
+name: tbdiff
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/foundation/time-zone-database.morph b/baserock/strata/foundation/time-zone-database.morph
new file mode 100644
index 00000000..701d781a
--- /dev/null
+++ b/baserock/strata/foundation/time-zone-database.morph
@@ -0,0 +1,11 @@
+name: time-zone-database
+kind: chunk
+description: |
+ Time zone database.
+build-system: manual
+install-commands:
+# ETCDIR is actually where the 'tzselect', 'zdump' and 'zic' commands get
+# installed. Note that tzselect from this chunk will overlap with and override
+# the tzselect binary from GLIBC.
+- make TOPDIR="$PREFIX" ETCDIR="$PREFIX/bin" TZDIR="$PREFIX/share/zoneinfo" DESTDIR="$DESTDIR"
+ install
diff --git a/baserock/strata/genivi.morph b/baserock/strata/genivi.morph
new file mode 100644
index 00000000..1d8889fe
--- /dev/null
+++ b/baserock/strata/genivi.morph
@@ -0,0 +1,113 @@
+name: genivi
+kind: stratum
+description: Software components designed by genivi, for genivi.
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/audio-bluetooth.morph
+chunks:
+- name: linuxquota
+ morph: strata/genivi/linuxquota.morph
+ repo: upstream:linuxquota
+ ref: 0804c89a16736533e440771dc42a15e5d0223902
+ unpetrify-ref: baserock/genivi/morph
+- name: DLT-daemon
+ morph: strata/genivi/DLT-daemon.morph
+ repo: upstream:DLT-daemon
+ ref: 8b48e73f79b4463393916e4c6696917e3dedd026
+ unpetrify-ref: v2.10.0
+- name: node-startup-controller
+ morph: strata/genivi/node-startup-controller.morph
+ repo: upstream:node-startup-controller
+ ref: b77fb1dbb280ec45525853e52a362eafd736b400
+ unpetrify-ref: baserock/systemd_v216
+ build-depends:
+ - DLT-daemon
+- name: googletest
+ morph: strata/genivi/googletest.morph
+ repo: upstream:googletest
+ ref: 5e3f7d3db4c16e2ba8b42b0bf4689f7d2abbcb08
+ unpetrify-ref: baserock/morph
+- name: googlemock
+ morph: strata/genivi/googlemock.morph
+ repo: upstream:googlemock
+ ref: 0e9998c140079046c396a0e7033bb465abae79cd
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - googletest
+- name: genivi-common-api-runtime
+ morph: strata/genivi/genivi-common-api-runtime.morph
+ repo: upstream:genivi-common-api-runtime
+ ref: 56d1059459c24971bcbf45adef60f6dfd0b44667
+ unpetrify-ref: 3.1.2p1
+- name: genivi-common-api-dbus-runtime
+ morph: strata/genivi/genivi-common-api-dbus-runtime.morph
+ repo: upstream:genivi-common-api-dbus-runtime
+ ref: 49d0b428ca19852d49965f35328a314f22d88807
+ unpetrify-ref: 3.1.2
+ build-depends:
+ - genivi-common-api-runtime
+- name: audiomanager
+ repo: upstream:audiomanager
+ ref: 8725157e248c6706de59a02996f869b6ccdccb13
+ unpetrify-ref: '7.0'
+ build-system: cmake
+ build-depends:
+ - DLT-daemon
+ - googletest
+ - googlemock
+ - 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
+- name: persistence-common-object
+ morph: strata/genivi/persistence-common-object.morph
+ repo: upstream:genivi/persistence-common-object
+ ref: dc46126214022d068729f7ccd47415dc5f86f425
+ unpetrify-ref: baserock/1.0.2
+ build-depends:
+ - itzam-tarball
+ - DLT-daemon
+- name: persistence-client-library
+ morph: strata/genivi/persistence-client-library.morph
+ repo: upstream:genivi/persistence-client-library
+ ref: 39c68df2a9ee0b089212855f64a61fbd671b1a80
+ unpetrify-ref: baserock/v1.0.0
+ build-depends:
+ - persistence-common-object
+ - DLT-daemon
+ - itzam-tarball
+- name: node-state-manager
+ repo: upstream:node-state-manager
+ ref: 30add4659e002f1df205cc36f71ef3141c10c1fb
+ unpetrify-ref: baserock/systemd_v216
+ build-system: autotools
+ build-depends:
+ - DLT-daemon
+ - persistence-client-library
+- name: libarchive
+ morph: strata/genivi/libarchive.morph
+ repo: upstream:libarchive
+ ref: 19f23e191f9d3e1dd2a518735046100419965804
+ unpetrify-ref: v3.1.2
+- name: persistence-administrator
+ morph: strata/genivi/persistence-administrator.morph
+ repo: upstream:genivi/persistence-administrator
+ ref: f9d62e70237c05323cbd60f1d5c7b574fbc2de43
+ unpetrify-ref: baserock/1.0.5
+ build-depends:
+ - persistence-common-object
+ - DLT-daemon
+ - libarchive
+ - node-state-manager
+- name: node-health-monitor
+ repo: upstream:genivi/node-health-monitor
+ ref: 61f88bc9fc03c278664e05431ffb5933ff6007f1
+ unpetrify-ref: baserock/1.3.5
+ build-system: autotools
+ build-depends:
+ - node-state-manager
+ - persistence-client-library
+ - DLT-daemon
diff --git a/baserock/strata/genivi/DLT-daemon.morph b/baserock/strata/genivi/DLT-daemon.morph
new file mode 100644
index 00000000..d16c42ea
--- /dev/null
+++ b/baserock/strata/genivi/DLT-daemon.morph
@@ -0,0 +1,5 @@
+name: DLT-daemon
+kind: chunk
+build-system: cmake
+configure-commands:
+- cmake -DCMAKE_INSTALL_PREFIX="$PREFIX" -DWITH_SYSTEMD=ON
diff --git a/baserock/strata/genivi/genivi-common-api-dbus-runtime.morph b/baserock/strata/genivi/genivi-common-api-dbus-runtime.morph
new file mode 100644
index 00000000..fa8742a0
--- /dev/null
+++ b/baserock/strata/genivi/genivi-common-api-dbus-runtime.morph
@@ -0,0 +1,3 @@
+name: genivi-common-api-dbus-runtime
+kind: chunk
+build-system: cmake
diff --git a/baserock/strata/genivi/genivi-common-api-runtime.morph b/baserock/strata/genivi/genivi-common-api-runtime.morph
new file mode 100644
index 00000000..1c4a66c2
--- /dev/null
+++ b/baserock/strata/genivi/genivi-common-api-runtime.morph
@@ -0,0 +1,3 @@
+name: genivi-common-api-runtime
+kind: chunk
+build-system: cmake
diff --git a/baserock/strata/genivi/googlemock.morph b/baserock/strata/genivi/googlemock.morph
new file mode 100644
index 00000000..b3eaa952
--- /dev/null
+++ b/baserock/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/baserock/strata/genivi/googletest.morph b/baserock/strata/genivi/googletest.morph
new file mode 100644
index 00000000..7723c721
--- /dev/null
+++ b/baserock/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/baserock/strata/genivi/itzam-tarball.morph b/baserock/strata/genivi/itzam-tarball.morph
new file mode 100644
index 00000000..eaf2db61
--- /dev/null
+++ b/baserock/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/baserock/strata/genivi/libarchive.morph b/baserock/strata/genivi/libarchive.morph
new file mode 100644
index 00000000..bf840f58
--- /dev/null
+++ b/baserock/strata/genivi/libarchive.morph
@@ -0,0 +1,6 @@
+name: libarchive
+kind: chunk
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX" --disable-acl
diff --git a/baserock/strata/genivi/linuxquota.morph b/baserock/strata/genivi/linuxquota.morph
new file mode 100644
index 00000000..826696ad
--- /dev/null
+++ b/baserock/strata/genivi/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/baserock/strata/genivi/node-startup-controller.morph b/baserock/strata/genivi/node-startup-controller.morph
new file mode 100644
index 00000000..d3d6dc77
--- /dev/null
+++ b/baserock/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/baserock/strata/genivi/persistence-administrator.morph b/baserock/strata/genivi/persistence-administrator.morph
new file mode 100644
index 00000000..f4fd07a5
--- /dev/null
+++ b/baserock/strata/genivi/persistence-administrator.morph
@@ -0,0 +1,5 @@
+name: persistence-administrator
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- chmod +x autogen.sh
diff --git a/baserock/strata/genivi/persistence-client-library.morph b/baserock/strata/genivi/persistence-client-library.morph
new file mode 100644
index 00000000..6ea6aef2
--- /dev/null
+++ b/baserock/strata/genivi/persistence-client-library.morph
@@ -0,0 +1,6 @@
+name: persistence-client-library
+kind: chunk
+build-system: autotools
+configure-commands:
+- autoreconf -ivf
+- ./configure --prefix="$PREFIX" --disable-werror
diff --git a/baserock/strata/genivi/persistence-common-object.morph b/baserock/strata/genivi/persistence-common-object.morph
new file mode 100644
index 00000000..179a6031
--- /dev/null
+++ b/baserock/strata/genivi/persistence-common-object.morph
@@ -0,0 +1,5 @@
+name: persistence-common-object
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- chmod +x autogen.sh
diff --git a/baserock/strata/glib-common.morph b/baserock/strata/glib-common.morph
new file mode 100644
index 00000000..09c88dfe
--- /dev/null
+++ b/baserock/strata/glib-common.morph
@@ -0,0 +1,28 @@
+name: glib-common
+kind: stratum
+description: GLib and dependencies
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: gtk-doc-stub
+ repo: upstream:gtk-doc-stub
+ ref: 58ec0d8593541ef7ae522ce42ebec6f98536c4e0
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: gnome-common
+ repo: upstream:gnome-common
+ ref: 5d61b55e8bea32fe2b52e21682ee4b3719b290c5
+ unpetrify-ref: 3.14.0
+ build-system: autotools
+- name: glib
+ repo: upstream:glib
+ ref: 966ffb16f6bd54cb3d928a55d00d0eda73592094
+ unpetrify-ref: 2.44.0
+ build-system: autotools
+- name: gobject-introspection
+ repo: upstream:gobject-introspection
+ ref: c0243e116c5e261c262dded9f4d7726a770c5a19
+ unpetrify-ref: GOBJECT_INTROSPECTION_1_44_0
+ build-system: autotools
+ build-depends:
+ - glib
diff --git a/baserock/strata/graphics-common.morph b/baserock/strata/graphics-common.morph
new file mode 100644
index 00000000..3c35bb8c
--- /dev/null
+++ b/baserock/strata/graphics-common.morph
@@ -0,0 +1,61 @@
+name: graphics-common
+kind: stratum
+build-depends:
+- morph: strata/glib-common.morph
+- morph: strata/mesa-common.morph
+- morph: strata/x-common.morph
+chunks:
+- name: pixman
+ morph: strata/graphics-common/pixman.morph
+ repo: upstream:pixman
+ ref: 87eea99e443b389c978cf37efc52788bf03a0ee0
+ unpetrify-ref: pixman-0.32.6
+- name: freetype2
+ repo: upstream:freetype2
+ ref: ec8853cd18e1a0c275372769bdad37a79550ed66
+ unpetrify-ref: VER-2-5-3
+ build-system: autotools
+- name: fontconfig
+ repo: upstream:fontconfig
+ ref: 9260b7ec39c34ce68d74e16d47917290a8c3f35a
+ unpetrify-ref: 2.11.1
+ build-system: autotools
+ build-depends:
+ - freetype2
+- name: freefont-otf
+ morph: strata/graphics-common/freefont-otf.morph
+ repo: upstream:freefont-otf
+ ref: 75fa95a912718bb94a135d4bf6b13bb38e186ce7
+ unpetrify-ref: baserock/morph
+- name: libpng
+ repo: upstream:libpng
+ ref: 88dd30b232362b65cca374dda39096888163dd6b
+ unpetrify-ref: libpng-1.6.16-signed
+ build-system: autotools
+- name: libjpeg
+ repo: upstream:libjpeg
+ ref: f57ac58ac664ede6bc6e8cd9d88e0edaa366e21a
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: libtiff
+ repo: upstream:libtiff
+ ref: 2f83c385ff3d5493602308b62ca6d7707725b4fd
+ unpetrify-ref: Release-v4-0-3
+ build-system: autotools
+- name: cairo
+ morph: strata/graphics-common/cairo.morph
+ repo: upstream:cairo
+ ref: f6fd372a8b31a0bebbdfe36090d6ffc7bab9a2f8
+ unpetrify-ref: 1.14.0
+ build-depends:
+ - fontconfig
+ - freetype2
+ - pixman
+ - libpng
+- name: harfbuzz
+ repo: upstream:harfbuzz
+ ref: 09b5393874e56fcfd63a92d28e6c1c2ddeee0942
+ unpetrify-ref: baserock/0.9.12
+ build-system: autotools
+ build-depends:
+ - freetype2
diff --git a/baserock/strata/graphics-common/cairo.morph b/baserock/strata/graphics-common/cairo.morph
new file mode 100644
index 00000000..f91ac385
--- /dev/null
+++ b/baserock/strata/graphics-common/cairo.morph
@@ -0,0 +1,5 @@
+name: cairo
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-glesv2
diff --git a/baserock/strata/graphics-common/freefont-otf.morph b/baserock/strata/graphics-common/freefont-otf.morph
new file mode 100644
index 00000000..f021480d
--- /dev/null
+++ b/baserock/strata/graphics-common/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/baserock/strata/graphics-common/pixman.morph b/baserock/strata/graphics-common/pixman.morph
new file mode 100644
index 00000000..d09b3df3
--- /dev/null
+++ b/baserock/strata/graphics-common/pixman.morph
@@ -0,0 +1,5 @@
+name: pixman
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-arm-iwmmxt --disable-arm-iwmmxt2
diff --git a/baserock/strata/gtk-deps.morph b/baserock/strata/gtk-deps.morph
new file mode 100644
index 00000000..b400b30b
--- /dev/null
+++ b/baserock/strata/gtk-deps.morph
@@ -0,0 +1,55 @@
+name: gtk-deps
+kind: stratum
+description: the GTK+ dependencies stratum
+build-depends:
+- morph: strata/core.morph
+- morph: strata/graphics-common.morph
+- morph: strata/x-common.morph
+chunks:
+- name: pango
+ morph: strata/gtk-deps/pango.morph
+ repo: upstream:pango
+ ref: e0a21abf52a0b7588b1aa3357818948816ed9103
+ unpetrify-ref: 1.36.8
+- name: shared-mime-info
+ morph: strata/gtk-deps/shared-mime-info.morph
+ repo: upstream:shared-mime-info
+ ref: c136fc2578aa8f7c0e098008da18d324033eb991
+ unpetrify-ref: Release-1-4
+- name: gdk-pixbuf
+ morph: strata/gtk-deps/gdk-pixbuf.morph
+ repo: upstream:gdk-pixbuf
+ ref: b86959aa16e9d49ec6e286bc57d36c5249578c59
+ unpetrify-ref: 2.30.8
+- name: atk
+ repo: upstream:atk
+ ref: 3f9e43b94364053fd16eb53391667d161d0dae12
+ unpetrify-ref: ATK_2_16_0
+ build-system: autotools
+- name: at-spi2-core
+ repo: upstream:at-spi2-core
+ ref: 96c2842088008670e72739ea7921d654487a57fb
+ unpetrify-ref: AT_SPI2_CORE_2_14_1
+ build-system: autotools
+- name: at-spi2-atk
+ repo: upstream:at-spi2-atk
+ ref: 2c220ff6565c4f02428a0c80267616a677e81ac9
+ unpetrify-ref: AT_SPI2_ATK_2_14_1
+ build-system: autotools
+ build-depends:
+ - at-spi2-core
+ - atk
+- name: libcroco
+ repo: upstream:libcroco
+ ref: 9207f349d1c97618ab38e6b095207bbd8184d844
+ unpetrify-ref: 0.6.8-30-g9207f34
+ build-system: autotools
+- name: librsvg
+ repo: upstream:librsvg
+ ref: 25d5f8b7076535fecb972d6454807ba56452991a
+ unpetrify-ref: 2.40.10
+ build-system: autotools
+ build-depends:
+ - gdk-pixbuf
+ - libcroco
+ - pango
diff --git a/baserock/strata/gtk-deps/gdk-pixbuf.morph b/baserock/strata/gtk-deps/gdk-pixbuf.morph
new file mode 100644
index 00000000..c89c75c8
--- /dev/null
+++ b/baserock/strata/gtk-deps/gdk-pixbuf.morph
@@ -0,0 +1,6 @@
+name: gdk-pixbuf
+kind: chunk
+build-system: autotools
+install-commands:
+- make DESTDIR=$DESTDIR install
+- LD_LIBRARY_PATH=$DESTDIR/usr/lib $DESTDIR/usr/bin/gdk-pixbuf-query-loaders > $DESTDIR/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
diff --git a/baserock/strata/gtk-deps/pango.morph b/baserock/strata/gtk-deps/pango.morph
new file mode 100644
index 00000000..82b00ee3
--- /dev/null
+++ b/baserock/strata/gtk-deps/pango.morph
@@ -0,0 +1,8 @@
+name: pango
+kind: chunk
+build-system: autotools
+system-integration:
+ pango-misc:
+ 01-setup-modules:
+ - mkdir -p /usr/etc/pango/
+ - /usr/bin/pango-querymodules > /usr/etc/pango/pango.modules
diff --git a/baserock/strata/gtk-deps/shared-mime-info.morph b/baserock/strata/gtk-deps/shared-mime-info.morph
new file mode 100644
index 00000000..e155fde0
--- /dev/null
+++ b/baserock/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/baserock/strata/gtk2.morph b/baserock/strata/gtk2.morph
new file mode 100644
index 00000000..4c8db88a
--- /dev/null
+++ b/baserock/strata/gtk2.morph
@@ -0,0 +1,12 @@
+name: gtk2
+kind: stratum
+description: the gtk2 stratum
+build-depends:
+- morph: strata/gtk-deps.morph
+- morph: strata/x-common.morph
+chunks:
+- name: gtk+
+ morph: strata/gtk2/gtk+.morph
+ repo: upstream:gtk+
+ ref: b5b055721378ffe0269613e49ab5741a315eeb00
+ unpetrify-ref: 2.24.28
diff --git a/baserock/strata/gtk2/gtk+.morph b/baserock/strata/gtk2/gtk+.morph
new file mode 100644
index 00000000..abbf2510
--- /dev/null
+++ b/baserock/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/baserock/strata/gtk3.morph b/baserock/strata/gtk3.morph
new file mode 100644
index 00000000..9d3dde6f
--- /dev/null
+++ b/baserock/strata/gtk3.morph
@@ -0,0 +1,19 @@
+name: gtk3
+kind: stratum
+description: the gtk3 stratum
+build-depends:
+- morph: strata/gtk-deps.morph
+- morph: strata/wayland-generic.morph
+chunks:
+- name: libepoxy
+ repo: upstream:libepoxy
+ ref: 7422de5b4be7b19d789136b3bb5f932de42db27c
+ unpetrify-ref: v1.2
+ build-system: autotools
+- name: gtk3
+ morph: strata/gtk3/gtk3.morph
+ repo: upstream:gtk+
+ ref: a816ccd4968f1e221b92bfd1e2b2dc27703d6db5
+ unpetrify-ref: 3.16.0
+ build-depends:
+ - libepoxy
diff --git a/baserock/strata/gtk3/gtk3.morph b/baserock/strata/gtk3/gtk3.morph
new file mode 100644
index 00000000..4542dc15
--- /dev/null
+++ b/baserock/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" --enable-wayland-backend
+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/baserock/strata/initramfs-utils.morph b/baserock/strata/initramfs-utils.morph
new file mode 100644
index 00000000..ac094004
--- /dev/null
+++ b/baserock/strata/initramfs-utils.morph
@@ -0,0 +1,11 @@
+name: initramfs-utils
+kind: stratum
+description: stratum for initramfs
+build-depends:
+- morph: strata/build-essential.morph
+chunks:
+- name: initramfs-scripts
+ morph: strata/initramfs-utils/initramfs-scripts.morph
+ repo: baserock:baserock/initramfs-scripts
+ ref: e5c71f0ca075bd29ffd55ec0c25804585bc21046
+ unpetrify-ref: master
diff --git a/baserock/strata/initramfs-utils/initramfs-scripts.morph b/baserock/strata/initramfs-utils/initramfs-scripts.morph
new file mode 100644
index 00000000..c046ca9e
--- /dev/null
+++ b/baserock/strata/initramfs-utils/initramfs-scripts.morph
@@ -0,0 +1,3 @@
+name: initramfs-scripts
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/input-common.morph b/baserock/strata/input-common.morph
new file mode 100644
index 00000000..4a0326dd
--- /dev/null
+++ b/baserock/strata/input-common.morph
@@ -0,0 +1,34 @@
+name: input-common
+kind: stratum
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/xorg-util-macros-common.morph
+chunks:
+- name: mtdev
+ repo: upstream:mtdev-git
+ ref: 4381b78fea54de0e775bf54952b2f95e5a06c57d
+ unpetrify-ref: v1.1.5
+ build-system: autotools
+- name: xkeyboard-config
+ morph: strata/input-common/xkeyboard-config.morph
+ repo: upstream:xkeyboard-config
+ ref: 26f344c93f8c6141e9233eb68088ba4fd56bc9ef
+ unpetrify-ref: xkeyboard-config-2.14
+- name: libevdev
+ repo: upstream:libevdev
+ ref: 6f03fd49fb949e46ebccb5dfb54489584896c791
+ unpetrify-ref: libevdev-1.4.2
+ build-system: autotools
+- name: libinput
+ repo: upstream:libinput
+ ref: 12df380698531472d495534ed356722478563707
+ unpetrify-ref: 0.15.0
+ build-system: autotools
+ build-depends:
+ - mtdev
+ - libevdev
+- name: libxkbcommon
+ morph: strata/input-common/libxkbcommon.morph
+ repo: upstream:xorg-lib-libxkbcommon
+ ref: c43c3c866eb9d52cd8f61e75cbef1c30d07f3a28
+ unpetrify-ref: xkbcommon-0.5.0
diff --git a/baserock/strata/input-common/libxkbcommon.morph b/baserock/strata/input-common/libxkbcommon.morph
new file mode 100644
index 00000000..04048abb
--- /dev/null
+++ b/baserock/strata/input-common/libxkbcommon.morph
@@ -0,0 +1,5 @@
+name: libxkbcommon
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-x11
diff --git a/baserock/strata/input-common/xkeyboard-config.morph b/baserock/strata/input-common/xkeyboard-config.morph
new file mode 100644
index 00000000..ad33b422
--- /dev/null
+++ b/baserock/strata/input-common/xkeyboard-config.morph
@@ -0,0 +1,7 @@
+name: xkeyboard-config
+kind: chunk
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-runtime-deps
+install-commands:
+- mkdir -p "$DESTDIR"/"$PREFIX"/share/X11/xkb/
+- make install DESTDIR="$DESTDIR"
diff --git a/baserock/strata/installer-utils.morph b/baserock/strata/installer-utils.morph
new file mode 100644
index 00000000..ddc714b6
--- /dev/null
+++ b/baserock/strata/installer-utils.morph
@@ -0,0 +1,11 @@
+name: installer-utils
+kind: stratum
+description: stratum for Baserock installer script.
+build-depends:
+- morph: strata/build-essential.morph
+chunks:
+- name: installer-scripts
+ morph: strata/installer-utils/installer-scripts.morph
+ repo: baserock:baserock/installer-scripts
+ ref: a1629ded9eb499b55b547cd8caa0ade8233b32f4
+ unpetrify-ref: master
diff --git a/baserock/strata/installer-utils/installer-scripts.morph b/baserock/strata/installer-utils/installer-scripts.morph
new file mode 100644
index 00000000..e42313a8
--- /dev/null
+++ b/baserock/strata/installer-utils/installer-scripts.morph
@@ -0,0 +1,4 @@
+name: installer-scripts
+kind: chunk
+install-commands:
+- install -D -m 755 baserock-installer "$DESTDIR/usr/lib/baserock-installer/installer"
diff --git a/baserock/strata/java.morph b/baserock/strata/java.morph
new file mode 100644
index 00000000..f10bb8a1
--- /dev/null
+++ b/baserock/strata/java.morph
@@ -0,0 +1,22 @@
+name: java
+kind: stratum
+description: |
+ This stratum contains everything necessary to compile and run Java applications
+ and build OpenJDK from source.
+build-depends:
+- morph: strata/core.morph
+- morph: strata/x-common.morph
+- morph: strata/graphics-common.morph
+chunks:
+- name: java-binary
+ morph: strata/java/java-binary.morph
+ repo: github:jmacarthur/openjdk-binary
+ ref: 6f53762e2632c4b9f9afdfa6995a2c696bb9fd43
+ unpetrify-ref: master
+- name: java-ant
+ morph: strata/java/java-ant.morph
+ repo: upstream:java/ant
+ ref: b3509fc3250b0f868076c846d29da80cbdc20681
+ unpetrify-ref: ANT_194
+ build-depends:
+ - java-binary
diff --git a/baserock/strata/java/java-ant.morph b/baserock/strata/java/java-ant.morph
new file mode 100644
index 00000000..13c490d4
--- /dev/null
+++ b/baserock/strata/java/java-ant.morph
@@ -0,0 +1,8 @@
+name: java-ant
+kind: chunk
+build-commands:
+- |
+ export JAVA_HOME=/usr/lib/java-8-openjdk
+ sh build.sh -Ddist.dir="$DESTDIR/usr/lib/ant" dist
+- mkdir -p "${DESTDIR}${PREFIX}/bin"
+- ln -sf "${PREFIX}/lib/ant/bin/ant" "${DESTDIR}${PREFIX}/bin/ant"
diff --git a/baserock/strata/java/java-binary.morph b/baserock/strata/java/java-binary.morph
new file mode 100644
index 00000000..c75f39b7
--- /dev/null
+++ b/baserock/strata/java/java-binary.morph
@@ -0,0 +1,16 @@
+name: java-binary
+description: |
+ This is a temporary solution to the OpenJDK build problem. In the future
+ we expect to be able to build fully from scratch using IcedTea, but for now
+ we need an existing OpenJDK binary to build OpenJDK.
+kind: chunk
+configure-commands: []
+build-commands:
+- cat j2sdk-image-jdk8build.tar.gz_* > jdk-8u20-linux-x64.tar.gz
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/bin
+- mkdir -p "$DESTDIR$PREFIX"/lib
+- tar zxf jdk-8u20-linux-x64.tar.gz -C "$DESTDIR$PREFIX"/lib --no-same-owner
+- ln -sfn "$PREFIX"/lib/j2sdk-image "$DESTDIR$PREFIX"/lib/java-8-openjdk
+- ln -sfn "$PREFIX"/lib/j2sdk-image/jre/bin/java "$DESTDIR$PREFIX"/bin/
+- ln -sfn "$PREFIX"/lib/j2sdk-image/jre/bin/javac "$DESTDIR$PREFIX"/bin/
diff --git a/baserock/strata/libdrm-common.morph b/baserock/strata/libdrm-common.morph
new file mode 100644
index 00000000..d4da4408
--- /dev/null
+++ b/baserock/strata/libdrm-common.morph
@@ -0,0 +1,17 @@
+name: libdrm-common
+kind: stratum
+build-depends:
+- morph: strata/xorg-util-macros-common.morph
+chunks:
+- name: xorg-lib-libpciaccess
+ repo: upstream:xorg-lib-libpciaccess
+ ref: f99c2e4199ce37f6f94428df504427f67c3ec543
+ unpetrify-ref: libpciaccess-0.13.3
+ build-system: autotools
+- name: drm
+ repo: upstream:drm
+ morph: strata/libdrm-common/drm.morph
+ ref: ab2fadabde3829b1ec56bd4756165dd9bd281488
+ unpetrify-ref: libdrm-2.4.64
+ build-depends:
+ - xorg-lib-libpciaccess
diff --git a/baserock/strata/libdrm-common/drm.morph b/baserock/strata/libdrm-common/drm.morph
new file mode 100644
index 00000000..acb0f061
--- /dev/null
+++ b/baserock/strata/libdrm-common/drm.morph
@@ -0,0 +1,7 @@
+name: drm
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./autogen.sh --prefix="$PREFIX" \
+ --enable-tegra-experimental-api
diff --git a/baserock/strata/libsoup-common.morph b/baserock/strata/libsoup-common.morph
new file mode 100644
index 00000000..759a842c
--- /dev/null
+++ b/baserock/strata/libsoup-common.morph
@@ -0,0 +1,11 @@
+name: libsoup-common
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+- morph: strata/glib-common.morph
+chunks:
+- name: libsoup
+ morph: strata/libsoup-common/libsoup.morph
+ repo: upstream:libsoup
+ ref: c29630a8fdb4e6997ec27da4af545bddefab35ad
+ unpetrify-ref: 2.48.0
diff --git a/baserock/strata/libsoup-common/libsoup.morph b/baserock/strata/libsoup-common/libsoup.morph
new file mode 100644
index 00000000..0a5ebef6
--- /dev/null
+++ b/baserock/strata/libsoup-common/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/baserock/strata/lighttpd-server.morph b/baserock/strata/lighttpd-server.morph
new file mode 100644
index 00000000..9aa166fd
--- /dev/null
+++ b/baserock/strata/lighttpd-server.morph
@@ -0,0 +1,12 @@
+name: lighttpd-server
+kind: stratum
+description: lighttpd web server
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/pcre-utils.morph
+chunks:
+- name: lighttpd
+ morph: strata/lighttpd-server/lighttpd.morph
+ repo: upstream:lighttpd
+ ref: 12e4e21763da770034267ff0a7b660876930f789
+ unpetrify-ref: baserock/morph
diff --git a/baserock/strata/lighttpd-server/lighttpd.morph b/baserock/strata/lighttpd-server/lighttpd.morph
new file mode 100644
index 00000000..ae371c52
--- /dev/null
+++ b/baserock/strata/lighttpd-server/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/baserock/strata/llvm-common.morph b/baserock/strata/llvm-common.morph
new file mode 100644
index 00000000..794a7fc5
--- /dev/null
+++ b/baserock/strata/llvm-common.morph
@@ -0,0 +1,10 @@
+name: llvm-common
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: llvm
+ morph: strata/llvm-common/llvm.morph
+ repo: upstream:llvm
+ ref: 19ade095e8c3ea61f84b71074433309f0c7c7b3b
+ unpetrify-ref: release_36
diff --git a/baserock/strata/llvm-common/llvm.morph b/baserock/strata/llvm-common/llvm.morph
new file mode 100644
index 00000000..de274476
--- /dev/null
+++ b/baserock/strata/llvm-common/llvm.morph
@@ -0,0 +1,7 @@
+name: llvm
+kind: chunk
+description: Low Level Virtual Machine
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --sysconfdir=/etc --enable-shared --enable-targets=host
+ --enable-optimized --disable-assertions
diff --git a/baserock/strata/lorry-controller.morph b/baserock/strata/lorry-controller.morph
new file mode 100644
index 00000000..00ae5752
--- /dev/null
+++ b/baserock/strata/lorry-controller.morph
@@ -0,0 +1,16 @@
+name: lorry-controller
+kind: stratum
+description: |
+ Lorry Controller mirroring service.
+
+ This is a component of Trove, but can
+ also be used with other Git servers.
+build-depends:
+- morph: strata/python-cliapp.morph
+- morph: strata/python-wsgi.morph
+chunks:
+- name: lorry-controller
+ morph: strata/lorry-controller/lorry-controller.morph
+ repo: baserock:baserock/lorry-controller
+ ref: f3f59d1415bfdb18f17bd910b829a8d128c1562a
+ unpetrify-ref: master
diff --git a/baserock/strata/lorry-controller/lorry-controller.morph b/baserock/strata/lorry-controller/lorry-controller.morph
new file mode 100644
index 00000000..2f90a9a1
--- /dev/null
+++ b/baserock/strata/lorry-controller/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/baserock/strata/lorry.morph b/baserock/strata/lorry.morph
new file mode 100644
index 00000000..4bd7258a
--- /dev/null
+++ b/baserock/strata/lorry.morph
@@ -0,0 +1,125 @@
+name: lorry
+kind: stratum
+description: |
+ Lorry and tools for working with version control systems other than Git.
+
+ Lorry is a tool for creating and maintaining Git mirrors of source code
+ repositories, which aims to support most version control systems in use
+ by software projects that are used Baserock systems.
+
+ The commandline tools 'hg', 'bzr', 'svn', and 'cvs' are also made available
+ by this stratum.
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/python-cliapp.morph
+- morph: strata/pcre-utils.morph # for swig
+chunks:
+- name: bzr-tarball
+ repo: upstream:bzr-tarball
+ ref: e61c7edb4789abcd0f73c30fe719fa6fea478a52
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+- name: python-fastimport
+ repo: upstream:python-fastimport
+ ref: 6500a5e7d82651ade9002d44e3ecc71a50302616
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+- name: bzr-fastimport
+ repo: upstream:bzr-fastimport
+ ref: b3cda9967f857127bd4dab5eb72223a95916f5ea
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+ build-depends:
+ - bzr-tarball
+ - python-fastimport
+- name: cvs-tarball
+ morph: strata/lorry/cvs-tarball.morph
+ repo: upstream:cvs-tarball
+ ref: ca4cd317a75ef4349563b5a9a734561beb4a4f98
+ unpetrify-ref: baserock/morph
+- name: libapr
+ morph: strata/lorry/libapr.morph
+ repo: upstream:libapr
+ ref: 10835ec9a2d8bb9f7b867d15f29984d29744f028
+ unpetrify-ref: 1.5.1
+- name: libapr-util
+ morph: strata/lorry/libapr-util.morph
+ repo: upstream:libapr-util
+ ref: 718a507e2e33d87ab15ff80cfe80aea8ae6c7163
+ unpetrify-ref: 1.5.4
+ build-depends:
+ - libapr
+- name: perl-dbi-tarball
+ morph: strata/lorry/perl-dbi-tarball.morph
+ repo: upstream:perl-dbi-tarball
+ ref: 09e269cff811f0c1881ea0d6b7571173bab8377b
+ unpetrify-ref: baserock/morph
+- name: perl-dbd-sqlite-tarball
+ repo: upstream:perl-dbd-sqlite-tarball
+ ref: 485b97be9f2f2abf5a40923b5fd85f75714a8c02
+ unpetrify-ref: baserock/morph
+ build-system: cpan
+ build-depends:
+ - perl-dbi-tarball
+- name: libserf
+ morph: strata/lorry/libserf.morph
+ repo: upstream:libserf-tarball
+ ref: 6f61a1acd01dc2ad1d2f5c1f7458702c77c69f9c
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - libapr
+ - libapr-util
+- name: swig
+ morph: strata/lorry/swig.morph
+ repo: upstream:swig
+ ref: 4e23595704d6ddffe4e50ca41bbc90e4b8893f4d
+ unpetrify-ref: rel-3.0.6
+- name: neon
+ morph: strata/lorry/neon.morph
+ repo: upstream:neon
+ ref: 837374e9d797e216f1de684595cefe791f67c0e4
+ unpetrify-ref: baserock/morph
+- name: subversion-tarball
+ morph: strata/lorry/subversion-tarball.morph
+ repo: upstream:subversion-tarball
+ ref: bb0ef45f7c46b0ae221b26265ef98a768c33f820
+ unpetrify-ref: subversion-1.8.13
+ build-depends:
+ - swig
+ - libapr
+ - libapr-util
+ - libserf
+ - neon
+- name: mercurial-tarball
+ morph: strata/lorry/mercurial-tarball.morph
+ repo: upstream:mercurial-tarball
+ ref: 4b0aa73b8c69bd5b7521337809f7bc4714209a5a
+ unpetrify-ref: baserock/morph
+- name: hg-fast-export
+ morph: strata/lorry/hg-fast-export.morph
+ repo: upstream:hg-fast-export
+ ref: 09a472aa58da0417a11a22bae172785f7cb2e80f
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - mercurial-tarball
+- name: cvsps
+ morph: strata/lorry/cvsps.morph
+ repo: upstream:cvsps
+ ref: 71c6d1f5668f405a7b259a0aac0d423f6c9b4d49
+ unpetrify-ref: baserock/morph
+- name: lorry
+ morph: strata/lorry/lorry.morph
+ repo: baserock:baserock/lorry
+ ref: 3455c3c77ca778527efbd4541d3be1fb09f37bcf
+ unpetrify-ref: master
+ build-depends:
+ - bzr-tarball
+ - python-fastimport
+ - bzr-fastimport
+ - perl-dbi-tarball
+ - perl-dbd-sqlite-tarball
+ - cvs-tarball
+ - cvsps
+ - subversion-tarball
+ - mercurial-tarball
+ - hg-fast-export
diff --git a/baserock/strata/lorry/cvs-tarball.morph b/baserock/strata/lorry/cvs-tarball.morph
new file mode 100644
index 00000000..e03250e2
--- /dev/null
+++ b/baserock/strata/lorry/cvs-tarball.morph
@@ -0,0 +1,10 @@
+name: cvs-tarball
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- cp /usr/share/automake*/config.guess build-aux
+- cp /usr/share/automake*/config.sub build-aux
+configure-commands:
+- YACC='bison -y' ./configure --prefix "$PREFIX" --with-external-zlib --without-gssapi
+ --without-krb4 --disable-dependency-tracking --disable-nls --disable-rpath
+ --enable-rootcommit
diff --git a/baserock/strata/lorry/cvsps.morph b/baserock/strata/lorry/cvsps.morph
new file mode 100644
index 00000000..ff53784e
--- /dev/null
+++ b/baserock/strata/lorry/cvsps.morph
@@ -0,0 +1,6 @@
+name: cvsps
+kind: chunk
+build-commands:
+- make
+install-commands:
+- make install prefix="$DESTDIR$PREFIX"
diff --git a/baserock/strata/lorry/hg-fast-export.morph b/baserock/strata/lorry/hg-fast-export.morph
new file mode 100644
index 00000000..ef99a97a
--- /dev/null
+++ b/baserock/strata/lorry/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/baserock/strata/lorry/libapr-util.morph b/baserock/strata/lorry/libapr-util.morph
new file mode 100644
index 00000000..26db03ba
--- /dev/null
+++ b/baserock/strata/lorry/libapr-util.morph
@@ -0,0 +1,7 @@
+name: libapr-util
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./buildconf --with-apr=/usr/share/apr-1
+configure-commands:
+- ./configure --prefix "$PREFIX" --with-apr=/usr/bin/apr-1-config
diff --git a/baserock/strata/lorry/libapr.morph b/baserock/strata/lorry/libapr.morph
new file mode 100644
index 00000000..57d35b84
--- /dev/null
+++ b/baserock/strata/lorry/libapr.morph
@@ -0,0 +1,21 @@
+name: libapr
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./buildconf
+configure-commands:
+- |
+ ./configure \
+ --prefix "$PREFIX" \
+ --disable-static \
+ --with-installbuilddir=/usr/share/apr-1/build
+post-install-commands:
+- |
+ # Install files required for apr-util
+ for file in find_apr.m4 apr_common.m4 install.sh gen-build.py \
+ get-version.sh config.guess config.sub
+ do
+ cp build/$file "$DESTDIR/$PREFIX"/share/apr-1/build/"$file"
+ done
+ # Create a symlink in the build directory to the include directory
+ ln -sf /usr/include/apr-1 "$DESTDIR/$PREFIX"/share/apr-1/build/
diff --git a/baserock/strata/lorry/libserf.morph b/baserock/strata/lorry/libserf.morph
new file mode 100644
index 00000000..d4bb415d
--- /dev/null
+++ b/baserock/strata/lorry/libserf.morph
@@ -0,0 +1,6 @@
+name: libserf
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- cp /usr/share/automake*/config.guess build
+- cp /usr/share/automake*/config.sub build
diff --git a/baserock/strata/lorry/lorry.morph b/baserock/strata/lorry/lorry.morph
new file mode 100644
index 00000000..6b8cb355
--- /dev/null
+++ b/baserock/strata/lorry/lorry.morph
@@ -0,0 +1,3 @@
+name: lorry
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/lorry/mercurial-tarball.morph b/baserock/strata/lorry/mercurial-tarball.morph
new file mode 100644
index 00000000..03264f56
--- /dev/null
+++ b/baserock/strata/lorry/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/baserock/strata/lorry/neon.morph b/baserock/strata/lorry/neon.morph
new file mode 100644
index 00000000..19f8e83f
--- /dev/null
+++ b/baserock/strata/lorry/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/baserock/strata/lorry/perl-dbi-tarball.morph b/baserock/strata/lorry/perl-dbi-tarball.morph
new file mode 100644
index 00000000..9eb3a537
--- /dev/null
+++ b/baserock/strata/lorry/perl-dbi-tarball.morph
@@ -0,0 +1,5 @@
+name: perl-dbi-tarball
+kind: chunk
+build-system: cpan
+build-commands:
+- make -j1
diff --git a/baserock/strata/lorry/subversion-tarball.morph b/baserock/strata/lorry/subversion-tarball.morph
new file mode 100644
index 00000000..8fd1bc08
--- /dev/null
+++ b/baserock/strata/lorry/subversion-tarball.morph
@@ -0,0 +1,12 @@
+name: subversion-tarball
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- LIBTOOL_CONFIG=/usr/share/libtool/build-aux/ ./autogen.sh
+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/baserock/strata/lorry/swig.morph b/baserock/strata/lorry/swig.morph
new file mode 100644
index 00000000..8a7d51b6
--- /dev/null
+++ b/baserock/strata/lorry/swig.morph
@@ -0,0 +1,7 @@
+name: swig
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./autogen.sh
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-ccache
diff --git a/baserock/strata/lua.morph b/baserock/strata/lua.morph
new file mode 100644
index 00000000..dcdd8801
--- /dev/null
+++ b/baserock/strata/lua.morph
@@ -0,0 +1,16 @@
+name: lua
+kind: stratum
+description: Interpreter for the lua scripting language.
+build-depends:
+- morph: strata/tools.morph
+chunks:
+- name: lua
+ morph: strata/lua/lua.morph
+ repo: upstream:lua
+ ref: 948063437e0350d9ef1649ec3a76d0c24a5c8642
+ unpetrify-ref: baserock/5.1-morph
+- name: luajit2
+ morph: strata/lua/luajit2.morph
+ repo: upstream:luajit2
+ ref: 880ca300e8fb7b432b9d25ed377db2102e4cb63d
+ unpetrify-ref: v2.0.3
diff --git a/baserock/strata/lua/lua.morph b/baserock/strata/lua/lua.morph
new file mode 100644
index 00000000..32aeb5c1
--- /dev/null
+++ b/baserock/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/baserock/strata/lua/luajit2.morph b/baserock/strata/lua/luajit2.morph
new file mode 100644
index 00000000..72f34f02
--- /dev/null
+++ b/baserock/strata/lua/luajit2.morph
@@ -0,0 +1,7 @@
+name: luajit2
+kind: chunk
+build-commands:
+- make PREFIX="$PREFIX"
+install-commands:
+- make install PREFIX="$PREFIX" DESTDIR="$DESTDIR"
+
diff --git a/baserock/strata/lvm.morph b/baserock/strata/lvm.morph
new file mode 100644
index 00000000..92a06f41
--- /dev/null
+++ b/baserock/strata/lvm.morph
@@ -0,0 +1,15 @@
+name: lvm
+kind: stratum
+description: |
+ LVM userland tools.
+
+ LVM is a logical volume manager for the Linux kernel. This stratum contains
+ the tools necessary to manage volumes with LVM.
+build-depends:
+- morph: strata/foundation.morph
+chunks:
+- name: lvm2
+ morph: strata/lvm/lvm2.morph
+ repo: upstream:lvm2
+ ref: fa01faaa4aa96de834ba7e8fbb9d9aff908571c3
+ unpetrify-ref: v2_02_115
diff --git a/baserock/strata/lvm/lvm2.morph b/baserock/strata/lvm/lvm2.morph
new file mode 100644
index 00000000..49b5f0fc
--- /dev/null
+++ b/baserock/strata/lvm/lvm2.morph
@@ -0,0 +1,31 @@
+name: lvm2
+kind: chunk
+build-system: autotools
+
+configure-commands:
+# We specify --sbindir explicitly due to a bug in .service file generation:
+# if left to the default, @sbindir@ is expanded to the literal string
+# '${exec_prefix}/sbin' in the generated .service files.
+#
+# udev rules *must* go in /lib, they'll be ignored if they go in /usr/lib.
+- |
+ ./configure --prefix="$PREFIX" \
+ --sbindir="$PREFIX"/sbin \
+ --with-udev-prefix=/ \
+ --with-systemdsystemunitdir="$PREFIX"/lib/systemd/system \
+ --enable-applib --enable-cmdlib --enable-pkgconfig --enable-lvmetad \
+ --enable-dmeventd --enable-udev_sync
+
+install-commands:
+- make DESTDIR="$DESTDIR" install
+- make DESTDIR="$DESTDIR" install_system_dirs
+- make DESTDIR="$DESTDIR" install_systemd_generators
+- make DESTDIR="$DESTDIR" install_systemd_units
+- make DESTDIR="$DESTDIR" install_tmpfiles_configuration
+
+# Use lvmetad by default. This means we don't have to use the
+# `lvm2-activation-generator` systemd generator, which is a good thing
+# because I have seen it cause systems to completely fail to boot. Fedora
+# does something similar, see:
+# http://pkgs.fedoraproject.org/cgit/lvm2.git/tree/lvm2-enable-lvmetad-by-default.patch
+- sed -e 's/use_lvmetad = 0/use_lvmetad = 1/' -i "$DESTDIR"/etc/lvm/lvm.conf
diff --git a/baserock/strata/mesa-common.morph b/baserock/strata/mesa-common.morph
new file mode 100644
index 00000000..93baee53
--- /dev/null
+++ b/baserock/strata/mesa-common.morph
@@ -0,0 +1,14 @@
+name: mesa-common
+kind: stratum
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/llvm-common.morph
+- morph: strata/libdrm-common.morph
+- morph: strata/wayland-generic.morph
+- morph: strata/python-core.morph
+chunks:
+- name: mesa
+ morph: strata/mesa-common/mesa.morph
+ repo: upstream:mesa
+ ref: 4f1e500150be2e82a2d7eb954f7198cc0c5cbec1
+ unpetrify-ref: mesa-11.0.0
diff --git a/baserock/strata/mesa-common/mesa.morph b/baserock/strata/mesa-common/mesa.morph
new file mode 100644
index 00000000..2a3fe96a
--- /dev/null
+++ b/baserock/strata/mesa-common/mesa.morph
@@ -0,0 +1,22 @@
+name: mesa
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ cpu=$(echo $TARGET | cut -d '-' -f 1)
+ case "$cpu" in
+ armv7lhf)
+ DRIDRIVERS=no
+ GALLIUMDRIVERS=nouveau,freedreno,svga,swrast,vc4
+ ;;
+ *)
+ DRIDRIVERS=yes
+ GALLIUMDRIVERS=yes
+ ;;
+ esac
+ ./autogen.sh --prefix="$PREFIX" \
+ --enable-gles2 \
+ --disable-glx \
+ --with-egl-platforms=drm,wayland \
+ --with-gallium-drivers="$GALLIUMDRIVERS" \
+ --with-dri-drivers="$DRIDRIVERS"
diff --git a/baserock/strata/morph-utils.morph b/baserock/strata/morph-utils.morph
new file mode 100644
index 00000000..0905194c
--- /dev/null
+++ b/baserock/strata/morph-utils.morph
@@ -0,0 +1,54 @@
+name: morph-utils
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+- morph: strata/ostree-core.morph
+- morph: strata/python-cliapp.morph
+- morph: strata/python-core.morph
+- morph: strata/python-pygobject.morph
+- morph: strata/python-wsgi.morph
+chunks:
+- name: python-ttystatus
+ morph: strata/morph-utils/python-ttystatus.morph
+ repo: upstream:python-ttystatus
+ ref: 47d871216cea6ce3b9d6efd70e9a0f38ab8604f0
+ unpetrify-ref: baserock/morph
+- name: git-fat
+ morph: strata/tools/git-fat.morph
+ repo: upstream:git-fat
+ ref: 208f88d0f0ef04c25e8a231979eb0083f57b1610
+ unpetrify-ref: baserock/morph
+- name: pyfilesystem
+ morph: strata/morph-utils/pyfilesystem.morph
+ repo: upstream:pyfilesystem
+ ref: 821f7db1ce3a3e1ac53fa514ddacbc2871eac0f6
+ unpetrify-ref: baserock/morph
+- name: cmdtest
+ morph: strata/morph-utils/cmdtest.morph
+ repo: upstream:cmdtest
+ ref: ac91791842c6e7e6eda3213916af413255999c7b
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - python-ttystatus
+- name: pylru
+ repo: upstream:python-packages/pylru
+ ref: 221dd259f5c34562c835611d1cf62384b9019da4
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: morph
+ repo: baserock:baserock/morph
+ ref: 60c378c55d5d0ef89184b49ae95e445f8de422e3
+ unpetrify-ref: master
+ build-system: python-distutils
+ build-depends:
+ - cmdtest
+ - pyfilesystem
+ - pylru
+
+# This chunk isn't required to use Morph, but is required to do automated
+# migrations within the definitions.git repo.
+- name: ruamel.yaml
+ repo: upstream:python-packages/ruamel.yaml
+ ref: f3de88b82bf5e3902c44f6c30aed065e56626ee6
+ unpetrify-ref: 0.10.5
+ build-system: python-distutils
diff --git a/baserock/strata/morph-utils/cmdtest.morph b/baserock/strata/morph-utils/cmdtest.morph
new file mode 100644
index 00000000..3e1c71c6
--- /dev/null
+++ b/baserock/strata/morph-utils/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/baserock/strata/morph-utils/pyfilesystem.morph b/baserock/strata/morph-utils/pyfilesystem.morph
new file mode 100644
index 00000000..a4931dfa
--- /dev/null
+++ b/baserock/strata/morph-utils/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/baserock/strata/morph-utils/python-ttystatus.morph b/baserock/strata/morph-utils/python-ttystatus.morph
new file mode 100644
index 00000000..e45ef7a8
--- /dev/null
+++ b/baserock/strata/morph-utils/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/baserock/strata/mtd-utilities.morph b/baserock/strata/mtd-utilities.morph
new file mode 100644
index 00000000..67ff09a8
--- /dev/null
+++ b/baserock/strata/mtd-utilities.morph
@@ -0,0 +1,11 @@
+name: mtd-utilities
+kind: stratum
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/core.morph
+chunks:
+- name: mtd-utils
+ morph: strata/mtd-utilities/mtd-utils.morph
+ repo: upstream:mtd-utils
+ ref: 9f107132a6a073cce37434ca9cda6917dd8d866b
+ unpetrify-ref: v1.5.1
diff --git a/baserock/strata/mtd-utilities/mtd-utils.morph b/baserock/strata/mtd-utilities/mtd-utils.morph
new file mode 100644
index 00000000..59dfcc68
--- /dev/null
+++ b/baserock/strata/mtd-utilities/mtd-utils.morph
@@ -0,0 +1,6 @@
+name: mtd-utils
+kind: chunk
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/baserock/strata/multimedia-common.morph b/baserock/strata/multimedia-common.morph
new file mode 100644
index 00000000..94278bc8
--- /dev/null
+++ b/baserock/strata/multimedia-common.morph
@@ -0,0 +1,37 @@
+name: multimedia-common
+kind: stratum
+description: Mutimedia Libraries
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: ogg
+ repo: upstream:ogg-git
+ ref: 9b2ba419aecb4a1c97114545d57174593dc13111
+ unpetrify-ref: master
+ build-system: autotools
+- name: libvorbis
+ repo: upstream:libvorbis-git
+ ref: 7187e7a48f0c3ba32cc080f6bc3d921fe4ec6cc2
+ unpetrify-ref: master
+ build-system: autotools
+ build-depends:
+ - ogg
+- name: tremor
+ repo: upstream:tremor
+ ref: b56ffce0c0773ec5ca04c466bc00b1bbcaf65aef
+ unpetrify-ref: master
+ build-system: autotools
+ build-depends:
+ - ogg
+- name: flac
+ repo: upstream:flac
+ ref: 6ced857c253d5da286bf31adfd74a627aaa43c77
+ unpetrify-ref: master
+ build-system: autotools
+ build-depends:
+ - ogg
+- name: libmad
+ morph: strata/multimedia-common/libmad.morph
+ repo: upstream:libmad-tarball
+ ref: f2b21c41aef22e81b605afe96e1e6ef1bea0cfdc
+ unpetrify-ref: baserock/0.15.1b-gstreamer-sdk-fork
diff --git a/baserock/strata/multimedia-common/libmad.morph b/baserock/strata/multimedia-common/libmad.morph
new file mode 100644
index 00000000..839adc15
--- /dev/null
+++ b/baserock/strata/multimedia-common/libmad.morph
@@ -0,0 +1,10 @@
+name: libmad
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ OPTS=
+ case $MORPH_ARCH in
+ mips64*) ARCH_FLAGS="--enable-fpm=64bit" ;;
+ esac
+ ./configure --prefix="$PREFIX" $ARCH_FLAGS
diff --git a/baserock/strata/multimedia-gstreamer-0.10.morph b/baserock/strata/multimedia-gstreamer-0.10.morph
new file mode 100644
index 00000000..a9c84ca4
--- /dev/null
+++ b/baserock/strata/multimedia-gstreamer-0.10.morph
@@ -0,0 +1,37 @@
+name: multimedia-gstreamer-0.10
+kind: stratum
+description: Codecs
+build-depends:
+- morph: strata/core.morph
+- morph: strata/foundation.morph
+- morph: strata/audio-bluetooth.morph
+- morph: strata/multimedia-common.morph
+chunks:
+- name: orc
+ repo: upstream:orc
+ ref: b4f7fcaf99a4d952e59f2a9fa9286d24cc4b3a5a
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: gstreamer@0.10
+ repo: upstream:gstreamer
+ ref: 1bb950008f4656f6a6153fa88a8ebb5a39fbe84f
+ unpetrify-ref: baserock/morph/0.10
+ build-system: autotools
+ build-depends:
+ - orc
+- name: gstreamer-plugins-base@0.10
+ repo: upstream:gstreamer-plugins-base
+ ref: 960c596309dbb983a1d733259adccc45c47006a2
+ unpetrify-ref: baserock/morph/0.10
+ build-system: autotools
+ build-depends:
+ - gstreamer@0.10
+- name: gstreamer-plugins-good@0.10
+ repo: upstream:gstreamer-plugins-good
+ ref: 725e80e0c6b7f8e66d9b3fcaffd283ecbd8498d3
+ unpetrify-ref: baserock/morph/0.10
+ build-system: autotools
+ build-depends:
+ - gstreamer@0.10
+ - gstreamer-plugins-base@0.10
+ - orc
diff --git a/baserock/strata/multimedia-gstreamer.morph b/baserock/strata/multimedia-gstreamer.morph
new file mode 100644
index 00000000..98cc212e
--- /dev/null
+++ b/baserock/strata/multimedia-gstreamer.morph
@@ -0,0 +1,45 @@
+name: multimedia-gstreamer
+kind: stratum
+description: GStreamer multimedia components
+build-depends:
+- morph: strata/audio-bluetooth.morph
+- morph: strata/multimedia-common.morph
+- morph: strata/mesa-common.morph
+chunks:
+- name: orc
+ repo: upstream:orc
+ ref: 16e053b8f2359196fd50b111f1c10b93590f5cb9
+ unpetrify-ref: orc-0.4.22
+ build-system: autotools
+- name: gstreamer
+ repo: upstream:gstreamer
+ ref: c61dea148ca3f14586d8eddf0b7e6ca47c164c86
+ unpetrify-ref: baserock/1.4.4+bison_fix
+ build-system: autotools
+ build-depends:
+ - orc
+- name: gstreamer-plugins-base
+ repo: upstream:gstreamer-plugins-base
+ ref: 3b38ad94a2d58c07c24e4647e08afa1fe4dd7d46
+ unpetrify-ref: baserock/1.4
+ build-system: autotools
+ build-depends:
+ - gstreamer
+- name: gstreamer-plugins-good
+ repo: upstream:gstreamer-plugins-good
+ ref: 9d48c2f7a7b63fd967de7eec72434bc876c02667
+ unpetrify-ref: baserock/1.4
+ build-system: autotools
+ build-depends:
+ - gstreamer
+ - gstreamer-plugins-base
+ - orc
+- name: gstreamer-plugins-bad
+ repo: upstream:gstreamer-plugins-bad
+ ref: bb2a4669ff57af90c8101c54744d3228aa060475
+ unpetrify-ref: baserock/1.4
+ build-system: autotools
+ build-depends:
+ - gstreamer
+ - gstreamer-plugins-base
+ - orc
diff --git a/baserock/strata/network-security.morph b/baserock/strata/network-security.morph
new file mode 100644
index 00000000..d88d2f43
--- /dev/null
+++ b/baserock/strata/network-security.morph
@@ -0,0 +1,18 @@
+name: network-security
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: nspr
+ morph: strata/network-security/nspr.morph
+ repo: upstream:nspr-hg
+ ref: a6ee84946475c1fb7624973af28163f6da247c0d
+ unpetrify-ref: baserock/morph
+- name: nss
+ morph: strata/network-security/nss.morph
+ repo: upstream:nss
+ ref: ee1c99a3c8c29f50a91ab28f2f7b7773f6355487
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - nspr
+
diff --git a/baserock/strata/network-security/nspr.morph b/baserock/strata/network-security/nspr.morph
new file mode 100644
index 00000000..27613eb4
--- /dev/null
+++ b/baserock/strata/network-security/nspr.morph
@@ -0,0 +1,12 @@
+name: nspr
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ case "$MORPH_ARCH" in
+ x86_64|ppc64)
+ EXTRA_ARGS="--enable-64bit";;
+ *)
+ EXTRA_ARGS="";;
+ esac
+ ./configure --prefix="$PREFIX" --with-mozilla --with-pthreads $EXTRA_ARGS
diff --git a/baserock/strata/network-security/nss.morph b/baserock/strata/network-security/nss.morph
new file mode 100644
index 00000000..c83fd174
--- /dev/null
+++ b/baserock/strata/network-security/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/baserock/strata/networking-utils.morph b/baserock/strata/networking-utils.morph
new file mode 100644
index 00000000..d452b72b
--- /dev/null
+++ b/baserock/strata/networking-utils.morph
@@ -0,0 +1,105 @@
+name: networking-utils
+kind: stratum
+description: |
+ Stratum which contains utils to works with networks: create, enable, filter...
+
+ This stratum requires kernel config flags which are not enabled in the default
+ Baserock kernel found in the BSP strata. See the Openstack BSP stratum to get
+ an idea of what is needed.
+build-depends:
+- morph: strata/foundation.morph
+chunks:
+- name: ebtables
+ morph: strata/networking-utils/ebtables.morph
+ repo: upstream:ebtables
+ ref: f4bdc80ae8c1a79b4ab5dcb8431ad85aea618d66
+ unpetrify-ref: master
+- name: iproute2
+ morph: strata/networking-utils/iproute2.morph
+ repo: upstream:iproute2
+ ref: 50231ad2a554fcb02462bed6405c970833c1baee
+ unpetrify-ref: v3.17.0
+- name: libmnl
+ repo: upstream:libmnl
+ ref: c9f19b98cd8e108617e825e071091df14f78c53a
+ unpetrify-ref: master
+ build-system: autotools
+- name: ipset
+ morph: strata/networking-utils/ipset.morph
+ repo: upstream:ipset
+ ref: cf25c4c50e9996af30499e5b1c3354ab53be7237
+ unpetrify-ref: v6.24
+ build-depends:
+ - libmnl
+- name: libpcap
+ morph: strata/networking-utils/libpcap.morph
+ repo: upstream:libpcap
+ ref: 098a643f817e8a9929c70dfba157e4d399398375
+ unpetrify-ref: libpcap-1.7
+- name: tcpdump
+ morph: strata/networking-utils/tcpdump.morph
+ repo: upstream:tcpdump
+ ref: 8aa5edea1b8846740514dee4158b6c707d38fc13
+ unpetrify-ref: tcpdump-4.7
+ build-depends:
+ - libpcap
+- name: libnet
+ morph: strata/networking-utils/libnet.morph
+ repo: upstream:libnet
+ ref: 05df365769597e1d64d02af931d6127762ff2658
+ unpetrify-ref: libnet-1.2
+- name: iputils
+ morph: strata/networking-utils/iputils.morph
+ repo: upstream:iputils
+ ref: d25e54e25107bc7c5d14737ed65f5f52b54f1472
+ unpetrify-ref: s20140519
+ build-depends:
+ - libpcap
+ - libnet
+- name: libnfnetlink
+ morph: strata/networking-utils/libnfnetlink.morph
+ repo: upstream:libnfnetlink
+ ref: 1166116e34af868bc814aea338c246e49a7a8748
+ unpetrify-ref: libnfnetlink-1.0.1
+- name: libnetfilter_conntrack
+ morph: strata/networking-utils/libnetfilter_conntrack.morph
+ repo: upstream:libnetfilter_conntrack
+ ref: 5ad6ecff6edffd925022372323e42264f61e850d
+ unpetrify-ref: libnetfilter_conntrack-1.0.4
+ build-depends:
+ - libnfnetlink
+ - libmnl
+- name: libnetfilter_cthelper
+ morph: strata/networking-utils/libnetfilter_cthelper.morph
+ repo: upstream:libnetfilter_cthelper
+ ref: b8df12f352db62d26e5116e960d24774d5c9f3b7
+ unpetrify-ref: libnetfilter_cthelper-1.0.0
+ build-depends:
+ - libmnl
+- name: libnetfilter_cttimeout
+ morph: strata/networking-utils/libnetfilter_cttimeout.morph
+ repo: upstream:libnetfilter_cttimeout
+ ref: 329652bef21c831dae1a9a79084b999d40b4eb5b
+ unpetrify-ref: libnetfilter_cttimeout-1.0.0
+ build-depends:
+ - libmnl
+- name: libnetfilter_queue
+ morph: strata/networking-utils/libnetfilter_queue.morph
+ repo: upstream:libnetfilter_queue
+ ref: f5d092dd3145d427c7c2ed668e3ac899875c9612
+ unpetrify-ref: libnetfilter_queue-1.0.2
+ build-depends:
+ - libnfnetlink
+ - libmnl
+- name: conntrack-tools
+ morph: strata/networking-utils/conntrack-tools.morph
+ repo: upstream:conntrack-tools
+ ref: fbe3181be4f2e33509b1c20b95fd55eb3e7075d7
+ unpetrify-ref: conntrack-tools-1.4.2
+ build-depends:
+ - libnfnetlink
+ - libmnl
+ - libnetfilter_conntrack
+ - libnetfilter_cttimeout
+ - libnetfilter_cthelper
+ - libnetfilter_queue
diff --git a/baserock/strata/networking-utils/conntrack-tools.morph b/baserock/strata/networking-utils/conntrack-tools.morph
new file mode 100644
index 00000000..e0ef7234
--- /dev/null
+++ b/baserock/strata/networking-utils/conntrack-tools.morph
@@ -0,0 +1,4 @@
+name: conntrack-tools
+kind: chunk
+build-system: autotools
+max-jobs: 1
diff --git a/baserock/strata/networking-utils/ebtables.morph b/baserock/strata/networking-utils/ebtables.morph
new file mode 100644
index 00000000..a4d9fc76
--- /dev/null
+++ b/baserock/strata/networking-utils/ebtables.morph
@@ -0,0 +1,7 @@
+name: ebtables
+kind: chunk
+build-system: manual
+build-commands:
+- make
+install-commands:
+- make install DESTDIR="$DESTDIR" BINDIR="$PREFIX/sbin"
diff --git a/baserock/strata/networking-utils/iproute2.morph b/baserock/strata/networking-utils/iproute2.morph
new file mode 100644
index 00000000..7ba04db6
--- /dev/null
+++ b/baserock/strata/networking-utils/iproute2.morph
@@ -0,0 +1,10 @@
+name: iproute2
+kind: chunk
+build-commands:
+# arpd binary is dependent on Berkeley DB, which is licensed by Oracle
+# as arpd is not needed for Openstack systems, arpd will not be compiled
+# or installed.
+- sed -i '/^TARGETS/s@arpd@@g' misc/Makefile
+- make
+install-commands:
+- DESTDIR="$DESTDIR" PREFIX="$PREFIX" make install
diff --git a/baserock/strata/networking-utils/ipset.morph b/baserock/strata/networking-utils/ipset.morph
new file mode 100644
index 00000000..7fe8c6dc
--- /dev/null
+++ b/baserock/strata/networking-utils/ipset.morph
@@ -0,0 +1,6 @@
+name: ipset
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh
+- ./configure --prefix="$PREFIX" --enable-static=no --with-kmod=no
diff --git a/baserock/strata/networking-utils/iputils.morph b/baserock/strata/networking-utils/iputils.morph
new file mode 100644
index 00000000..c9736cc8
--- /dev/null
+++ b/baserock/strata/networking-utils/iputils.morph
@@ -0,0 +1,24 @@
+name: iputils
+kind: chunk
+build-system: manual
+pre-configure-commands:
+# gnutls is not currently integrated in definitions so, disabling this
+# is required in order to build ping6. If this is not disabled, it will try
+# to find gnutls/openssl.h header failing to compile ping6.
+- sed -i "s/USE_GNUTLS=yes/USE_GNUTLS=no/" Makefile
+build-commands:
+- make
+- make ninfod
+install-commands:
+- install -D -m 755 clockdiff "$DESTDIR$PREFIX"/bin/clockdiff
+- install -D -m 755 rdisc "$DESTDIR$PREFIX"/bin/rdisc
+- install -D -m 755 tracepath "$DESTDIR$PREFIX"/bin/tracepath
+- install -D -m 755 tracepath6 "$DESTDIR$PREFIX"/bin/tracepath6
+- install -D -m 755 ninfod/ninfod "$DESTDIR$PREFIX"/bin/ninfod
+- install -D -m 755 rarpd "$DESTDIR$PREFIX"/bin/rarpd
+# The following binaries are installed to overwrite busybox binaries.
+- install -D -m 755 traceroute6 "$DESTDIR$PREFIX"/bin/traceroute6
+- install -D -m 755 arping "$DESTDIR$PREFIX"/sbin/arping
+- install -D -m 755 tftpd "$DESTDIR$PREFIX"/sbin/tftpd
+- install -D -m 755 ping "$DESTDIR"/bin/ping
+- install -D -m 755 ping6 "$DESTDIR"/bin/ping6
diff --git a/baserock/strata/networking-utils/libnet.morph b/baserock/strata/networking-utils/libnet.morph
new file mode 100644
index 00000000..ddb2cf3e
--- /dev/null
+++ b/baserock/strata/networking-utils/libnet.morph
@@ -0,0 +1,16 @@
+name: libnet
+kind: chunk
+build-system: manual
+pre-configure-commands:
+# Avoid building the docs as they require doxygen
+- sed -i 's@doc @@' libnet/Makefile.am
+- sed -i 's@doc/.*Makefile@@' libnet/configure.ac
+
+- cd libnet && ./autogen.sh
+configure-commands:
+- cd libnet && ./configure --prefix="$PREFIX" --disable-samples --enable-shared=yes
+ --with-pic
+build-commands:
+- cd libnet && make
+install-commands:
+- cd libnet && make DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/networking-utils/libnetfilter_conntrack.morph b/baserock/strata/networking-utils/libnetfilter_conntrack.morph
new file mode 100644
index 00000000..ef6ebb48
--- /dev/null
+++ b/baserock/strata/networking-utils/libnetfilter_conntrack.morph
@@ -0,0 +1,3 @@
+name: libnetfilter_conntrack
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/networking-utils/libnetfilter_cthelper.morph b/baserock/strata/networking-utils/libnetfilter_cthelper.morph
new file mode 100644
index 00000000..7f410a4a
--- /dev/null
+++ b/baserock/strata/networking-utils/libnetfilter_cthelper.morph
@@ -0,0 +1,3 @@
+name: libnetfilter_cthelper
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/networking-utils/libnetfilter_cttimeout.morph b/baserock/strata/networking-utils/libnetfilter_cttimeout.morph
new file mode 100644
index 00000000..b2281a5b
--- /dev/null
+++ b/baserock/strata/networking-utils/libnetfilter_cttimeout.morph
@@ -0,0 +1,3 @@
+name: libnetfilter_cttimeout
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/networking-utils/libnetfilter_queue.morph b/baserock/strata/networking-utils/libnetfilter_queue.morph
new file mode 100644
index 00000000..d2b80d38
--- /dev/null
+++ b/baserock/strata/networking-utils/libnetfilter_queue.morph
@@ -0,0 +1,3 @@
+name: libnetfilter_queue
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/networking-utils/libnfnetlink.morph b/baserock/strata/networking-utils/libnfnetlink.morph
new file mode 100644
index 00000000..f4fe79ab
--- /dev/null
+++ b/baserock/strata/networking-utils/libnfnetlink.morph
@@ -0,0 +1,3 @@
+name: libnfnetlink
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/networking-utils/libpcap.morph b/baserock/strata/networking-utils/libpcap.morph
new file mode 100644
index 00000000..7c5ee932
--- /dev/null
+++ b/baserock/strata/networking-utils/libpcap.morph
@@ -0,0 +1,3 @@
+name: libpcap
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/networking-utils/tcpdump.morph b/baserock/strata/networking-utils/tcpdump.morph
new file mode 100644
index 00000000..7a974dab
--- /dev/null
+++ b/baserock/strata/networking-utils/tcpdump.morph
@@ -0,0 +1,3 @@
+name: tcpdump
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/nfs.morph b/baserock/strata/nfs.morph
new file mode 100644
index 00000000..e05d585c
--- /dev/null
+++ b/baserock/strata/nfs.morph
@@ -0,0 +1,31 @@
+name: nfs
+kind: stratum
+description: NFS utilities
+build-depends:
+- morph: strata/foundation.morph
+chunks:
+- name: libevent
+ repo: upstream:libevent
+ ref: 0b49ae34594533daa82c06a506078de9e336a013
+ unpetrify-ref: release-2.1.5-beta
+ build-system: autotools
+- name: ti-rpc
+ morph: strata/nfs/ti-rpc.morph
+ repo: upstream:ti-rpc
+ ref: c5a7a19070e74115fc9c26aa6f3dfec1da220c1f
+ unpetrify-ref: baserock/master
+- name: rpcbind
+ morph: strata/nfs/rpcbind.morph
+ repo: upstream:rpcbind
+ ref: aa3ac0d86c258d3e355ae59df31a96da795ecdfa
+ unpetrify-ref: baserock/master
+ build-depends:
+ - ti-rpc
+- name: nfs-utils
+ morph: strata/nfs/nfs-utils.morph
+ repo: upstream:nfs-utils
+ ref: 0da9f20a22bb32b2da6b587b4e85dafde087c0f7
+ unpetrify-ref: baserock/master
+ build-depends:
+ - libevent
+ - ti-rpc
diff --git a/baserock/strata/nfs/nfs-utils.morph b/baserock/strata/nfs/nfs-utils.morph
new file mode 100644
index 00000000..8116a9f4
--- /dev/null
+++ b/baserock/strata/nfs/nfs-utils.morph
@@ -0,0 +1,13 @@
+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
+ --without-tcp-wrappers
+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/baserock/strata/nfs/rpcbind.morph b/baserock/strata/nfs/rpcbind.morph
new file mode 100644
index 00000000..0ca929dc
--- /dev/null
+++ b/baserock/strata/nfs/rpcbind.morph
@@ -0,0 +1,11 @@
+name: rpcbind
+kind: chunk
+build-system: autotools
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+- ./configure --prefix="$PREFIX" --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/baserock/strata/nfs/tcp-wrappers.morph b/baserock/strata/nfs/tcp-wrappers.morph
new file mode 100644
index 00000000..c68671f6
--- /dev/null
+++ b/baserock/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/baserock/strata/nfs/ti-rpc.morph b/baserock/strata/nfs/ti-rpc.morph
new file mode 100644
index 00000000..3fb91e1f
--- /dev/null
+++ b/baserock/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/baserock/strata/nodejs.morph b/baserock/strata/nodejs.morph
new file mode 100644
index 00000000..bf1f9d3a
--- /dev/null
+++ b/baserock/strata/nodejs.morph
@@ -0,0 +1,11 @@
+name: nodejs
+kind: stratum
+description: Stratum for nodejs related stuff
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: node
+ repo: upstream:node
+ ref: cc56c62ed879ad4f93b1fdab3235c43e60f48b7e
+ unpetrify-ref: v0.10.26
+ build-system: autotools
diff --git a/baserock/strata/ntpd.morph b/baserock/strata/ntpd.morph
new file mode 100644
index 00000000..4c5483e5
--- /dev/null
+++ b/baserock/strata/ntpd.morph
@@ -0,0 +1,10 @@
+name: ntpd
+kind: stratum
+build-depends:
+- morph: strata/foundation.morph
+chunks:
+- name: ntpd
+ morph: strata/ntpd/ntpd.morph
+ repo: upstream:ntp
+ ref: b2ccf8dd31d1457ae9f0ae270054117179220370
+ unpetrify-ref: ntp-4.2.8p2
diff --git a/baserock/strata/ntpd/ntpd.morph b/baserock/strata/ntpd/ntpd.morph
new file mode 100644
index 00000000..762762c7
--- /dev/null
+++ b/baserock/strata/ntpd/ntpd.morph
@@ -0,0 +1,51 @@
+name: ntpd
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --enable-linuxcaps
+post-install-commands:
+- |
+ cat > ntpd.service << EOF
+ [Unit]
+ Description=Network Time Service
+ After=network.target nss-lookup.target
+ Conflicts=systemd-timesyncd.service
+
+ [Service]
+ Type=forking
+ ExecStart=/usr/bin/ntpd -u ntp:ntp -Ng
+ PrivateTmp=True
+ Restart=on-failure
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+- install -D -m 644 ntpd.service "$DESTDIR"/lib/systemd/system/ntpd.service
+- mkdir -p "$DESTDIR"/lib/systemd/system/multi-user.target.wants
+- ln -s /lib/systemd/system/ntpd.service "$DESTDIR"/lib/systemd/system/multi-user.target.wants/ntpd.service
+- |
+ cat > ntp.conf << EOF
+ # We use iburst here to reduce the potential initial delay to set the clock
+ server 0.pool.ntp.org iburst
+ server 1.pool.ntp.org iburst
+ server 2.pool.ntp.org iburst
+ server 3.pool.ntp.org iburst
+
+ # kod - notify client when packets are denied service,
+ # rather than just dropping the packets
+ #
+ # nomodify - deny queries which attempt to modify the state of the server
+ #
+ # notrap - decline to provide mode 6 control message trap service to
+ # matching hosts
+ #
+ # see ntp.conf(5) for more details
+ restrict -4 default limit kod notrap nomodify
+ restrict -6 default limit kod notrap nomodify
+ EOF
+- install -D -m 644 ntp.conf "$DESTDIR"/etc/ntp.conf
+system-integration:
+ ntpd-misc:
+ 00-add-ntpd-user:
+ - groupadd -r ntp
+ - useradd -g ntp -d /home/ntp -s /bin/false -r ntp
diff --git a/baserock/strata/ocaml-language.morph b/baserock/strata/ocaml-language.morph
new file mode 100644
index 00000000..3364763d
--- /dev/null
+++ b/baserock/strata/ocaml-language.morph
@@ -0,0 +1,11 @@
+name: ocaml-language
+kind: stratum
+description: |
+ OCaml
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: ocaml
+ morph: strata/ocaml/ocaml.morph
+ repo: upstream:ocaml
+ ref: fa7961d5fada53056f38a9ae36615df26352028a
diff --git a/baserock/strata/ocaml/ocaml.morph b/baserock/strata/ocaml/ocaml.morph
new file mode 100644
index 00000000..00e36767
--- /dev/null
+++ b/baserock/strata/ocaml/ocaml.morph
@@ -0,0 +1,8 @@
+name: ocaml
+kind: chunk
+configure-commands:
+- ./configure --prefix "$PREFIX"
+build-commands:
+- make world.opt
+install-commands:
+- make DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/openbmc.morph b/baserock/strata/openbmc.morph
new file mode 100644
index 00000000..b1309a2a
--- /dev/null
+++ b/baserock/strata/openbmc.morph
@@ -0,0 +1,22 @@
+name: openbmc
+kind: stratum
+description: OpenBMC components
+build-depends:
+- morph: strata/build-essential.morph
+- morph: strata/core.morph
+chunks:
+- name: i2c-tools
+ morph: strata/openbmc/i2c-tools.morph
+ repo: upstream:i2c-tools
+ ref: 187dd637f7789c4cb12dfe2ba13f6e01d2a3c698
+ unpetrify-ref: V3-1-1
+- name: lm_sensors
+ morph: strata/openbmc/lm_sensors.morph
+ repo: upstream:lm-sensors
+ ref: d9983967a89382f64c65db67026f85f073ef9b74
+ unpetrify-ref: master
+- name: isc-dhcp
+ repo: upstream:isc-dhcp-tarball
+ morph: strata/openbmc/isc-dhcp.morph
+ ref: f800382616186a5d30e28d8b2c51e97a9a8360f2
+ unpetrify-ref: master
diff --git a/baserock/strata/openbmc/i2c-tools.morph b/baserock/strata/openbmc/i2c-tools.morph
new file mode 100644
index 00000000..5fba3b0a
--- /dev/null
+++ b/baserock/strata/openbmc/i2c-tools.morph
@@ -0,0 +1,16 @@
+name: i2c-tools
+kind: chunk
+build-commands:
+- make -C eepromer && make
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/bin
+- |
+ i2ctools="i2cdetect i2cdump i2cget i2cset"
+ for f in ${i2ctools}; do
+ install -m 755 tools/${f} "$DESTDIR$PREFIX"/bin/${f}
+ done
+- |
+ eepromtools="eepromer eeprom eeprog"
+ for f in ${eepromtools}; do
+ install -m 755 eepromer/${f} "$DESTDIR$PREFIX"/bin/${f}
+ done
diff --git a/baserock/strata/openbmc/isc-dhcp.morph b/baserock/strata/openbmc/isc-dhcp.morph
new file mode 100644
index 00000000..5ee2e66b
--- /dev/null
+++ b/baserock/strata/openbmc/isc-dhcp.morph
@@ -0,0 +1,3 @@
+name: isc-dhcp
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/openbmc/lm_sensors.morph b/baserock/strata/openbmc/lm_sensors.morph
new file mode 100644
index 00000000..27ee10d5
--- /dev/null
+++ b/baserock/strata/openbmc/lm_sensors.morph
@@ -0,0 +1,7 @@
+name: lm_sensors
+kind: chunk
+build-commands:
+- make user PROG_EXTRA="sensors"
+install-commands:
+- make DESTDIR="$DESTDIR" PREFIX="$PREFIX" install
+# TODO: If we need sensord too, we'll need rrdtool as a dependency and install instructions for sensord components
diff --git a/baserock/strata/openstack-clients.morph b/baserock/strata/openstack-clients.morph
new file mode 100644
index 00000000..ae0662e1
--- /dev/null
+++ b/baserock/strata/openstack-clients.morph
@@ -0,0 +1,154 @@
+name: openstack-clients
+kind: stratum
+description: Stratum with all the OpenStack clients and their dependencies.
+build-depends:
+- morph: strata/openstack-common.morph
+chunks:
+- name: warlock
+ repo: upstream:warlock
+ ref: 408ccb82347aabf3dc7cf6eccbd2ed2475cb0d60
+ unpetrify-ref: 1.1.0
+ build-system: python-distutils
+- name: python-keystoneclient
+ repo: upstream:openstack/python-keystoneclient
+ ref: 8fa6b6f0b5e95493342ce71489d04f73db2418b8
+ unpetrify-ref: 1.3.1
+ build-system: python-distutils
+- name: python-glanceclient
+ repo: upstream:openstack/python-glanceclient
+ ref: b176c28bbdae3eb5b3280c1981ad2b3b255e234e
+ unpetrify-ref: 0.17.1
+ build-system: python-distutils
+ build-depends:
+ - python-keystoneclient
+ - warlock
+- name: python-novaclient
+ repo: upstream:openstack/python-novaclient
+ ref: e0f5072907a00d48a183dd8fc91a6cf6038ca279
+ unpetrify-ref: 2.23.0
+ build-system: python-distutils
+ build-depends:
+ - python-keystoneclient
+- name: python-swiftclient
+ repo: upstream:openstack/python-swiftclient
+ ref: bb4d2ab59c4de9389667eeed255642f51e276f1e
+ unpetrify-ref: 2.3.1
+ build-system: python-distutils
+- name: python-troveclient
+ repo: upstream:openstack/python-troveclient
+ ref: e010a919750f07493afd42a4db867853b925bcbf
+ unpetrify-ref: 1.0.7
+ build-system: python-distutils
+- name: python-cinderclient
+ repo: upstream:openstack/python-cinderclient
+ ref: ac9b0913904c43f4bf12c8164324d6e6a55dc1ab
+ unpetrify-ref: 1.1.1
+ build-system: python-distutils
+ build-depends:
+ - python-keystoneclient
+- name: pyparsing
+ morph: strata/openstack-clients/pyparsing.morph
+ repo: upstream:python-packages/pyparsing.git
+ ref: 8062c76ab3958a570052124f17e71f3dd3ec2257
+ unpetrify-ref: pyparsing_2.0.3
+- name: cmd2
+ repo: upstream:python-packages/cmd2-hg
+ ref: c0d606bdeb88717ad92ba198bc9232615b83c4cd
+ unpetrify-ref: 0.6.7
+ build-system: python-distutils
+ build-depends:
+ - pyparsing
+- name: cliff
+ repo: upstream:openstack/cliff
+ ref: b703ad32743026d253f872caa1ff2cd727803d14
+ unpetrify-ref: 1.10.1
+ build-system: python-distutils
+ build-depends:
+ - cmd2
+ - pyparsing
+- name: tablib
+ morph: strata/openstack-clients/tablib.morph
+ repo: upstream:python-packages/tablib
+ ref: 1cc051f3e881289a8b51133c0c1ee73683b2d6fc
+ unpetrify-ref: v0.10.0
+- name: cliff-tablib
+ morph: strata/openstack-clients/cliff-tablib.morph
+ repo: upstream:python-packages/cliff-tablib
+ ref: a83bf47d7dfbb690dd53e189c532f0859898db04
+ unpetrify-ref: 1.1
+- name: python-neutronclient
+ repo: upstream:openstack/python-neutronclient
+ ref: aa1215a5ad063b299d32ef319eb63d5210249a9b
+ unpetrify-ref: 2.4.0
+ build-system: python-distutils
+ build-depends:
+ - cliff
+ - python-keystoneclient
+- name: python-ceilometerclient
+ repo: upstream:openstack/python-ceilometerclient
+ ref: 127aadfd2b2daf9884ad7003e23440048e2efbd8
+ unpetrify-ref: 1.0.14
+ build-system: python-distutils
+ build-depends:
+ - python-keystoneclient
+- name: python-heatclient
+ repo: upstream:openstack/python-heatclient
+ ref: 6d528f005742263837d05250662bf6214a703da8
+ unpetrify-ref: 0.4.0
+ build-system: python-distutils
+ build-depends:
+ - python-keystoneclient
+- name: python-designateclient
+ repo: upstream:openstack/python-designateclient
+ ref: a900b41e4d8a9eb40e1812295ba16d773e2b9618
+ unpetrify-ref: 1.1.0
+ build-system: python-distutils
+ build-depends:
+ - cliff
+ - python-keystoneclient
+- name: python-barbicanclient
+ repo: upstream:openstack/python-barbicanclient
+ ref: 2919366867af335d59913764a55ca8e95569947d
+ unpetrify-ref: 3.0.3
+ build-system: python-distutils
+ build-depends:
+ - python-keystoneclient
+ - cliff
+- name: python-saharaclient
+ repo: upstream:openstack/python-saharaclient
+ ref: 319ceb6acf55382218dcd971367613aecb3e4afc
+ unpetrify-ref: 0.8.0
+ build-system: python-distutils
+ build-depends:
+ - python-keystoneclient
+- name: python-ironicclient
+ morph: strata/openstack-clients/python-ironicclient.morph
+ repo: upstream:openstack/python-ironicclient
+ ref: 4390a21663de3123fac306e9860624ba7deda0e6
+ unpetrify-ref: 0.4.1
+# Despite argparse being part of the Python 2.7's standard library, the
+# pkg_resources module used by python-openstackclient doesn't look into
+# the standard library, resulting in a 'DistributionNotFound: argparse'
+# error. Hence, install argparse separately.
+- name: argparse
+ morph: strata/openstack-clients/argparse.morph
+ repo: upstream:argparse
+ ref: ec94cd429c56487e89425f226284009f78a596c6
+ unpetrify-ref: r130
+# The latest release of python-openstackclient is not being used as it
+# requires newer versions of glance, neutron, keystone and nova.
+- name: python-openstackclient
+ morph: strata/openstack-clients/python-openstackclient.morph
+ repo: upstream:openstack/python-openstackclient
+ ref: 28f65e665045c1c6d0697f856f06020c7c8e656a
+ unpetrify-ref: 1.2.0
+- name: os-client-config
+ morph: strata/openstack-clients/os-client-config.morph
+ repo: upstream:openstack/os-client-config
+ ref: a0df67704ace186b18fd1ecdc220a7e56409bc6f
+ unpetrify-ref: 1.3.0
+- name: appdirs
+ morph: strata/openstack-clients/appdirs.morph
+ repo: upstream:python-packages/appdirs
+ ref: 57f2bc44a8bca99bac6c57496c8b3fdea26f94d5
+ unpetrify-ref: 1.4.0
diff --git a/baserock/strata/openstack-clients/appdirs.morph b/baserock/strata/openstack-clients/appdirs.morph
new file mode 100644
index 00000000..53d0e476
--- /dev/null
+++ b/baserock/strata/openstack-clients/appdirs.morph
@@ -0,0 +1,3 @@
+name: appdirs
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-clients/argparse.morph b/baserock/strata/openstack-clients/argparse.morph
new file mode 100644
index 00000000..499df5f5
--- /dev/null
+++ b/baserock/strata/openstack-clients/argparse.morph
@@ -0,0 +1,3 @@
+name: argparse
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-clients/cliff-tablib.morph b/baserock/strata/openstack-clients/cliff-tablib.morph
new file mode 100644
index 00000000..4b48ba14
--- /dev/null
+++ b/baserock/strata/openstack-clients/cliff-tablib.morph
@@ -0,0 +1,3 @@
+name: cliff-tablib
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-clients/os-client-config.morph b/baserock/strata/openstack-clients/os-client-config.morph
new file mode 100644
index 00000000..13c473d2
--- /dev/null
+++ b/baserock/strata/openstack-clients/os-client-config.morph
@@ -0,0 +1,3 @@
+name: os-client-config
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-clients/pyparsing.morph b/baserock/strata/openstack-clients/pyparsing.morph
new file mode 100644
index 00000000..60088544
--- /dev/null
+++ b/baserock/strata/openstack-clients/pyparsing.morph
@@ -0,0 +1,6 @@
+name: pyparsing
+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/baserock/strata/openstack-clients/python-ironicclient.morph b/baserock/strata/openstack-clients/python-ironicclient.morph
new file mode 100644
index 00000000..95be0bd8
--- /dev/null
+++ b/baserock/strata/openstack-clients/python-ironicclient.morph
@@ -0,0 +1,3 @@
+name: python-ironicclient
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-clients/python-openstackclient.morph b/baserock/strata/openstack-clients/python-openstackclient.morph
new file mode 100644
index 00000000..a4c9fae7
--- /dev/null
+++ b/baserock/strata/openstack-clients/python-openstackclient.morph
@@ -0,0 +1,3 @@
+name: python-openstackclient
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-clients/tablib.morph b/baserock/strata/openstack-clients/tablib.morph
new file mode 100644
index 00000000..821ceb95
--- /dev/null
+++ b/baserock/strata/openstack-clients/tablib.morph
@@ -0,0 +1,3 @@
+name: tablib
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-common.morph b/baserock/strata/openstack-common.morph
new file mode 100644
index 00000000..59fb752f
--- /dev/null
+++ b/baserock/strata/openstack-common.morph
@@ -0,0 +1,144 @@
+name: openstack-common
+kind: stratum
+description: |
+ Stratum with the python packages needed to compile openstack
+ clients and services.
+build-depends:
+- morph: strata/python-common.morph
+- morph: strata/foundation.morph
+chunks:
+- name: pycparser
+ repo: upstream:python-packages/pycparser
+ ref: c926670643ebb5f88a2bf56579fc9934c82be6d2
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: cffi
+ repo: upstream:python-packages/cffi
+ ref: fc53b53095d61a1ec5814c09c3bf2c7e18627fb5
+ unpetrify-ref: master
+ build-system: python-distutils
+ build-depends:
+ - pycparser
+- name: pytz
+ repo: upstream:pytz-tarball
+ ref: c414cb801776e11c769fb36c0d37b8d7a7c8712c
+ unpetrify-ref: pytz-2014.10
+ build-system: python-distutils
+- name: babel
+ morph: strata/openstack-common/babel.morph
+ repo: upstream:babel
+# Babel requires core-23.1.zip to be present when compiles
+# from source, the following branch adds this file to the
+# repository, and stops the date being added to the version
+# number when running `python setup.py install`.
+ ref: 1891d93b10e6c11ab08099b95001b17e88315c2a
+ unpetrify-ref: baserock/1.3-50-g246996b
+ build-depends:
+ - pytz
+- name: enum34
+ repo: upstream:python-packages/enum34.git
+ ref: f1fa1787ceaac72b9934f318ea2135d28c05dd55
+ unpetrify-ref: enum34-1.0
+ build-system: python-distutils
+- name: pyasn1
+ repo: upstream:python-packages/pyasn1
+ ref: fa8e66c5f4367a1e39b53dcddc133d084b10400f
+ unpetrify-ref: release_0_1_7_tag
+ build-system: python-distutils
+- name: cryptography
+ repo: upstream:python-packages/cryptography
+ ref: 9ac7d55150c8410a08ee3b00b89bfeac3dbd8e8f
+ unpetrify-ref: 0.7.2
+ build-system: python-distutils
+ build-depends:
+ - pyasn1
+ - enum34
+ - cffi
+- name: pyiso8601
+ repo: upstream:pyiso8601
+ ref: 9eb87a9bab114e9cc9a8d3dceb04362644d89cab
+ unpetrify-ref: 0.1.10
+ build-system: python-distutils
+- name: netaddr
+ repo: upstream:netaddr
+ ref: bbb31ed50a5338a7d1c0011fc4429d09954f9f0b
+ unpetrify-ref: release-0.7.12
+ build-system: python-distutils
+- name: stevedore
+ repo: upstream:openstack/stevedore
+ ref: 218e95d5f09563bd14c50ee0441855f3389af7e7
+ unpetrify-ref: 1.3.0
+ build-system: python-distutils
+- name: oslo-config
+ repo: upstream:openstack/oslo-config
+ ref: 3c51838cdffe7a5057ff4823a8ab523bfacc3164
+ unpetrify-ref: 1.9.3
+ build-system: python-distutils
+ build-depends:
+ - netaddr
+ - stevedore
+- name: pyopenssl
+ repo: upstream:python-packages/pyopenssl
+ ref: 0146d447e63a737b4f05a1164d5950eff68543e7
+ unpetrify-ref: 0.14
+ build-system: python-distutils
+- name: oslo-i18n
+ repo: upstream:openstack/oslo-i18n
+ ref: b0faab7b3d3ea3b14053ab92dd6086956f643e15
+ unpetrify-ref: 1.5.0
+ build-system: python-distutils
+ build-depends:
+ - babel
+- name: netifaces
+ repo: upstream:python-packages/netifaces
+ ref: 885b200ba717df87f6e8044ec8c66c677c949bcb
+ unpetrify-ref: release_0_10_4
+ build-system: python-distutils
+- name: oslo-utils
+ repo: upstream:openstack/oslo-utils
+ ref: 91dc782c2f11fb76425effd7a331d63111adf1ce
+ unpetrify-ref: 1.4.0
+ build-system: python-distutils
+ build-depends:
+ - babel
+ - pyiso8601
+ - oslo-i18n
+ - netifaces
+ - netaddr
+- name: futures
+ repo: upstream:python-packages/futures
+ ref: 4f7ceedb8a7742e52b0436a4160c7c44665a2597
+ unpetrify-ref: 2.2.0
+ build-system: python-distutils
+- name: oslo-serialization
+ repo: upstream:openstack/oslo-serialization.git
+ ref: 7bfd5dece0f22dbdea1c3e524dbc0eca1f70f1b7
+ unpetrify-ref: 1.4.0
+ build-system: python-distutils
+- name: jsonschema
+ repo: upstream:jsonschema
+ ref: 35b60f390098d3306c03eee27ceec8cf8a493579
+ unpetrify-ref: v2.3.0
+ build-system: python-distutils
+- name: simplejson
+ repo: upstream:simplejson
+ ref: 54d5ff15d508c51366986cc4f77f2f287f036582
+ unpetrify-ref: v3.6.4
+ build-system: python-distutils
+- name: greenlet
+ ref: 42b65a7b67dfabd180625155cd4fcd8e51917fe2
+ unpetrify-ref: 0.4.5
+ repo: upstream:python-packages/greenlet
+ build-system: python-distutils
+- name: eventlet
+ ref: bc0a59f8efdb6d436dd41bcf1b2194b8967bfe7f
+ unpetrify-ref: v0.17.3
+ repo: upstream:python-packages/eventlet
+ build-system: python-distutils
+ build-depends:
+ - greenlet
+- name: pastedeploy
+ repo: upstream:python-packages/pastedeploy
+ ref: 5ad87be617c2cc1dd31625688172e964db2756dc
+ unpetrify-ref: 1.5.2
+ build-system: python-distutils
diff --git a/baserock/strata/openstack-common/babel.morph b/baserock/strata/openstack-common/babel.morph
new file mode 100644
index 00000000..b9dc475c
--- /dev/null
+++ b/baserock/strata/openstack-common/babel.morph
@@ -0,0 +1,8 @@
+name: babel
+kind: chunk
+build-system: python-distutils
+# NOTE: remember that Babel requires core-23.1.zip to be
+# present when compiles from source see baserock/1.3.50-g246996b
+# branch in babel repository in gbo for more information.
+pre-build-commands:
+- python setup.py import_cldr
diff --git a/baserock/strata/openstack-services.morph b/baserock/strata/openstack-services.morph
new file mode 100644
index 00000000..518e8d60
--- /dev/null
+++ b/baserock/strata/openstack-services.morph
@@ -0,0 +1,786 @@
+name: openstack-services
+kind: stratum
+description: Openstack clients and services
+build-depends:
+- morph: strata/erlang.morph
+- morph: strata/django.morph
+- morph: strata/xstatic.morph
+- morph: strata/openstack-clients.morph
+- morph: strata/test-tools.morph
+- morph: strata/python-tools.morph
+chunks:
+- name: erlang-sd_notify
+ morph: strata/openstack-services/erlang-sd_notify.morph
+ repo: upstream:erlang-modules/erlang-sd_notify
+ ref: 99f4689c2c18570680329f822591f95f9341ca10
+ unpretrify-ref: 0.1
+- name: rabbitmq-codegen
+ morph: strata/openstack-services/rabbitmq-codegen.morph
+ ref: 4dc5ccde2a0b3d638e5754b00abf94196fe9ca32
+ unpetrify-ref: rabbitmq_v3_4_1
+ repo: upstream:rabbitmq-codegen
+- name: rabbitmq-server
+ morph: strata/openstack-services/rabbitmq-server.morph
+ ref: 9afcf9b95d2c53f866e9a33ddce46562f8950ded
+ unpetrify-ref: baserock/master
+ repo: upstream:rabbitmq-server
+ build-depends:
+ - rabbitmq-codegen
+- name: oslo-rootwrap
+ repo: upstream:openstack/oslo-rootwrap
+ ref: f485b93f475b119e3b8fa6c9cf740207e2d2d7ac
+ unpetrify-ref: 1.6.0
+ build-system: python-distutils
+- name: py-amqp
+ repo: upstream:python-packages/py-amqp
+ ref: 875b10d1715def640042c7ff2f42c00a6c07eed1
+ unpetrify-ref: 1.4.6
+ build-system: python-distutils
+- name: librabbitmq
+ morph: strata/openstack-services/librabbitmq.morph
+ repo: upstream:python-packages/librabbitmq
+ ref: ecccbd2c7d92f6e189e362b26def8d980fa50e3b
+ unpetrify-ref: baserock/v1.6.1
+ build-depends:
+ - py-amqp
+- name: anyjson
+ repo: upstream:python-packages/anyjson
+ ref: 016506078e94718e1fe750eb5083ab5ba07498c8
+ unpetrify-ref: 0.3.3
+ build-system: python-distutils
+- name: kombu
+ repo: upstream:python-packages/kombu
+ ref: 0287b11ab0698d9c52ef1b1683ced23123d43ba4
+ unpetrify-ref: v3.0.26
+ build-system: python-distutils
+ build-depends:
+ - anyjson
+ - py-amqp
+ - librabbitmq
+- name: sqlalchemy
+ repo: upstream:python-packages/sqlalchemy
+ ref: ff34c480dfd2b8b7c72339d196f5477980a5124c
+ unpetrify-ref: rel_0_9_8
+ build-system: python-distutils
+- name: alembic
+ repo: upstream:python-packages/alembic
+ ref: 6ae4196acc0170ebef29f617b49376b371a8923c
+ unpetrify-ref: rel_0_7_6
+ build-system: python-distutils
+ build-depends:
+ - sqlalchemy
+- name: lockfile
+ repo: upstream:python-packages/lockfile
+ ref: 777758cdf4520271370b3338b86b5c66f9b104f0
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: dogpile-core
+ repo: upstream:python-packages/dogpile-core
+ ref: 3e6f0f86b4161b48898e656039154092426e5cc8
+ unpetrify-ref: rel_0_4_1
+ build-system: python-distutils
+- name: dogpile-cache
+ repo: upstream:python-packages/dogpile-cache
+ ref: 1c753914b335b4391bc5847a87b7c52ca81c2bc6
+ unpetrify-ref: rel_0_5_4
+ build-system: python-distutils
+ build-depends:
+ - dogpile-core
+- name: pyjwt
+ repo: upstream:python-packages/pyjwt
+ ref: 739efeff4c6c1fc30ab5cf5eb0ac337e8ee107d7
+ unpetrify-ref: 0.2.3
+ build-system: python-distutils
+- name: creole
+ repo: upstream:python-packages/creole
+ ref: 6390231688adb5d8678a71cd33204e9bca555d4a
+ unpetrify-ref: v1.2.1
+ build-system: python-distutils
+- name: pygments
+ repo: upstream:python-packages/pygments
+ ref: f41e8c594e76855611b3b3dfca300894bd29f1c4
+ unpetrify-ref: 2.0rc1
+ build-system: python-distutils
+- name: docutils
+ repo: upstream:python-packages/docutils
+ ref: 1976ba91eff979abc3e13e5d8cb68324833af6a0
+ unpetrify-ref: docutils-0.12
+ build-system: python-distutils
+- name: snowballstemmer
+ repo: upstream:python-packages/snowballstemmer.git
+ ref: f0d81ce1606d685029302ea073b59d9437d12569
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: sphinx
+ repo: upstream:python-packages/sphinx
+ ref: e76c9771bad16e68cdb7deb18b4d13de0a718c68
+ unpetrify-ref: 1.3b1
+ build-system: python-distutils
+ build-depends:
+ - pygments
+ - docutils
+ - snowballstemmer
+- name: pystache
+ repo: upstream:python-packages/pystache.git
+ ref: cce3ebd658f28aeb7dd54561554dedf5259303dc
+ unpetrify-ref: baserock/v0.5.4
+ build-system: python-distutils
+- name: pies
+ repo: upstream:python-packages/pies.git
+ ref: 593dcce07fdb3e8d0053a863a7aba7f2ce8a6c9c
+ unpetrify-ref: 2.6.1
+ build-system: python-distutils
+- name: natsort
+ repo: upstream:python-packages/natsort.git
+ ref: ce94d418c3849e891f0508b41f5bccc4ae1d4e4d
+ unpetrify-ref: 3.5.1
+ build-system: python-distutils
+- name: isort
+ repo: upstream:python-packages/isort.git
+ ref: 9d1b03b6e1fd2f87be1c635d6159a76a131f8155
+ unpetrify-ref: 3.9.0
+ build-system: python-distutils
+ build-depends:
+ - pies
+ - natsort
+- name: pep8
+ repo: upstream:python-packages/pep8.git
+ ref: 164066c4d85f212f5f4a11699b848942c678b947
+ unpetrify-ref: 1.5.7
+ build-system: python-distutils
+- name: pyflakes
+ repo: upstream:python-packages/pyflakes.git
+ ref: 71b7b6776856912d50a0b9a85a8ea2a1dc7eb75c
+ unpetrify-ref: 0.8.1
+ build-system: python-distutils
+- name: smartypants
+ repo: upstream:python-packages/smartypants.git
+ ref: e89b6e7e119694edcd414a556c634d5ca85bff76
+ unpetrify-ref: v1.8.6
+ build-system: python-distutils
+ build-depends:
+ - isort
+ - pep8
+ - pyflakes
+- name: pycco
+ repo: upstream:python-packages/pycco
+ ref: 22e157e525760e843dba391ca85fbe9bd35fdc5b
+ unpetrify-ref: master
+ build-system: python-distutils
+ build-depends:
+ - pygments
+ - pystache
+ - smartypants
+- name: dateutil
+ repo: upstream:python-packages/dateutil
+ ref: 8c6026ba09716a4e164f5420120bfe2ebb2d9d82
+ unpetrify-ref: trunk
+ build-system: python-distutils
+- name: posix-ipc-tarball
+ repo: upstream:python-packages/posix-ipc-tarball
+ ref: f3765db04b903b3671733e07cf1541a51966dd14
+ unpetrify-ref: posix_ipc-0.9.8
+ build-system: python-distutils
+- name: paste
+ repo: upstream:python-packages/paste
+ ref: 4c177fce89fee925f0f4fbfde00ce2e1252562c0
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: repoze-lru
+ repo: upstream:python-packages/repoze-lru
+ ref: 29c8281dee7fe8dae8c66c7c40ce7c058ec2ab0f
+ unpetrify-ref: 0.6
+ build-system: python-distutils
+- name: routes
+ repo: upstream:python-packages/routes
+ ref: 745a9207d9e48e309e292172543bc21075e65e09
+ unpetrify-ref: v2.1
+ build-system: python-distutils
+ build-depends:
+ - repoze-lru
+- name: passlib
+ repo: upstream:python-packages/passlib
+ ref: f407312597727a08440e41bc8e31d3b3b334c66f
+ unpetrify-ref: 1.6.2
+ build-system: python-distutils
+- name: tempita
+ repo: upstream:python-packages/tempita
+ ref: b2b67795a009e9f825cbd855d766b78a00273f10
+ unpetrify-ref: 0.5
+ build-system: python-distutils
+- name: numpy
+ repo: upstream:python-packages/numpy.git
+ ref: 65293874fb101907e1648e6b4fafd30d0aa1172a
+ unpetrify-ref: baserock/v1.9.0
+ build-system: python-distutils
+ build-depends:
+ - sphinx
+- name: websockify
+ repo: upstream:python-packages/websockify
+ ref: 2f025741f86419d4ad5702dabf5903db3dbfe77c
+ unpetrify-ref: baserock/v0.6.1-1-g2f02574
+ build-system: python-distutils
+ build-depends:
+ - numpy
+- name: httplib2
+ repo: upstream:python-packages/httplib2
+ ref: f9f797223d075874b0031aea832152688ec23fef
+ unpetrify-ref: v0.9.1
+ build-system: python-distutils
+- name: suds
+ repo: upstream:python-packages/suds
+ ref: e7a317f1a20a4d3c86ac85785bb32d24c3d1078f
+ unpetrify-ref: baserock/release-0.4
+ build-system: python-distutils
+- name: jsonrpclib
+ repo: upstream:python-packages/jsonrpclib
+ ref: 53c8ffcfe4dd1718086cc551dce8ac459e8abc67
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: rtslib-fb
+ repo: upstream:python-packages/rtslib-fb
+ ref: 8ffb4739d596fb1aac5d62d173d1e6f80270af9d
+ unpetrify-ref: v2.1.fb52
+ morph: strata/openstack-services/rtslib-fb.morph
+- name: python-pexpect
+ repo: upstream:python-packages/pexpect
+ ref: 671417beb41c21f772687c565196fdde444b053b
+ unpetrify-ref: 3.3
+ build-system: python-distutils
+- name: ply
+ repo: upstream:python-packages/ply.git
+ ref: 6513f3537d80f483ec9c7e36d52e87f107a57f23
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: jsonpath-rw
+ repo: upstream:python-packages/jsonpath-rw
+ ref: f4cfe56b8e8370116c5275ddcea970e9a68fd75d
+ unpetrify-ref: 1.2.3
+ build-system: python-distutils
+ build-depends:
+ - ply
+- name: logutils
+ repo: upstream:python-packages/logutils.git
+ ref: 095f14efbaaf838b7772bffd36a466abb9668efe
+ unpetrify-ref: 0.3.3
+ build-system: python-distutils
+- name: pecan
+ repo: upstream:python-packages/pecan
+ ref: c7f241fd6bb8a0b10e02b8b43aaf1810c312cfbf
+ unpetrify-ref: 0.8.0
+ build-system: python-distutils
+ build-depends:
+ - logutils
+- name: croniter
+ repo: upstream:python-packages/croniter
+ ref: 0c3aeac05791cb4ece9e30da29442e9cd5b22f36
+ unpetrify-ref: 0.3.5
+ build-system: python-distutils
+ build-depends:
+ - dateutil
+- name: msgpack-python
+ repo: upstream:python-packages/msgpack-python
+ ref: 61bac2f586e82313a0e618093bfed2435cd18983
+ unpetrify-ref: 0.4.2
+ build-system: python-distutils
+- name: qpid-python
+ morph: strata/openstack-services/qpid-python.morph
+ repo: upstream:python-packages/qpid-python
+ ref: 587b0febaf1996db1e483137ed6addb45580ee9e
+ unpetrify-ref: '0.30'
+- name: simplegeneric-tarball
+ repo: upstream:python-packages/simplegeneric-tarball
+ ref: 601fab9b154c557dfd848d531a8969f4697d1aa2
+ unpetrify-ref: simplegeneric_0.8.1.orig
+ build-system: python-distutils
+- name: ipaddr-py
+ morph: strata/openstack-services/ipaddr-py.morph
+ ref: c813f4790d1092b1515ee18fe8270180ed3cc5cb
+ unpetrify-ref: master
+ repo: upstream:python-packages/ipaddr-py
+- name: wsme
+ repo: upstream:python-packages/wsme
+ ref: 99d7668789cc6252398222549599d1363cddb081
+ unpetrify-ref: 0.6.1
+ build-system: python-distutils
+ build-depends:
+ - ipaddr-py
+ - simplegeneric-tarball
+- name: pysnmp
+ repo: upstream:python-packages/pysnmp
+ ref: 1b377afeaf9ee96ab1d48aeebb2b7a6d65a4ac9d
+ unpetrify-ref: release_4_2_5_tag
+ build-system: python-distutils
+- name: thrift
+ morph: strata/openstack-services/thrift.morph
+ repo: upstream:thrift
+ ref: 591e20f9636c37527a70dc03598218c3468a0eff
+ unpetrify-ref: 0.9.2
+- name: retrying
+ repo: upstream:python-packages/retrying
+ ref: cab083eb5791615fadbc0c98ad77a70d64b77d0d
+ unpetrify-ref: v1.3.1
+ build-system: python-distutils
+- name: oslo-context
+ repo: upstream:openstack/oslo-context
+ ref: 1c4757a9fb41e47867bd9b8d390057ad7636b76f
+ unpetrify-ref: 0.2.0
+ build-system: python-distutils
+- name: oslo-middleware
+ repo: upstream:openstack/oslo-middleware
+ ref: bff184a2b5b1a0d3d22508a7544075378aca9e13
+ unpetrify-ref: 1.2.0
+ build-system: python-distutils
+ build-depends:
+ - oslo-context
+- name: oslo-messaging
+ repo: upstream:openstack/oslo-messaging
+ ref: 562c41bb78f578ff9c27633c04ac6dd914c55f5a
+ unpetrify-ref: 1.8.2
+ build-system: python-distutils
+ build-depends:
+ - kombu
+- name: ordereddict
+ repo: upstream:python-packages/ordereddict-tarball
+ ref: 332cd0213829089dd827a32e7c5e64c41ce79cbc
+ unpetrify-ref: ordereddict-1.1
+ build-system: python-distutils
+- name: trollius
+ repo: upstream:python-packages/trollius
+ ref: fe6f8d61b1257bc01cdf4f789aaf4a8ec3d6f8ec
+ unpetrify-ref: trollius-1.0.4
+ build-system: python-distutils
+ build-depends:
+ - ordereddict
+- name: aioeventlet
+ repo: upstream:python-packages/aioeventlet
+ ref: 3cac0d7740592a380a7dadb2ddcdda000cae2bda
+ unpetrify-ref: 0.4
+ build-system: python-distutils
+ build-depends:
+ - trollius
+- name: urllib3
+ repo: upstream:python-packages/urllib3
+ ref: 8434c77d845255c4002b505c6c2d79c3b35def0d
+ unpetrify-ref: 1.10.4
+ build-system: python-distutils
+- name: oslo-concurrency
+ repo: upstream:openstack/oslo-concurrency
+ ref: a2473ed0a59e4553766ffcb1ee8f06cb98b14a48
+ unpetrify-ref: 1.8.0
+ build-system: python-distutils
+ build-depends:
+ - posix-ipc-tarball
+ - retrying
+- name: oslo-vmware
+ repo: upstream:openstack/oslo-vmware
+ ref: 5de2c31e9d24f40fc7d33ddb1ce407ffdc6f366c
+ unpetrify-ref: 0.11.1
+ build-system: python-distutils
+ build-depends:
+ - oslo-concurrency
+ - suds
+ - urllib3
+ - httplib2
+- name: taskflow
+ repo: upstream:openstack/taskflow
+ ref: 28bece7c7c97199b8d941b16865c3670c323589a
+ unpetrify-ref: 0.7.1
+ build-system: python-distutils
+- name: sqlalchemy-migrate
+ repo: upstream:python-packages/sqlalchemy-migrate
+ ref: e57ee4c3a4247c634980cbeba74d04a01253967d
+ unpetrify-ref: 0.9.6
+ build-system: python-distutils
+ build-depends:
+ - sqlalchemy
+ - tempita
+- name: oauthlib
+ repo: upstream:python-packages/oauthlib
+ ref: fd239fca84644896b1971cf24bc6213d065adb86
+ unpetrify-ref: 0.7.2
+ build-system: python-distutils
+ build-depends:
+ - docutils
+ - creole
+ - pycco
+ - sphinx
+ - pyjwt
+- name: happybase
+ repo: upstream:python-packages/happybase
+ ref: 90a4b7ef741f0ecfe5145693f64c6f7180b9ba3d
+ unpetrify-ref: 0.8
+ build-system: python-distutils
+ build-depends:
+ - thrift
+- name: osprofiler
+ repo: upstream:python-packages/osprofiler
+ ref: bbe39b517263017c9db56ae1d904d08846eacff7
+ unpetrify-ref: 0.3.0
+ build-system: python-distutils
+- name: pycadf
+ repo: upstream:python-packages/pycadf
+ ref: 9501f4f74c5d800ae43edbe52680e285cf98c710
+ unpetrify-ref: 0.9.0
+ build-system: python-distutils
+ build-depends:
+ - oslo-context
+ - oslo-messaging
+ - posix-ipc-tarball
+- name: keystonemiddleware
+ repo: upstream:openstack/keystonemiddleware
+ ref: 0e63b0e13d0a7919fddd7576c99bc15a45d31a9f
+ unpetrify-ref: 1.5.1
+ build-system: python-distutils
+ build-depends:
+ - pycadf
+ - oslo-context
+- name: oslo-db
+ repo: upstream:openstack/oslo-db
+ ref: 3e6a30c396aa42ef0eccb5b3625af728d8d3f437
+ unpetrify-ref: 1.7.1
+ build-system: python-distutils
+ build-depends:
+ - alembic
+ - sqlalchemy
+ - sqlalchemy-migrate
+- name: glance_store
+ repo: upstream:openstack/glance_store.git
+ ref: ea88e503b617a7ac9a0ae7e537d6517e9992a104
+ unpetrify-ref: 0.4.0
+ build-system: python-distutils
+ build-depends:
+ - ordereddict
+ - oslo-concurrency
+- name: oslo-log
+ repo: upstream:openstack/oslo-log
+ ref: 54e3d0e705accfaa4c73a01fc2ea1480fcc0024e
+ unpetrify-ref: 1.0.0
+ build-system: python-distutils
+ build-depends:
+ - oslo-context
+- name: oslo-policy
+ repo: upstream:openstack/oslo-policy
+ ref: 4c8f38cd1d088c46be314b47f6774e721813c6d9
+ unpetrify-ref: 0.3.2
+ build-system: python-distutils
+- name: semantic-version
+ repo: upstream:python-packages/semantic-version
+ ref: 2174bdcae6e46f5f68f5b8ea984a695db9f41bcf
+ unpetrify-ref: v2.4.1
+ build-system: python-distutils
+- name: glance
+ morph: strata/openstack-services/glance.morph
+ repo: upstream:openstack/glance
+ ref: 93b0d5fce3a41e4a3a549f98f78b6681cbc3ea95
+ unpetrify-ref: 2015.1.0
+ build-depends:
+ - sqlalchemy
+ - anyjson
+ - routes
+ - sqlalchemy-migrate
+ - httplib2
+ - kombu
+ - keystonemiddleware
+ - wsme
+ - oslo-vmware
+ - oslo-concurrency
+ - oslo-context
+ - oslo-log
+ - oslo-policy
+ - paste
+ - oslo-db
+ - oslo-messaging
+ - retrying
+ - osprofiler
+ - ordereddict
+ - glance_store
+ - semantic-version
+ - taskflow
+ - posix-ipc-tarball
+- name: sqlparse
+ repo: upstream:python-packages/sqlparse
+ ref: 991e7348075accae6d08025212251af21e92e664
+ unpetrify-ref: 0.1.13
+ build-system: python-distutils
+- name: pysaml2
+ repo: upstream:python-packages/pysaml2.git
+ ref: 13ff5e8899300c9b359fa1bdfdb3d412be0d7356
+ unpetrify-ref: 2.4.0
+ build-system: python-distutils
+- name: keystone
+ morph: strata/openstack-services/keystone.morph
+ repo: upstream:openstack/keystone
+ ref: 5d3b31f9c3d34599ff8a83eeb7530fc6e0b1b67b
+ unpetrify-ref: 2015.1.0
+ build-depends:
+ - paste
+ - routes
+ - sqlalchemy
+ - sqlalchemy-migrate
+ - passlib
+ - keystonemiddleware
+ - oslo-concurrency
+ - oslo-messaging
+ - oslo-db
+ - oslo-log
+ - oslo-middleware
+ - oslo-policy
+ - oauthlib
+ - dogpile-cache
+ - pycadf
+ - posix-ipc-tarball
+ - pysaml2
+- name: neutron
+ morph: strata/openstack-services/neutron.morph
+ repo: upstream:openstack/neutron
+ ref: 7260e0e3fc2ea479e80e0962624aca7fd38a1f60
+ unpetrify-ref: 2015.1.0
+ build-depends:
+ - paste
+ - routes
+ - httplib2
+ - jsonrpclib
+ - keystonemiddleware
+ - sqlalchemy
+ - alembic
+ - retrying
+ - oslo-db
+ - oslo-messaging
+ - oslo-rootwrap
+ - oslo-concurrency
+ - oslo-context
+ - oslo-log
+ - oslo-middleware
+- name: wsgiref
+ repo: upstream:python-packages/wsgiref.git
+ ref: e8360785eef259394e13b2062407edc3c2cbc1e0
+ unpetrify-ref: baserock/master
+ build-system: python-distutils
+- name: rfc3986
+ repo: upstream:python-packages/python-rfc3986.git
+ ref: 9817ec3e47bca8fba9a7cac56d785e9d644f7473
+ unpetrify-ref: rfc3986-0.2.0
+ build-system: python-distutils
+- name: urwid
+ repo: upstream:python-packages/urwid
+ ref: 838839f7a300a774240d52f943aafd6ff44b2413
+ unpetrify-ref: release-1.3.0
+ build-system: python-distutils
+- name: configshell-fb
+ repo: upstream:python-packages/configshell-fb
+ ref: 8c151ccdd75956da60b2304417c41a60a2c28231
+ unpetrify-ref: v1.1.fb17
+ build-system: python-distutils
+- name: targetcli-fb
+ repo: upstream:python-packages/targetcli
+ ref: c62610f3c2da6b4d364028c18bcc7f0d3da54477
+ unpetrify-ref: v2.1.fb39
+ build-system: python-distutils
+ build-depends:
+ - configshell-fb
+ - rtslib-fb
+- name: sysfsutils
+ repo: upstream:sysfsutils
+ ref: 237bf36e664db92f95b75067bf0f246726993254
+ unpetrify-ref: sysfsutils-2_1_0
+ build-system: autotools
+- name: open-iscsi
+ morph: strata/openstack-services/open-iscsi.morph
+ repo: upstream:open-iscsi
+ ref: 8da14e6f9eeeb4fd03938d40fe1126fe0d110b68
+ unpetrify-ref: master
+- name: nova
+ morph: strata/openstack-services/nova.morph
+ repo: upstream:openstack/nova
+ ref: 8397b6464af520903f546ce4c6d51a2eb5b4c8a8
+ unpetrify-ref: 2015.1.0
+ build-depends:
+ - sqlalchemy
+ - keystonemiddleware
+ - routes
+ - paste
+ - sqlalchemy-migrate
+ - websockify
+ - oslo-db
+ - oslo-rootwrap
+ - oslo-messaging
+ - rfc3986
+ - oslo-concurrency
+ - oslo-context
+ - oslo-log
+ - oslo-messaging
+- name: cinder
+ morph: strata/openstack-services/cinder.morph
+ repo: upstream:openstack/cinder
+ ref: 5987bb2290f629e59b0bcced2f8fe22cdeb9cc6d
+ unpetrify-ref: 2015.1.0
+ build-depends:
+ - anyjson
+ - keystonemiddleware
+ - kombu
+ - oslo-concurrency
+ - oslo-context
+ - oslo-db
+ - oslo-log
+ - oslo-messaging
+ - oslo-middleware
+ - oslo-rootwrap
+ - osprofiler
+ - paste
+ - retrying
+ - routes
+ - taskflow
+ - rtslib-fb
+ - sqlalchemy
+ - sqlalchemy-migrate
+ - suds
+ - oslo-vmware
+- name: pymemcache
+ repo: upstream:python-packages/pymemcache
+ ref: 0646937c2bfebdb557ec2c01f0e42a9af79ad49d
+ unpetrify-ref: v1.2.9
+ build-system: python-distutils
+- name: sysv_ipc-tarball
+ repo: upstream:python-packages/sysv-ipc-tarball.git
+ ref: a77e3a63f004e6ee789fa05e4a5bbc333b1529f1
+ unpetrify-ref: sysv_ipc-0.6.8
+ build-system: python-distutils
+- name: redis-py
+ repo: upstream:python-packages/redis-py
+ ref: 4d0b0afe9c9a431ed50c3e9fb95a0aa88b1f1038
+ unpetrify-ref: 2.10.3
+ build-system: python-distutils
+- name: tooz
+ repo: upstream:python-packages/tooz
+ ref: 8086661f404e61c22f0dd1d07b57a864862a0869
+ unpetrify-ref: 0.13.2
+ build-system: python-distutils
+ build-depends:
+ - pymemcache
+ - msgpack-python
+ - retrying
+ - redis-py
+- name: kafka-python
+ repo: upstream:python-packages/kafka-python
+ ref: 8675c3e3e620df5ba9fd7e570c554b773429bd78
+ unpetrify-ref: v0.9.3
+ build-system: python-distutils
+- name: werkzeug
+ repo: upstream:python-packages/werkzeug
+ ref: 96e49709d627a7766077cff4c98ebf3cad868ceb
+ unpetrify-ref: v0.10.4
+ build-system: python-distutils
+- name: requests-aws
+ repo: upstream:python-packages/python-requests-aws
+ ref: 48fe401c78eb1b1048cd20e2d26015585a7986cb
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: ceilometer
+ repo: upstream:openstack/ceilometer
+ morph: strata/openstack-services/ceilometer.morph
+ ref: b0447ed8e7bee371bf7095c86e47d717abe89edc
+ unpetrify-ref: 2014.1.0
+ build-depends:
+ - retrying
+ - alembic
+ - croniter
+ - jsonpath-rw
+ - kafka-python
+ - keystonemiddleware
+ - msgpack-python
+ - oslo-context
+ - oslo-db
+ - oslo-concurrency
+ - oslo-policy
+ - oslo-rootwrap
+ - pecan
+ - posix-ipc-tarball
+ - oslo-messaging
+ - oslo-middleware
+ - pysnmp
+ - sqlalchemy
+ - sqlalchemy-migrate
+ - tooz
+ - werkzeug
+ - wsme
+ - requests-aws
+- name: django-openstack-auth
+ repo: upstream:openstack/django_openstack_auth
+ ref: 0e1f7b78277850634992a594132921efb83256e0
+ unpetrify-ref: 1.2.0
+ build-system: python-distutils
+- name: pint
+ repo: upstream:python-packages/pint
+ ref: e7e7de5ca2e1c19963be8a918369fb19186f9a73
+ unpetrify-ref: 0.6
+ build-system: python-distutils
+- name: horizon
+ morph: strata/openstack-services/horizon.morph
+ repo: upstream:openstack/horizon
+ ref: b99cf48ff346494198fb9740495eacc14fa406bf
+ unpetrify-ref: 2015.1.0
+ build-depends:
+ - pint
+ - django-openstack-auth
+ - kombu
+ - oslo-concurrency
+- name: novnc
+ morph: strata/openstack-services/novnc.morph
+ repo: upstream:novnc
+ ref: 97be997f62d59c028fc45323b00e3b93fafe4eb4
+ unpetrify-ref: baserock/v0.5.1
+- name: pyserial
+ repo: upstream:python-packages/pyserial
+ ref: bcfc1ec2fdb9a8c9c867481d7673e85fe512e667
+ unpetrify-ref: release2_7
+ build-system: python-distutils
+- name: tempest-lib
+ repo: upstream:openstack/tempest-lib
+ ref: c307ffc525d896e2071319c8067aec805804f92b
+ unpetrify-ref: 0.5.0
+ build-system: python-distutils
+- name: tempest
+ morph: strata/openstack-services/tempest.morph
+ repo: upstream:openstack/tempest
+ ref: 26149b612d01ad605e4d0f41a2d67280c8088cda
+ unpetrify-ref: '4'
+ build-depends:
+ - tempest-lib
+- name: tftp-hpa
+ morph: strata/openstack-services/tftp-hpa.morph
+ repo: upstream:tftp-hpa
+ ref: 4faf178a509d8091b7ba1e1fa3d13bc68c5ff55f
+ unpetrify-ref: tftp-hpa-5.2
+- name: singledispatch
+ morph: strata/openstack-services/singledispatch.morph
+ repo: upstream:python-packages/singledispatch
+ ref: 92175ba65602a03086d2b1f770f45d88af93fc3e
+ unpetrify-ref: 3.4.0.3
+- name: pysendfile
+ morph: strata/openstack-services/pysendfile.morph
+ repo: upstream:python-packages/pysendfile
+ ref: 6775b2938ef74255239c8e08458369921297b311
+ unpetrify-ref: release-2.0.0
+- name: ironic
+ morph: strata/openstack-services/ironic.morph
+ repo: upstream:openstack/ironic
+ ref: dee609cb7976e9b3cc07c3d342a271c4a347f69f
+ unpetrify-ref: 2015.1.0
+ build-depends:
+ - sqlalchemy
+ - alembic
+ - sqlalchemy-migrate
+ - pysendfile
+ - websockify
+ - oslo-concurrency
+ - oslo-context
+ - oslo-db
+ - oslo-rootwrap
+ - oslo-policy
+ - pecan
+ - wsme
+ - keystonemiddleware
+ - oslo-messaging
+ - retrying
+ - posix-ipc-tarball
diff --git a/baserock/strata/openstack-services/ceilometer.morph b/baserock/strata/openstack-services/ceilometer.morph
new file mode 100644
index 00000000..f120ce9e
--- /dev/null
+++ b/baserock/strata/openstack-services/ceilometer.morph
@@ -0,0 +1,23 @@
+name: ceilometer
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install the configuration files required to
+- mkdir -p "$DESTDIR"/etc/ceilometer
+- install -D -m 644 etc/ceilometer/*.json "$DESTDIR"/etc/ceilometer
+- install -D -m 644 etc/ceilometer/*.yaml "$DESTDIR"/etc/ceilometer
+- install -D -m 644 etc/ceilometer/api_paste.ini "$DESTDIR"/etc/ceilometer/api_paste.ini
+# Install rootwrap.conf
+- install -D -m 640 etc/ceilometer/rootwrap.conf "$DESTDIR"/etc/ceilometer/rootwrap.conf
+# Move rootwrap files to a proper location
+- mkdir -p "$DESTDIR"/etc/ceilometer/rootwrap.d
+- install -D -m 644 etc/ceilometer/rootwrap.d/* "$DESTDIR"/etc/ceilometer/rootwrap.d/
+# Add ceilometer to sudoers controlling which commands will run as a root
+# using the openstack rootwrap.
+- mkdir -p "$DESTDIR"/etc/sudoers.d
+- |
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/ceilometer-rootwrap
+ Defaults:ceilometer !requiretty
+
+ ceilometer ALL=(root) NOPASSWD: /usr/bin/ceilometer-rootwrap /etc/ceilometer/rootwrap.conf *
+ EOF
diff --git a/baserock/strata/openstack-services/cinder.morph b/baserock/strata/openstack-services/cinder.morph
new file mode 100644
index 00000000..a0fc879f
--- /dev/null
+++ b/baserock/strata/openstack-services/cinder.morph
@@ -0,0 +1,21 @@
+name: cinder
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install some default configuration files
+- install -D -m 644 etc/cinder/logging_sample.conf "$DESTDIR"/etc/cinder/logging.conf
+- install -D -m 644 etc/cinder/api-paste.ini "$DESTDIR"/etc/cinder/api-paste.ini
+- install -D -m 644 etc/cinder/policy.json "$DESTDIR"/etc/cinder/policy.json
+- install -D -m 640 etc/cinder/rootwrap.conf "$DESTDIR"/etc/cinder/rootwrap.conf
+# Move rootwrap files to a proper location
+- mkdir -p "$DESTDIR"/etc/cinder/rootwrap.d
+- install -D -m 644 etc/cinder/rootwrap.d/* "$DESTDIR"/etc/cinder/rootwrap.d/
+# Add cinder to sudoers controlling which commands will run as a root
+# using the openstack rootwrap.
+- mkdir -p "$DESTDIR"/etc/sudoers.d
+- |
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/cinder-rootwrap
+ Defaults:cinder !requiretty
+
+ cinder ALL=(root) NOPASSWD: /usr/bin/cinder-rootwrap /etc/cinder/rootwrap.conf *
+ EOF
diff --git a/baserock/strata/openstack-services/erlang-sd_notify.morph b/baserock/strata/openstack-services/erlang-sd_notify.morph
new file mode 100644
index 00000000..dd3f66ca
--- /dev/null
+++ b/baserock/strata/openstack-services/erlang-sd_notify.morph
@@ -0,0 +1,8 @@
+name: erlang-sd_notify
+kind: chunk
+build-commands:
+- LDFLAGS=-lsystemd REBAR_FLAGS="--verbose 2" make
+install-commands:
+- install -D -m 644 -p ebin/sd_notify.app "$DESTDIR$PREFIX"/lib/erlang/lib/sd_notify-0.1/ebin/sd_notify.app
+- install -D -m 644 -p ebin/sd_notify.beam "$DESTDIR$PREFIX"/lib/erlang/lib/sd_notify-0.1/ebin/sd_notify.beam
+- install -D -m 755 -p priv/sd_notify_drv.so "$DESTDIR$PREFIX"/lib/erlang/lib/sd_notify-0.1/priv/sd_notify_drv.so
diff --git a/baserock/strata/openstack-services/glance.morph b/baserock/strata/openstack-services/glance.morph
new file mode 100644
index 00000000..3f81a505
--- /dev/null
+++ b/baserock/strata/openstack-services/glance.morph
@@ -0,0 +1,29 @@
+name: glance
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install some default configuration files
+- mkdir -p "$DESTDIR"/etc/glance
+- install -m 644 etc/glance-api-paste.ini "$DESTDIR"/etc/glance/
+- install -m 644 etc/glance-registry-paste.ini "$DESTDIR"/etc/glance/
+- install -m 644 etc/glance-search-paste.ini "$DESTDIR"/etc/glance/
+- install -m 644 etc/policy.json "$DESTDIR"/etc/glance/
+- install -m 644 etc/schema-image.json "$DESTDIR"/etc/glance/
+- install -m 644 etc/search-policy.json "$DESTDIR"/etc/glance/
+# Install predefined namespaces for Glance Metadata Definitions
+# Catalog (see more info in its README)
+- cp -r etc/metadefs "$DESTDIR"/etc/glance/
+# Install conf files which are not modified by
+- install -m 644 etc/glance-scrubber.conf "$DESTDIR"/etc/glance/
+- install -m 644 etc/glance-cache.conf "$DESTDIR"/etc/glance/
+- install -m 644 etc/glance-search.conf "$DESTDIR"/etc/glance/
+- |
+ install -m 644 etc/glance-swift.conf.sample \
+ "$DESTDIR"/etc/glance/glance-swift.conf
+- install -m 644 etc/glance-manage.conf "$DESTDIR"/etc/glance/
+- |
+ install -m 644 etc/property-protections-policies.conf.sample \
+ "$DESTDIR"/etc/glance/property-protections-policies.conf
+- |
+ install -m 644 etc/property-protections-roles.conf.sample \
+ "$DESTDIR"/etc/glance/property-protections-roles.conf
diff --git a/baserock/strata/openstack-services/horizon.morph b/baserock/strata/openstack-services/horizon.morph
new file mode 100644
index 00000000..74930a1e
--- /dev/null
+++ b/baserock/strata/openstack-services/horizon.morph
@@ -0,0 +1,63 @@
+name: horizon
+kind: chunk
+configure-commands:
+# Remove unnecessary .mo files they will be generated
+# later during package build.
+- find . -name "django*.mo" -exec rm -f '{}' \;
+build-commands:
+# Compile message strings
+- cd horizon && django-admin.py compilemessages
+- cd openstack_dashboard && django-admin.py compilemessages
+- python setup.py build
+
+# Use the local_settings.py example to compile and compress the css, js, etc files.
+# This is a hack to make SECRET_KEY work.
+- |
+ cp openstack_dashboard/local/local_settings.py.example \
+ openstack_dashboard/local/local_settings.py
+# Collect the static files and compress them.
+- python manage.py collectstatic --noinput
+- python manage.py compress --force
+install-commands:
+# Install horizon in a temporary folder first, and then move things to the
+# right place in $DESTDIR
+- mkdir temproot
+- python setup.py install -O1 --skip-build --prefix "$PREFIX" --root temproot
+# Remove unnecessary .po files
+- find temproot -name django.po -exec rm '{}' \;
+- find temproot -name djangojs.po -exec rm '{}' \;
+
+# Move openstack_dashboard to /var/lib/horizon
+- mkdir -p "$DESTDIR"/var/lib/horizon/
+- |
+ mv temproot/"$PREFIX"/lib/python*/site-packages/openstack_dashboard \
+ "$DESTDIR"/var/lib/horizon/
+- cp manage.py "$DESTDIR"/var/lib/horizon/openstack_dashboard/
+
+# Copy the rest to $DESTDIR
+- cp -a temproot/* "$DESTDIR"
+
+# Copy local_settings to /etc/horizon/openstack_dashboard, so that they
+# can be modified, and link them where openstack_dashboard is installed.
+- mkdir -p "$DESTDIR"/etc/horizon/openstack_dashboard/
+- |
+ cp openstack_dashboard/local/local_settings.py.example \
+ "$DESTDIR"/etc/horizon/openstack_dashboard/local_settings.py
+# Set COMPRESS_OFFLINE=True
+- |
+ echo "COMPRESS_OFFLINE=True" >> \
+ "$DESTDIR"/etc/horizon/openstack_dashboard/local_settings.py
+
+- mkdir -p "$DESTDIR"/var/lib/horizon/openstack_dashboard/local
+- |
+ ln -sf /etc/horizon/openstack_dashboard/local_settings.py \
+ "$DESTDIR"/var/lib/horizon/openstack_dashboard/local/local_settings.py
+
+# Create the static directory (STATIC_ROOT) used in local_settings.py to keep
+# the static objects like css files.
+- mkdir -p "$DESTDIR"/var/lib/horizon/static
+# Copy the compressed static files to horizon.
+- cp -a static/* "$DESTDIR"/var/lib/horizon/static
+
+# Create the horizon document root for apache configuration
+- mkdir -p "$DESTDIR"/var/lib/horizon/.blackhole
diff --git a/baserock/strata/openstack-services/ipaddr-py.morph b/baserock/strata/openstack-services/ipaddr-py.morph
new file mode 100644
index 00000000..f6691ab7
--- /dev/null
+++ b/baserock/strata/openstack-services/ipaddr-py.morph
@@ -0,0 +1,6 @@
+name: ipaddr-py
+kind: chunk
+build-commands:
+- cd trunk && python setup.py build
+install-commands:
+- cd trunk && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/baserock/strata/openstack-services/ironic.morph b/baserock/strata/openstack-services/ironic.morph
new file mode 100644
index 00000000..8003dd17
--- /dev/null
+++ b/baserock/strata/openstack-services/ironic.morph
@@ -0,0 +1,18 @@
+name: ironic
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- |
+ mkdir -p "$DESTDIR"/etc/ironic
+ install -m 644 etc/ironic/policy.json "$DESTDIR"/etc/ironic
+ install -m 644 etc/ironic/rootwrap.conf "$DESTDIR"/etc/ironic
+ mkdir -p "$DESTDIR"/etc/ironic/rootwrap.d
+ install -m 644 etc/ironic/rootwrap.d/* "$DESTDIR"/etc/ironic/rootwrap.d/
+
+ # Add ironic to sudoers controlling which commands will run as a root
+ # using the openstack rootwrap.
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/ironic-rootwrap
+ Defaults:ironic !requiretty
+
+ ironic ALL=(root) NOPASSWD: /usr/bin/ironic-rootwrap /etc/ironic/rootwrap.conf *
+ EOF
diff --git a/baserock/strata/openstack-services/keystone.morph b/baserock/strata/openstack-services/keystone.morph
new file mode 100644
index 00000000..836b5d47
--- /dev/null
+++ b/baserock/strata/openstack-services/keystone.morph
@@ -0,0 +1,9 @@
+name: keystone
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install some default configuration files
+- mkdir -p "$DESTDIR"/etc/keystone
+- install -m 644 etc/keystone-paste.ini "$DESTDIR"/etc/keystone/
+- install -m 644 etc/policy.json "$DESTDIR"/etc/keystone/
+- install -m 644 etc/logging.conf.sample "$DESTDIR"/etc/keystone/logging.conf
diff --git a/baserock/strata/openstack-services/librabbitmq.morph b/baserock/strata/openstack-services/librabbitmq.morph
new file mode 100644
index 00000000..b87ce369
--- /dev/null
+++ b/baserock/strata/openstack-services/librabbitmq.morph
@@ -0,0 +1,10 @@
+name: librabbitmq
+kind: chunk
+build-system: python-distutils
+configure-commands:
+- (cd rabbitmq-c; rm -rf codegen; ln -sf ../rabbitmq-codegen ./codegen)
+- (cd rabbitmq-c; autoreconf -fvi)
+- (cd rabbitmq-c; automake --add-missing)
+- (cd rabbitmq-c; ./configure --disable-tools --disable-docs)
+- (cd rabbitmq-c; make distdir)
+- mv rabbitmq-c/rabbitmq-c-0.5.3 clib
diff --git a/baserock/strata/openstack-services/neutron.morph b/baserock/strata/openstack-services/neutron.morph
new file mode 100644
index 00000000..6e203922
--- /dev/null
+++ b/baserock/strata/openstack-services/neutron.morph
@@ -0,0 +1,27 @@
+name: neutron
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- |
+ # Move the configuration files to a proper location
+ mkdir "$DESTDIR"/etc
+ mv "$DESTDIR/$PREFIX"/etc/neutron "$DESTDIR"/etc
+
+ # Remove unused start/stop script
+ rm "$DESTDIR/$PREFIX"/etc/init.d/neutron-server
+
+ # Remove configuration files which will be added by Ansible
+ rm "$DESTDIR"/etc/neutron/neutron.conf
+ rm "$DESTDIR"/etc/neutron/metadata_agent.ini
+ rm "$DESTDIR"/etc/neutron/plugins/ml2/ml2_conf.ini
+ rm "$DESTDIR"/etc/neutron/dhcp_agent.ini
+ rm "$DESTDIR"/etc/neutron/l3_agent.ini
+
+ # Add neutron to sudoers controlling which commands is running as a
+ # root using the openstack rootwrap.
+ mkdir -p "$DESTDIR"/etc/sudoers.d
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/neutron-rootwrap
+ Defaults:neutron !requiretty
+
+ neutron ALL=(root) NOPASSWD: /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf *
+ EOF
diff --git a/baserock/strata/openstack-services/nova.morph b/baserock/strata/openstack-services/nova.morph
new file mode 100644
index 00000000..e5a87daf
--- /dev/null
+++ b/baserock/strata/openstack-services/nova.morph
@@ -0,0 +1,24 @@
+name: nova
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install some default configuration files
+- mkdir -p "$DESTDIR"/etc/nova
+- install -m 644 etc/nova/api-paste.ini "$DESTDIR"/etc/nova/
+- install -m 644 etc/nova/cells.json "$DESTDIR"/etc/nova/
+- install -m 644 etc/nova/logging_sample.conf "$DESTDIR"/etc/nova/logging.conf
+- install -m 644 etc/nova/policy.json "$DESTDIR"/etc/nova/
+# Install rootwrap.conf
+- install -m 640 etc/nova/rootwrap.conf "$DESTDIR"/etc/nova/rootwrap.conf
+# Move rootwrap files to a proper location
+- mkdir -p "$DESTDIR"/etc/nova/rootwrap.d
+- install -m 644 etc/nova/rootwrap.d/* "$DESTDIR"/etc/nova/rootwrap.d/
+# Add nova to sudoers controlling which commands will run as a root
+# using the openstack rootwrap.
+- mkdir -p "$DESTDIR"/etc/sudoers.d
+- |
+ install -D -m 0440 /proc/self/fd/0 <<'EOF' "$DESTDIR"/etc/sudoers.d/nova-rootwrap
+ Defaults:nova !requiretty
+
+ nova ALL=(root) NOPASSWD: /usr/bin/nova-rootwrap /etc/nova/rootwrap.conf *
+ EOF
diff --git a/baserock/strata/openstack-services/novnc.morph b/baserock/strata/openstack-services/novnc.morph
new file mode 100644
index 00000000..858320a0
--- /dev/null
+++ b/baserock/strata/openstack-services/novnc.morph
@@ -0,0 +1,11 @@
+name: novnc
+kind: chunk
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/share/novnc/utils
+- install -m 444 *html "$DESTDIR$PREFIX"/share/novnc
+- install -m 444 vnc.html "$DESTDIR$PREFIX"/share/novnc/index.html
+- mkdir -p "$DESTDIR$PREFIX"/share/novnc/include
+- install -m 444 include/*.* "$DESTDIR$PREFIX"/share/novnc/include
+- mkdir -p "$DESTDIR$PREFIX"/share/novnc/images
+- install -m 444 images/*.* "$DESTDIR$PREFIX"/share/novnc/images
+- install -d "$DESTDIR"/etc/sysconfig
diff --git a/baserock/strata/openstack-services/open-iscsi.morph b/baserock/strata/openstack-services/open-iscsi.morph
new file mode 100644
index 00000000..6a0b73b3
--- /dev/null
+++ b/baserock/strata/openstack-services/open-iscsi.morph
@@ -0,0 +1,46 @@
+name: open-iscsi
+kind: chunk
+build-commands:
+- make
+install-commands:
+# Rewrite prefix and exec_prefix which are set to "/usr" and "/" respectively
+- make prefix="$PREFIX" exec_prefix="$PREFIX" DESTDIR="$DESTDIR" install
+# Install iscsistart app which is not listed by default in PROGRAMS
+- make prefix="$PREFIX" exec_prefix="$PREFIX" DESTDIR="$DESTDIR" PROGRAMS="usr/iscsistart"
+ install
+post-install-commands:
+# Configure iscsi daemon
+# Point the startup to the installed binary
+- |
+ sed -i -e "s|iscsid.startup = \/sbin\/iscsid|iscsid.startup = "$PREFIX"/sbin/iscsid|" \
+ etc/iscsid.conf
+# Start up a session automatically
+- sed -i -e 's|node.startup = manual|node.startup = automatic|' etc/iscsid.conf
+# Install config file
+- install -D -m 644 etc/iscsid.conf "$DESTDIR"/etc/iscsi
+# Install custom systemd unit file
+- |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR$PREFIX"/lib/systemd/system/iscsid.service
+ [Unit]
+ Description=Open iSCSI Daemon
+ After=network.target
+
+ [Service]
+ Type=forking
+ ExecStart=/usr/sbin/iscsid
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+# Install iscsi socket unit
+- |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR$PREFIX"/lib/systemd/system/iscsid.socket
+ [Unit]
+ Description=Open-iSCSI iscsid Socket
+
+ [Socket]
+ ListenStream=@ISCSIADM_ABSTRACT_NAMESPACE
+
+ [Install]
+ WantedBy=sockets.target
+ EOF
diff --git a/baserock/strata/openstack-services/pies.morph b/baserock/strata/openstack-services/pies.morph
new file mode 100644
index 00000000..327c1dc9
--- /dev/null
+++ b/baserock/strata/openstack-services/pies.morph
@@ -0,0 +1,11 @@
+name: pies
+kind: chunk
+configure-commands:
+- |
+ cd pies2override
+ && python setup.py build
+ && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/baserock/strata/openstack-services/pysendfile.morph b/baserock/strata/openstack-services/pysendfile.morph
new file mode 100644
index 00000000..2e2f809b
--- /dev/null
+++ b/baserock/strata/openstack-services/pysendfile.morph
@@ -0,0 +1,3 @@
+name: pysendfile
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-services/qpid-python.morph b/baserock/strata/openstack-services/qpid-python.morph
new file mode 100644
index 00000000..203b3db5
--- /dev/null
+++ b/baserock/strata/openstack-services/qpid-python.morph
@@ -0,0 +1,6 @@
+name: qpid-python
+kind: chunk
+build-commands:
+- cd qpid/python && python setup.py build
+install-commands:
+- cd qpid/python && python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/baserock/strata/openstack-services/rabbitmq-codegen.morph b/baserock/strata/openstack-services/rabbitmq-codegen.morph
new file mode 100644
index 00000000..2b06aeb5
--- /dev/null
+++ b/baserock/strata/openstack-services/rabbitmq-codegen.morph
@@ -0,0 +1,7 @@
+name: rabbitmq-codegen
+kind: chunk
+configure-commands: []
+build-commands: []
+install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/lib/rabbitmq-codegen
+- cp * "$DESTDIR$PREFIX"/lib/rabbitmq-codegen
diff --git a/baserock/strata/openstack-services/rabbitmq-server.morph b/baserock/strata/openstack-services/rabbitmq-server.morph
new file mode 100644
index 00000000..97b8a126
--- /dev/null
+++ b/baserock/strata/openstack-services/rabbitmq-server.morph
@@ -0,0 +1,16 @@
+name: rabbitmq-server
+kind: chunk
+configure-commands:
+- mkdir -p codegen
+- cp /usr/lib/rabbitmq-codegen/* codegen
+build-commands:
+- make
+install-commands:
+- |
+ make install_bin TARGET_DIR="$DESTDIR$PREFIX" \
+ SBIN_DIR="$DESTDIR$PREFIX"/sbin \
+ MAN_DIR="$PREFIX"/share/man \
+ DOC_INSTALL_DIR="$PREFIX"/share
+
+post-install-commands:
+- rm "$DESTDIR$PREFIX"/LICENSE* "$DESTDIR$PREFIX"/INSTALL
diff --git a/baserock/strata/openstack-services/rtslib-fb.morph b/baserock/strata/openstack-services/rtslib-fb.morph
new file mode 100644
index 00000000..26de3f9b
--- /dev/null
+++ b/baserock/strata/openstack-services/rtslib-fb.morph
@@ -0,0 +1,27 @@
+name: rtslib-fb
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+- mkdir -p "$DESTDIR$PREFIX"/lib/systemd/system
+
+# The following systemd unit is from the fedora package see
+# http://pkgs.fedoraproject.org/cgit/python-rtslib.git/tree/target.service for
+# more information
+
+- |
+ install -D -m 0644 /proc/self/fd/0 <<'EOF' "$DESTDIR$PREFIX"/lib/systemd/system/target.service
+ [Unit]
+ Description=Restore LIO kernel target configuration
+ Requires=sys-kernel-config.mount
+ After=sys-kernel-config.mount network.target local-fs.target
+
+ [Service]
+ Type=oneshot
+ RemainAfterExit=yes
+ ExecStart=/usr/bin/targetctl restore
+ ExecStop=/usr/bin/targetctl clear
+ SyslogIdentifier=target
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
diff --git a/baserock/strata/openstack-services/singledispatch.morph b/baserock/strata/openstack-services/singledispatch.morph
new file mode 100644
index 00000000..919c7096
--- /dev/null
+++ b/baserock/strata/openstack-services/singledispatch.morph
@@ -0,0 +1,3 @@
+name: singledispatch
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/openstack-services/tempest.morph b/baserock/strata/openstack-services/tempest.morph
new file mode 100644
index 00000000..cffb7d33
--- /dev/null
+++ b/baserock/strata/openstack-services/tempest.morph
@@ -0,0 +1,12 @@
+name: tempest
+kind: chunk
+build-system: python-distutils
+post-install-commands:
+# Install files and folders required to run tempest
+- mkdir -p "$DESTDIR"/etc/tempest
+- cp -r tempest "$DESTDIR"/etc/tempest/
+- cp -r tools "$DESTDIR"/etc/tempest/
+- cp setup.py tox.ini "$DESTDIR"/etc/tempest/
+- cp run_tests.sh run_tempest.sh "$DESTDIR"/etc/tempest/
+- cp .testr.conf "$DESTDIR"/etc/tempest/
+- cp etc/logging.conf.sample "$DESTDIR"/etc/tempest/logging.conf
diff --git a/baserock/strata/openstack-services/tftp-hpa.morph b/baserock/strata/openstack-services/tftp-hpa.morph
new file mode 100644
index 00000000..d466d2d4
--- /dev/null
+++ b/baserock/strata/openstack-services/tftp-hpa.morph
@@ -0,0 +1,5 @@
+name: tftp-hpa
+build-system: autotools
+kind: chunk
+install-commands:
+- make INSTALLROOT="$DESTDIR" install
diff --git a/baserock/strata/openstack-services/thrift.morph b/baserock/strata/openstack-services/thrift.morph
new file mode 100644
index 00000000..39062351
--- /dev/null
+++ b/baserock/strata/openstack-services/thrift.morph
@@ -0,0 +1,6 @@
+name: thrift
+kind: chunk
+build-system: autotools
+max-jobs: 1
+pre-configure-commands:
+- ./bootstrap.sh
diff --git a/baserock/strata/ostree-core.morph b/baserock/strata/ostree-core.morph
new file mode 100644
index 00000000..fffcc203
--- /dev/null
+++ b/baserock/strata/ostree-core.morph
@@ -0,0 +1,18 @@
+name: ostree-core
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+- morph: strata/libsoup-common.morph
+chunks:
+- name: libgsystem
+ repo: upstream:libgsystem
+ ref: 8231b8ad4a4ee35e4b11fae5f6e7cddabf1c51ae
+ unpetrify-ref: master
+ build-system: autotools
+- name: ostree
+ repo: upstream:ostree
+ ref: c9704e9802dfeda9b5a138535c59e98df3dd7196
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - libgsystem
diff --git a/baserock/strata/pcre-utils.morph b/baserock/strata/pcre-utils.morph
new file mode 100644
index 00000000..6d2b4a0f
--- /dev/null
+++ b/baserock/strata/pcre-utils.morph
@@ -0,0 +1,10 @@
+name: pcre-utils
+kind: stratum
+build-depends:
+- morph: strata/tools.morph
+chunks:
+- name: pcre
+ repo: upstream:pcre
+ ref: 2720152c58e13e7cc7403642ec33127101b9971b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
diff --git a/baserock/strata/python-cliapp.morph b/baserock/strata/python-cliapp.morph
new file mode 100644
index 00000000..fa5084e1
--- /dev/null
+++ b/baserock/strata/python-cliapp.morph
@@ -0,0 +1,26 @@
+name: python-cliapp
+kind: stratum
+description: |
+ Cliapp command line application framework.
+build-depends:
+- morph: strata/python-core.morph
+chunks:
+- name: python-coveragepy
+ morph: strata/python-cliapp/python-coveragepy.morph
+ repo: upstream:python-coveragepy
+ ref: 77d2e3bfd8fb325092aaed37ba1378054d182d19
+ unpetrify-ref: baserock/morph
+- name: python-coverage-test-runner
+ repo: upstream:python-coverage-test-runner
+ ref: 8ea9421ac3384b2e88e0c36f2cfa52586c4798b7
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+ build-depends:
+ - python-coveragepy
+- name: cliapp
+ repo: upstream:cliapp
+ ref: cec20cedd062a3aef1b04f997e77b45090c07806
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+ build-depends:
+ - python-coverage-test-runner
diff --git a/baserock/strata/python-cliapp/python-coveragepy.morph b/baserock/strata/python-cliapp/python-coveragepy.morph
new file mode 100644
index 00000000..ed5e3d87
--- /dev/null
+++ b/baserock/strata/python-cliapp/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/baserock/strata/python-common.morph b/baserock/strata/python-common.morph
new file mode 100644
index 00000000..961a0a19
--- /dev/null
+++ b/baserock/strata/python-common.morph
@@ -0,0 +1,88 @@
+name: python-common
+kind: stratum
+description: Common dependencies of some python chunks
+build-depends:
+- morph: strata/python-core.morph
+chunks:
+- name: pycrypto
+ morph: strata/python-common/pycrypto.morph
+ repo: upstream:python-packages/pycrypto
+ ref: af058ee6f5da391a05275470ab4a4a96aa22b350
+ unpetrify-ref: v2.7a1
+- name: ecdsa
+ repo: upstream:python-packages/ecdsa
+ ref: 36e9cfa80fcf8b53119adc787e54a5892ec1eb2c
+ unpetrify-ref: python-ecdsa-0.11
+ build-system: python-distutils
+- name: paramiko
+ repo: upstream:paramiko
+ ref: 424ba615c2a94d3b059e7f24db1a1093a92d8d22
+ unpetrify-ref: v1.15.2
+ build-system: python-distutils
+ build-depends:
+ - pycrypto
+ - ecdsa
+- name: markupsafe
+ repo: upstream:markupsafe
+ ref: feb1d70c16df62f60dcb521d127fdad8819fc036
+ unpetrify-ref: 0.23
+ build-system: python-distutils
+- name: jinja2
+ repo: upstream:jinja2
+ ref: 762c612e7276889aac265645da00e62e33d1573c
+ unpetrify-ref: 2.7.3
+ build-system: python-distutils
+ build-depends:
+ - markupsafe
+- name: python-json-pointer
+ repo: upstream:python-json-pointer
+ ref: 34073e561261cb413b9bdff5beac31b070d98ea2
+ unpetrify-ref: v1.4
+ build-system: python-distutils
+- name: python-json-patch
+ repo: upstream:python-json-patch
+ ref: e4da658a5dc9f68d3386017ffdcc8e07d22b51a3
+ unpetrify-ref: v1.8
+ build-system: python-distutils
+ build-depends:
+ - python-json-pointer
+- name: python-prettytable
+ repo: upstream:python-prettytable
+ ref: bea6a50e4da00074b35b57232771cea58b89b3e0
+ unpetrify-ref: 0.7.2-RELEASE
+ build-system: python-distutils
+- name: configobj
+ repo: upstream:configobj-git
+ ref: 9d2aab01c77dce600b296ba9da1163cc0bbc14e0
+ unpetrify-ref: v5.0.6
+ build-system: python-distutils
+- name: python-mimeparse
+ repo: upstream:python-packages/python-mimeparse.git
+ ref: 2d600d3fc4a386af69d20fba433843b4df2b3c92
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: kazoo
+ repo: upstream:python-packages/kazoo.git
+ ref: 93a718ea4c20df797766742c3d74de281613c651
+ unpretrify-ref: 2.0
+ build-system: python-distutils
+- name: webob
+ repo: upstream:python-packages/webob
+ ref: ae0ac90f22f9e1ff351e445f92330efd89195f51
+ unpetrify-ref: 1.4
+ build-system: python-distutils
+- name: python-decorator
+ repo: upstream:python-packages/python-decorator
+ ref: b02f7a254c3679dfac57a824e08dd02ced850636
+ unpetrify-ref: decorator-3.4.0
+ build-system: python-distutils
+- name: networkx
+ repo: upstream:python-packages/networkx
+ ref: 8ac796aba866ade1a56b83e30f25ed392ca3512c
+ unpetrify-ref: networkx-1.9.1
+ build-system: python-distutils
+- name: boto
+ repo: upstream:boto
+ ref: 2517f660f8ef9012708d46da3a36ab967993d2f6
+ unpetrify-ref: 2.33.0
+ build-system: python-distutils
diff --git a/baserock/strata/python-common/pycrypto.morph b/baserock/strata/python-common/pycrypto.morph
new file mode 100644
index 00000000..51cc00f0
--- /dev/null
+++ b/baserock/strata/python-common/pycrypto.morph
@@ -0,0 +1,3 @@
+name: pycrypto
+kind: chunk
+build-system: python-distutils
diff --git a/baserock/strata/python-core.morph b/baserock/strata/python-core.morph
new file mode 100644
index 00000000..3cc4a174
--- /dev/null
+++ b/baserock/strata/python-core.morph
@@ -0,0 +1,52 @@
+name: python-core
+kind: stratum
+description: Core python packages
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: python-setuptools
+ repo: upstream:python-setuptools-bitbucket
+ ref: 0aa6a4de5931d02876428388678802db2371fd37
+ unpetrify-ref: baserock/master
+ build-system: python-distutils
+- name: mako
+ repo: upstream:python-packages/mako.git
+ ref: 285bc818a50ccc0f9549630f7c4f4c250585c3e7
+ unpetrify-ref: rel_1_0_0
+ build-system: python-distutils
+ build-depends:
+ - python-setuptools
+- name: pbr
+ repo: upstream:pbr
+ ref: aef4f7ef4faec987d553d1ca40b55951235af0b1
+ unpetrify-ref: 0.10.7
+ build-system: python-distutils
+ build-depends:
+ - python-setuptools
+- name: python-requests
+ repo: upstream:python-requests
+ ref: b83131779c701720a9ae9efae78996277d416269
+ unpetrify-ref: v2.5.1
+ build-system: python-distutils
+- name: six
+ repo: upstream:six
+ ref: 8cfbff6b764af86d825086fa1637aa009e90d75a
+ unpetrify-ref: 1.9.0
+ build-system: python-distutils
+- name: pyyaml
+ morph: strata/python-core/pyyaml.morph
+ repo: upstream:pyyaml
+ ref: d9fbcceaed39d955f6871b07c61dc42f824285c1
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - python-setuptools
+- name: python-lxml
+ repo: upstream:python-lxml
+ ref: 14505bc62f5f1fc9fb0ff007955f3e67ab4562bb
+ unpetrify-ref: lxml-3.4.0
+ build-system: python-distutils
+- name: python-markdown
+ repo: upstream:python-markdown
+ ref: f0c5b71acbc02af60a33d67c59558bb513b25e74
+ unpetrify-ref: 2.5.1-final
+ build-system: python-distutils
diff --git a/baserock/strata/python-core/pyyaml.morph b/baserock/strata/python-core/pyyaml.morph
new file mode 100644
index 00000000..8ebd7b57
--- /dev/null
+++ b/baserock/strata/python-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/baserock/strata/python-pygobject.morph b/baserock/strata/python-pygobject.morph
new file mode 100644
index 00000000..53e9fd72
--- /dev/null
+++ b/baserock/strata/python-pygobject.morph
@@ -0,0 +1,13 @@
+name: python-pygobject
+kind: stratum
+description: |
+ Python GObject bindings
+build-depends:
+- morph: strata/core.morph
+- morph: strata/glib-common.morph
+chunks:
+- name: pygobject
+ morph: strata/python-pygobject/pygobject.morph
+ repo: upstream:pygobject
+ ref: 276341d7ddab180020c31e6837bd28fd25784de0
+ unpetrify-ref: baserock/morph
diff --git a/baserock/strata/python-pygobject/pygobject.morph b/baserock/strata/python-pygobject/pygobject.morph
new file mode 100644
index 00000000..a423537e
--- /dev/null
+++ b/baserock/strata/python-pygobject/pygobject.morph
@@ -0,0 +1,5 @@
+name: pygobject
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-cairo
diff --git a/baserock/strata/python-tools.morph b/baserock/strata/python-tools.morph
new file mode 100644
index 00000000..bc466755
--- /dev/null
+++ b/baserock/strata/python-tools.morph
@@ -0,0 +1,29 @@
+name: python-tools
+kind: stratum
+description: |
+ A stratum for useful python tools that we don't want to include in core.
+build-depends:
+- morph: strata/python-core.morph
+chunks:
+- name: virtualenv
+ repo: upstream:python-packages/virtualenv
+ ref: 9205ff46a67130e8835f14bb4f802fd59e7dcf2c
+ unpetrify-ref: 12.0.5
+
+ build-system: python-distutils
+## Pylint - required in openstack-services.morph
+- name: astroid
+ repo: upstream:python-packages/astroid
+ ref: 194dc114a33b80b4bfbbeb73f36712848f696025
+ unpetrify-ref: astroid-1.3.5
+ build-system: python-distutils
+- name: logilab-common
+ repo: upstream:python-packages/logilab-common
+ ref: d1d8f793af6d015d885b9ea67b5741d5a093e2f4
+ unpetrify-ref: logilab-common-version-0.62.0
+ build-system: python-distutils
+- name: pylint
+ repo: upstream:python-packages/pylint
+ ref: ba998d7a4e5fce0ea3a3e701ff446bbe4ca406b5
+ unpetrify-ref: pylint-1.4.2
+ build-system: python-distutils
diff --git a/baserock/strata/python-wsgi.morph b/baserock/strata/python-wsgi.morph
new file mode 100644
index 00000000..1472dc9b
--- /dev/null
+++ b/baserock/strata/python-wsgi.morph
@@ -0,0 +1,17 @@
+name: python-wsgi
+kind: stratum
+description: |
+ Python modules for web applications using Web Server Gateway Interface.
+build-depends:
+- morph: strata/python-core.morph
+chunks:
+- name: bottle
+ repo: upstream:bottle
+ ref: 5238c615b3ec198fedebb0fcaad4458e3d68d70f
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+- name: flup
+ repo: upstream:flup
+ ref: 0f97c5e0ab7d9827506120efc22af3a9c21d1d70
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
diff --git a/baserock/strata/python3-core.morph b/baserock/strata/python3-core.morph
new file mode 100644
index 00000000..f0da65fc
--- /dev/null
+++ b/baserock/strata/python3-core.morph
@@ -0,0 +1,11 @@
+name: python3-core
+kind: stratum
+description: Core python3 packages
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: python3
+ morph: strata/python3-core/python3.morph
+ repo: upstream:cpython
+ ref: 3f1e8a3de39ff8a807720d57f49a91d7449435ad
+ unpetrify-ref: v3.4.3
diff --git a/baserock/strata/python3-core/python3.morph b/baserock/strata/python3-core/python3.morph
new file mode 100644
index 00000000..f02452d4
--- /dev/null
+++ b/baserock/strata/python3-core/python3.morph
@@ -0,0 +1,7 @@
+name: python3
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --enable-shared
+post-install-commands:
+- test -x "$DESTDIR"/"$PREFIX"/bin/python3 || ln -s python3.4 "$DESTDIR"/"$PREFIX"/bin/python3
diff --git a/baserock/strata/qt4-sdk.morph b/baserock/strata/qt4-sdk.morph
new file mode 100644
index 00000000..0533ea58
--- /dev/null
+++ b/baserock/strata/qt4-sdk.morph
@@ -0,0 +1,11 @@
+name: qt4-sdk
+kind: stratum
+description: Qt4 Desktop Environment, IDE and Example Apps
+build-depends:
+- 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/baserock/strata/qt4-sdk/qt-creator.morph b/baserock/strata/qt4-sdk/qt-creator.morph
new file mode 100644
index 00000000..76d9f7d7
--- /dev/null
+++ b/baserock/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/baserock/strata/qt4-tools.morph b/baserock/strata/qt4-tools.morph
new file mode 100644
index 00000000..698dc5ce
--- /dev/null
+++ b/baserock/strata/qt4-tools.morph
@@ -0,0 +1,33 @@
+name: qt4-tools
+kind: stratum
+description: Qt4 Development Libraries and Tools
+build-depends:
+- 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
+- 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
+- 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
+ build-depends:
+ - icu
+ - ruby-1.9
diff --git a/baserock/strata/qt4-tools/icu.morph b/baserock/strata/qt4-tools/icu.morph
new file mode 100644
index 00000000..37dec07e
--- /dev/null
+++ b/baserock/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/baserock/strata/qt4-tools/qt4-tools.morph b/baserock/strata/qt4-tools/qt4-tools.morph
new file mode 100644
index 00000000..bc4cc17e
--- /dev/null
+++ b/baserock/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/baserock/strata/qt4-tools/ruby-1.8.morph b/baserock/strata/qt4-tools/ruby-1.8.morph
new file mode 100644
index 00000000..cee282c0
--- /dev/null
+++ b/baserock/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/baserock/strata/qt4-tools/ruby-1.9.morph b/baserock/strata/qt4-tools/ruby-1.9.morph
new file mode 100644
index 00000000..bc697ada
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-sdk.morph b/baserock/strata/qt5-sdk.morph
new file mode 100644
index 00000000..d4c76ee8
--- /dev/null
+++ b/baserock/strata/qt5-sdk.morph
@@ -0,0 +1,12 @@
+name: qt5-sdk
+kind: stratum
+description: Qt5 Desktop Environment, IDE and Example Apps
+build-depends:
+- morph: strata/qt5-tools.morph
+- morph: strata/qt5-tools-qtwebkit.morph
+chunks:
+- name: qt-creator
+ morph: strata/qt5-sdk/qt-creator.morph
+ repo: upstream:qt-creator
+ ref: d81cd236df1cc6bc6977c438f0edbff35eef6682
+ unpetrify-ref: baserock/3.3.0
diff --git a/baserock/strata/qt5-sdk/qt-creator.morph b/baserock/strata/qt5-sdk/qt-creator.morph
new file mode 100644
index 00000000..91fae589
--- /dev/null
+++ b/baserock/strata/qt5-sdk/qt-creator.morph
@@ -0,0 +1,8 @@
+name: qt-creator
+kind: chunk
+configure-commands:
+- qmake
+build-commands:
+- make
+install-commands:
+- make install INSTALL_ROOT=$DESTDIR
diff --git a/baserock/strata/qt5-sdk/snowshoe.morph b/baserock/strata/qt5-sdk/snowshoe.morph
new file mode 100644
index 00000000..f89ab751
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools-qtmultimedia.morph b/baserock/strata/qt5-tools-qtmultimedia.morph
new file mode 100644
index 00000000..20473ec2
--- /dev/null
+++ b/baserock/strata/qt5-tools-qtmultimedia.morph
@@ -0,0 +1,12 @@
+name: qt5-tools-qtmultimedia
+kind: stratum
+description: Qt5 QtMultimedia Development Libraries and Tools
+build-depends:
+- morph: strata/qt5-tools.morph
+- morph: strata/multimedia-gstreamer.morph
+chunks:
+- name: qtmultimedia
+ morph: strata/qt5-tools/qtmultimedia.morph
+ repo: upstream:qt5/qtmultimedia
+ ref: a42a5ae6191ecbe317a00d8261bc53e842967052
+ unpetrify-ref: baserock/qt5.4-wip-gstreamer-1.0
diff --git a/baserock/strata/qt5-tools-qtwebkit.morph b/baserock/strata/qt5-tools-qtwebkit.morph
new file mode 100644
index 00000000..bb86d6b5
--- /dev/null
+++ b/baserock/strata/qt5-tools-qtwebkit.morph
@@ -0,0 +1,34 @@
+name: qt5-tools-qtwebkit
+kind: stratum
+description: Qt5 WebKit Development Libraries and Tools
+build-depends:
+- morph: strata/multimedia-gstreamer.morph
+- morph: strata/qt5-tools.morph
+- morph: strata/ruby.morph
+chunks:
+- name: qtwebkit
+ morph: strata/qt5-tools/qtwebkit.morph
+ repo: upstream:qt5/qtwebkit
+ ref: 586bdc38324dfaeec65389bf7646c82cb35db017
+ unpetrify-ref: 5.4.2
+- name: qtwebkit-examples
+ morph: strata/qt5-tools/qtwebkit-examples.morph
+ repo: upstream:qt5/qtwebkit-examples
+ ref: 70bd4d5253f134bf48a30544030bb832f1eba8b3
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtwebkit
+- name: qttools
+ morph: strata/qt5-tools/qttools.morph
+ repo: upstream:qt5/qttools
+ ref: 5060a0ec7dcb26826b19eefbd6063efcbde6101f
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtwebkit
+- name: qttranslations
+ morph: strata/qt5-tools/qttranslations.morph
+ repo: upstream:qt5/qttranslations
+ ref: 3aad4ab4718d4bf952275a07e406e93eb6a22eed
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qttools
diff --git a/baserock/strata/qt5-tools.morph b/baserock/strata/qt5-tools.morph
new file mode 100644
index 00000000..7fb8403e
--- /dev/null
+++ b/baserock/strata/qt5-tools.morph
@@ -0,0 +1,137 @@
+name: qt5-tools
+kind: stratum
+description: Qt5 Development Libraries and Tools
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/x-generic.morph
+chunks:
+- name: icu
+ morph: strata/qt5-tools/icu.morph
+ repo: upstream:icu
+ ref: ba023548a3bff7277cbea4acade3042ce9d8949e
+ unpetrify-ref: baserock/morph
+- name: qtbase
+ morph: strata/qt5-tools/qtbase.morph
+ repo: upstream:qt5/qtbase
+ ref: 5367fa356233da4c0f28172a8f817791525f5457
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - icu
+- name: qtsvg
+ morph: strata/qt5-tools/qtsvg.morph
+ repo: upstream:qt5/qtsvg
+ ref: eece19e62638409b479cabcbb985978d61d84307
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtscript
+ morph: strata/qt5-tools/qtscript.morph
+ repo: upstream:qt5/qtscript
+ ref: 1371263991489f11774250aa609ace0b12415186
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtdeclarative
+ morph: strata/qt5-tools/qtdeclarative.morph
+ repo: upstream:qt5/qtdeclarative
+ ref: fdf004803d036583f58ceb832803cfe39c6ba6d8
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+ - qtscript
+- name: qtquick1
+ morph: strata/qt5-tools/qtquick1.morph
+ repo: upstream:qt5/qtquick1
+ ref: 1f92491bd95abc642dcd882846884a5271c8ba16
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+ - qtscript
+- name: qt3d
+ morph: strata/qt5-tools/qt3d.morph
+ repo: upstream:qt5/qt3d
+ ref: bdb98baf8253c69949a8c259369203da9ffb269c
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - qtbase
+ - qtscript
+ - qtdeclarative
+- name: qtquickcontrols
+ morph: strata/qt5-tools/qtquickcontrols.morph
+ repo: upstream:qt5/qtquickcontrols
+ ref: ea099e341b5f8845be56f81b22e44a8b6cb227a2
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+ - qtdeclarative
+- name: qtsensors
+ morph: strata/qt5-tools/qtsensors.morph
+ repo: upstream:qt5/qtsensors
+ ref: 10702cfa8ce803e0911306284c246a879d865f1d
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtserialport
+ morph: strata/qt5-tools/qtserialport.morph
+ repo: upstream:qt5/qtserialport
+ ref: 9aef6c3c8ff97b7998bdd813f7c7f3d845b2a53f
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtx11extras
+ morph: strata/qt5-tools/qtx11extras.morph
+ repo: upstream:qt5/qtx11extras
+ ref: a21bbb45019e1bbc7b583811ff2e84757082a01a
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtxmlpatterns
+ morph: strata/qt5-tools/qtxmlpatterns.morph
+ repo: upstream:qt5/qtxmlpatterns
+ ref: 2e8b90b33d1d8dce4acdb6a116a227f2a5d3e044
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtdoc
+ morph: strata/qt5-tools/qtdoc.morph
+ repo: upstream:qt5/qtdoc
+ ref: 251f5eaa2dae740c0d0217893038a3f5bab2bca3
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtgraphicaleffects
+ morph: strata/qt5-tools/qtgraphicaleffects.morph
+ repo: upstream:qt5/qtgraphicaleffects
+ ref: 9e9600d92224084f7942a6bd83b926c630a29747
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+ - qtdeclarative
+- name: qtimageformats
+ morph: strata/qt5-tools/qtimageformats.morph
+ repo: upstream:qt5/qtimageformats
+ ref: fdc7026fb7d098abbf135fd5e7d2cf00884f9235
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtconnectivity
+ morph: strata/qt5-tools/qtconnectivity.morph
+ repo: upstream:qt5/qtconnectivity
+ ref: 5d405d07fb51502d0bfab08f4d74aa5eba365bab
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtlocation
+ morph: strata/qt5-tools/qtlocation.morph
+ repo: upstream:qt5/qtlocation
+ ref: 7791dd790d2b15751b703db70a5fceb31d3fd99f
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
+- name: qtwebsockets
+ morph: strata/qt5-tools/qtwebsockets.morph
+ repo: upstream:qt5/qtwebsockets
+ ref: d1c9ede19976767393fe5db2f396c0c18d6fbced
+ unpetrify-ref: v5.4.0
+ build-depends:
+ - qtbase
diff --git a/baserock/strata/qt5-tools/icu.morph b/baserock/strata/qt5-tools/icu.morph
new file mode 100644
index 00000000..f9532f04
--- /dev/null
+++ b/baserock/strata/qt5-tools/icu.morph
@@ -0,0 +1,9 @@
+name: icu
+kind: chunk
+configure-commands:
+- sed -e 's/LDFLAGSICUDT/#LDFLAGSICUDT/' -i source/config/mh-linux
+- 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/baserock/strata/qt5-tools/qt3d.morph b/baserock/strata/qt5-tools/qt3d.morph
new file mode 100644
index 00000000..d4e44d4e
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtbase.morph b/baserock/strata/qt5-tools/qtbase.morph
new file mode 100644
index 00000000..9b2a20c6
--- /dev/null
+++ b/baserock/strata/qt5-tools/qtbase.morph
@@ -0,0 +1,17 @@
+name: qtbase
+kind: chunk
+configure-commands:
+- ./configure -v -prefix /usr -opensource -confirm-license
+build-commands:
+- make
+- touch /qtbase.build/src/corelib/corelib.pro
+- touch /qtbase.build/qmake/qmake.pro
+- touch /qtbase.build/qmake/qmake-docs.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/baserock/strata/qt5-tools/qtconnectivity.morph b/baserock/strata/qt5-tools/qtconnectivity.morph
new file mode 100644
index 00000000..d1123711
--- /dev/null
+++ b/baserock/strata/qt5-tools/qtconnectivity.morph
@@ -0,0 +1,10 @@
+name: qtconnectivity
+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/baserock/strata/qt5-tools/qtdeclarative.morph b/baserock/strata/qt5-tools/qtdeclarative.morph
new file mode 100644
index 00000000..9eb02331
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtdoc.morph b/baserock/strata/qt5-tools/qtdoc.morph
new file mode 100644
index 00000000..3b449382
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtgraphicaleffects.morph b/baserock/strata/qt5-tools/qtgraphicaleffects.morph
new file mode 100644
index 00000000..27c42971
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtimageformats.morph b/baserock/strata/qt5-tools/qtimageformats.morph
new file mode 100644
index 00000000..08323ca1
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtjsbackend.morph b/baserock/strata/qt5-tools/qtjsbackend.morph
new file mode 100644
index 00000000..5813084c
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtlocation.morph b/baserock/strata/qt5-tools/qtlocation.morph
new file mode 100644
index 00000000..14a527ff
--- /dev/null
+++ b/baserock/strata/qt5-tools/qtlocation.morph
@@ -0,0 +1,10 @@
+name: qtlocation
+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/baserock/strata/qt5-tools/qtmultimedia.morph b/baserock/strata/qt5-tools/qtmultimedia.morph
new file mode 100644
index 00000000..537baa08
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtquick1.morph b/baserock/strata/qt5-tools/qtquick1.morph
new file mode 100644
index 00000000..d4692445
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtquickcontrols.morph b/baserock/strata/qt5-tools/qtquickcontrols.morph
new file mode 100644
index 00000000..12051034
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtscript.morph b/baserock/strata/qt5-tools/qtscript.morph
new file mode 100644
index 00000000..6f27842e
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtsensors.morph b/baserock/strata/qt5-tools/qtsensors.morph
new file mode 100644
index 00000000..d4b4ec00
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtserialport.morph b/baserock/strata/qt5-tools/qtserialport.morph
new file mode 100644
index 00000000..0a623865
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtsvg.morph b/baserock/strata/qt5-tools/qtsvg.morph
new file mode 100644
index 00000000..40316a3c
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qttools.morph b/baserock/strata/qt5-tools/qttools.morph
new file mode 100644
index 00000000..1baa10e7
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qttranslations.morph b/baserock/strata/qt5-tools/qttranslations.morph
new file mode 100644
index 00000000..bfb61302
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtwebkit-examples.morph b/baserock/strata/qt5-tools/qtwebkit-examples.morph
new file mode 100644
index 00000000..b6683e65
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtwebkit.morph b/baserock/strata/qt5-tools/qtwebkit.morph
new file mode 100644
index 00000000..c9348aca
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtwebsockets.morph b/baserock/strata/qt5-tools/qtwebsockets.morph
new file mode 100644
index 00000000..e1cac87f
--- /dev/null
+++ b/baserock/strata/qt5-tools/qtwebsockets.morph
@@ -0,0 +1,10 @@
+name: qtwebsockets
+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/baserock/strata/qt5-tools/qtx11extras.morph b/baserock/strata/qt5-tools/qtx11extras.morph
new file mode 100644
index 00000000..edea0acf
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/qtxmlpatterns.morph b/baserock/strata/qt5-tools/qtxmlpatterns.morph
new file mode 100644
index 00000000..bdd32d5f
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/ruby-1.8.morph b/baserock/strata/qt5-tools/ruby-1.8.morph
new file mode 100644
index 00000000..cee282c0
--- /dev/null
+++ b/baserock/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/baserock/strata/qt5-tools/ruby-1.9.morph b/baserock/strata/qt5-tools/ruby-1.9.morph
new file mode 100644
index 00000000..bc697ada
--- /dev/null
+++ b/baserock/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/baserock/strata/ruby.morph b/baserock/strata/ruby.morph
new file mode 100644
index 00000000..10eb932e
--- /dev/null
+++ b/baserock/strata/ruby.morph
@@ -0,0 +1,51 @@
+name: ruby
+kind: stratum
+description: |
+ Ruby and common Ruby build dependencies.
+
+ Most Gem dependencies are not required when building or installing the
+ Gem. They are needed at runtime only. Tools which extend Rake, such as
+ 'hoe' and 'rake-compiler', are exceptions to that rule, and are kept
+ in this stratum so they are always available when building other Gems.
+build-depends:
+- 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
+- name: libyaml
+ repo: upstream:libyaml-hg
+ ref: 0577078d6625a7bf06e6bc7fb26a43e27400b17e
+ unpetrify-ref: master
+ build-system: autotools
+- name: ruby
+ morph: strata/ruby/ruby.morph
+ repo: upstream:ruby
+ ref: 05604af5a6da635b8bca51269db8b433972e82c0
+ unpetrify-ref: baserock/ruby_2_0_0
+ build-depends:
+ - ruby-1.8
+ - libyaml
+- name: bundler
+ morph: strata/ruby/bundler.morph
+ repo: upstream:bundler
+ ref: 0708fbe62617a63300e1cc3b9869cc1280c57ef6
+ unpetrify-ref: baserock/v1.6.2
+ build-depends:
+ - ruby
+- name: hoe
+ morph: strata/ruby/hoe.morph
+ repo: upstream:ruby-gems/hoe
+ ref: 50a2706d0f70ece52922ddcc56630e1e0655b83e
+ unpetrify-ref: master
+ build-depends:
+ - ruby
+- name: rake-compiler
+ morph: strata/ruby/rake-compiler.morph
+ repo: upstream:ruby-gems/rake-compiler
+ ref: aaed621f6fdb0b0395775fea5464cc83e794fbdb
+ unpetrify-ref: v0.9.3
+ build-depends:
+ - ruby
diff --git a/baserock/strata/ruby/bundler.morph b/baserock/strata/ruby/bundler.morph
new file mode 100644
index 00000000..643ef119
--- /dev/null
+++ b/baserock/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/baserock/strata/ruby/hoe.morph b/baserock/strata/ruby/hoe.morph
new file mode 100644
index 00000000..0d06a82a
--- /dev/null
+++ b/baserock/strata/ruby/hoe.morph
@@ -0,0 +1,16 @@
+name: hoe
+kind: chunk
+description: |
+ Hoe is a rake/rubygems helper for project Rakefiles. It helps you
+ manage, maintain, and release your project and includes a dynamic
+ plug-in system allowing for easy extensibility.
+products:
+- artifact: hoe-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- rake gem
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pkg/hoe-*.gem
diff --git a/baserock/strata/ruby/rake-compiler.morph b/baserock/strata/ruby/rake-compiler.morph
new file mode 100644
index 00000000..9286f14a
--- /dev/null
+++ b/baserock/strata/ruby/rake-compiler.morph
@@ -0,0 +1,15 @@
+name: rake-compiler
+kind: chunk
+description: |
+ Provide a standard and simplified way to build and package Ruby
+ extensions (C, Java) using Rake as glue.
+products:
+- artifact: rake-compiler-doc
+ include:
+ - usr/lib/ruby/gems/\d[\w.]*/doc/.*
+build-commands:
+- rake gem
+install-commands:
+- mkdir -p "$DESTDIR/$(gem environment home)"
+- gem install --install-dir "$DESTDIR/$(gem environment home)" --bindir "$DESTDIR/$PREFIX/bin"
+ --ignore-dependencies --local ./pkg/rake-compiler-*.gem
diff --git a/baserock/strata/ruby/ruby-1.8.morph b/baserock/strata/ruby/ruby-1.8.morph
new file mode 100644
index 00000000..4554e441
--- /dev/null
+++ b/baserock/strata/ruby/ruby-1.8.morph
@@ -0,0 +1,9 @@
+name: ruby-1.8
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- cp /usr/share/automake*/config.guess .
+- cp /usr/share/automake*/config.sub .
+- autoconf
+configure-commands:
+- ./configure --prefix=/usr --program-suffix=-1.8
diff --git a/baserock/strata/ruby/ruby.morph b/baserock/strata/ruby/ruby.morph
new file mode 100644
index 00000000..f9f0ae7c
--- /dev/null
+++ b/baserock/strata/ruby/ruby.morph
@@ -0,0 +1,9 @@
+name: ruby
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- cp /usr/share/automake*/config.guess tool
+- cp /usr/share/automake*/config.sub tool
+- autoconf
+configure-commands:
+- ./configure --prefix=/usr --enable-shared --with-baseruby=/usr/bin/ruby-1.8
diff --git a/baserock/strata/samba.morph b/baserock/strata/samba.morph
new file mode 100644
index 00000000..33dcd856
--- /dev/null
+++ b/baserock/strata/samba.morph
@@ -0,0 +1,12 @@
+name: samba
+kind: stratum
+description: Simple samba server
+build-depends:
+- morph: strata/core.morph
+- morph: strata/foundation.morph
+chunks:
+- name: samba
+ morph: strata/samba/samba.morph
+ repo: upstream:samba
+ ref: 704592c14dfedbe98e95d43860d062dc6338bca3
+ unpetrify-ref: master
diff --git a/baserock/strata/samba/samba.morph b/baserock/strata/samba/samba.morph
new file mode 100644
index 00000000..748ee886
--- /dev/null
+++ b/baserock/strata/samba/samba.morph
@@ -0,0 +1,127 @@
+name: samba
+kind: chunk
+configure-commands:
+- |
+ # Here are really really ugly hacks:
+ #
+ # This fixes a problem with ./configure and recent compilers
+ # which implement c9x by default.
+ sed -i "s/#define bool int//" source3/lib/util_sec.c
+ #
+ # This fixes the problem with Baserock build environments running
+ # as root but sandboxed, and preventing certain privileged operations
+ # from taking effect. eg. seteuid()
+ # Instead, convince it that we're not running as root so that it
+ # doesn't run these tests.
+ sed -i "s/getuid() != 0/1/" source3/lib/util_sec.c
+ #
+ #
+ ./configure \
+ --without-ldap \
+ --disable-gnutls \
+ --without-ad-dc \
+ --without-acl-support \
+ --without-ads \
+ --prefix="$PREFIX" --sysconfdir=/etc --localstatedir=/var --enable-fhs
+build-commands:
+- make
+install-commands:
+- make install DESTDIR="$DESTDIR"
+# systemd configuration
+- mkdir -p "$DESTDIR/etc/tmpfiles.d"
+- install -m 644 ./packaging/systemd/samba.conf.tmp "$DESTDIR/etc/tmpfiles.d/samba.conf"
+- mkdir -p "$DESTDIR/lib/systemd/system/multi-user.target.wants"
+- |
+ cat <<EOF >"$DESTDIR/lib/systemd/system/nmb.service"
+ [Unit]
+ Description=Samba NMB Daemon
+ After=syslog.target network-online.target
+
+ [Service]
+ Type=forking
+ PIDFile=/var/run/samba/nmbd.pid
+ EnvironmentFile=-/etc/sysconfig/samba
+ ExecStart=$PREFIX/sbin/nmbd \$NMBDOPTIONS
+ ExecReload=$PREFIX/bin/kill -HUP \$MAINPID
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+- |
+ cat <<EOF >"$DESTDIR/lib/systemd/system/smb.service"
+ [Unit]
+ Description=Samba SMB Daemon
+ After=syslog.target network-online.target nmb.service winbind.service
+
+ [Service]
+ Type=forking
+ PIDFile=/var/run/samba/smbd.pid
+ EnvironmentFile=-/etc/sysconfig/samba
+ ExecStart=$PREFIX/sbin/smbd \$NMBDOPTIONS
+ ExecReload=$PREFIX/bin/kill -HUP \$MAINPID
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+- |
+ cat <<EOF >"$DESTDIR/lib/systemd/system/winbind.service"
+ [Unit]
+ Description=Samba winbind Daemon
+ After=syslog.target network-online.target nmb.service
+
+ [Service]
+ Type=forking
+ PIDFile=/var/run/samba/winbindd.pid
+ EnvironmentFile=-/etc/sysconfig/samba
+ ExecStart=$PREFIX/sbin/winbindd \$NMBDOPTIONS
+ ExecReload=$PREFIX/bin/kill -HUP \$MAINPID
+
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+- |
+ for i in nmb smb winbind
+ do
+ ln -s ../$i.service "$DESTDIR/lib/systemd/system/multi-user.target.wants/$i.service"
+ done
+- mkdir -p "$DESTDIR/var/log/samba"
+# Install a sample configuration
+- mkdir -p "$DESTDIR/etc/samba"
+- |
+ cat <<EOF >"$DESTDIR/etc/samba/smb.conf"
+ [global]
+ workgroup = WORKGROUP
+ dns proxy = no
+ local master = yes
+ preferred master = yes
+ os level = 2
+ log file = /var/log/samba/log.%m
+ max log size = 1000
+ syslog = 0
+ server role = standalone server
+ passdb backend = tdbsam
+ obey pam restrictions = yes
+ unix password sync = yes
+ pam password change = yes
+ map to guest = bad user
+ usershare allow guests = yes
+ [homes]
+ comment = Home Directories
+ browseable = no
+ read only = yes
+ create mask = 0700
+ valid users = %S
+ ;[printers]
+ ;comment = All Printers
+ ;browseable = no
+ ;path = /var/spool/samba
+ ;printable = yes
+ ;guest ok = no
+ ;read only = yes
+ ;create mask = 0700
+ ;[src]
+ ;comment = Source code
+ ;path = /src
+ ;read only = yes
+ ;guest ok = yes
+ EOF
diff --git a/baserock/strata/swift.morph b/baserock/strata/swift.morph
new file mode 100644
index 00000000..41fd0c75
--- /dev/null
+++ b/baserock/strata/swift.morph
@@ -0,0 +1,53 @@
+name: swift
+kind: stratum
+description: Distributed object storage
+build-depends:
+# openstack-common is required for simplejson, cffi, greenlet,
+# eventlet, pastedeploy, netifaces
+- morph: strata/openstack-common.morph
+chunks:
+- name: dnspython
+ repo: upstream:python-packages/dnspython
+ ref: e1369c62d14f82b80ef11197a490ace5d43bb3f3
+ unpetrify-ref: v1.12.0
+ build-system: python-distutils
+- name: xattr
+ morph: strata/swift/xattr.morph
+ repo: upstream:python-packages/xattr
+ ref: dd10d44e3eb9a1d2303c1f7d5126c099d56e97fc
+ unpetrify-ref: v0.7.6
+- name: liberasurecode
+ morph: strata/swift/liberasurecode.morph
+ repo: upstream:liberasurecode
+ ref: a380246762c16ea8eb7dbfccd50d296c3743b39e
+ unpetrify-ref: v1.0.7
+- name: gf-complete
+ morph: strata/swift/gf-complete.morph
+ repo: upstream:gf-complete
+ ref: 715443661c00558fe32f004a4be5f93f341b6e59
+ unpetrify-ref: v2
+- name: jerasure
+ repo: upstream:jerasure
+ ref: ff7032153ea230fb59596f1f8a0e9ad8653addfb
+ unpetrify-ref: v2
+ build-system: autotools
+ build-depends:
+ - gf-complete
+- name: pyeclib
+ repo: upstream:python-packages/pyeclib
+ ref: aa58aa887c2327e1394d6f28b3b6b7ab8f190b2b
+ unpetrify-ref: v1.0.7
+ build-system: python-distutils
+ build-depends:
+ - liberasurecode
+ - gf-complete
+ - jerasure
+- name: swift
+ repo: upstream:openstack/swift
+ ref: f8dee761bd36f857aa1288c27e095907032fad68
+ unpetrify-ref: 2.3.0
+ build-system: python-distutils
+ build-depends:
+ - dnspython
+ - xattr
+ - pyeclib
diff --git a/baserock/strata/swift/gf-complete.morph b/baserock/strata/swift/gf-complete.morph
new file mode 100644
index 00000000..e8965c76
--- /dev/null
+++ b/baserock/strata/swift/gf-complete.morph
@@ -0,0 +1,20 @@
+name: gf-complete
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./autogen.sh
+configure-commands:
+- |
+ cpu="$(echo $TARGET | cut -d '-' -f 1)"
+ case "$cpu" in
+ x86_64)
+ SSE=
+ ;;
+ *)
+ # Disable SSE4 for any architecture which are not x86_64 bits
+ # see more information about architecture which support SSE in
+ # https://en.wikipedia.org/wiki/SSE4#Supporting_CPUs.
+ SSE=--disable-sse
+ ;;
+ esac
+ ./configure --prefix="$PREFIX" "$SSE"
diff --git a/baserock/strata/swift/liberasurecode.morph b/baserock/strata/swift/liberasurecode.morph
new file mode 100644
index 00000000..68839403
--- /dev/null
+++ b/baserock/strata/swift/liberasurecode.morph
@@ -0,0 +1,5 @@
+name: liberasurecode
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- autoreconf -ivf
diff --git a/baserock/strata/swift/xattr.morph b/baserock/strata/swift/xattr.morph
new file mode 100644
index 00000000..65f47dae
--- /dev/null
+++ b/baserock/strata/swift/xattr.morph
@@ -0,0 +1,8 @@
+name: xattr
+kind: chunk
+configure-commands:
+- cp -r /usr/lib/python2.7/site-packages/cffi .
+build-commands:
+- python setup.py build
+install-commands:
+- python setup.py install --prefix "$PREFIX" --root "$DESTDIR"
diff --git a/baserock/strata/test-tools.morph b/baserock/strata/test-tools.morph
new file mode 100644
index 00000000..49d53972
--- /dev/null
+++ b/baserock/strata/test-tools.morph
@@ -0,0 +1,133 @@
+name: test-tools
+kind: stratum
+description: Tools and frameworks used for testing
+build-depends:
+- morph: strata/python-common.morph
+chunks:
+- name: python-test-extras
+ repo: upstream:python-packages/python-test-extras.git
+ ref: cdeb596f01241e9c779332e86f6edcd0c2e8e9f0
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: check
+ repo: upstream:check
+ ref: 8c872aca6675e95fa47e7514e28fbdf25fce6170
+ unpetrify-ref: 0.9.8
+ build-system: autotools
+- name: cppunit
+ repo: upstream:cppunit
+ ref: 8133cf2b977f013216f0a41b6fcb740410d83926
+ unpetrify-ref: 1.13.2
+ build-system: autotools
+- name: testtools
+ repo: upstream:python-packages/testtools
+ ref: ee9946228ce5a03a84cf146027de0a8a9a46c4fe
+ unpetrify-ref: testools-1.1.0
+ build-system: python-distutils
+ build-depends:
+ - python-test-extras
+- name: subunit
+ morph: strata/test-tools/subunit.morph
+ repo: upstream:python-packages/subunit
+ ref: e18ffe65a3229d5c1d91be988405d40219db0887
+ unpetrify-ref: 0.0.21
+ build-depends:
+ - python-test-extras
+ - testtools
+ - check
+ - cppunit
+- name: fixtures
+ repo: upstream:python-packages/fixtures
+ ref: 9f9d89ce718463b24cd3910b9a99efb60b3c9e1b
+ unpetrify-ref: 0.3.16
+ build-system: python-distutils
+ build-depends:
+ - testtools
+- name: testrepository
+ repo: upstream:python-packages/testrepository
+ ref: 6419a3dcaabaf09eaf438c6d8d85c90eba7a2b91
+ unpetrify-ref: 0.0.19
+ build-system: python-distutils
+ build-depends:
+ - fixtures
+ - subunit
+ - testtools
+- name: testscenarios
+ repo: upstream:python-packages/testscenarios
+ ref: bccfaa71a2def5590161b6d1a247cf23c45a8b4d
+ unpetrify-ref: trunk
+ build-system: python-distutils
+ build-depends:
+ - testtools
+- name: mox
+ repo: upstream:python-packages/mox
+ ref: 160491d0384285698d726b1af21277f336107f51
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: mock
+ repo: upstream:python-packages/mock
+ ref: 35b35f7ad239005a950f870af57b44dbdc99d66b
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: oslotest
+ repo: upstream:openstack/oslotest
+ ref: cfdb562a6e07728570ca624a8c4faf3f5b61423b
+ unpetrify-ref: 1.2.0
+ build-system: python-distutils
+ build-depends:
+ - fixtures
+ - subunit
+ - testrepository
+ - testscenarios
+ - testtools
+ - mock
+ - mox
+- name: mox3
+ repo: upstream:python-packages/pymox
+ ref: 444fa40f4edb529efbffa2da8dbd97e9b8564b5c
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: mocker
+ repo: upstream:python-packages/mocker
+ ref: f7f87e4ac1c52342162cf2035f5fe3d273f8b07f
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: zake
+ repo: upstream:python-packages/zake
+ ref: 436bab3306aeec420f1281f34bd5d26d7f81038c
+ unpetrify-ref: 0.2.1
+ build-system: python-distutils
+ build-depends:
+ - testtools
+- name: nose
+ repo: upstream:python-packages/nose
+ ref: 08d134270b035dac3310cd877bb0fe9ab678303a
+ unpetrify-ref: release_1.3.4
+ build-system: python-distutils
+- name: beautifulsoup4
+ repo: upstream:python-packages/beautifulsoup4.git
+ ref: bcd7af0e9159d97aa511fb2d879424d1c1c5aadf
+ build-system: python-distutils
+- name: waitress
+ repo: upstream:python-packages/waitress.git
+ ref: b795d573a5a9e6e39b46a6e82da367a6a5db8dbd
+ unpetrify-ref: 0.8.9
+ build-system: python-distutils
+- name: webtest
+ repo: upstream:python-packages/webtest.git
+ ref: 6a24fba456d1c4ac2609b90f1fdc377c595608a4
+ unpetrify-ref: 2.0.16
+ build-system: python-distutils
+ build-depends:
+ - waitress
+ - beautifulsoup4
+- name: testresources
+ repo: upstream:python-packages/testresources
+ ref: ef938bcce0e436f9e9ffef932a898dc248a1d6ea
+ unpetrify-ref: 0.2.7
+ build-system: python-distutils
+ build-depends:
+ - testtools
+ - fixtures
+ - check
+ - cppunit
diff --git a/baserock/strata/test-tools/subunit.morph b/baserock/strata/test-tools/subunit.morph
new file mode 100644
index 00000000..0d3819ed
--- /dev/null
+++ b/baserock/strata/test-tools/subunit.morph
@@ -0,0 +1,3 @@
+name: subunit
+kind: chunk
+build-system: autotools
diff --git a/baserock/strata/tools.morph b/baserock/strata/tools.morph
new file mode 100644
index 00000000..64eb2261
--- /dev/null
+++ b/baserock/strata/tools.morph
@@ -0,0 +1,84 @@
+name: tools
+kind: stratum
+description: Various tools
+build-depends:
+- morph: strata/core.morph
+- morph: strata/glib-common.morph
+chunks:
+- name: distcc
+ morph: strata/tools/distcc.morph
+ repo: upstream:distcc
+ ref: c9691a9604fdf9d6711204999787d332b7141692
+ unpetrify-ref: baserock/morph
+- name: gdb
+ morph: strata/tools/gdb.morph
+ repo: upstream:binutils-gdb
+ ref: 129ee12d013f4a2f09fe40a33072e6e47e949890
+ unpetrify-ref: gdb-7.8-branch
+- name: linux-user-chroot
+ repo: upstream:linux-user-chroot
+ ref: d25cc110f69e6e71a95b4ac532dcfc5423d4a16b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: lsof
+ morph: strata/tools/lsof.morph
+ repo: upstream:lsof
+ ref: fffb8558208586338587027c265fd0eca44466be
+ unpetrify-ref: baserock/morph
+- name: strace
+ repo: upstream:strace
+ ref: 6d8c0637e8dd0f65c667af33c612230552419db1
+ unpetrify-ref: v4.8
+ build-system: autotools
+- name: vala-bootstrap
+ morph: strata/tools/vala-bootstrap.morph
+ repo: upstream:vala
+ ref: 4e4a02c03445336237b36723b23a91670ef7621b
+ unpetrify-ref: baserock/bootstrap
+- name: vala
+ repo: upstream:vala
+ ref: 5f6ebe007050be12bdc4aa7c902ae4059f28874a
+ unpetrify-ref: 0.28.0
+ build-system: autotools
+ build-depends:
+ - vala-bootstrap
+- name: u-boot
+ morph: strata/tools/u-boot.morph
+ repo: upstream:u-boot
+ ref: fe57382d04b46c37f34cf8d3b3ad876554fd12bf
+ unpetrify-ref: baserock/morph
+- name: kexec-tools
+ morph: strata/tools/kexec-tools.morph
+ repo: upstream:kexec-tools
+ ref: f4d1d2ad474e882df13418239aa3050673a844d7
+ unpetrify-ref: baserock/morph
+- name: device-tree-compiler
+ morph: strata/tools/device-tree-compiler.morph
+ repo: upstream:device-tree-compiler
+ ref: c92f284c3cf76d471eb27a271de3a51cb45ed058
+ unpetrify-ref: baserock/morph
+- name: sudo
+ repo: upstream:sudo
+ ref: a4769dc7999b53260325fb89945bef85714fb338
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: procps-ng
+ morph: strata/tools/procps-ng.morph
+ repo: upstream:procps-ng
+ ref: 85fff468fa263cdd2ff1c0144579527c32333695
+ unpetrify-ref: v3.3.9
+- name: ipmitool
+ morph: strata/tools/ipmitool.morph
+ repo: upstream:ipmitool
+ ref: be7917f9f58c8a354bc0960ed57516af5d2bd29a
+ unpetrify-ref: IPMITOOL_1_8_14
+- name: parted
+ morph: strata/tools/parted.morph
+ repo: upstream:parted
+ ref: 387e96e6eac59d84e9a688422b4b321ae9beaa20
+ unpetrify-ref: baserock/v3.2
+- name: zip
+ morph: strata/tools/zip.morph
+ repo: upstream:zip
+ ref: e52e9d6a339aad5fcff464cf207da51c02996e39
+ unpetrify-ref: zip30
diff --git a/baserock/strata/tools/device-tree-compiler.morph b/baserock/strata/tools/device-tree-compiler.morph
new file mode 100644
index 00000000..8abfafc8
--- /dev/null
+++ b/baserock/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/baserock/strata/tools/distcc.morph b/baserock/strata/tools/distcc.morph
new file mode 100644
index 00000000..82adbe50
--- /dev/null
+++ b/baserock/strata/tools/distcc.morph
@@ -0,0 +1,10 @@
+name: distcc
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+# distcc doesn't use automake, so we cannot autoreconf it
+- cp /usr/share/automake*/config.guess .
+- cp /usr/share/automake*/config.sub .
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-Werror
diff --git a/baserock/strata/tools/gdb.morph b/baserock/strata/tools/gdb.morph
new file mode 100644
index 00000000..6f60da9e
--- /dev/null
+++ b/baserock/strata/tools/gdb.morph
@@ -0,0 +1,6 @@
+name: gdb
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-werror --disable-gas --disable-binutils
+ --disable-ld --disable-gold --disable-gprof
diff --git a/baserock/strata/tools/git-fat.morph b/baserock/strata/tools/git-fat.morph
new file mode 100644
index 00000000..c971b07f
--- /dev/null
+++ b/baserock/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/baserock/strata/tools/ipmitool.morph b/baserock/strata/tools/ipmitool.morph
new file mode 100644
index 00000000..db0d5a3a
--- /dev/null
+++ b/baserock/strata/tools/ipmitool.morph
@@ -0,0 +1,5 @@
+name: ipmitool
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- touch NEWS
diff --git a/baserock/strata/tools/kexec-tools.morph b/baserock/strata/tools/kexec-tools.morph
new file mode 100644
index 00000000..118c1ac2
--- /dev/null
+++ b/baserock/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/baserock/strata/tools/lsof.morph b/baserock/strata/tools/lsof.morph
new file mode 100644
index 00000000..38183ae6
--- /dev/null
+++ b/baserock/strata/tools/lsof.morph
@@ -0,0 +1,12 @@
+name: lsof
+kind: chunk
+configure-commands:
+- tar xf lsof_*_src.tar --no-same-owner
+- 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/baserock/strata/tools/parted.morph b/baserock/strata/tools/parted.morph
new file mode 100644
index 00000000..86d74da6
--- /dev/null
+++ b/baserock/strata/tools/parted.morph
@@ -0,0 +1,11 @@
+name: parted
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- sed -i -e '/^buildreq="/,/^"/{/rsync/d}' bootstrap.conf
+- ./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib
+configure-commands:
+# Disable device-mapper as it is not installed on Baserock
+- ./configure --prefix="$PREFIX" --disable-device-mapper
+build-commands:
+- make WERROR_CFLAGS=""
diff --git a/baserock/strata/tools/procps-ng.morph b/baserock/strata/tools/procps-ng.morph
new file mode 100644
index 00000000..e030b36c
--- /dev/null
+++ b/baserock/strata/tools/procps-ng.morph
@@ -0,0 +1,27 @@
+name: procps-ng
+kind: chunk
+
+description: |
+ Process management tools.
+
+ procps-ng is a fork of the original procps project.
+
+build-system: autotools
+
+configure-commands:
+- NOCONFIGURE=1 ./autogen.sh
+ # Setting exec-prefix to /usr causes a bunch of stuff to go in /usr/usr/bin
+ # Setting prefix to / causes files to go in /include and /share
+ # So don't do either of those things!
+- ./configure --prefix="$PREFIX" --exec-prefix=/
+
+post-install-commands:
+# We need to link the binaries into /bin so that they override the Busybox
+# versions of these tools. This will not be necessary once /bin is merged
+# into /usr/bin. It's not possible to get the Makefile to install the binaries
+# in /bin -- a bunch of them are hardcoded to live in ${exec_prefix}/usr/bin.
+ - |
+ usr_binaries="free pidof pmap slabtop top vmstat watch pgrep pkill pwdx tload uptime w"
+ for file in $usr_binaries; do
+ ln -sf "$PREFIX"/bin/$file "$DESTDIR"/bin/$file
+ done
diff --git a/baserock/strata/tools/u-boot.morph b/baserock/strata/tools/u-boot.morph
new file mode 100644
index 00000000..9be30bc7
--- /dev/null
+++ b/baserock/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/baserock/strata/tools/vala-bootstrap.morph b/baserock/strata/tools/vala-bootstrap.morph
new file mode 100644
index 00000000..e55b1887
--- /dev/null
+++ b/baserock/strata/tools/vala-bootstrap.morph
@@ -0,0 +1,7 @@
+name: vala-bootstrap
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- autoreconf -ivf
+configure-commands:
+- ./configure --prefix="$PREFIX"
diff --git a/baserock/strata/tools/zip.morph b/baserock/strata/tools/zip.morph
new file mode 100644
index 00000000..070467e0
--- /dev/null
+++ b/baserock/strata/tools/zip.morph
@@ -0,0 +1,9 @@
+name: zip
+kind: chunk
+configure-commands:
+- cp unix/Makefile .
+build-commands:
+- sed -i -e 's/^prefix = .*$/prefix = $$DESTDIR\/$$PREFIX/' Makefile
+- make generic
+install-commands:
+- make install
diff --git a/baserock/strata/trove.morph b/baserock/strata/trove.morph
new file mode 100644
index 00000000..984050b7
--- /dev/null
+++ b/baserock/strata/trove.morph
@@ -0,0 +1,82 @@
+name: trove
+kind: stratum
+description: Trove software
+build-depends:
+- morph: strata/python-core.morph
+- morph: strata/tools.morph
+- morph: strata/morph-utils.morph
+- morph: strata/pcre-utils.morph
+chunks:
+- name: lua
+ morph: strata/trove/lua.morph
+ repo: upstream:lua
+ ref: 948063437e0350d9ef1649ec3a76d0c24a5c8642
+ unpetrify-ref: baserock/5.1-morph
+- 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
+ build-depends:
+ - 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
+ build-depends:
+ - lua
+ - luxio
+- name: lrexlib-pcre
+ morph: strata/trove/lrexlib-pcre.morph
+ repo: upstream:lrexlib
+ ref: 0524a6e3ab6d50cba63c8642a875e246de53d651
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - 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
+- name: trove-setup
+ morph: strata/trove/trove-setup.morph
+ repo: baserock:baserock/trove-setup
+ ref: 16de74536e0846ba1d2e5101618df9146c785a41
+ unpetrify-ref: master
+- name: lua-scrypt
+ morph: strata/trove/lua-scrypt.morph
+ repo: upstream:lua-scrypt
+ ref: 0d7f74cd3eab7d54fbb13294194de7ea70ac34a5
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - lua
diff --git a/baserock/strata/trove/cgit.morph b/baserock/strata/trove/cgit.morph
new file mode 100644
index 00000000..bd373a51
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/clod.morph b/baserock/strata/trove/clod.morph
new file mode 100644
index 00000000..e31ca4fb
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/gall.morph b/baserock/strata/trove/gall.morph
new file mode 100644
index 00000000..c1f2fd47
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/gitano.morph b/baserock/strata/trove/gitano.morph
new file mode 100644
index 00000000..962224d5
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/lace.morph b/baserock/strata/trove/lace.morph
new file mode 100644
index 00000000..70752397
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/lrexlib-pcre.morph b/baserock/strata/trove/lrexlib-pcre.morph
new file mode 100644
index 00000000..63f3b034
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/lua-scrypt.morph b/baserock/strata/trove/lua-scrypt.morph
new file mode 100644
index 00000000..141b8ec3
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/lua.morph b/baserock/strata/trove/lua.morph
new file mode 100644
index 00000000..32aeb5c1
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/luxio.morph b/baserock/strata/trove/luxio.morph
new file mode 100644
index 00000000..29aabfaf
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/supple.morph b/baserock/strata/trove/supple.morph
new file mode 100644
index 00000000..6470ba28
--- /dev/null
+++ b/baserock/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/baserock/strata/trove/trove-setup.morph b/baserock/strata/trove/trove-setup.morph
new file mode 100644
index 00000000..1f49760f
--- /dev/null
+++ b/baserock/strata/trove/trove-setup.morph
@@ -0,0 +1,4 @@
+name: trove-setup
+kind: chunk
+install-commands:
+- make install DESTDIR="$DESTDIR"
diff --git a/baserock/strata/unionfs-fuse-group.morph b/baserock/strata/unionfs-fuse-group.morph
new file mode 100644
index 00000000..acb094ea
--- /dev/null
+++ b/baserock/strata/unionfs-fuse-group.morph
@@ -0,0 +1,20 @@
+name: unionfs-fuse-group
+kind: stratum
+
+description: |
+ User-space union file system.
+
+ This is used by Morph for systems which are unable to use 'overlayfs'. It is slower
+ than 'overlayfs', because it runs outside rather than inside the kernel, but 'overlayfs'
+ is only available in Linux 3.18 and newer.
+
+build-depends:
+# Depends on foundation for 'fuse', and maybe other stuff.
+- morph: strata/foundation.morph
+
+chunks:
+- name: unionfs-fuse
+ morph: strata/unionfs-fuse-group/unionfs-fuse.morph
+ repo: upstream:unionfs-fuse
+ ref: efac5b7aa91ec860f8f430a8d21060fe53a07002
+ unpetrify-ref: v0.26
diff --git a/baserock/strata/unionfs-fuse-group/unionfs-fuse.morph b/baserock/strata/unionfs-fuse-group/unionfs-fuse.morph
new file mode 100644
index 00000000..98e1ce1f
--- /dev/null
+++ b/baserock/strata/unionfs-fuse-group/unionfs-fuse.morph
@@ -0,0 +1,12 @@
+name: unionfs-fuse
+kind: chunk
+
+description: User-space union file system.
+
+build-system: manual
+
+build-commands:
+- make PREFIX="$PREFIX"
+
+install-commands:
+- make PREFIX="$PREFIX" DESTDIR="$DESTDIR" install
diff --git a/baserock/strata/virtualbox-guest-x86_64.morph b/baserock/strata/virtualbox-guest-x86_64.morph
new file mode 100644
index 00000000..fadcec92
--- /dev/null
+++ b/baserock/strata/virtualbox-guest-x86_64.morph
@@ -0,0 +1,22 @@
+name: virtualbox-guest-x86_64
+kind: stratum
+description: |
+ VirtualBox Guest Additions for x86_64
+build-depends:
+- 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
+- name: vboxguest
+ morph: strata/virtualbox-guest-x86_64/vboxguest.morph
+ repo: upstream:VirtualBox
+ ref: 617aeb5a3c13f4a46423e8c2fb560449403ad56d
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - yasm
diff --git a/baserock/strata/virtualbox-guest-x86_64/vboxguest.morph b/baserock/strata/virtualbox-guest-x86_64/vboxguest.morph
new file mode 100644
index 00000000..f31c9944
--- /dev/null
+++ b/baserock/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/baserock/strata/virtualbox-guest-x86_64/yasm.morph b/baserock/strata/virtualbox-guest-x86_64/yasm.morph
new file mode 100644
index 00000000..437ae97d
--- /dev/null
+++ b/baserock/strata/virtualbox-guest-x86_64/yasm.morph
@@ -0,0 +1,4 @@
+name: yasm
+kind: chunk
+max-jobs: 1
+build-system: autotools
diff --git a/baserock/strata/virtualization.morph b/baserock/strata/virtualization.morph
new file mode 100644
index 00000000..fe02f0f8
--- /dev/null
+++ b/baserock/strata/virtualization.morph
@@ -0,0 +1,91 @@
+name: virtualization
+kind: stratum
+description: |
+ Virtualization for baserock
+ NOTE: this stratum requires kernel support, please see openstack bsp
+ kernel history to check which config are needed for openvswitch or libvirt,
+ for example.
+build-depends:
+- morph: strata/libsoup-common.morph
+- morph: strata/python-core.morph
+- morph: strata/python-pygobject.morph
+- morph: strata/connman-common.morph
+- morph: strata/lvm.morph
+- morph: strata/xorg-util-macros-common.morph
+- morph: strata/networking-utils.morph
+- morph: strata/docutils.morph
+chunks:
+- name: yajl
+ morph: strata/virtualization/yajl.morph
+ repo: upstream:yajl
+ ref: 52fc681857228c65c1cb439782da485554875481
+ unpetrify-ref: baserock/morph
+- name: dnsmasq
+ morph: strata/virtualization/dnsmasq.morph
+ repo: upstream:dnsmasq
+ ref: 8471cd938ca41fbe4fee8ae3f657625c92cfb954
+ unpetrify-ref: baserock/morph
+- name: qemu
+ morph: strata/virtualization/qemu.morph
+ repo: upstream:qemu
+ ref: c5691f7ecb32cbe7a95b491314ce070e211fd97d
+ unpetrify-ref: baserock/v2.2.0
+- name: libpciaccess
+ repo: upstream:libpciaccess
+ ref: b9c068896914b4132a24839c9ef7f9fcd6282d88
+ unpetrify-ref: master
+ build-system: autotools
+- name: dmidecode
+ morph: strata/virtualization/dmidecode.morph
+ repo: upstream:dmidecode
+ ref: 47a0aa5d6696a83922ee70279b7253a4e55947d5
+ unpetrify-ref: master
+- name: libvirt
+ morph: strata/virtualization/libvirt.morph
+ repo: upstream:libvirt
+ ref: 7b1ceec1e2f141d36ed9b7ef3a660ff8bb34fc53
+ unpetrify-ref: baserock/v1.2.10
+ build-depends:
+ - libpciaccess
+ - dnsmasq
+ - qemu
+ - yajl
+ - dmidecode
+- name: pycurl
+ repo: upstream:pycurl
+ ref: 5ca370827d88817eeca3c56cbb37e4ddccc16c6e
+ unpetrify-ref: baserock/morph
+ build-system: python-distutils
+- name: urlgrabber
+ repo: upstream:urlgrabber
+ ref: bf0a0be71373dec515bbb54e0613a3b9b0c00b04
+ unpetrify-ref: master
+ build-system: python-distutils
+ build-depends:
+ - pycurl
+- name: libvirt-python
+ repo: upstream:libvirt-python
+ ref: 8e09c79a07b097a6ba9af83be4916fb9c9538500
+ unpetrify-ref: v1.2.10
+ build-system: python-distutils
+ build-depends:
+ - libvirt
+ - urlgrabber
+- name: libosinfo
+ morph: strata/virtualization/libosinfo.morph
+ repo: upstream:libosinfo
+ ref: a86c74c4d3f62bb0e315ab7fc78ec9f7746bdd12
+ unpetrify-ref: baserock/morph
+- name: virt-manager
+ repo: upstream:virt-manager
+ ref: 8b7ebd4538ffbd2d246fdeee4f1bb1c452585575
+ unpetrify-ref: v1.0.1
+ build-system: python-distutils
+ build-depends:
+ - libvirt-python
+ - libosinfo
+- name: openvswitch
+ morph: strata/virtualization/openvswitch.morph
+ repo: upstream:openvswitch
+ ref: a52b0492a4d0398a24ed2a3566ff55ac53fea31f
+ unpretrify-ref: master
diff --git a/baserock/strata/virtualization/dmidecode.morph b/baserock/strata/virtualization/dmidecode.morph
new file mode 100644
index 00000000..d9ab0fa3
--- /dev/null
+++ b/baserock/strata/virtualization/dmidecode.morph
@@ -0,0 +1,7 @@
+name: dmidecode
+kind: chunk
+build-system: manual
+build-commands:
+- make
+install-commands:
+- make install DESTDIR="$DESTDIR" prefix="$PREFIX"
diff --git a/baserock/strata/virtualization/dnsmasq.morph b/baserock/strata/virtualization/dnsmasq.morph
new file mode 100644
index 00000000..3f4c6c53
--- /dev/null
+++ b/baserock/strata/virtualization/dnsmasq.morph
@@ -0,0 +1,10 @@
+name: dnsmasq
+kind: chunk
+build-system: manual
+build-commands:
+- make
+- make -C contrib/wrt
+install-commands:
+- make install PREFIX="$PREFIX" DESTDIR="$DESTDIR"
+- install -D -m 755 contrib/wrt/dhcp_release "$DESTDIR$PREFIX"/bin/dhcp_release
+- install -D -m 755 contrib/wrt/dhcp_lease_time "$DESTDIR$PREFIX"/bin/dhcp_lease_time
diff --git a/baserock/strata/virtualization/libosinfo.morph b/baserock/strata/virtualization/libosinfo.morph
new file mode 100644
index 00000000..d5679965
--- /dev/null
+++ b/baserock/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/baserock/strata/virtualization/libvirt.morph b/baserock/strata/virtualization/libvirt.morph
new file mode 100644
index 00000000..1687213c
--- /dev/null
+++ b/baserock/strata/virtualization/libvirt.morph
@@ -0,0 +1,34 @@
+name: libvirt
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ GNULIB_SRCDIR=.gnulib \
+ ./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 --disable-werror \
+ --prefix="$PREFIX"
+post-install-commands:
+# Don't autostart the default network created by libvirt
+- rm -f "$DESTDIR"/etc/libvirt/qemu/networks/autostart/default.xml
+system-integration:
+ libvirt-misc:
+ 01-addgroup:
+ - groupadd libvirt
+ 02-setup_libvirtconf:
+ - sed -i 's/#unix_sock_group = "libvirt"/unix_sock_group = "libvirt"/' /etc/libvirt/libvirtd.conf
+ - sed -i 's/#unix_sock_rw_perms = "0770"/unix_sock_rw_perms = "0770"/' /etc/libvirt/libvirtd.conf
+ - sed -i 's/#unix_sock_ro_perms = "0777"/unix_sock_ro_perms = "0777"/' /etc/libvirt/libvirtd.conf
diff --git a/baserock/strata/virtualization/openvswitch.morph b/baserock/strata/virtualization/openvswitch.morph
new file mode 100644
index 00000000..06480827
--- /dev/null
+++ b/baserock/strata/virtualization/openvswitch.morph
@@ -0,0 +1,11 @@
+name: openvswitch
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./boot.sh
+configure-commands:
+- |
+ ./configure --prefix="$PREFIX" \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --enable-ssl
diff --git a/baserock/strata/virtualization/qemu.morph b/baserock/strata/virtualization/qemu.morph
new file mode 100644
index 00000000..89067cd2
--- /dev/null
+++ b/baserock/strata/virtualization/qemu.morph
@@ -0,0 +1,5 @@
+name: qemu
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./configure --prefix="$PREFIX" --disable-werror
diff --git a/baserock/strata/virtualization/yajl.morph b/baserock/strata/virtualization/yajl.morph
new file mode 100644
index 00000000..3fac99db
--- /dev/null
+++ b/baserock/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/baserock/strata/wayland-generic.morph b/baserock/strata/wayland-generic.morph
new file mode 100644
index 00000000..cf89a1b5
--- /dev/null
+++ b/baserock/strata/wayland-generic.morph
@@ -0,0 +1,10 @@
+name: wayland-generic
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: wayland
+ morph: strata/wayland-generic/wayland.morph
+ repo: upstream:wayland
+ ref: 60024af597b68974c451c89f960a7c11de11c33a
+ unpetrify-ref: 1.8.0
diff --git a/baserock/strata/wayland-generic/wayland.morph b/baserock/strata/wayland-generic/wayland.morph
new file mode 100644
index 00000000..752a5d6e
--- /dev/null
+++ b/baserock/strata/wayland-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/baserock/strata/webtools.morph b/baserock/strata/webtools.morph
new file mode 100644
index 00000000..5010a4c1
--- /dev/null
+++ b/baserock/strata/webtools.morph
@@ -0,0 +1,22 @@
+name: webtools
+kind: stratum
+description: web things
+build-depends:
+- morph: strata/tools.morph
+- morph: strata/pcre-utils.morph
+chunks:
+- name: icu
+ morph: strata/webtools/icu.morph
+ repo: upstream:icu
+ ref: ba023548a3bff7277cbea4acade3042ce9d8949e
+ unpetrify-ref: baserock/morph
+- name: libgit2
+ repo: upstream:libgit2
+ ref: 4b0a36e881506a02b43a4ae3c19c93c919b36eeb
+ unpetrify-ref: master
+ build-system: cmake
+- name: nginx
+ morph: strata/webtools/nginx.morph
+ repo: upstream:nginx
+ ref: 37a582c9ea3e731c115e560d31b26f78535b8fca
+ unpetrify-ref: baserock/v1.7.0
diff --git a/baserock/strata/webtools/icu.morph b/baserock/strata/webtools/icu.morph
new file mode 100644
index 00000000..37dec07e
--- /dev/null
+++ b/baserock/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/baserock/strata/webtools/nginx.morph b/baserock/strata/webtools/nginx.morph
new file mode 100644
index 00000000..6f7f04ae
--- /dev/null
+++ b/baserock/strata/webtools/nginx.morph
@@ -0,0 +1,14 @@
+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 \
+ --with-http_ssl_module
+build-commands:
+- make
+install-commands:
+- make install
diff --git a/baserock/strata/weston-common.morph b/baserock/strata/weston-common.morph
new file mode 100644
index 00000000..fbc5d5f1
--- /dev/null
+++ b/baserock/strata/weston-common.morph
@@ -0,0 +1,14 @@
+name: weston-common
+kind: stratum
+build-depends:
+- morph: strata/graphics-common.morph
+- morph: strata/input-common.morph
+- morph: strata/mesa-common.morph
+- morph: strata/libdrm-common.morph
+- morph: strata/wayland-generic.morph
+chunks:
+- name: weston
+ morph: strata/weston-common/weston.morph
+ repo: upstream:weston
+ ref: 97a6d48e725956a58afad4450c5981c42ba4aa9c
+ unpetrify-ref: baserock/weston-1.8.0/tegra
diff --git a/baserock/strata/weston-common/weston.morph b/baserock/strata/weston-common/weston.morph
new file mode 100644
index 00000000..c49b8d5b
--- /dev/null
+++ b/baserock/strata/weston-common/weston.morph
@@ -0,0 +1,7 @@
+name: weston
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./autogen.sh --prefix="$PREFIX" \
+ --enable-demo-clients-install
diff --git a/baserock/strata/weston-genivi.morph b/baserock/strata/weston-genivi.morph
new file mode 100644
index 00000000..ea619821
--- /dev/null
+++ b/baserock/strata/weston-genivi.morph
@@ -0,0 +1,21 @@
+name: weston-genivi
+kind: stratum
+build-depends:
+- morph: strata/graphics-common.morph
+- morph: strata/input-common.morph
+- morph: strata/mesa-common.morph
+- morph: strata/libdrm-common.morph
+- morph: strata/wayland-generic.morph
+chunks:
+- name: weston
+ morph: strata/weston-genivi/weston.morph
+ repo: upstream:weston
+ ref: 5d7a71cb941ed419ec042ea28be56c87ea407db6
+ unpetrify-ref: baserock/genivi/1.3.0
+- name: wayland-ivi-extension
+ morph: strata/weston-genivi/wayland-ivi-extension.morph
+ repo: upstream:genivi/wayland-ivi-extension
+ ref: 43fa65ede93cef9e6c902df2248229ad204b510a
+ unpetrify-ref: master
+ build-depends:
+ - weston
diff --git a/baserock/strata/weston-genivi/wayland-ivi-extension.morph b/baserock/strata/weston-genivi/wayland-ivi-extension.morph
new file mode 100644
index 00000000..bceb2a88
--- /dev/null
+++ b/baserock/strata/weston-genivi/wayland-ivi-extension.morph
@@ -0,0 +1,8 @@
+name: wayland-ivi-extension
+kind: chunk
+configure-commands:
+- cmake -DCMAKE_INSTALL_PREFIX="$PREFIX" -DCMAKE_C_FLAGS="-I/usr/include/weston"
+build-commands:
+- make
+install-commands:
+- make install DESTDIR="$DESTDIR"
diff --git a/baserock/strata/weston-genivi/weston.morph b/baserock/strata/weston-genivi/weston.morph
new file mode 100644
index 00000000..810ce5e9
--- /dev/null
+++ b/baserock/strata/weston-genivi/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 --disable-xwayland \
+ --disable-x11-compositor \
+ --disable-wayland-compositor --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/baserock/strata/x-common.morph b/baserock/strata/x-common.morph
new file mode 100644
index 00000000..f92f97f5
--- /dev/null
+++ b/baserock/strata/x-common.morph
@@ -0,0 +1,325 @@
+name: x-common
+kind: stratum
+build-depends:
+- morph: strata/xorg-util-macros-common.morph
+chunks:
+- name: xorg-proto-bigreqsproto
+ repo: upstream:xorg-proto-bigreqsproto
+ ref: d6ed3e927a756900ad4c9fd7235f8f7f34f376db
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-compositeproto
+ repo: upstream:xorg-proto-compositeproto
+ ref: 39738dbe9438dc80fc6b9e221d9ed26a6d42da6b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-damageproto
+ repo: upstream:xorg-proto-damageproto
+ ref: 015b980e5091492dbe681af59569768ba89fbfe0
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-dmxproto
+ repo: upstream:xorg-proto-dmxproto
+ ref: 395f6fcc0a5635907b5e45829e86b29431316184
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-fixesproto
+ repo: upstream:xorg-proto-fixesproto
+ ref: b6c6bc2aa4b83f8763c75c90e6671052272a2af2
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-fontsproto
+ repo: upstream:xorg-proto-fontsproto
+ ref: df8c05f7c0253a36589d96efa52938215eff9d4d
+ unpetrify-ref: fontsproto-2.1.3
+ build-system: autotools
+- name: xorg-proto-glproto
+ repo: upstream:xorg-proto-glproto
+ ref: f84853d97d5749308992412a215fa518b6536eb3
+ unpetrify-ref: glproto-1.4.17
+ build-system: autotools
+- name: xorg-proto-inputproto
+ repo: upstream:xorg-proto-inputproto
+ ref: 343ff0938f592876b9d82c966f166bf45a78c3c8
+ unpetrify-ref: inputproto-2.3.1
+ build-system: autotools
+- name: xorg-proto-kbproto
+ repo: upstream:xorg-proto-kbproto
+ ref: f7022f5775350dce3348b7151845a32390e98791
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-xineramaproto
+ repo: upstream:xorg-proto-xineramaproto
+ ref: 4e77b45e0d6b42a448dab2ec316eeb5c490ecfed
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-randrproto
+ repo: upstream:xorg-proto-randrproto
+ ref: ca7cc541c2e43e6c784df19b4583ac35829d2f72
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-recordproto
+ repo: upstream:xorg-proto-recordproto
+ ref: 0fd4f8e57c1e637b2aaaaa0f539ddbac8cc50575
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-renderproto
+ repo: upstream:xorg-proto-renderproto
+ ref: 935f5ec95a3718c184ff685f5b79b467483b7844
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-resourceproto
+ repo: upstream:xorg-proto-resourceproto
+ ref: ada91f54c98b5a61d3e116fca6bf239a8604730f
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-scrnsaverproto
+ repo: upstream:xorg-proto-scrnsaverproto
+ ref: 614532026e8ec7496216316fb584d6f2af6a7f7b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-videoproto
+ repo: upstream:xorg-proto-videoproto
+ ref: e42cf822e230cff5c6550ca2c050dfa27d2c9611
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-xcmiscproto
+ repo: upstream:xorg-proto-xcmiscproto
+ ref: 83549077a3c2140b9862709004cd873f1c55e395
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-xextproto
+ repo: upstream:xorg-proto-xextproto
+ ref: 66afec3f49e8eb0d4c2e9af7088fc3116d4bafd7
+ unpetrify-ref: xextproto-7.3.0
+ build-system: autotools
+- name: xorg-proto-xf86bigfontproto
+ repo: upstream:xorg-proto-xf86bigfontproto
+ ref: f805b328b2195de384c0fb6b82ef5f88c179b2c0
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-xf86dgaproto
+ repo: upstream:xorg-proto-xf86dgaproto
+ ref: c52b205c3175309be7952774668c87dd2d5ce30e
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-xf86driproto
+ repo: upstream:xorg-proto-xf86driproto
+ ref: cb03b8d49bf063860859c1ed8bcecd055551e93a
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-x11proto
+ repo: upstream:xorg-proto-x11proto
+ ref: 03cbbf6c3e811c026c86e3a60d2f9af56606e155
+ unpetrify-ref: xproto-7.0.26
+ build-system: autotools
+- name: xorg-proto-dri2proto
+ repo: upstream:xorg-proto-dri2proto
+ ref: ead89ad84877551cc15d26b95cb19a3e205df71f
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-proto-dri3proto
+ repo: upstream:xorg-proto-dri3proto
+ ref: 91df0f88b70c268f3580385a7b37543ab8c544c8
+ build-system: autotools
+- name: xorg-proto-presentproto
+ repo: upstream:xorg-proto-presentproto
+ ref: ef84007fc4a23d3897b4776906139de9d0698c2a
+ build-system: autotools
+- name: xcb-proto
+ repo: upstream:xcb-proto
+ ref: 4b384d2a015c50d0e93dcacda4b8260a3fd37640
+ unpetrify-ref: '1.11'
+ build-system: autotools
+- name: xorg-lib-libxshmfence
+ repo: upstream:xorg-lib-libxshmfence
+ ref: 9c4f070e1304a3503cfab08f68573443025fc4c9
+ unpetrify-ref: master
+ build-system: autotools
+ build-depends:
+ - xorg-proto-x11proto
+- name: xorg-lib-libXau
+ repo: upstream:xorg-lib-libXau
+ ref: 1a8a1b2c68967b48c07b56142799b1020f017027
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-proto-x11proto
+- name: xcb-libxcb
+ repo: upstream:xcb-libxcb
+ ref: d1e8ec96fca4862f37ec9f0e9407bb989c4c161a
+ unpetrify-ref: '1.11'
+ build-system: autotools
+ build-depends:
+ - xcb-proto
+ - xorg-lib-libXau
+- name: xcb-util
+ repo: upstream:xcb-util
+ ref: 4de010f122da40e17b52866d07d1d501a66bf007
+ unpetrify-ref: baserock/0.4.0
+ build-system: autotools
+ build-depends:
+ - xcb-libxcb
+- name: util-wm
+ repo: upstream:util-wm
+ ref: fb7afc3f291c8cc072d327cd8d97ab1db3283c21
+ unpetrify-ref: baserock/0.4.1
+ build-system: autotools
+ build-depends:
+ - xcb-libxcb
+- name: util-keysyms
+ repo: upstream:util-keysyms
+ ref: edb763a8837d3932690b9d6d77cb7e20a9ab8013
+ unpetrify-ref: baserock/0.4.0
+ build-system: autotools
+ build-depends:
+ - xcb-libxcb
+- name: util-image
+ repo: upstream:util-image
+ ref: f20f25a1c017c58d5d7dfffc6e9adc8d31879152
+ unpetrify-ref: baserock/0.4.0
+ build-system: autotools
+ build-depends:
+ - xcb-libxcb
+ - xcb-util
+- name: xorg-lib-libxtrans
+ repo: upstream:xorg-lib-libxtrans
+ ref: 7cbad9fe2e61cd9d5caeaf361826a6f4bd320f03
+ unpetrify-ref: xtrans-1.3.5
+ build-system: autotools
+- name: xorg-lib-libX11
+ repo: upstream:xorg-lib-libX11
+ ref: cb107760df33ffc8630677e66e2e50aa37950a5c
+ unpetrify-ref: libX11-1.6.2
+ build-system: autotools
+ build-depends:
+ - xcb-libxcb
+ - xorg-lib-libxtrans
+ - xorg-proto-inputproto
+ - xorg-proto-kbproto
+ - xorg-proto-x11proto
+ - xorg-proto-xextproto
+ - xorg-proto-xf86bigfontproto
+- name: xorg-lib-libXext
+ repo: upstream:xorg-lib-libXext
+ ref: 8eee1236041d46a21faba32e0d27c26985267d89
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libX11
+ - xorg-lib-libXau
+ - xorg-proto-x11proto
+ - xorg-proto-xextproto
+- name: xorg-lib-libXi
+ repo: upstream:xorg-lib-libXi
+ ref: 9b26b81477cf3486e5aa0ef8d81af68a0f04df1b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libX11
+ - xorg-lib-libXext
+ - xorg-proto-inputproto
+ - xorg-proto-x11proto
+ - xorg-proto-xextproto
+- name: xorg-lib-libXfixes
+ repo: upstream:xorg-lib-libXfixes
+ ref: 0cb446962381f750e05d97bfb974ca1e32481d5d
+ unpetrify-ref: libXfixes-5.0.1
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libXext
+ - xorg-proto-fixesproto
+- name: xorg-lib-libXcomposite
+ repo: upstream:xorg-lib-libXcomposite
+ ref: eda48b1bedaa344ada8e13930c9ab3058b836190
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libX11
+ - xorg-lib-libXfixes
+ - xorg-proto-compositeproto
+- name: xorg-lib-libXrender
+ repo: upstream:xorg-lib-libXrender
+ ref: 1af52cb334377611233d7dc156bc1e6f7923756d
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libX11
+ - xorg-proto-renderproto
+- name: xorg-lib-libXrandr
+ repo: upstream:xorg-lib-libXrandr
+ ref: 99a63d10cbbab7d69a52d25d78795a3278506ea9
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libX11
+ - xorg-lib-libXext
+ - xorg-lib-libXrender
+ - xorg-proto-randrproto
+ - xorg-proto-renderproto
+ - xorg-proto-xextproto
+- name: xorg-lib-libXinerama
+ repo: upstream:xorg-lib-libXinerama
+ ref: 470b9356af961ff7d3968b164aa73872b49a5dcc
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libX11
+ - xorg-lib-libXext
+ - xorg-proto-xextproto
+ - xorg-proto-xineramaproto
+- name: xorg-lib-libXtst
+ repo: upstream:xorg-lib-libXtst
+ ref: 2aafac9474a0a0a0c39797862f823255918cf368
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libX11
+ - xorg-lib-libXext
+ - xorg-lib-libXi
+ - xorg-proto-inputproto
+ - xorg-proto-recordproto
+ - xorg-proto-xextproto
+- name: xorg-lib-libXdamage
+ repo: upstream:xorg-lib-libXdamage
+ ref: 0d35761dc39409b70e04dd0786aef6537f92976a
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libXfixes
+ - xorg-proto-damageproto
+- name: xorg-lib-libXcursor
+ repo: upstream:xorg-lib-libXcursor
+ ref: 1b98fd6a2e8c00a563187849a585e68c7344468b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libXrender
+ - xorg-lib-libXfixes
+ - xorg-proto-fixesproto
+ - xorg-lib-libXau
+ - xorg-lib-libX11
+- name: xorg-lib-libICE
+ repo: upstream:xorg-lib-libICE
+ ref: b0cc7794c89d64fc54d0c75b2bba79fd7a1c7e0a
+ unpetrify-ref: libICE-1.0.9
+ build-system: autotools
+ build-depends:
+ - xorg-proto-x11proto
+ - xorg-lib-libxtrans
+- name: xorg-lib-libSM
+ repo: upstream:xorg-lib-libSM
+ ref: d0659dcd3aa23598b38826ac78f85071772c436f
+ unpetrify-ref: libSM-1.2.2
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libICE
+- name: xorg-lib-libXt
+ repo: upstream:xorg-lib-libXt
+ ref: e7411e7e5299116604ff1f01d9415802607f1051
+ unpetrify-ref: libXt-1.1.5
+ build-system: autotools
+ build-depends:
+ - xorg-proto-kbproto
+ - xorg-lib-libX11
+ - xorg-lib-libSM
diff --git a/baserock/strata/x-drivers.morph b/baserock/strata/x-drivers.morph
new file mode 100644
index 00000000..185d6b40
--- /dev/null
+++ b/baserock/strata/x-drivers.morph
@@ -0,0 +1,36 @@
+name: x-drivers
+kind: stratum
+build-depends:
+- morph: strata/input-common.morph
+- morph: strata/x-generic.morph
+chunks:
+- name: xorg-driver-xf86-video-fbdev
+ repo: upstream:xorg-driver-xf86-video-fbdev
+ ref: 679ed9a4e6b54227df191c580e3ef641e075db19
+ unpetrify-ref: xf86-video-fbdev-0.4.4
+ build-system: autotools
+- name: xorg-driver-xf86-video-vesa
+ repo: upstream:xorg-driver-xf86-video-vesa
+ ref: b49c293e67cd88424ff40a2ca4e58b28528691d7
+ unpetrify-ref: xf86-video-vesa-2.3.4
+ build-system: autotools
+- name: xorg-driver-xf86-video-intel
+ repo: upstream:xorg-driver-xf86-video-intel
+ ref: 57725564179b8ddb48d5c9437fde91a6c02c0740
+ unpetrify-ref: 2.99.917-381-g5772556
+ build-system: autotools
+- name: xorg-driver-xf86-input-evdev
+ repo: upstream:xorg-driver-xf86-input-evdev
+ ref: 24368d8379cc47693dd1623168a6125faff57311
+ unpetrify-ref: xf86-input-evdev-2.9.2
+ build-system: autotools
+- name: xorg-driver-xf86-input-keyboard
+ repo: upstream:xorg-driver-xf86-input-keyboard
+ ref: 13d320076e5de2d6c3cbc170fc7e31c526ed8499
+ unpetrify-ref: xf86-input-keyboard-1.8.1
+ build-system: autotools
+- name: xorg-driver-xf86-input-mouse
+ repo: upstream:xorg-driver-xf86-input-mouse
+ ref: 6886084b192e681739fc55892f30681efb4f79f0
+ unpetrify-ref: xf86-input-mouse-1.9.1
+ build-system: autotools
diff --git a/baserock/strata/x-generic.morph b/baserock/strata/x-generic.morph
new file mode 100644
index 00000000..9c2f498d
--- /dev/null
+++ b/baserock/strata/x-generic.morph
@@ -0,0 +1,60 @@
+name: x-generic
+kind: stratum
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/libdrm-common.morph
+- morph: strata/mesa-common.morph
+- morph: strata/x-common.morph
+- morph: strata/graphics-common.morph
+chunks:
+- name: libepoxy
+ repo: upstream:libepoxy
+ ref: 7422de5b4be7b19d789136b3bb5f932de42db27c
+ unpetrify-ref: v1.2
+ build-system: autotools
+- name: xorg-lib-libxkbfile
+ repo: upstream:xorg-lib-libxkbfile
+ ref: 7381c2f9013ef7784c78091fa671e652a62ca706
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-font-util
+ repo: upstream:xorg-font-util
+ ref: 5f01ea79f1cb2328bfc4130b1e693f71be916b87
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xorg-lib-libfontenc
+ repo: upstream:xorg-lib-libfontenc
+ ref: f5d1208172e965fdd7fae8927bd3e29b3cc3a975
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-font-util
+- name: xorg-lib-libXfont
+ repo: upstream:xorg-lib-libXfont
+ ref: ad4f4d8a2d0730c0ea3c09210bf921638b4682bc
+ unpetrify-ref: libXfont-1.5.0
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libfontenc
+- name: xserver
+ morph: strata/x-generic/xserver.morph
+ repo: upstream:xserver
+ ref: 3b0d1ba2266d2780bfc111bab74885b90458eca4
+ unpetrify-ref: xorg-server-1.17.1
+ build-depends:
+ - libepoxy
+ - xorg-font-util
+ - xorg-lib-libXfont
+ - xorg-lib-libxkbfile
+- name: xorg-app-xkbcomp
+ repo: upstream:xorg-app-xkbcomp
+ ref: 705b9bbb426410f9510601c7010da51184919b36
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-lib-libxkbfile
+- name: xorg-app-xinit
+ repo: upstream:xorg-app-xinit
+ ref: 4e85bce64acef1fa0ddff04d59737444e942ff12
+ unpetrify-ref: baserock/morph
+ build-system: autotools
diff --git a/baserock/strata/x-generic/xserver.morph b/baserock/strata/x-generic/xserver.morph
new file mode 100644
index 00000000..e13ba77f
--- /dev/null
+++ b/baserock/strata/x-generic/xserver.morph
@@ -0,0 +1,12 @@
+name: xserver
+kind: chunk
+build-system: autotools
+configure-commands:
+- |
+ ./autogen.sh --prefix="$PREFIX" \
+ --disable-glx \
+ --disable-xvfb \
+ --disable-xnest \
+ --disable-xquartz \
+ --disable-xwin \
+ --enable-xwayland
diff --git a/baserock/strata/xfce.morph b/baserock/strata/xfce.morph
new file mode 100644
index 00000000..552cbd89
--- /dev/null
+++ b/baserock/strata/xfce.morph
@@ -0,0 +1,159 @@
+name: xfce
+kind: stratum
+description: xfce stratum
+build-depends:
+- morph: strata/gtk2.morph
+- morph: strata/audio-bluetooth.morph
+chunks:
+- name: xfce-dev-tools
+ repo: upstream:xfce/xfce4-dev-tools
+ ref: 9244250ac0c15ba160688758c5dccf97f3f160ef
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: libxfce4util
+ morph: strata/xfce/libxfce4util.morph
+ repo: upstream:xfce/libxfce4util
+ ref: 5f56641e09b081f7d76d3feeee307589b21840c1
+ unpetrify-ref: libxfce4util-4.11.0
+ build-depends:
+ - xfce-dev-tools
+- name: xfconf
+ morph: strata/xfce/xfconf.morph
+ repo: upstream:xfce/xfconf
+ ref: e5261e292130c96b6e62a8c897b1cc85bbb786ac
+ unpetrify-ref: master
+ build-depends:
+ - xfce-dev-tools
+ - libxfce4util
+- name: libxfce4ui
+ morph: strata/xfce/libxfce4ui.morph
+ repo: upstream:xfce/libxfce4ui
+ ref: b9e6a57385ff6f0c15bbc637b76472211e3696b0
+ unpetrify-ref: libxfce4ui-4.11.2
+ build-depends:
+ - xfce-dev-tools
+ - libxfce4util
+ - xfconf
+- name: garcon
+ morph: strata/xfce/garcon.morph
+ repo: upstream:xfce/garcon
+ ref: 69ff09cf0a9ee3ff9518822614637dc2d4f89ce6
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - libxfce4util
+ - libxfce4ui
+- name: perl-uri
+ repo: upstream:libwww-perl/uri
+ ref: 3dd72ded7f043a4f6973781fe594722e2e95f491
+ unpetrify-ref: baserock/morph
+ build-system: cpan
+- name: exo
+ morph: strata/xfce/exo.morph
+ repo: upstream:xfce/exo
+ ref: b985c4b5c72ef116d55bbf746c16a05f26afc045
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - libxfce4util
+ - libxfce4ui
+ - perl-uri
+- name: libwnck
+ morph: strata/xfce/libwnck.morph
+ repo: upstream:libwnck
+ ref: 6792abcdf27aceba1012406d51606e84b065a526
+ unpetrify-ref: baserock/xfce-build
+- name: xfce4-panel
+ morph: strata/xfce/xfce4-panel.morph
+ repo: upstream:xfce/xfce4-panel
+ ref: 6ac8bfcb481781e8e23b101f5c5fdd70cf6d083b
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - libxfce4ui
+ - garcon
+ - exo
+ - libwnck
+- name: thunar
+ morph: strata/xfce/thunar.morph
+ repo: upstream:xfce/thunar
+ ref: 8289f48c200b91cc1e9932e13defb8e6a4765054
+ unpetrify-ref: baserock/morph
+ build-depends:
+ - libxfce4ui
+ - exo
+ - garcon
+ - libwnck
+- name: xfce4-settings
+ morph: strata/xfce/xfce4-settings.morph
+ repo: upstream:xfce/xfce4-settings
+ ref: f04388fae30685b5038358674dec69406ba87f2c
+ unpetrify-ref: xfce4-settings-4.11.3
+ build-depends:
+ - xfce-dev-tools
+ - xfconf
+ - exo
+ - libxfce4ui
+ - garcon
+- name: iceauth
+ repo: upstream:iceauth
+ ref: c07d443d43e53cfe21b53a9a0eafcd6189432867
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+- name: xfce4-session
+ morph: strata/xfce/xfce4-session.morph
+ repo: upstream:xfce/xfce4-session
+ ref: d4e20cbb9b1df864b502e9e8879a538f089fd5d2
+ unpetrify-ref: xfce4-session-4.11.1
+ build-depends:
+ - iceauth
+ - exo
+ - xfce-dev-tools
+ - 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: f32d76856e6eee9bc3d772b2fb6c2b8810ae63dc
+ unpetrify-ref: xfdesktop-4.11.8
+ build-depends:
+ - exo
+ - libxfce4ui
+ - xfconf
+ - libwnck
+- name: xfwm4
+ morph: strata/xfce/xfwm4.morph
+ repo: upstream:xfce/xfwm4
+ ref: f5c1c74e1436deff7f16ef92c98097ac3baae290
+ unpetrify-ref: xfwm4-4.11.3_plus_fallback_theme
+ build-depends:
+ - exo
+ - libxfce4util
+ - libxfce4ui
+ - xfconf
+ - libwnck
+- name: xfce4-appfinder
+ morph: strata/xfce/xfce4-appfinder.morph
+ repo: upstream:xfce/xfce4-appfinder
+ ref: 6c2bc7a09dd6e85bb78913cdc8af2292a9361e04
+ unpetrify-ref: xfce4-appfinder-4.11.0
+ build-depends:
+ - exo
+ - libxfce4ui
+ - garcon
+- name: tumbler
+ morph: strata/xfce/tumbler.morph
+ repo: upstream:xfce/tumbler
+ ref: 073c2080c79075fdf574064fa2098c4b5bb79a11
+ unpetrify-ref: tumbler-0.1.30
+ build-depends:
+ - xfce-dev-tools
+- name: elementary-xfce
+ morph: strata/xfce/elementary-xfce.morph
+ repo: upstream:elementary-xfce
+ ref: 9681d40e7a3545c96dfb1670e00514acfad5b089
+ unpetrify-ref: v0.5
diff --git a/baserock/strata/xfce/elementary-xfce.morph b/baserock/strata/xfce/elementary-xfce.morph
new file mode 100644
index 00000000..978cfdc4
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/exo.morph b/baserock/strata/xfce/exo.morph
new file mode 100644
index 00000000..f5096213
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/garcon.morph b/baserock/strata/xfce/garcon.morph
new file mode 100644
index 00000000..569197ff
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/gtk-xfce-engine-2.morph b/baserock/strata/xfce/gtk-xfce-engine-2.morph
new file mode 100644
index 00000000..cf1c2530
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/libwnck.morph b/baserock/strata/xfce/libwnck.morph
new file mode 100644
index 00000000..bb8d7afa
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/libxfce4ui.morph b/baserock/strata/xfce/libxfce4ui.morph
new file mode 100644
index 00000000..5fbd342e
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/libxfce4util.morph b/baserock/strata/xfce/libxfce4util.morph
new file mode 100644
index 00000000..60a59126
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/thunar.morph b/baserock/strata/xfce/thunar.morph
new file mode 100644
index 00000000..51f76ac5
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/tumbler.morph b/baserock/strata/xfce/tumbler.morph
new file mode 100644
index 00000000..fe27a783
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/xfce4-appfinder.morph b/baserock/strata/xfce/xfce4-appfinder.morph
new file mode 100644
index 00000000..f8d1fcbe
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/xfce4-panel.morph b/baserock/strata/xfce/xfce4-panel.morph
new file mode 100644
index 00000000..fe85e172
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/xfce4-session.morph b/baserock/strata/xfce/xfce4-session.morph
new file mode 100644
index 00000000..87ffac22
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/xfce4-settings.morph b/baserock/strata/xfce/xfce4-settings.morph
new file mode 100644
index 00000000..6063dbc1
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/xfconf.morph b/baserock/strata/xfce/xfconf.morph
new file mode 100644
index 00000000..cfbe741b
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/xfdesktop.morph b/baserock/strata/xfce/xfdesktop.morph
new file mode 100644
index 00000000..4af5a905
--- /dev/null
+++ b/baserock/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/baserock/strata/xfce/xfwm4.morph b/baserock/strata/xfce/xfwm4.morph
new file mode 100644
index 00000000..0c4e2273
--- /dev/null
+++ b/baserock/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/baserock/strata/xorg-util-macros-common.morph b/baserock/strata/xorg-util-macros-common.morph
new file mode 100644
index 00000000..7e252a90
--- /dev/null
+++ b/baserock/strata/xorg-util-macros-common.morph
@@ -0,0 +1,17 @@
+name: xorg-util-macros-common
+kind: stratum
+build-depends:
+- morph: strata/core.morph
+chunks:
+- name: xorg-util-macros
+ repo: upstream:xorg-util-macros
+ ref: 9a54b858601bd305de2737b06e609084a2a114c2
+ unpetrify-ref: util-macros-1.19.0
+ build-system: autotools
+- name: xcb-pthread-stubs
+ repo: upstream:xcb-pthread-stubs
+ ref: 431d2c0be218d878b9dd3862e4232243c599df4b
+ unpetrify-ref: baserock/morph
+ build-system: autotools
+ build-depends:
+ - xorg-util-macros
diff --git a/baserock/strata/xstatic.morph b/baserock/strata/xstatic.morph
new file mode 100644
index 00000000..64b1fc64
--- /dev/null
+++ b/baserock/strata/xstatic.morph
@@ -0,0 +1,154 @@
+name: xstatic
+kind: stratum
+description: |
+ Stratum with Xstatic and some xstatic libraries.
+
+ XStatic is a packaging standard to package external static files as
+ a python package, so they are easily usable on all OSes.
+
+ This conflicts with the 'everything from Git' policy of Baserock,
+ but it is required right now for the Openstack system to work.
+build-depends:
+- morph: strata/foundation.morph
+- morph: strata/python-core.morph
+chunks:
+- name: xstatic
+ repo: upstream:xstatic
+ ref: 6c8604a422ba7f176ce6b372a8e182c293d06fb2
+ unpetrify-ref: 1.0.1
+ build-system: python-distutils
+- name: xstatic-angular
+ repo: upstream:xstatic-packages/xstatic-angular
+ ref: dac047df05da5bb20de4e78876bc03820d0c6671
+ unpetrify-ref: 1.3.7.0
+ build-system: python-distutils
+- name: xstatic-angular-animate
+ repo: upstream:xstatic-packages/xstatic-angular-animate
+ ref: 91b9d3197f67213e4e35e9a35ba7196b898731e7
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-angular-bootstrap
+ repo: upstream:xstatic-packages/xstatic-angular-bootstrap
+ ref: b581edb6975175a564fd02766aef2f9043702c80
+ unpetrify-ref: 0.11.0.3
+ build-system: python-distutils
+- name: xstatic-angular-lrdragndrop
+ repo: upstream:xstatic-packages/xstatic-angular-lrdragndrop
+ ref: 55c7494492e6da2a6664aa00941864dd64589396
+ unpetrify-ref: 1.0.2.3
+ build-system: python-distutils
+- name: xstatic-angular-cookies
+ repo: upstream:xstatic-packages/xstatic-angular-cookies
+ ref: 66141a33ae7ad84b82ba9384a8101ae15ccd6da5
+ unpetrify-ref: 1.2.1.1
+ build-system: python-distutils
+- name: xstatic-angular-fileupload
+ repo: upstream:xstatic-packages/xstatic-angular-fileupload
+ ref: 04bcd774dae17cfff5e826fc0874f6403b4a6cae
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-angular-mock
+ repo: upstream:xstatic-packages/xstatic-angular-mock
+ ref: 20fdada109b167bcdcacec22986b43fdb42866f3
+ unpetrify-ref: 1.2.1.1
+ build-system: python-distutils
+- name: xstatic-angular-sanitize
+ repo: upstream:xstatic-packages/xstatic-angular-sanitize
+ ref: 9e0f03ada6fc00f8583903aeb6d9fc6516784999
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-angular-smart-table
+ repo: upstream:xstatic-packages/xstatic-angular-smart-table
+ ref: e0fbf69fb156b995547471d71c5c6a7f88989d47
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-bootstrap-datepicker
+ repo: upstream:xstatic-packages/xstatic-bootstrap-datepicker
+ ref: 60caf41e32d49f9bc715c39570f01449ebfbd37a
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-bootstrap-scss
+ repo: upstream:xstatic-packages/xstatic-bootstrap-scss
+ ref: d81b7b71c6c088406e90d1bdba0e10f0a304bbdc
+ unpetrify-ref: 3.1.1.1
+ build-system: python-distutils
+- name: xstatic-d3
+ repo: upstream:xstatic-packages/xstatic-d3
+ ref: 1e754e73c801fb9315995ffeb95ae51233c4fcaf
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-hogan
+ repo: upstream:xstatic-packages/xstatic-hogan
+ ref: 9e39977f6a6744810b08fa0323147e9f31dbd363
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-font-awesome
+ repo: upstream:xstatic-packages/xstatic-font-awesome
+ ref: c13aad1b95b1d84e73f2565a18a5a8e2bd2194a7
+ unpetrify-ref: 4.2.0.0
+ build-system: python-distutils
+- name: xstatic-jasmine
+ repo: upstream:xstatic-packages/xstatic-jasmine
+ ref: a55f5db1dbe59b23c7d6284250bf4eac1d0143c3
+ unpetrify-ref: 2.1.2.0
+ build-system: python-distutils
+- name: xstatic-jquery
+ repo: upstream:xstatic-packages/xstatic-jquery
+ ref: e91c5bf82535a62c1cfac61b5efb6b5c0157c1f5
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-jquery-bootstrap-wizard
+ repo: upstream:xstatic-packages/xstatic-jquery-bootstrap-wizard
+ ref: 07ae7e3a15b3af3d3d378d1f2412fe503ee42142
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-jquery-migrate
+ repo: upstream:xstatic-packages/xstatic-jquery-migrate
+ ref: 989b3b31106727542dd83810c3b952f90d8cdb8f
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-jquery-quicksearch
+ repo: upstream:xstatic-packages/xstatic-jquery-quicksearch
+ ref: f5221c8c30507340846d97d6db41a782e7c63316
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-jquery-tablesorter
+ repo: upstream:xstatic-packages/xstatic-jquery-tablesorter
+ ref: eb78328391f44a9a88033e1aede1a605902c5551
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-jquery-ui
+ repo: upstream:xstatic-packages/xstatic-jquery-ui
+ ref: b494369430dafd8ac4ddbe90efb9f8ad20a6e6d1
+ unpetrify-ref: 1.11.0.1
+ build-system: python-distutils
+- name: xstatic-magic-search
+ repo: upstream:xstatic-packages/xstatic-magic-search
+ ref: 60d6954a36e54afa1f925324e7b527d235bdb484
+ unpetrify-ref: 0.2.0.1
+ build-system: python-distutils
+- name: xstatic-jsencrypt
+ repo: upstream:xstatic-packages/xstatic-jsencrypt
+ ref: 5c0f088310ecd602e3aaf5e683385b0d27258409
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-qunit
+ repo: upstream:xstatic-packages/xstatic-qunit
+ ref: c3189eaa77c68c149a40b8c0afc8722cf394bd1f
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-rickshaw
+ repo: upstream:xstatic-packages/xstatic-rickshaw
+ ref: 6427ca5406852bc779d6918f487bb0fe3f063e77
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-spin
+ repo: upstream:xstatic-packages/xstatic-spin
+ ref: 74b4c0d0ff12db1f84787246857d5e925ff6883f
+ unpetrify-ref: master
+ build-system: python-distutils
+- name: xstatic-termjs
+ repo: upstream:xstatic-packages/xstatic-termjs
+ ref: a4ac0b809ab0d84c636a760215839bb6d68d0113
+ unpetrify-ref: master
+ build-system: python-distutils
diff --git a/baserock/strata/zookeeper-client.morph b/baserock/strata/zookeeper-client.morph
new file mode 100644
index 00000000..83ce2e05
--- /dev/null
+++ b/baserock/strata/zookeeper-client.morph
@@ -0,0 +1,16 @@
+name: zookeeper-client
+kind: stratum
+description: |
+ This stratum installs a small demonstration program for the
+ client side of ZooKeeper. The program can take up to two
+ arguments:
+ (1) The IP address of the ZooKeeper server to connect to
+ (2) The type of client that this will be (default client
+ types are typeOneNode & typeTwoNode)
+build-depends:
+- morph: strata/zookeeper.morph
+chunks:
+- name: zookeeper-client
+ morph: strata/zookeeper/zookeeper-client.morph
+ repo: baserock:tests/zookeeper-test
+ ref: master
diff --git a/baserock/strata/zookeeper-server.morph b/baserock/strata/zookeeper-server.morph
new file mode 100644
index 00000000..483a3fde
--- /dev/null
+++ b/baserock/strata/zookeeper-server.morph
@@ -0,0 +1,11 @@
+name: zookeeper-server
+kind: stratum
+description: This Stratum installs a zookeeper server and small program to populate
+ it with default data.
+build-depends:
+- morph: strata/zookeeper.morph
+chunks:
+- name: zookeeper-server
+ morph: strata/zookeeper/zookeeper-server.morph
+ repo: baserock:tests/zookeeper-test
+ ref: master
diff --git a/baserock/strata/zookeeper.morph b/baserock/strata/zookeeper.morph
new file mode 100644
index 00000000..e345b6d1
--- /dev/null
+++ b/baserock/strata/zookeeper.morph
@@ -0,0 +1,14 @@
+name: zookeeper
+kind: stratum
+description: |
+ This stratum installs zookeeper and its dependencies.
+build-depends:
+- morph: strata/core.morph
+- morph: strata/test-tools.morph
+- morph: strata/java.morph
+chunks:
+- name: zookeeper
+ morph: strata/zookeeper/zookeeper.morph
+ repo: upstream:zookeeper
+ ref: baserock/mikesmith/zookeeper
+ unpetrify-ref: trunk
diff --git a/baserock/strata/zookeeper/zookeeper-client.morph b/baserock/strata/zookeeper/zookeeper-client.morph
new file mode 100644
index 00000000..7bc99f08
--- /dev/null
+++ b/baserock/strata/zookeeper/zookeeper-client.morph
@@ -0,0 +1,17 @@
+name: zookeeper-client
+kind: chunk
+build-commands:
+- mkdir -p "$DESTDIR$PREFIX"/zookeeper-client
+- cp -r * "$DESTDIR$PREFIX"/zookeeper-client
+- make -C "$DESTDIR$PREFIX"/zookeeper-client/ZKTest/Release/
+post-install-commands:
+- |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-client.service
+ [unit]
+ Description=Zookeeper client init
+ [Service]
+ ExecStart=/usr/zookeeper-client/ZKTest/Release/ZKTest nodeTypeOne 10.24.1.198
+ RemainAfterExit=yes
+ [Install]
+ WantedBy=multi-user.target
+ EOF
diff --git a/baserock/strata/zookeeper/zookeeper-server.morph b/baserock/strata/zookeeper/zookeeper-server.morph
new file mode 100644
index 00000000..502bbda3
--- /dev/null
+++ b/baserock/strata/zookeeper/zookeeper-server.morph
@@ -0,0 +1,30 @@
+name: zookeeper-server
+kind: chunk
+build-commands:
+- mkdir -p "$DESTDIR$PREFIX"/zookeeper_server
+- cp -r * "$DESTDIR$PREFIX"/zookeeper_server
+- make -C "$DESTDIR$PREFIX"/zookeeper_server/zkServerFileSetup/Release/
+post-install-commands:
+- |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-server.service
+ [unit]
+ Description=Zookeeper server
+ [Service]
+ ExecStart=/usr/zookeeper/bin/zkServer.sh start
+ RemainAfterExit=yes
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+- |
+ install -D -m 644 /proc/self/fd/0 << 'EOF' "$DESTDIR"/etc/systemd/system/zookeeper-init.service
+ [unit]
+ Description=Zookeeper server init
+ [Service]
+ ExecStart=/usr/zookeeper_server/zkServerFileSetup/Release/zkServerFileSetup
+ RemainAfterExit=no
+ [Install]
+ WantedBy=multi-user.target
+ EOF
+- mkdir "$DESTDIR"/etc/systemd/system/multi-user.target.wants
+- ln -s "$DESTDIR"/etc/systemd/system/zookeeper-server.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/zookeeper-server.service
+- ln -s "$DESTDIR"/etc/systemd/system/zookeeper-init.service "$DESTDIR"/etc/systemd/system/multi-user.target.wants/zookeeper-init.service
diff --git a/baserock/strata/zookeeper/zookeeper.morph b/baserock/strata/zookeeper/zookeeper.morph
new file mode 100644
index 00000000..db446a1b
--- /dev/null
+++ b/baserock/strata/zookeeper/zookeeper.morph
@@ -0,0 +1,14 @@
+name: zookeeper
+kind: chunk
+configure-commands:
+- mkdir -p "$DESTDIR$PREFIX"/lib/zookeeper
+build-commands:
+- ant -p compile_jute
+- mkdir -p "$DESTDIR$PREFIX"/zookeeper
+- cp -r * "$DESTDIR$PREFIX"/zookeeper
+- cd "$DESTDIR$PREFIX"/zookeeper/src/c && autoreconf -i
+- cd "$DESTDIR$PREFIX"/zookeeper/src/c && ./configure --prefix="$PREFIX" --libdir="$PREFIX"/lib/
+- make -C "$DESTDIR$PREFIX"/zookeeper/src/c
+- cd "$DESTDIR$PREFIX"/zookeeper/src/c && make install
+- mv "$DESTDIR$PREFIX"/zookeeper/conf/zoo_sample.cfg "$DESTDIR$PREFIX"/zookeeper/conf/zoo.cfg
+- make -C "$DESTDIR$PREFIX"/zookeeper/src/c zktest-mt