Commit e578a89f authored by Valentin David's avatar Valentin David
Browse files

Merge branch 'valentindavid/fix-script-install-root' into 'master'

Fix bug with root mounted as non-artifact in script plugin.

Closes #756 and #749

See merge request !941
parents f116b9b7 cc2e6ae5
Loading
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -202,7 +202,7 @@ class ScriptElement(Element):
        sandbox.set_environment(self.get_environment())

        # Tell the sandbox to mount the install root
        directories = {'/': False}
        directories = {self.__install_root: False}

        # Mark the artifact directories in the layout
        for item in self.__layout:
@@ -211,6 +211,9 @@ class ScriptElement(Element):
            directories[destination] = item['element'] or was_artifact

        for directory, artifact in directories.items():
            # Root does not need to be marked as it is always mounted
            # with artifact (unless explicitly marked non-artifact)
            if directory != '/':
                sandbox.mark_directory(directory, artifact=artifact)

    def stage(self, sandbox):
+11 −0
Original line number Diff line number Diff line
kind: script

depends:
- filename: base.bst
  type: build
- filename: script/corruption-image.bst
  type: build

config:
  commands:
  - echo smashed >>/canary
+12 −0
Original line number Diff line number Diff line
kind: compose

depends:
- filename: base.bst
  type: build

public:
  bst:
    split-rules:
      remove:
        - "/tmp/**"
        - "/tmp"
+12 −0
Original line number Diff line number Diff line
kind: filter

depends:
- filename: script/marked-tmpdir.bst
  type: build

config:
  exclude:
  - remove
  include-orphans: True

+10 −0
Original line number Diff line number Diff line
kind: script

depends:
- filename: script/no-tmpdir.bst
  type: build

config:
  commands:
  - |
    mkdir -p /tmp/blah
Loading