From 8e80f078c139f1b041afdb0a1e4378153a65bebc Mon Sep 17 00:00:00 2001 From: abejgonzalez Date: Fri, 2 Jun 2023 00:30:08 -0700 Subject: [PATCH] Loosen/tighten conda requirements | Fix conda-lock req --- .github/scripts/install-conda.sh | 16 ++-- conda-reqs/chipyard.yaml | 2 +- ...irements-esp-tools-linux-64.conda-lock.yml | 74 +++++++++---------- ...ements-riscv-tools-linux-64.conda-lock.yml | 74 +++++++++---------- conda-reqs/esp-tools.yaml | 2 +- conda-reqs/riscv-tools.yaml | 2 +- docs/Chipyard-Basics/Initial-Repo-Setup.rst | 4 +- 7 files changed, 89 insertions(+), 85 deletions(-) diff --git a/.github/scripts/install-conda.sh b/.github/scripts/install-conda.sh index 9e2740fb..08529ed7 100755 --- a/.github/scripts/install-conda.sh +++ b/.github/scripts/install-conda.sh @@ -1,7 +1,9 @@ #!/bin/bash +export HOME="${HOME:-/root}" + CONDA_INSTALL_PREFIX=/opt/conda -CONDA_INSTALLER_VERSION=4.12.0-0 +CONDA_INSTALLER_VERSION=22.11.1-4 CONDA_INSTALLER="https://github.com/conda-forge/miniforge/releases/download/${CONDA_INSTALLER_VERSION}/Miniforge3-${CONDA_INSTALLER_VERSION}-Linux-x86_64.sh" CONDA_CMD="conda" # some installers install mamba or micromamba @@ -144,14 +146,16 @@ else rm ./install_conda.sh # see https://conda-forge.org/docs/user/tipsandtricks.html#multiple-channels - # for more information on strict channel_priority - "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set channel_priority strict + # for more information on flexible channel_priority + "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set channel_priority flexible # By default, don't mess with people's PS1, I personally find it annoying "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set changeps1 false # don't automatically activate the 'base' environment when intializing shells "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set auto_activate_base false # don't automatically update conda to avoid https://github.com/conda-forge/conda-libmamba-solver-feedstock/issues/2 "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set auto_update_conda false + # automatically use the ucb-bar channel for specific packages https://anaconda.org/ucb-bar/repo + "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --add channels ucb-bar # conda-build is a special case and must always be installed into the base environment $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-build @@ -160,12 +164,12 @@ else # see https://www.anaconda.com/blog/a-faster-conda-for-a-growing-community $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-libmamba-solver - # conda-lock is a special case and must always be installed into the base environment - $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-lock - # Use the fast solver by default "${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set experimental_solver libmamba + # conda-lock is a special case and must always be installed into the base environment + $SUDO "$CONDA_EXE" install $DRY_RUN_OPTION -y -n base conda-lock=1.4 + conda_init_extra_args=() if [[ "$INSTALL_TYPE" == system ]]; then # if we're installing into a root-owned directory using sudo, or we're already root diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard.yaml index 1079a95a..88e0cb9a 100644 --- a/conda-reqs/chipyard.yaml +++ b/conda-reqs/chipyard.yaml @@ -93,7 +93,7 @@ dependencies: - screen - elfutils - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock - - conda-lock=1 + - conda-lock=1.4 # clang-format for driver coding style enforcement. - clang-format diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml index d041afe3..9314320e 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml @@ -21,7 +21,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: 09711b53dfd6ad82a5c9dc24c21633adaa2dfc051446a5009167b0a5d6a02167 + linux-64: c82daab41979122418c73ddbeb064bef42659c857750ef19fe713af8e06f305d platforms: - linux-64 sources: @@ -4429,14 +4429,14 @@ package: types-awscrt: '' typing_extensions: '' hash: - md5: 02c4d0596fd90242135cbd533368f723 - sha256: eaa094606d1dd54579fd78299d39b185e80d0c91c031915eeaeae963aa5d271c + md5: f19106a30c5fb2c52d84d1dbf0b5e097 + sha256: 8bf3c568732facd3ca9adf2f1867f91f84fc0e3779dba9e4da4c10f35ac0dfba manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.141-pyhd8ed1ab_0.conda - version: 1.29.141 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: clang-format: 16.0.3 default_h1cdf331_2 @@ -4894,14 +4894,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: 1292fc54c547ab84ea7ded4162c206b7 - sha256: c2169156a4c52fc8a410376afba76f6349f539a5519c18c63de89babacb3c348 + md5: a1b8b2b1df2fa7a35fc15e561601cbe0 + sha256: 61c711c9620821ef97ef04ad1991c23328debbe722ca1891e917821bc47f1611 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.144-pyhd8ed1ab_0.conda - version: 1.29.144 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -4969,28 +4969,28 @@ package: six: '>=1.11.0' typing-extensions: '>=4.0.1' hash: - md5: f4d871cde207029fbd3059fc4ad76af9 - sha256: 85884ae07cd171b577dba67059b633df5c6ad0a8fff8222de4bf77530426aea6 + md5: 4e49a7bd8f79a678c4fa2e871f4e2881 + sha256: 485bd7bba4820ea7265990d335ec10ab2f431c6bb1cca19f3ce7b87879f62e72 manager: conda name: azure-core optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.26.4-pyhd8ed1ab_0.conda - version: 1.26.4 + url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.27.0-pyhd8ed1ab_0.conda + version: 1.27.0 - category: main dependencies: msgpack-python: '>=0.5.2' python: '>=3.6' - requests: '' + requests: '>=2.16.0' hash: - md5: e8f0410e0aa03342304357c5cc3bb75d - sha256: 466ce7c155be90a5c903052eba391759ae88eb65f2bb06b0cc1c9d09c4311800 + md5: 9f0b2eb5f5dd2cec36d5342a80adfec0 + sha256: 894e2f4c59221b9633c60281a17fefe09ba0bf5d996992cebeb504d0585dd0dd manager: conda name: cachecontrol optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: conda-package-handling: '>=1.3.0' @@ -5133,7 +5133,7 @@ package: version: 5.1.1 - category: main dependencies: - botocore: 1.29.144 + botocore: 1.29.145 colorama: '>=0.2.5,<0.4.5' docutils: '>=0.10,<0.17' python: '>=3.9,<3.10.0a0' @@ -5142,43 +5142,43 @@ package: rsa: '>=3.1.2,<4.8' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: 8299dd2755e2dd7a4e728faeedfcde9d - sha256: 6b0d78a402c3ff0905ff37de4f445b76b63a37be6217f20a5643dab8483d27d1 + md5: 71af9e8fbd3e4f2cf7539ae7b98b84d9 + sha256: 9cf3a2405209319da9080429647b820dd3d36270c79a79babdb9b151c31284bb manager: conda name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.144-py39hf3d152e_0.conda - version: 1.27.144 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.145-py39hf3d152e_0.conda + version: 1.27.145 - category: main dependencies: - botocore: '>=1.29.144,<1.30.0' + botocore: '>=1.29.145,<1.30.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: 8800de229ccb6091b788b51b860de92d - sha256: 449c8d385102f0b911cc029a99e56715a07cbe82d983d1ada1f1ceac6a1fddbf + md5: 09e0b5c5f94eb5b480477ae63072b7dd + sha256: 82d045f01c87a8202796eadf2f10350b7e2417b480e93c69bb85a8364b750f02 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: - cachecontrol: 0.12.11 pyhd8ed1ab_1 + cachecontrol: 0.13.0 pyhd8ed1ab_0 lockfile: '>=0.9' python: '>=3.6' hash: - md5: 9df660456c0076d27b802448f7ede78f - sha256: 81c483fc92656873eb5a7ba657b208c34186556d942a9cebc1f7771e565b95b7 + md5: 3fd3d55ea862cc0736ac1cce6f44c2d1 + sha256: a8e20149f8ef160fbac5c751733638ccd5f35e20f3f552cfd46a467ffeceeeaf manager: conda name: cachecontrol-with-filecache optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: colorama: '' @@ -5290,14 +5290,14 @@ package: python: '' typing_extensions: '' hash: - md5: c9cbc248c410c28416580c32855ecc57 - sha256: 3d4e6178109386ba9bee5006b5bd2f81b561c2ea22b129596e0ae4b7b480d293 + md5: 1cc6dd0f40481c8a20eaa91a76f48ce5 + sha256: c0c0c81cfaf11a662d331d934d7a8eca12adbf12fa89a1fd60b514318c87c6c8 manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: cachecontrol-with-filecache: '>=0.12.9' diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml index 3b0706b0..b1ffbf71 100644 --- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml +++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml @@ -21,7 +21,7 @@ metadata: - url: nodefaults used_env_vars: [] content_hash: - linux-64: a78a257d86cc3b93a84a1e7f6f5d0790a0d3e997d43e3dbd608684ec2bf1da6f + linux-64: 226203ede9b0f046c54182afa8a2500b066f69e90eb7d1231892fa08d33241b5 platforms: - linux-64 sources: @@ -4431,14 +4431,14 @@ package: types-awscrt: '' typing_extensions: '' hash: - md5: 02c4d0596fd90242135cbd533368f723 - sha256: eaa094606d1dd54579fd78299d39b185e80d0c91c031915eeaeae963aa5d271c + md5: f19106a30c5fb2c52d84d1dbf0b5e097 + sha256: 8bf3c568732facd3ca9adf2f1867f91f84fc0e3779dba9e4da4c10f35ac0dfba manager: conda name: botocore-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.141-pyhd8ed1ab_0.conda - version: 1.29.141 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: clang-format: 16.0.3 default_h1cdf331_2 @@ -4868,14 +4868,14 @@ package: python-dateutil: '>=2.1,<3.0.0' urllib3: '>=1.25.4,<1.27' hash: - md5: 1292fc54c547ab84ea7ded4162c206b7 - sha256: c2169156a4c52fc8a410376afba76f6349f539a5519c18c63de89babacb3c348 + md5: a1b8b2b1df2fa7a35fc15e561601cbe0 + sha256: 61c711c9620821ef97ef04ad1991c23328debbe722ca1891e917821bc47f1611 manager: conda name: botocore optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.144-pyhd8ed1ab_0.conda - version: 1.29.144 + url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.29.145-pyhd8ed1ab_0.conda + version: 1.29.145 - category: main dependencies: cairo: '>=1.16.0,<2.0a0' @@ -4943,28 +4943,28 @@ package: six: '>=1.11.0' typing-extensions: '>=4.0.1' hash: - md5: f4d871cde207029fbd3059fc4ad76af9 - sha256: 85884ae07cd171b577dba67059b633df5c6ad0a8fff8222de4bf77530426aea6 + md5: 4e49a7bd8f79a678c4fa2e871f4e2881 + sha256: 485bd7bba4820ea7265990d335ec10ab2f431c6bb1cca19f3ce7b87879f62e72 manager: conda name: azure-core optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.26.4-pyhd8ed1ab_0.conda - version: 1.26.4 + url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.27.0-pyhd8ed1ab_0.conda + version: 1.27.0 - category: main dependencies: msgpack-python: '>=0.5.2' python: '>=3.6' - requests: '' + requests: '>=2.16.0' hash: - md5: e8f0410e0aa03342304357c5cc3bb75d - sha256: 466ce7c155be90a5c903052eba391759ae88eb65f2bb06b0cc1c9d09c4311800 + md5: 9f0b2eb5f5dd2cec36d5342a80adfec0 + sha256: 894e2f4c59221b9633c60281a17fefe09ba0bf5d996992cebeb504d0585dd0dd manager: conda name: cachecontrol optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: conda-package-handling: '>=1.3.0' @@ -5107,7 +5107,7 @@ package: version: 5.1.1 - category: main dependencies: - botocore: 1.29.144 + botocore: 1.29.145 colorama: '>=0.2.5,<0.4.5' docutils: '>=0.10,<0.17' python: '>=3.10,<3.11.0a0' @@ -5116,43 +5116,43 @@ package: rsa: '>=3.1.2,<4.8' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: f1bc03523d1c11221a04cc3d9ec5cf98 - sha256: 29d4ae495154e0aa003c88bf6fd736494301d805101e4944577f1f56a5805309 + md5: 72db444c038161792bce84c115badf4f + sha256: d3ca2cd8c3cf320828c19d4afcb5e06aa42a2782c2e4cd43b511a812fa0242fd manager: conda name: awscli optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.144-py310hff52083_0.conda - version: 1.27.144 + url: https://conda.anaconda.org/conda-forge/linux-64/awscli-1.27.145-py310hff52083_0.conda + version: 1.27.145 - category: main dependencies: - botocore: '>=1.29.144,<1.30.0' + botocore: '>=1.29.145,<1.30.0' jmespath: '>=0.7.1,<2.0.0' python: '>=3.7' s3transfer: '>=0.6.0,<0.7.0' hash: - md5: 8800de229ccb6091b788b51b860de92d - sha256: 449c8d385102f0b911cc029a99e56715a07cbe82d983d1ada1f1ceac6a1fddbf + md5: 09e0b5c5f94eb5b480477ae63072b7dd + sha256: 82d045f01c87a8202796eadf2f10350b7e2417b480e93c69bb85a8364b750f02 manager: conda name: boto3 optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: - cachecontrol: 0.12.11 pyhd8ed1ab_1 + cachecontrol: 0.13.0 pyhd8ed1ab_0 lockfile: '>=0.9' python: '>=3.6' hash: - md5: 9df660456c0076d27b802448f7ede78f - sha256: 81c483fc92656873eb5a7ba657b208c34186556d942a9cebc1f7771e565b95b7 + md5: 3fd3d55ea862cc0736ac1cce6f44c2d1 + sha256: a8e20149f8ef160fbac5c751733638ccd5f35e20f3f552cfd46a467ffeceeeaf manager: conda name: cachecontrol-with-filecache optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.12.11-pyhd8ed1ab_1.conda - version: 0.12.11 + url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.0-pyhd8ed1ab_0.conda + version: 0.13.0 - category: main dependencies: colorama: '' @@ -5264,14 +5264,14 @@ package: python: '' typing_extensions: '' hash: - md5: c9cbc248c410c28416580c32855ecc57 - sha256: 3d4e6178109386ba9bee5006b5bd2f81b561c2ea22b129596e0ae4b7b480d293 + md5: 1cc6dd0f40481c8a20eaa91a76f48ce5 + sha256: c0c0c81cfaf11a662d331d934d7a8eca12adbf12fa89a1fd60b514318c87c6c8 manager: conda name: boto3-stubs optional: false platform: linux-64 - url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.144-pyhd8ed1ab_0.conda - version: 1.26.144 + url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.26.145-pyhd8ed1ab_0.conda + version: 1.26.145 - category: main dependencies: cachecontrol-with-filecache: '>=0.12.9' diff --git a/conda-reqs/esp-tools.yaml b/conda-reqs/esp-tools.yaml index 3a34d748..e4fd3395 100644 --- a/conda-reqs/esp-tools.yaml +++ b/conda-reqs/esp-tools.yaml @@ -15,4 +15,4 @@ dependencies: # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications # documentation on package_spec syntax for constraining versions - - esp-tools=1.0.1 # from ucb-bar channel - https://github.com/ucb-bar/esp-tools-feedstock + - esp-tools==1.0.1 # from ucb-bar channel - https://github.com/ucb-bar/esp-tools-feedstock diff --git a/conda-reqs/riscv-tools.yaml b/conda-reqs/riscv-tools.yaml index 67acf4a0..0249f153 100644 --- a/conda-reqs/riscv-tools.yaml +++ b/conda-reqs/riscv-tools.yaml @@ -15,4 +15,4 @@ dependencies: # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications # documentation on package_spec syntax for constraining versions - - riscv-tools=1.0.3 # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock + - riscv-tools==1.0.3 # from ucb-bar channel - https://github.com/ucb-bar/riscv-tools-feedstock diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index 87deef33..e288e295 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -35,7 +35,7 @@ Afterwards, verify that Conda is a sufficient version (we test on version 4.12.0 .. code-block:: shell - conda --version # must be version 4.12.0 or higher + conda --version # must be version 22.11.1 or higher After Conda is installed and is on your ``PATH``, we need to install a version of ``git`` to initially checkout the repository. For this you can use the system package manager like ``yum`` or ``apt`` to install ``git``. @@ -46,7 +46,7 @@ This is done by the following: .. code-block:: shell - conda install -n base conda-lock=1 + conda install -n base conda-lock=1.4 conda activate base .. Note:: We also recommended switching to `libmamba `__ for much faster dependency solving.