#!/bin/sh # # Test when there are two chunks with the same "name" set in the morphology # cause only the first built to be used # This can cause build failures when the wrong name is set and could be # a vector for including dodgy data in a system # # Copyright (C) 2012 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. set -e cache="$DATADIR/build-chunk-cache" log="$DATADIR/build-chunk-morph.log" ( cd "$DATADIR/chunk-repo" git checkout --quiet farrokh cat >goodbye <goodbye.morph <&2 # build a stratum ./morph --no-default-configs build morphs-repo master hello-stratum.morph \ --git-base-url="file://$DATADIR" \ --cachedir="$cache" --keep-path --no-distcc \ --log="$log" || cat "$log" 1>&2 # unpack it and check the contents INSTDIR="$DATADIR"/unpack mkdir -p "$INSTDIR" tar -C "$INSTDIR" -xhf "$cache/"*hello-stratum* test "$("$INSTDIR"/bin/hello)" = "hello, world"