diff options
author | Ernie Hershey <ernie.hershey@10gen.com> | 2016-03-30 12:20:51 -0400 |
---|---|---|
committer | Ernie Hershey <ernie.hershey@10gen.com> | 2016-03-30 15:16:36 -0400 |
commit | 46d994e5c186e9634896db0d434db0a635ffc60b (patch) | |
tree | 81c37b66e931671f34e6070a342594cc7a77ba12 | |
parent | 7436d13815257851f08ed3cab1eb4d3d0fe09c8b (diff) | |
download | mongo-46d994e5c186e9634896db0d434db0a635ffc60b.tar.gz |
SERVER-23416 RPM support for zSeries
This also enables zSeries push tasks.
-rwxr-xr-x | buildscripts/packager-enterprise.py | 9 | ||||
-rwxr-xr-x | buildscripts/packager.py | 27 | ||||
-rw-r--r-- | etc/evergreen.yml | 9 |
3 files changed, 32 insertions, 13 deletions
diff --git a/buildscripts/packager-enterprise.py b/buildscripts/packager-enterprise.py index e9dc1476c35..27534268c1a 100755 --- a/buildscripts/packager-enterprise.py +++ b/buildscripts/packager-enterprise.py @@ -42,7 +42,7 @@ import time import urlparse # The MongoDB names for the architectures we support. -ARCH_CHOICES=["x86_64", "ppc64le"] +ARCH_CHOICES=["x86_64", "ppc64le", "s390x"] # Made up names for the flavors of distribution we package for. DISTROS=["suse", "debian","redhat","ubuntu","amazon"] @@ -116,6 +116,11 @@ class EnterpriseDistro(packager.Distro): return [ "rhel71" ] else: return [] + if arch == "s390x": + if self.n == 'redhat': + return [ "rhel72" ] + else: + return [] if re.search("(redhat|fedora|centos)", self.n): return [ "rhel70", "rhel62", "rhel57" ] @@ -263,7 +268,7 @@ def make_deb_repo(repo, distro, build_os, spec): Label: mongodb Suite: %s Codename: %s/mongodb-enterprise -Architectures: amd64 ppc64el +Architectures: amd64 ppc64el s390x Components: %s Description: MongoDB packages """ % (distro.repo_os_version(build_os), distro.repo_os_version(build_os), distro.repo_component()) diff --git a/buildscripts/packager.py b/buildscripts/packager.py index 29df7fd2b7f..a64980ec905 100755 --- a/buildscripts/packager.py +++ b/buildscripts/packager.py @@ -132,14 +132,28 @@ class Distro(object): return "mongodb" def archname(self, arch): + """Return the packaging system's architecture name. + Power and x86 have different names for apt/yum (ppc64le/ppc64el + and x86_64/amd64) + """ if re.search("^(debian|ubuntu)", self.n): if arch == "ppc64le": return "ppc64el" - return "i386" if arch.endswith("86") else "amd64" + elif arch == "s390x": + return "s390x" + elif arch.endswith("86"): + return "i386" + else: + return "amd64" elif re.search("^(suse|centos|redhat|fedora|amazon)", self.n): if arch == "ppc64le": return "ppc64le" - return "i686" if arch.endswith("86") else "x86_64" + elif arch == "s390x": + return "s390x" + elif arch.endswith("86"): + return "i686" + else: + return "x86_64" else: raise Exception("BUG: unsupported platform?") @@ -232,17 +246,16 @@ class Distro(object): raise Exception("BUG: unsupported platform?") def build_os(self, arch): - """Return the build os label in the binary package to download ("rhel55", "rhel62" and "rhel70" - for redhat, "ubuntu1204" and "ubuntu1404" for Ubuntu, "debian71" for Debian), and "suse11" - for SUSE)""" + """Return the build os label in the binary package to download (e.g. "rhel55" for redhat, + "ubuntu1204" for ubuntu, "debian71" for debian, "suse11" for suse, etc.)""" # Community builds only support amd64 - if arch not in ['x86_64', 'ppc64le']: + if arch not in ['x86_64', 'ppc64le', 's390x']: raise Exception("BUG: unsupported architecture (%s)" % arch) if re.search("(suse)", self.n): return [ "suse11", "suse12" ] elif re.search("(redhat|fedora|centos)", self.n): - return [ "rhel70", "rhel71", "rhel62", "rhel55" ] + return [ "rhel70", "rhel71", "rhel72", "rhel62", "rhel55" ] elif self.n == 'amazon': return [ "amazon" ] elif self.n == 'ubuntu': diff --git a/etc/evergreen.yml b/etc/evergreen.yml index ca2bb193b1f..403b97e5dec 100644 --- a/etc/evergreen.yml +++ b/etc/evergreen.yml @@ -94,6 +94,7 @@ variables: - enterprise-rhel-62-64-bit - enterprise-rhel-70-64-bit - enterprise-rhel-71-ppc64le + - enterprise-rhel-72-s390x - enterprise-suse11-64 - enterprise-suse12-64 - enterprise-ubuntu1204-64 @@ -4510,7 +4511,7 @@ buildvariants: compile_flags: --ssl MONGO_DISTMOD=rhel72 --release -j3 CCFLAGS="-march=z196 -mtune=zEC12" CXX=/opt/mongodbtoolchain/v1/bin/g++ CC=/opt/mongodbtoolchain/v1/bin/gcc num_jobs_available: 2 test_flags: --continueOnFailure --excludeWithAnyTags=requires_mmapv1 - # has_packages: true + has_packages: true packager_script: packager-enterprise.py packager_arch: s390x packager_distro: rhel72 @@ -4622,9 +4623,9 @@ buildvariants: # - name: tool - name: tool_WT - name: unittests -# - name: push -# distros: -# - rhel55-test + - name: push + distros: + - rhel55-test ########################################### # Ubuntu buildvariants # |