summaryrefslogtreecommitdiff
path: root/morphlib/builder.py
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-02-14 13:39:42 +0000
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-02-14 13:39:42 +0000
commit2f2618663e627a3fee10df7c7450c60e600295b6 (patch)
tree1693544edf132ea84cc55c6eb1d15013c0289eee /morphlib/builder.py
parent272f92d66671ff2c3f9c7b759c57854c742c3745 (diff)
downloadmorph-2f2618663e627a3fee10df7c7450c60e600295b6.tar.gz
Revert "Set environment variables needed to build in a different prefix."
This reverts commit e0fb97f08156af97ec2341ec8061fe514ae358e5.
Diffstat (limited to 'morphlib/builder.py')
-rw-r--r--morphlib/builder.py40
1 files changed, 19 insertions, 21 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py
index 1fe36fc7..3de5b67e 100644
--- a/morphlib/builder.py
+++ b/morphlib/builder.py
@@ -64,7 +64,6 @@ class BlobBuilder(object):
self.destdir = None
self.prefixdir = None
self.staging = None
- self.stagingprefix = None
self.settings = None
self.real_msg = None
self.cache_prefix = None
@@ -158,10 +157,9 @@ class BlobBuilder(object):
for key, value in kwargs.iteritems():
meta[key] = value
- dirname = os.path.join(self.destdir, 'baserock')
- filename = os.path.join(dirname, '%s.meta' % blob_name)
- if not os.path.exists(dirname):
- os.mkdir(dirname)
+ filename = os.path.join(self.prefixdir, '%s.meta' % blob_name)
+ if not os.path.exists(self.prefixdir):
+ os.mkdir(self.prefixdir)
with open(filename, 'w') as f:
json.dump(meta, f, indent=4)
@@ -263,19 +261,6 @@ class ChunkBuilder(BlobBuilder):
if copied_vars[name] is not None:
self.ex.env[name] = copied_vars[name]
- # set and extend certain variables to support arbitrary
- # install prefixes such as /usr/local
- self.ex.env['PREFIX'] = self.settings['prefix']
- extended_paths = {
- 'PKG_CONFIG_PATH':
- os.path.join(self.stagingprefix, 'lib', 'pkgconfig'),
- 'LD_LIBRARY_PATH':
- os.path.join(self.stagingprefix, 'lib'),
- }
- for varname, pathname in extended_paths.iteritems():
- value = self.ex.env.get(varname, '')
- self.ex.env[varname] = '%s:%s' % (pathname, value)
-
self.ex.env['TERM'] = 'dumb'
self.ex.env['SHELL'] = '/bin/sh'
self.ex.env['USER'] = \
@@ -292,6 +277,14 @@ class ChunkBuilder(BlobBuilder):
for x in bindirs)
self.ex.env['PATH'] = path
+ self.ex.env['PREFIX'] = self.settings['prefix']
+ self.ex.env['PKG_CONFIG_PATH'] = ('%s:%s' %
+ (os.path.join(self.prefixdir, 'lib', 'pkgconfig'),
+ self.ex.env['PKG_CONFIG_PATH']))
+ self.ex.env['LD_LIBRARY_PATH'] = ('%s:%s' %
+ (os.path.join(self.prefixdir, 'lib'),
+ self.ex.env['LD_LIBRARY_PATH']))
+
self.ex.env['WORKAREA'] = self.tempdir.dirname
self.ex.env['DESTDIR'] = self.destdir + '/'
self.ex.env['TOOLCHAIN_TARGET'] = \
@@ -657,10 +650,15 @@ class Builder(object):
builder.builddir = self.tempdir.join('%s.build' % blob.morph.name)
builder.destdir = self.tempdir.join('%s.inst' % blob.morph.name)
- builder.prefixdir = self.settings['prefix']
+ if self.settings['prefix'] != '/usr':
+ relative_prefix = self.settings['prefix']
+ if relative_prefix.startswith('/'):
+ relative_prefix = relative_prefix[1:]
+ builder.prefixdir = os.path.join(
+ builder.destdir, relative_prefix, 'baserock')
+ else:
+ builder.prefixdir = os.path.join(builder.destdir, 'baserock')
builder.staging = self.tempdir.join('staging')
- builder.stagingprefix = os.path.join(
- builder.staging, os.path.relpath(builder.prefixdir, '/'))
builder.settings = self.settings
builder.real_msg = self.msg
builder.cache_prefix = self.cachedir.name(cache_id)