#!/bin/sh # # Copyright (C) 2013-2014 Codethink Limited # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ## Honour 'prefix' attribute for chunks within stratum morphs set -eu # Create two chunks which print out PATH and PREFIX from their environment. cd "$DATADIR/chunk-repo" git checkout -q master cat <<\EOF > xyzzy.morph name: xyzzy kind: chunk configure-commands: - "echo First chunk: prefix $PREFIX" EOF cat <<\EOF > plugh.morph name: plugh kind: chunk configure-commands: - "echo Second chunk: prefix $PREFIX" - "echo Path: $(echo $PATH | grep -o '/plover')" EOF git add xyzzy.morph git add plugh.morph git commit -q -m "Add chunks" # Change stratum to include those two chunks, and use a custom install prefix cd "$DATADIR/morphs-repo" cat < hello-stratum.morph name: hello-stratum kind: stratum chunks: - name: xyzzy repo: test:chunk-repo ref: master build-depends: [] build-mode: test prefix: /plover - name: plugh repo: test:chunk-repo ref: master build-mode: test build-depends: - xyzzy EOF git add hello-stratum.morph git commit -q -m "Update stratum" "$SRCDIR/scripts/test-morph" build-morphology \ test:morphs-repo master hello-system cd "$DATADIR/cache/artifacts" first_chunk=$(ls -1 *.chunk.xyzzy-* | head -n1 | cut -c -64) second_chunk=$(ls -1 *.chunk.plugh-* | head -n1 | cut -c -64) cat $first_chunk.build-log $second_chunk.build-log