diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-02-17 12:48:49 +0000 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-02-17 12:48:49 +0000 |
commit | b4e4f3e47ce008ffd59fd50ff20a848369e9db3f (patch) | |
tree | 793a517e37879e9e705cb886462697295b7629c7 /morphlib/builder.py | |
parent | 89a281b29af5c51d9c8fc39563cbb5e7e3112a69 (diff) | |
download | morph-b4e4f3e47ce008ffd59fd50ff20a848369e9db3f.tar.gz |
Remove staging path prefix from $DESTDIR when we run things in chroot
Diffstat (limited to 'morphlib/builder.py')
-rw-r--r-- | morphlib/builder.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py index fc6ac2af..95b6c85a 100644 --- a/morphlib/builder.py +++ b/morphlib/builder.py @@ -383,6 +383,7 @@ class ChunkBuilder(BlobBuilder): ex.env[key] = self.ex.env[key] assert self.builddir.startswith(self.staging + '/') builddir = self.builddir[len(self.staging):] + destdir = self.destdir[len(self.staging):] for cmd in commands: self.msg('about to execute in chroot: %s' % cmd) script = os.path.join(self.staging, 'temp.sh') @@ -393,7 +394,13 @@ class ChunkBuilder(BlobBuilder): f.write('%s\n' % cmd) os.chmod(script, 0555) chroot_cmd = '/usr/sbin/chroot %s ./temp.sh' % self.staging + old_destdir = ex.env.get('DESTDIR', None) + ex.env['DESTDIR'] = destdir ex.run([chroot_cmd]) + if old_destdir is None: + del ex.env['DESTDIR'] + else: + ex.env['DESTDIR'] = old_destdir os.remove(script) else: self.ex.run(commands) |