diff options
author | Alexis Christoforides <alexis@thenull.net> | 2015-08-05 12:54:15 +0300 |
---|---|---|
committer | Alexis Christoforides <alexis@thenull.net> | 2015-08-11 19:04:03 +0300 |
commit | e37feba1f2e64d2295e7e2bd455e1d6aeaf964dc (patch) | |
tree | bb99af7ea3383ab660fc8d6d9961296498a666d7 | |
parent | 8d8789c8fd0cfdbfc784bbcc3ac5c574a040a83b (diff) |
Streamline environment mapping to prevent overly aggresive full rebuild triggers
-rw-r--r-- | bockbuild/profile.py | 12 | ||||
-rw-r--r-- | packages/mono-master.py | 2 | ||||
-rwxr-xr-x | profiles/mono-mac-release/MonoReleaseProfile.py | 6 | ||||
-rwxr-xr-x | profiles/mono-mac-release/mono-mac-release.py | 7 |
4 files changed, 15 insertions, 12 deletions
diff --git a/bockbuild/profile.py b/bockbuild/profile.py index ce70636..8bac28b 100644 --- a/bockbuild/profile.py +++ b/bockbuild/profile.py @@ -22,7 +22,8 @@ class Profile: self.uname = backtick ('uname -a') self.env = Environment (self) - self.env.set ('BUILD_PREFIX', self.prefix) + self.env.set ('BUILD_PREFIX', '%{prefix}') + self.env.set ('BUILD_ARCH', '%{arch}') self.env.set ('BOCKBUILD_ENV', '1') self.packages = [] self.profile_name = self.__class__.__name__ @@ -201,16 +202,17 @@ class Profile: def track_env (self): tracked_env = [] - tracked_env.extend (dump (self, 'profile')) - tracked_env.extend (self.env.serialize ()) if self.unsafe: warn ('Running with --unsafe, build environment not checked for changes') - changed = False if self.unsafe else update (tracked_env, os.path.join (self.root, 'global.env'), show_diff = True) - self.env.compile () self.env.export () + tracked_env.extend (self.env.serialize ()) + + changed = False if self.unsafe else update (tracked_env, os.path.join (self.root, 'global.env'), show_diff = True) + + self.envfile = os.path.join (self.root, self.profile_name) + '_env.sh' self.env.dump (self.envfile) diff --git a/packages/mono-master.py b/packages/mono-master.py index e156f3b..687c399 100644 --- a/packages/mono-master.py +++ b/packages/mono-master.py @@ -40,7 +40,7 @@ class MonoMasterPackage(Package): self.extra_stage_files = ['etc/mono/config'] def build (self): - self.make = '%s EXTERNAL_MCS=%s EXTERNAL_RUNTIME=%s' % (self.make, self.profile.system_mcs, self.profile.system_mono) + self.make = '%s EXTERNAL_MCS=%s EXTERNAL_RUNTIME=%s' % (self.make, self.profile.env.system_mcs, self.profile.env.system_mono) Package.build (self) def prep (self): diff --git a/profiles/mono-mac-release/MonoReleaseProfile.py b/profiles/mono-mac-release/MonoReleaseProfile.py index 832c537..af2ed48 100755 --- a/profiles/mono-mac-release/MonoReleaseProfile.py +++ b/profiles/mono-mac-release/MonoReleaseProfile.py @@ -30,10 +30,10 @@ class MonoReleaseProfile(DarwinProfile, MonoReleasePackages): self.packaging_dir = os.path.join(self.self_dir, "packaging") system_mono_dir = '/Library/Frameworks/Mono.framework/Versions/Current' - self.system_mono = os.path.join (system_mono_dir, 'bin', 'mono') - self.system_mcs = os.path.join (system_mono_dir, 'bin', 'mcs') + self.env.set ('system_mono', os.path.join (system_mono_dir, 'bin', 'mono')) + self.env.set ('system_mcs', os.path.join (system_mono_dir, 'bin', 'mcs')) - self.system_mono_version = backtick ('%s --version' % self.system_mono) + self.env.set ('system_mono_version', backtick ('%s --version' % self.env.system_mono)[0]) # config overrides for some programs to be functional while staged diff --git a/profiles/mono-mac-release/mono-mac-release.py b/profiles/mono-mac-release/mono-mac-release.py index 63b5c35..681ac2d 100755 --- a/profiles/mono-mac-release/mono-mac-release.py +++ b/profiles/mono-mac-release/mono-mac-release.py @@ -1,5 +1,6 @@ #!/usr/bin/python -B -u import sys +import traceback sys.path.append('../..') @@ -8,6 +9,6 @@ from bockbuild.util.util import * try: MonoReleaseProfile().build() -except e as Exception: - error (str(e)) - raise +except Exception as e: + exc_type, exc_value, exc_traceback = sys.exc_info() + error ('%s\n%s' % (str(e), repr(traceback.extract_tb(exc_traceback)))) |