summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Chen <john.chen@mongodb.com>2019-09-23 17:21:03 +0000
committerevergreen <evergreen@mongodb.com>2019-09-23 17:21:03 +0000
commitce1b27cb76dd0709273ac80423b9a35d72edc6fd (patch)
treeb3fd44bb1df87fb2e00b635a9afe33bfd60d2477
parent28a50ae351071acdf18745c0f3bb54c84485d3ba (diff)
downloadmongo-ce1b27cb76dd0709273ac80423b9a35d72edc6fd.tar.gz
SERVER-37768 Backport Debian 10 to v4.2
-rw-r--r--buildscripts/package_test/.kitchen.yml5
-rw-r--r--buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb26
-rwxr-xr-xbuildscripts/packager.py4
-rw-r--r--etc/evergreen.yml105
-rw-r--r--etc/repo_config.yaml22
5 files changed, 148 insertions, 14 deletions
diff --git a/buildscripts/package_test/.kitchen.yml b/buildscripts/package_test/.kitchen.yml
index 3ee7b703bda..d9e6a41d5f1 100644
--- a/buildscripts/package_test/.kitchen.yml
+++ b/buildscripts/package_test/.kitchen.yml
@@ -49,6 +49,11 @@ platforms:
image_id: ami-71b7750b
transport:
username: admin
+ - name: debian10
+ driver:
+ image_id: ami-02ad06066b040a84b
+ transport:
+ username: admin
- name: rhel62
driver:
# Use rhel 6.3 because chef-solo fails on rhel 6.2
diff --git a/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb b/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb
index f927a58fe94..f849121d94a 100644
--- a/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb
+++ b/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb
@@ -143,19 +143,19 @@ if deb
describe file('/var/lib/mongodb') do
it { should be_directory }
end
-
- if os[:release] == '18.04'
- describe user('mongodb') do
- it { should exist }
- its('groups') { should include 'mongodb' }
- its('shell') { should eq '/usr/sbin/nologin' }
- end
- else
- describe user('mongodb') do
- it { should exist }
- its('groups') { should include 'mongodb' }
- its('shell') { should eq '/bin/false' }
- end
+ describe user('mongodb') do
+ it { should exist }
+ its('groups') { should include 'mongodb' }
+ # All versions of Debian 10 will use /usr/sbin/nologin for service
+ # account shells
+ its('shell') {
+ if ((os[:family] == 'debian' and os[:release].split('.')[0] == '10') or
+ (os[:family] == 'ubuntu' and os[:release] == '18.04'))
+ should eq '/usr/sbin/nologin'
+ else
+ should eq '/bin/false'
+ end
+ }
end
end
diff --git a/buildscripts/packager.py b/buildscripts/packager.py
index 582d10aa22d..defeb191af1 100755
--- a/buildscripts/packager.py
+++ b/buildscripts/packager.py
@@ -300,6 +300,8 @@ class Distro(object):
return 'jessie'
elif build_os == 'debian92':
return 'stretch'
+ elif build_os == 'debian10':
+ return 'buster'
else:
raise Exception("unsupported build_os: %s" % build_os)
else:
@@ -339,7 +341,7 @@ class Distro(object):
"ubuntu1804",
]
elif self.dname == 'debian':
- return ["debian81", "debian92"]
+ return ["debian81", "debian92", "debian10"]
else:
raise Exception("BUG: unsupported platform?")
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 1d5d13ccd11..6467dbe6185 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -356,6 +356,7 @@ variables:
- mongocryptd_variants: &mongocryptd_variants
- enterprise-amazon2
- enterprise-debian92-64
+ - enterprise-debian10-64
- enterprise-linux-64-amazon-ami
- enterprise-macos
- enterprise-macos-openssl
@@ -11587,6 +11588,55 @@ buildvariants:
- ubuntu1604-packer
- name: .publish
+- name: enterprise-debian10-64
+ display_name: Enterprise Debian 10
+ modules:
+ - enterprise
+ run_on:
+ - debian10-test
+ batchtime: 1440 # 1 day
+ expansions:
+ push_path: linux
+ push_bucket: downloads.10gen.com
+ push_name: linux
+ push_arch: x86_64-enterprise-debian10
+ mh_target: dist-mh
+ compile_flags: --ssl MONGO_DISTMOD=debian10 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ multiversion_platform: debian10
+ multiversion_edition: enterprise
+ # We invoke SCons using --jobs = (# of CPUs / 4) to avoid causing out of memory errors due to
+ # spawning a large number of linker processes.
+ num_scons_link_jobs_available: $(( $(grep -c ^processor /proc/cpuinfo) / 4 ))
+ has_packages: true
+ packager_script: packager_enterprise.py
+ packager_arch: x86_64
+ packager_distro: debian10
+ repo_edition: enterprise
+ tooltags: "ssl sasl gssapi"
+ scons_cache_scope: shared
+ build_mongoreplay: true
+ tasks:
+ - name: compile_all_run_unittests_TG
+ distros:
+ - debian10-build
+ - name: .aggfuzzer .common
+ - name: audit
+ - name: causally_consistent_jscore_txns_passthrough
+ - name: .encrypt !.replica_sets !.aggregation !.sharding !.jscore
+ - name: .jscore .common !.decimal !.compat !.sharding
+ - name: .jstestfuzz .common
+ - name: .logical_session_cache .one_sec
+ - name: replica_sets_auth_gen
+ - name: replica_sets_jscore_passthrough
+ - name: sasl
+ - name: sharding_auth_gen
+ - name: snmp
+ - name: .stitch
+ - name: package
+ distros:
+ - ubuntu1604-packer
+ - name: .publish
+
- name: debian92
display_name: SSL Debian 9.2
run_on:
@@ -11645,6 +11695,61 @@ buildvariants:
- ubuntu1604-packer
- name: .publish
+- name: debian10
+ display_name: Debian 10
+ run_on:
+ - debian10-test
+ batchtime: 1440 # 1 day
+ expansions:
+ push_path: linux
+ push_bucket: downloads.mongodb.org
+ push_name: linux
+ push_arch: x86_64-debian10
+ compile_flags: --ssl MONGO_DISTMOD=debian10 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ # We invoke SCons using --jobs = (# of CPUs / 4) to avoid causing out of memory errors due to
+ # spawning a large number of linker processes.
+ num_scons_link_jobs_available: $(( $(grep -c ^processor /proc/cpuinfo) / 4 ))
+ multiversion_platform: debian10
+ multiversion_edition: targeted
+ has_packages: true
+ packager_script: packager.py
+ packager_arch: x86_64
+ packager_distro: debian10
+ repo_edition: org
+ tooltags: "ssl"
+ scons_cache_scope: shared
+ build_mongoreplay: true
+ tasks:
+ - name: compile_all_run_unittests_TG
+ distros:
+ - debian10-build
+ - name: .aggfuzzer .common
+ - name: aggregation
+ - name: aggregation_auth
+ - name: .auth !.audit !.multiversion
+ - name: causally_consistent_jscore_txns_passthrough
+ - name: .misc_js
+ - name: .concurrency .common
+ - name: concurrency_replication_causal_consistency
+ distros:
+ - debian10-build
+ - name: disk_wiredtiger
+ - name: free_monitoring
+ - name: .jscore .common !.decimal
+ - name: .jstestfuzz .common
+ - name: .logical_session_cache .one_sec
+ - name: multiversion
+ - name: replica_sets
+ - name: .replica_sets .common
+ - name: .sharding .jscore !.wo_snapshot !.multi_stmt
+ - name: .sharding .common !.op_query !.csrs
+ - name: .ssl
+ - name: .stitch
+ - name: package
+ distros:
+ - ubuntu1604-packer
+ - name: .publish
+
################################
# storage engine buildvariants #
################################
diff --git a/etc/repo_config.yaml b/etc/repo_config.yaml
index 1a0043185ae..bcf8dde1ad6 100644
--- a/etc/repo_config.yaml
+++ b/etc/repo_config.yaml
@@ -164,6 +164,17 @@ repos:
repos:
- apt/debian/dists/stretch/mongodb-org
+ - name: debian10
+ type: deb
+ code_name: "buster"
+ bucket: repo.mongodb.org
+ edition: org
+ component: main
+ architectures:
+ - amd64
+ repos:
+ - apt/debian/dists/buster/mongodb-org
+
- name: debian71
type: deb
code_name: "wheezy"
@@ -316,6 +327,17 @@ repos:
repos:
- zypper/suse/15/mongodb-enterprise
+ - name: debian10
+ type: deb
+ edition: enterprise
+ code_name: "buster"
+ bucket: repo.mongodb.com
+ component: main
+ architectures:
+ - amd64
+ repos:
+ - apt/debian/dists/buster/mongodb-enterprise
+
- name: debian92
type: deb
edition: enterprise