summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-01-27 10:47:39 +0200
committerLars Wirzenius <liw@liw.fi>2018-01-27 11:22:50 +0200
commit9fdb0d1b1af95dd52143115411544d68a1ed5658 (patch)
treedc046abf9f84dd3cc4df088b9eceaa86d6eb6875
parent6cc9da0c6ae0bb4ecfef07ff912d3ae02d386c73 (diff)
downloadick2-9fdb0d1b1af95dd52143115411544d68a1ed5658.tar.gz
Change: bind mount workspace as /workspace in containers
-rw-r--r--NEWS3
-rwxr-xr-xworker_manager8
2 files changed, 9 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 834e854..c233d11 100644
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
Version 0.23+git, not yet released
----------------------------------
+* The workspace is now mounted as `/workspace` in a container. If
+ `where` is `host` or `chroot`, it's still at
+ `/var/lib/ick/workspace`.
Version 0.23, released 2018-01-22
----------------------------------
diff --git a/worker_manager b/worker_manager
index da7b23d..515f41a 100755
--- a/worker_manager
+++ b/worker_manager
@@ -391,9 +391,13 @@ class WorkerBase:
argv = ['sudo', 'chroot', self._workspace] + argv
elif self.where(work) == 'container':
logging.debug('CONTAINER REQUESTED')
+ bind = '{}:/workspace'.format(self._workspace)
+ mp = '{}/workspace'.format(self._workspace)
+ if not os.path.exists(mp):
+ os.mkdir(mp)
argv = [
- 'sudo', 'systemd-nspawn', '-D', self._systree,
- '--bind', self._workspace,
+ 'sudo', 'systemd-nspawn', '-D', self._systree, '--bind', bind,
+ '--chdir', '/workspace',
] + argv
else:
logging.debug('HOST REQUESTED')