upgrade python-augeas (#10286)

a couple weeks ago, [python-augeas
1.2.0](https://pypi.org/project/python-augeas/#history) was uploaded to
pypi. unfortunately, this broke things for us

the first major change was from
https://github.com/hercules-team/python-augeas/pull/49 where
python-augeas now needs the new OS packages described in the initial
comment there

the second change was from
https://github.com/hercules-team/python-augeas/pull/51 which added a
python interface to augeas functions that weren't introduced until
[augeas
1.13.0](https://github.com/hercules-team/augeas/blob/af2aa88ab37fc48167d8c5e43b1770a4ba2ff403/NEWS#L65-L66).
this isn't ideal, but i don't think it's a big deal for us. augeas
1.13.0 is over three years old and [ubuntu
20.04](https://ubuntu.com/blog/ubuntu-20-04-eol-for-devicesional) and
[debian bullseye](https://www.debian.org/releases/) which have older
versions than that are technically EOL'd

regardless of how we feel about these changes, our tests don't currently
work with an updated version of python-augeas and this PR fixes it. i'm
also tracking https://github.com/certbot/certbot/issues/10282 to update
certbot.eff.org to list the newly required OS packages
This commit is contained in:
Brad Warren
2025-05-08 13:03:31 -07:00
committed by GitHub
parent 0fc755fe08
commit 10747555ae
7 changed files with 33 additions and 34 deletions
@@ -2,7 +2,7 @@ steps:
- bash: |
set -e
sudo apt-get update
sudo apt-get install -y --no-install-recommends libaugeas0
sudo apt-get install -y --no-install-recommends libaugeas-dev
FINAL_STATUS=0
declare -a FAILED_BUILDS
tools/venv.py
@@ -20,7 +20,7 @@ steps:
set -e
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
libaugeas0 \
libaugeas-dev \
nginx-light
sudo systemctl stop nginx
sudo sysctl net.ipv4.ip_unprivileged_port_start=0
+1 -1
View File
@@ -4,7 +4,7 @@ LABEL org.opencontainers.image.authors="certbot-dev@eff.org"
# This does not include the dependencies needed to build cryptography. See
# https://cryptography.io/en/latest/installation/#building-cryptography-on-linux
RUN apt-get update && \
apt install python3-venv libaugeas0 -y
apt install python3-venv libaugeas-dev -y
WORKDIR /opt/certbot/src
+2 -2
View File
@@ -44,11 +44,11 @@ Install and configure the OS system dependencies required to run Certbot.
# For APT-based distributions (e.g. Debian, Ubuntu ...)
sudo apt update
sudo apt install python3-venv libaugeas0
sudo apt install python3-venv libaugeas-dev
# For RPM-based distributions (e.g. Fedora, CentOS ...)
# NB1: old distributions will use yum instead of dnf
# NB2: RHEL-based distributions use python3X instead of python3 (e.g. python38)
sudo dnf install python3 augeas-libs
sudo dnf install python3 augeas-devel
# For macOS installations with Homebrew already installed and configured
# NB1: If you also run `brew install python` you don't need the ~/lib
# directory created below, however, without this directory and symlinks
+5 -2
View File
@@ -17,12 +17,15 @@ if [ -f /etc/debian_version ]; then
PYENV_DEPS="make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev \
liblzma-dev git"
ALL_DEPS="libaugeas0 $PYENV_DEPS"
ALL_DEPS="libaugeas-dev $PYENV_DEPS"
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y $ALL_DEPS
elif [ -f /etc/redhat-release ]; then
# the "codeready builder" repository must be enabled to install the
# augeas-devel package needed to compile newer versions of python-augeas
sudo yum config-manager --set-enabled crb
PYENV_DEPS="gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel \
tk-devel libffi-devel xz-devel git"
ALL_DEPS="augeas-libs $PYENV_DEPS"
ALL_DEPS="augeas-devel $PYENV_DEPS"
if yum list installed "httpd" >/dev/null 2>&1; then
ALL_DEPS="mod_ssl $ALL_DEPS"
+5 -10
View File
@@ -6,25 +6,20 @@
targets:
#-----------------------------------------------------------------------------
# Ubuntu
# These AMI were found onhttps://cloud-images.ubuntu.com/locator/ec2/.
- ami: ami-0fc5d935ebf8bc3bc
name: ubuntu22.04
# These AMI were found on https://cloud-images.ubuntu.com/locator/ec2/.
- ami: ami-045a47a3b15302634
name: ubuntu24.04
type: ubuntu
virt: hvm
user: ubuntu
- ami: ami-0fe0238291c8e3f07
name: ubuntu20.04
- ami: ami-0fc5d935ebf8bc3bc
name: ubuntu22.04
type: ubuntu
virt: hvm
user: ubuntu
#-----------------------------------------------------------------------------
# Debian
# These AMI were found on https://wiki.debian.org/Cloud/AmazonEC2Image.
- ami: ami-0c20d96b50ac700e3
name: debian11
type: ubuntu
virt: hvm
user: admin
- ami: ami-0f238cd7c96d866ad
name: debian12
type: ubuntu
+18 -17
View File
@@ -12,21 +12,21 @@ apacheconfig==0.3.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
astroid==3.3.9 ; python_full_version >= "3.9.2" and python_version < "4.0"
asttokens==3.0.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
attrs==25.3.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
azure-core==1.33.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
azure-core==1.34.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
azure-devops==7.1.0b4 ; python_full_version >= "3.9.2" and python_version < "4.0"
babel==2.17.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
backports-tarfile==1.2.0 ; python_full_version >= "3.9.2" and python_version < "3.12"
bcrypt==4.3.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
beautifulsoup4==4.13.4 ; python_full_version >= "3.9.2" and python_version < "4.0"
boto3==1.38.6 ; python_full_version >= "3.9.2" and python_version < "4.0"
botocore==1.38.6 ; python_full_version >= "3.9.2" and python_version < "4.0"
boto3==1.38.11 ; python_full_version >= "3.9.2" and python_version < "4.0"
botocore==1.38.11 ; python_full_version >= "3.9.2" and python_version < "4.0"
build==1.2.2.post1 ; python_full_version >= "3.9.2" and python_version < "4.0"
cachecontrol==0.14.3 ; python_full_version >= "3.9.2" and python_version < "4.0"
cachetools==5.5.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
certifi==2025.4.26 ; python_full_version >= "3.9.2" and python_version < "4.0"
cffi==1.17.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
chardet==5.2.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
charset-normalizer==3.4.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
charset-normalizer==3.4.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
cleo==2.1.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
cloudflare==2.19.4 ; python_full_version >= "3.9.2" and python_version < "4.0"
colorama==0.4.6 ; python_full_version >= "3.9.2" and python_version < "4.0"
@@ -34,7 +34,7 @@ configargparse==1.7 ; python_full_version >= "3.9.2" and python_version < "4.0"
configobj==5.0.9 ; python_full_version >= "3.9.2" and python_version < "4.0"
coverage==7.8.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
crashtest==0.4.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
cryptography==44.0.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
cryptography==44.0.3 ; python_full_version >= "3.9.2" and python_version < "4.0"
cython==0.29.37 ; python_full_version >= "3.9.2" and python_version < "4.0"
decorator==5.2.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
deprecated==1.2.18 ; python_full_version >= "3.9.2" and python_version < "4.0"
@@ -55,7 +55,7 @@ findpython==0.6.3 ; python_full_version >= "3.9.2" and python_version < "4.0"
google-api-core==2.24.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
google-api-python-client==2.169.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
google-auth-httplib2==0.2.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
google-auth==2.39.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
google-auth==2.40.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
googleapis-common-protos==1.70.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
h11==0.16.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
httpcore==1.0.9 ; python_full_version >= "3.9.2" and python_version < "4.0"
@@ -64,7 +64,8 @@ httpx==0.28.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
id==1.5.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
idna==3.10 ; python_full_version >= "3.9.2" and python_version < "4.0"
imagesize==1.4.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
importlib-metadata==8.7.0 ; python_full_version >= "3.9.2" and python_version < "3.12"
importlib-metadata==8.6.1 ; python_full_version >= "3.9.2" and python_version < "3.10"
importlib-metadata==8.7.0 ; python_version >= "3.10" and python_version < "3.12"
iniconfig==2.1.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
installer==0.7.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
invoke==2.2.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
@@ -104,14 +105,14 @@ parsedatetime==2.6 ; python_full_version >= "3.9.2" and python_version < "4.0"
parso==0.8.4 ; python_full_version >= "3.9.2" and python_version < "4.0"
pbs-installer==2025.4.9 ; python_full_version >= "3.9.2" and python_version < "4.0"
pexpect==4.9.0 ; python_full_version >= "3.9.2" and python_version < "4.0" and (sys_platform != "win32" and sys_platform != "emscripten" or python_version < "3.10") and sys_platform != "win32"
pip==25.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
pip==25.1.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
pkginfo==1.12.1.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
platformdirs==4.3.7 ; python_full_version >= "3.9.2" and python_version < "4.0"
platformdirs==4.3.8 ; python_full_version >= "3.9.2" and python_version < "4.0"
pluggy==1.5.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
ply==3.11 ; python_full_version >= "3.9.2" and python_version < "4.0"
poetry-core==2.1.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
poetry-core==2.1.3 ; python_full_version >= "3.9.2" and python_version < "4.0"
poetry-plugin-export==1.9.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
poetry==2.1.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
poetry==2.1.3 ; python_full_version >= "3.9.2" and python_version < "4.0"
prompt-toolkit==3.0.51 ; python_full_version >= "3.9.2" and python_version < "4.0"
proto-plus==1.26.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
protobuf==6.30.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
@@ -132,7 +133,7 @@ pyrfc3339==2.0.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
pytest-cov==6.1.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
pytest-xdist==3.6.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
pytest==8.3.5 ; python_full_version >= "3.9.2" and python_version < "4.0"
python-augeas==1.1.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
python-augeas==1.2.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
python-dateutil==2.9.0.post0 ; python_full_version >= "3.9.2" and python_version < "4.0"
python-digitalocean==1.17.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
pytz==2025.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
@@ -153,11 +154,11 @@ s3transfer==0.12.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
secretstorage==3.3.3 ; python_full_version >= "3.9.2" and python_version < "4.0" and sys_platform == "linux"
semantic-version==2.10.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
setuptools-rust==1.11.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
setuptools==80.1.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
setuptools==80.3.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
shellingham==1.5.4 ; python_full_version >= "3.9.2" and python_version < "4.0"
six==1.17.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
sniffio==1.3.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
snowballstemmer==2.2.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
snowballstemmer==3.0.0.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
soupsieve==2.7 ; python_full_version >= "3.9.2" and python_version < "4.0"
sphinx-rtd-theme==3.0.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
sphinx==7.4.7 ; python_full_version >= "3.9.2" and python_version < "3.10"
@@ -176,7 +177,7 @@ tomli==2.2.1 ; python_full_version >= "3.9.2" and python_version <= "3.10"
tomlkit==0.13.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
tox==4.25.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
traitlets==5.14.3 ; python_full_version >= "3.9.2" and python_version < "4.0"
trove-classifiers==2025.5.1.12 ; python_full_version >= "3.9.2" and python_version < "4.0"
trove-classifiers==2025.5.8.15 ; python_full_version >= "3.9.2" and python_version < "4.0"
twine==6.1.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
types-httplib2==0.22.0.20250401 ; python_full_version >= "3.9.2" and python_version < "4.0"
types-pyrfc3339==2.0.1.20241107 ; python_full_version >= "3.9.2" and python_version < "4.0"
@@ -185,13 +186,13 @@ types-pytz==2025.2.0.20250326 ; python_full_version >= "3.9.2" and python_versio
types-pywin32==310.0.0.20250429 ; python_full_version >= "3.9.2" and python_version < "4.0"
types-requests==2.31.0.6 ; python_full_version >= "3.9.2" and python_version < "3.10"
types-requests==2.32.0.20250328 ; python_version >= "3.10" and python_version < "4.0"
types-setuptools==80.0.0.20250429 ; python_full_version >= "3.9.2" and python_version < "4.0"
types-setuptools==80.3.0.20250505 ; python_full_version >= "3.9.2" and python_version < "4.0"
types-urllib3==1.26.25.14 ; python_full_version >= "3.9.2" and python_version < "3.10"
typing-extensions==4.13.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
uritemplate==4.1.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
urllib3==1.26.20 ; python_full_version >= "3.9.2" and python_version < "3.10"
urllib3==2.4.0 ; python_version >= "3.10" and python_version < "4.0"
virtualenv==20.30.0 ; python_full_version >= "3.9.2" and python_version < "4.0"
virtualenv==20.31.2 ; python_full_version >= "3.9.2" and python_version < "4.0"
wcwidth==0.2.13 ; python_full_version >= "3.9.2" and python_version < "4.0"
wheel==0.45.1 ; python_full_version >= "3.9.2" and python_version < "4.0"
wrapt==1.17.2 ; python_full_version >= "3.9.2" and python_version < "4.0"