[infra] Update to newer rpmalloc library.
Upstream rpmalloc fixed its bug that prevented compilation with
recent Clang toolchain releases, so drop the custom patching of
its `build/ninja/clang.py` file.
This CL also adjusts the way the rpmalloc sources are obtained,
by taking them from the `upstream/develop` branch of the Fuchsia
provided git mirror, which tracks the Github upstream closely,
as opposed with the `develop` branch on the same repository that
is seriously dated now.
Bug: None
Change-Id: I90eeddafa0cbd3acf815d8c00300ce04fb4199cf
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/13520
Reviewed-by: Petr Hosek <phosek@google.com>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: David Turner <digit@google.com>
diff --git a/infra/README.recipes.md b/infra/README.recipes.md
index 5a6ea74..731d098 100644
--- a/infra/README.recipes.md
+++ b/infra/README.recipes.md
@@ -101,7 +101,7 @@
Recipe for building GN.
-— **def [RunSteps](/infra/recipes/gn.py#105)(api, repository):**
+— **def [RunSteps](/infra/recipes/gn.py#106)(api, repository):**
### *recipes* / [macos\_sdk:examples/full](/infra/recipe_modules/macos_sdk/examples/full.py)
[DEPS](/infra/recipe_modules/macos_sdk/examples/full.py#7): [macos\_sdk](#recipe_modules-macos_sdk), [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step]
diff --git a/infra/recipes/gn.expected/ci_linux.json b/infra/recipes/gn.expected/ci_linux.json
index 25250ba..8457f94 100644
--- a/infra/recipes/gn.expected/ci_linux.json
+++ b/infra/recipes/gn.expected/ci_linux.json
@@ -188,7 +188,7 @@
"fetch",
"--tags",
"https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
- "f4b7c52c858675f732a76bd1c73447e0fcf84b1e"
+ "+upstream/develop"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -213,7 +213,7 @@
"cmd": [
"git",
"checkout",
- "FETCH_HEAD"
+ "b097fd0916500439721a114bb9cd8d14bd998683"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -235,68 +235,6 @@
]
},
{
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[START_DIR]/rpmalloc/build/ninja/clang.py",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "gn:ci"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.read [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Weverything', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "CXXFLAGS = ['-Wall', '-Wfoo']",
- "[START_DIR]/rpmalloc/build/ninja/clang.py"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "gn:ci"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.write [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
"cmd": [],
"name": "rpmalloc.build rpmalloc-linux-amd64",
"~followup_annotations": [
diff --git a/infra/recipes/gn.expected/cipd_exists.json b/infra/recipes/gn.expected/cipd_exists.json
index abde3b5..7ed384a 100644
--- a/infra/recipes/gn.expected/cipd_exists.json
+++ b/infra/recipes/gn.expected/cipd_exists.json
@@ -188,7 +188,7 @@
"fetch",
"--tags",
"https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
- "f4b7c52c858675f732a76bd1c73447e0fcf84b1e"
+ "+upstream/develop"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -213,7 +213,7 @@
"cmd": [
"git",
"checkout",
- "FETCH_HEAD"
+ "b097fd0916500439721a114bb9cd8d14bd998683"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -235,68 +235,6 @@
]
},
{
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[START_DIR]/rpmalloc/build/ninja/clang.py",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "infra-internal:ci"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.read [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Weverything', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "CXXFLAGS = ['-Wall', '-Wfoo']",
- "[START_DIR]/rpmalloc/build/ninja/clang.py"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "infra-internal:ci"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.write [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
"cmd": [],
"name": "rpmalloc.build rpmalloc-linux-amd64",
"~followup_annotations": [
diff --git a/infra/recipes/gn.expected/cipd_register.json b/infra/recipes/gn.expected/cipd_register.json
index 0d3ce42..f0b7372 100644
--- a/infra/recipes/gn.expected/cipd_register.json
+++ b/infra/recipes/gn.expected/cipd_register.json
@@ -188,7 +188,7 @@
"fetch",
"--tags",
"https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
- "f4b7c52c858675f732a76bd1c73447e0fcf84b1e"
+ "+upstream/develop"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -213,7 +213,7 @@
"cmd": [
"git",
"checkout",
- "FETCH_HEAD"
+ "b097fd0916500439721a114bb9cd8d14bd998683"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -235,68 +235,6 @@
]
},
{
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[START_DIR]/rpmalloc/build/ninja/clang.py",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "infra-internal:ci"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.read [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Weverything', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "CXXFLAGS = ['-Wall', '-Wfoo']",
- "[START_DIR]/rpmalloc/build/ninja/clang.py"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "infra-internal:ci"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.write [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
"cmd": [],
"name": "rpmalloc.build rpmalloc-linux-amd64",
"~followup_annotations": [
diff --git a/infra/recipes/gn.expected/cq_linux.json b/infra/recipes/gn.expected/cq_linux.json
index 574d790..1181b8c 100644
--- a/infra/recipes/gn.expected/cq_linux.json
+++ b/infra/recipes/gn.expected/cq_linux.json
@@ -239,7 +239,7 @@
"fetch",
"--tags",
"https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
- "f4b7c52c858675f732a76bd1c73447e0fcf84b1e"
+ "+upstream/develop"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -264,7 +264,7 @@
"cmd": [
"git",
"checkout",
- "FETCH_HEAD"
+ "b097fd0916500439721a114bb9cd8d14bd998683"
],
"cwd": "[START_DIR]/rpmalloc",
"infra_step": true,
@@ -286,68 +286,6 @@
]
},
{
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[START_DIR]/rpmalloc/build/ninja/clang.py",
- "/path/to/tmp/"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "gn:try"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.read [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Weverything', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
- "cmd": [
- "vpython",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "CXXFLAGS = ['-Wall', '-Wfoo']",
- "[START_DIR]/rpmalloc/build/ninja/clang.py"
- ],
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "gn:try"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "rpmalloc.write [START_DIR]/rpmalloc/build/ninja/clang.py",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@",
- "@@@STEP_LOG_LINE@clang.py@CXXFLAGS = ['-Wall', '-Wfoo']@@@",
- "@@@STEP_LOG_END@clang.py@@@"
- ]
- },
- {
"cmd": [],
"name": "rpmalloc.build rpmalloc-linux-amd64",
"~followup_annotations": [
diff --git a/infra/recipes/gn.py b/infra/recipes/gn.py
index 0f8d470..19a3033 100644
--- a/infra/recipes/gn.py
+++ b/infra/recipes/gn.py
@@ -31,7 +31,8 @@
# On select platforms, link the GN executable against rpmalloc for a small 10% speed boost.
RPMALLOC_GIT_URL = 'https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc'
-RPMALLOC_REVISION = 'f4b7c52c858675f732a76bd1c73447e0fcf84b1e'
+RPMALLOC_BRANCH = '+upstream/develop'
+RPMALLOC_REVISION = 'b097fd0916500439721a114bb9cd8d14bd998683'
# Used to convert os and arch strings to rpmalloc format
RPMALLOC_MAP = {
@@ -198,21 +199,8 @@
with api.context(cwd=rpmalloc_src_dir, infra_steps=True):
api.step(
'fetch',
- ['git', 'fetch', '--tags', RPMALLOC_GIT_URL, RPMALLOC_REVISION])
- api.step('checkout', ['git', 'checkout', 'FETCH_HEAD'])
-
- # Patch configure.py since it forces -Weverything which conflicts
- # with recent Clang rolls. Remove it in-place to work around the issue.
- # See https://bugs.chromium.org/p/gn/issues/detail?id=278
- build_ninja_clang_path = api.path.join(rpmalloc_src_dir, 'build/ninja/clang.py')
- build_ninja_clang_py = api.file.read_text('read %s' % build_ninja_clang_path,
- build_ninja_clang_path,
- "CXXFLAGS = ['-Wall', '-Weverything', '-Wfoo']")
- if '-Weverything' in build_ninja_clang_py:
- build_ninja_clang_py = build_ninja_clang_py.replace("'-Weverything',", '')
- api.file.write_text('write %s' % build_ninja_clang_path,
- build_ninja_clang_path,
- build_ninja_clang_py)
+ ['git', 'fetch', '--tags', RPMALLOC_GIT_URL, RPMALLOC_BRANCH])
+ api.step('checkout', ['git', 'checkout', RPMALLOC_REVISION])
for platform in all_config_platforms:
# Convert target architecture and os to rpmalloc format.