#!/bin/sh # # Copyright (C) 2011-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. ## Test build a stratum that uses a chunk which needs a submodule. set -eu # tests/setup creates a chunk-repo. We now create a new chunk, which # uses chunk-repo as a submodule. parent="$DATADIR/parent-repo" mkdir "$parent" cat < "$parent/parent.morph" name: parent kind: chunk build-system: manual build-commands: - test -f le-sub/README EOF "$SRCDIR/scripts/run-git-in" "$parent" init --quiet "$SRCDIR/scripts/run-git-in" "$parent" add . "$SRCDIR/scripts/run-git-in" "$parent" \ submodule --quiet add -b farrokh "$DATADIR/chunk-repo" le-sub > /dev/null "$SRCDIR/scripts/run-git-in" "$parent" commit --quiet -m initial # Modify the stratum to refer to the parent, not the submodule. morphs="$DATADIR/morphs-repo" cat < "$morphs/hello-stratum.morph" name: hello-stratum kind: stratum chunks: - name: parent repo: test:parent-repo ref: master build-depends: [] build-mode: test EOF "$SRCDIR/scripts/run-git-in" "$morphs" add hello-stratum.morph "$SRCDIR/scripts/run-git-in" "$morphs" commit --quiet -m 'foo' # Now build and verify we got a stratum. "$SRCDIR/scripts/test-morph" build-morphology \ test:morphs-repo master hello-system system=$(ls "$DATADIR/cache/artifacts/"*hello-system-rootfs) tar tf $system | LC_ALL=C sort | sed '/^\.\/./s:^\./::' | grep -v '^baserock/'