#!/bin/sh # # If a stratum has multiple chunks that have the same files in them, # then this should be notified # # 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. set -eu chunkrepo="$DATADIR/chunk-repo" morphsrepo="$DATADIR/morphs-repo" cd "$morphsrepo" git checkout --quiet -b overlap master cat <hello-stratum.morph name: hello-stratum kind: stratum chunks: - name: dirs repo: test:chunk-repo ref: overlap build-depends: [] build-mode: test - name: overlap-foobar repo: test:chunk-repo ref: overlap build-depends: - dirs build-mode: test - name: overlap-fooqux repo: test:chunk-repo ref: overlap build-depends: - overlap-foobar build-mode: test - name: overlap-foo-baz repo: test:chunk-repo ref: overlap build-depends: - overlap-fooqux build-mode: test EOF sed -i 's/master/overlap/' hello-system.morph git add hello-stratum.morph hello-system.morph git commit --quiet -m "Make hello stratum contain overlaps" cd "$chunkrepo" git checkout --quiet -b overlap master cat <dirs.morph name: dirs kind: chunk install-commands: - mkdir -p "\$DESTDIR/bin" - ln -s .. "\$DESTDIR/usr" EOF git add dirs.morph cat <overlap-foo-baz.morph name: overlap-foo-baz kind: chunk install-commands: - mkdir -p "\$DESTDIR/bin" - for f in foo bar baz; do echo echo \$f >"\$DESTDIR/bin/\$f"; done EOF git add overlap-foo-baz.morph cat <overlap-foobar.morph name: overlap-foobar kind: chunk install-commands: - mkdir -p "\$DESTDIR/usr/bin" "\$DESTDIR/bin" - echo echo foobar >"\$DESTDIR/usr/bin/foobar" - ln -s /usr/bin/foobar "\$DESTDIR/bin/foo" - ln -s /usr/bin/foobar "\$DESTDIR/bin/bar" EOF git add overlap-foobar.morph cat <overlap-fooqux.morph name: overlap-fooqux kind: chunk install-commands: - mkdir -p "\$DESTDIR/usr/bin" "\$DESTDIR/bin" - for f in qux fooqux; do echo echo \$f >"\$DESTDIR/usr/bin/\$f"; done - ln -s /usr/bin/fooqux "\$DESTDIR/bin/foo" EOF git add overlap-fooqux.morph git commit --quiet -m 'Add overlapping chunks'