Fix bootstrap failure by pinning setuptools The `pkg_resources` module was removed in setuptools v70.0.0. However, Pigweed's environment setup still relies on it during virtualenv creation. This updates `pigweed.json` to specify `requirements` and `constraints` to leverage Pigweed's upstream constraint file, ensuring that the pinned `setuptools` version is used during `pip upgrade`. Additionally, this updates `.gn` to use the correct path for `pw_build_PIP_CONSTRAINTS`. Test: Ran `rm -rf environment` followed by `source bootstrap.sh` to verify a clean install works. Subsequently ran `source bootstrap.sh` again to ensure re-running without a clean environment completes successfully without errors. Change-Id: Ie7f6e48406e92f46e7351f5886be504090ae18f2 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/examples/+/379592
diff --git a/.gn b/.gn index fe3439e..c1b0f5e 100644 --- a/.gn +++ b/.gn
@@ -23,6 +23,8 @@ pw_build_PIP_REQUIREMENTS = [ "//docs/requirements.txt" ] + pw_build_PIP_CONSTRAINTS = [ "//third_party/pigweed/pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list" ] + pw_build_TEST_TRANSITIVE_PYTHON_DEPS = false # Don't allow a plain .options file extension for pwpb protos.
diff --git a/pigweed.json b/pigweed.json index dac285e..41fd1de 100644 --- a/pigweed.json +++ b/pigweed.json
@@ -85,6 +85,12 @@ "gn_root": ".", "gn_targets": [ ":pip_install_sample_project_tools.install" + ], + "requirements": [ + "docs/requirements.txt" + ], + "constraints": [ + "third_party/pigweed/pw_env_setup/py/pw_env_setup/virtualenv_setup/constraint.list" ] }, "required_submodules": [