summaryrefslogtreecommitdiff
path: root/site_scons/SConsRevision.py
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2019-07-14 08:35:35 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2019-07-14 08:35:35 +0200
commitb4de7f5943eb16fa393df953e97eb2ba8cc35df1 (patch)
tree20239aec5f6b0ec44acd691ad98e1a4b38957c8b /site_scons/SConsRevision.py
parent85dbcc01ae3f6b10849aa71faef6946d8e16d55f (diff)
parent697e33ed224b539a42ff68121f7497f5bbf941b2 (diff)
Update upstream source from tag 'upstream/3.0.5'
Update to upstream version '3.0.5' with Debian dir 03c2cf71b97fe65fcfd82c7f4a3862fe2b35614d
Diffstat (limited to 'site_scons/SConsRevision.py')
-rw-r--r--site_scons/SConsRevision.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/site_scons/SConsRevision.py b/site_scons/SConsRevision.py
new file mode 100644
index 0000000..11de670
--- /dev/null
+++ b/site_scons/SConsRevision.py
@@ -0,0 +1,40 @@
+import os
+
+def SCons_revision(target, source, env):
+ """Interpolate specific values from the environment into a file.
+
+ This is used to copy files into a tree that gets packaged up
+ into the source file package.
+ """
+ t = str(target[0])
+ s = source[0].rstr()
+
+ try:
+ with open(s, 'r') as fp:
+ contents = fp.read()
+
+
+ # Note: We construct the __*__ substitution strings here
+ # so that they don't get replaced when this file gets
+ # copied into the tree for packaging.
+ contents = contents.replace('__BUILD' + '__', env['BUILD'])
+ contents = contents.replace('__BUILDSYS' + '__', env['BUILDSYS'])
+ contents = contents.replace('__COPYRIGHT' + '__', env['COPYRIGHT'])
+ contents = contents.replace('__DATE' + '__', env['DATE'])
+ contents = contents.replace('__DEB_DATE' + '__', env['DEB_DATE'])
+
+ contents = contents.replace('__DEVELOPER' + '__', env['DEVELOPER'])
+ contents = contents.replace('__FILE' + '__', str(source[0]).replace('\\', '/'))
+ contents = contents.replace('__MONTH_YEAR'+ '__', env['MONTH_YEAR'])
+ contents = contents.replace('__REVISION' + '__', env['REVISION'])
+ contents = contents.replace('__VERSION' + '__', env['VERSION'])
+ contents = contents.replace('__NULL' + '__', '')
+ open(t, 'w').write(contents)
+ except UnicodeDecodeError as e:
+ print("Error decoding file:%s just copying no revision edit")
+ with open(s, 'rb') as fp:
+ contents = fp.read()
+ open(t, 'wb').write(contents)
+
+
+ os.chmod(t, os.stat(s)[0]) \ No newline at end of file