diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2014-07-22 15:55:44 +0100 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2014-07-22 15:55:44 +0100 |
commit | 901ffbe0cb7554150b40f5ee40648b338df36eba (patch) | |
tree | 43ef4512d031383af62433df2578395693fb515b /yarns/implementations.yarn | |
parent | 4be1620dca24d539573027831b65ffc040bc1ebb (diff) | |
parent | fc5bb595b123db557d2b10a8d570d25e14119686 (diff) | |
download | morph-901ffbe0cb7554150b40f5ee40648b338df36eba.tar.gz |
Merge branch 'baserock/richardmaw-os/chunks-in-defs-v3'
Reviewed-by: Daniel Silverstone
Reviewed-by: Sam Thursfield
Diffstat (limited to 'yarns/implementations.yarn')
-rw-r--r-- | yarns/implementations.yarn | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/yarns/implementations.yarn b/yarns/implementations.yarn index d32bfd61..5b5b1724 100644 --- a/yarns/implementations.yarn +++ b/yarns/implementations.yarn @@ -87,17 +87,12 @@ another to hold a chunk. chunks: - name: test-chunk repo: test:test-chunk + morph: test-chunk.morph ref: master - morph: test-chunk build-mode: test build-depends: [] EOF - run_in "$DATADIR/gits/morphs" git init . - run_in "$DATADIR/gits/morphs" git add . - run_in "$DATADIR/gits/morphs" git commit -m Initial. - run_in "$DATADIR/gits/morphs" git tag -a "test-tag" -m "Tagging test-tag" - # Create the chunk repository. mkdir "$DATADIR/gits/test-chunk" @@ -106,7 +101,7 @@ another to hold a chunk. # dummy files in all the places that different kinds of files are # usually installed. e.g. executables in `/bin` and `/usr/bin` - install -m644 -D /dev/stdin << 'EOF' "$DATADIR/gits/test-chunk/test-chunk.morph" + install -m644 -D /dev/stdin << 'EOF' "$DATADIR/gits/morphs/test-chunk.morph" name: test-chunk kind: chunk build-system: manual @@ -161,7 +156,7 @@ another to hold a chunk. # autotools configuration, they go into /libexec. - | - install -D /dev/null "$DESTDIR/$PREFIX/libexec/test-bin" + install -D test-bin "$DESTDIR/$PREFIX/libexec/test-bin" # As well as run-time libraries, there's development files. For C # this is headers, which describe the API of the libraries, which @@ -174,7 +169,7 @@ another to hold a chunk. # `-m` option. - | - install -D -m 644 /dev/null "$DESTDIR/$PREFIX/include/test.h" + install -D -m 644 test.h "$DESTDIR/$PREFIX/include/test.h" # `pkg-config` is a standard way to locate libraries and get the # compiler flags needed to build with the library. It's also used @@ -184,7 +179,7 @@ another to hold a chunk. - | for pkgdir in lib lib32 lib64 share; do - install -D -m 644 /dev/null \ + install -D -m 644 test.pc \ "$DESTDIR/$PREFIX/$pkgdir/pkgconfig/test.pc" done @@ -240,9 +235,27 @@ another to hold a chunk. done EOF + run_in "$DATADIR/gits/morphs" git init . + run_in "$DATADIR/gits/morphs" git add . + run_in "$DATADIR/gits/morphs" git commit -m Initial. + run_in "$DATADIR/gits/morphs" git tag -a "test-tag" -m "Tagging test-tag" + run_in "$DATADIR/gits/test-chunk" git init . + cat > "$DATADIR/gits/test-chunk/test-bin" <<'EOF' + #!/bin/sh + echo Hello World + EOF + cat > "$DATADIR/gits/test-chunk/test.h" <<'EOF' + int foo(void); + EOF + cat > "$DATADIR/gits/test-chunk/test.pc" <<'EOF' + prefix=/usr + includedir=${prefix}/include + Name: test + Cflags: -I{includedir} + EOF run_in "$DATADIR/gits/test-chunk" git add . - run_in "$DATADIR/gits/test-chunk" git commit -m Initial. + run_in "$DATADIR/gits/test-chunk" git commit --allow-empty -m Initial. # Create the Morph configuration file so we can access the repos # using test:foo URL aliases. @@ -263,15 +276,14 @@ have a morphology using the test architecture. IMPLEMENTS GIVEN a system called (\S+) for the test architecture in the git server - cat << EOF > "$DATADIR/gits/test-chunk/stage1-chunk.morph" + cat << EOF > "$DATADIR/gits/morphs/stage1-chunk.morph" name: stage1-chunk kind: chunk build-system: dummy EOF - run_in "$DATADIR/gits/test-chunk" git init . - run_in "$DATADIR/gits/test-chunk" git add . - run_in "$DATADIR/gits/test-chunk" git commit -m Initial. + run_in "$DATADIR/gits/morphs" git add . + run_in "$DATADIR/gits/morphs" git commit -m "Add chunk for $MATCH_1" install -m644 -D /dev/stdin << EOF "$DATADIR/gits/morphs/strata/build-essential.morph" @@ -279,9 +291,9 @@ have a morphology using the test architecture. kind: stratum chunks: - name: stage1-chunk + morph: stage1-chunk.morph repo: test:test-chunk ref: master - morph: stage1-chunk build-mode: bootstrap build-depends: [] EOF @@ -293,9 +305,9 @@ have a morphology using the test architecture. - morph: strata/build-essential.morph chunks: - name: test-chunk + morph: test-chunk.morph repo: test:test-chunk ref: master - morph: test-chunk build-mode: test build-depends: [] EOF @@ -441,7 +453,7 @@ architecture as the machine doing the testing. This uses `morph print-architecture` to get a value appropriate for morph. IMPLEMENTS WHEN the user creates an uncommitted system morphology called (\S+) for our architecture in system branch (\S+) - arch=$(morph print-architecture) + arch=$(run_morph print-architecture) name="$(basename "${MATCH_1%.*}")" install -m644 -D /dev/stdin << EOF "$DATADIR/workspace/$MATCH_2/test/morphs/$MATCH_1" arch: $arch |