diff options
Diffstat (limited to 'tests/integration/project/elements/symlinks/dangling-symlink-overlap.bst')
-rw-r--r-- | tests/integration/project/elements/symlinks/dangling-symlink-overlap.bst | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/integration/project/elements/symlinks/dangling-symlink-overlap.bst b/tests/integration/project/elements/symlinks/dangling-symlink-overlap.bst new file mode 100644 index 000000000..09db5a8a1 --- /dev/null +++ b/tests/integration/project/elements/symlinks/dangling-symlink-overlap.bst @@ -0,0 +1,26 @@ +kind: manual + +depends: + - base.bst + - symlinks/dangling-symlink.bst + +config: + install-commands: + # The element that we depend on installs a symlink at `/opt/orgname`, + # which points to a non-existant target of `/usr/orgs/orgname`. + # BuildStream converts absolute symlink targets into relative ones so it + # ends up pointing to ../usr/orgs/orgname, but this resolves to the same + # place. + + # This element creates a directory at `/opt/orgname` and installs files + # inside it. When this element is staged on top of the dependency this + # directory will be ignored as the symlink will already be there; + # BuildStream will then process the files that should be /in/ the + # directory. The expected behaviour when installing files within a symlink + # is to install them within the symlink's target, so the file + # `/opt/orgname/etc/org.conf` should end up at + # `/usr/orgs/orgname/etc/org.conf`. And since that directory doesn't exist + # BuildStream will also need to create it before installing anything there. + # + - mkdir -p "%{install-root}"/opt/orgname/etc/ + - echo "example" > "%{install-root}"/opt/orgname/etc/org.conf |