diff options
author | jannaerin <golden.janna@gmail.com> | 2021-09-28 16:16:40 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-09-28 17:08:47 +0000 |
commit | cabde0df1c9976c44067e4b10c3e4e96096fd83a (patch) | |
tree | 42d948efda83864f48a02b92db2b7415b125560d /SConstruct | |
parent | 78ef9784e77a2411e8aa2b582bc80033f0f36228 (diff) | |
download | mongo-cabde0df1c9976c44067e4b10c3e4e96096fd83a.tar.gz |
SERVER-59918 Create mongoqd binary
Diffstat (limited to 'SConstruct')
-rw-r--r-- | SConstruct | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/SConstruct b/SConstruct index 2d80cba783d..07dc5e427ab 100644 --- a/SConstruct +++ b/SConstruct @@ -5096,6 +5096,35 @@ if get_option('legacy-tarball') == 'true': module_sconscripts = moduleconfig.get_module_sconscripts(mongo_modules) +# This generates a numeric representation of the version string so that +# you can easily compare versions of MongoDB without having to parse +# the version string. +# +# Examples: +# 5.1.1-123 => ['5', '1', '1', '123', None, None] => [5, 1, 2, -100] +# 5.1.1-rc2 => ['5', '1', '1', 'rc2', 'rc', '2'] => [5, 1, 1, -23] +# 5.1.1-rc2-123 => ['5', '1', '1', 'rc2-123', 'rc', '2'] => [5, 1, 1, -23] +# 5.1.0-alpha-123 => ['5', '1', '0', 'alpha-123', 'alpha', ''] => [5, 1, 0, -50] +# 5.1.0-alpha1-123 => ['5', '1', '0', 'alpha1-123', 'alpha', '1'] => [5, 1, 0, -49] +# 5.1.1 => ['5', '1', '1', '', None, None] => [5, 1, 1, 0] + +version_parts = [ x for x in re.match(r'^(\d+)\.(\d+)\.(\d+)-?((?:(rc|alpha)(\d?))?.*)?', + env['MONGO_VERSION']).groups() ] +version_extra = version_parts[3] if version_parts[3] else "" +if version_parts[4] == 'rc': + version_parts[3] = int(version_parts[5]) + -25 +elif version_parts[4] == 'alpha': + if version_parts[5] == '': + version_parts[3] = -50 + else: + version_parts[3] = int(version_parts[5]) + -50 +elif version_parts[3]: + version_parts[2] = int(version_parts[2]) + 1 + version_parts[3] = -100 +else: + version_parts[3] = 0 +version_parts = [ int(x) for x in version_parts[:4]] + # The following symbols are exported for use in subordinate SConscript files. # Ideally, the SConscript files would be purely declarative. They would only # import build environment objects, and would contain few or no conditional @@ -5121,6 +5150,8 @@ Export([ 'use_system_version_of_library', 'use_vendored_libunwind', 'usemozjs', + 'version_extra', + 'version_parts', 'wiredtiger', ]) |