Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/bockbuild.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Christoforides <alexis@thenull.net>2015-08-05 12:54:15 +0300
committerAlexis Christoforides <alexis@thenull.net>2015-08-11 19:04:03 +0300
commite37feba1f2e64d2295e7e2bd455e1d6aeaf964dc (patch)
treebb99af7ea3383ab660fc8d6d9961296498a666d7
parent8d8789c8fd0cfdbfc784bbcc3ac5c574a040a83b (diff)
Streamline environment mapping to prevent overly aggresive full rebuild triggers
-rw-r--r--bockbuild/profile.py12
-rw-r--r--packages/mono-master.py2
-rwxr-xr-xprofiles/mono-mac-release/MonoReleaseProfile.py6
-rwxr-xr-xprofiles/mono-mac-release/mono-mac-release.py7
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))))