mirror of
https://github.com/certbot/certbot.git
synced 2025-08-08 04:02:10 +03:00
Release 0.40.1
This commit is contained in:
@@ -3,7 +3,7 @@ from setuptools import find_packages
|
|||||||
from setuptools.command.test import test as TestCommand
|
from setuptools.command.test import test as TestCommand
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
|
@@ -4,7 +4,7 @@ from setuptools.command.test import test as TestCommand
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
238
certbot-auto
238
certbot-auto
@@ -31,7 +31,7 @@ if [ -z "$VENV_PATH" ]; then
|
|||||||
fi
|
fi
|
||||||
VENV_BIN="$VENV_PATH/bin"
|
VENV_BIN="$VENV_PATH/bin"
|
||||||
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
||||||
LE_AUTO_VERSION="0.40.0"
|
LE_AUTO_VERSION="0.40.1"
|
||||||
BASENAME=$(basename $0)
|
BASENAME=$(basename $0)
|
||||||
USAGE="Usage: $BASENAME [OPTIONS]
|
USAGE="Usage: $BASENAME [OPTIONS]
|
||||||
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
||||||
@@ -256,28 +256,20 @@ DeprecationBootstrap() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
MIN_PYTHON_2_VERSION="2.7"
|
MIN_PYTHON_VERSION="2.7"
|
||||||
MIN_PYVER2=$(echo "$MIN_PYTHON_2_VERSION" | sed 's/\.//')
|
MIN_PYVER=$(echo "$MIN_PYTHON_VERSION" | sed 's/\.//')
|
||||||
MIN_PYTHON_3_VERSION="3.5"
|
|
||||||
MIN_PYVER3=$(echo "$MIN_PYTHON_3_VERSION" | sed 's/\.//')
|
|
||||||
# Sets LE_PYTHON to Python version string and PYVER to the first two
|
# Sets LE_PYTHON to Python version string and PYVER to the first two
|
||||||
# digits of the python version.
|
# digits of the python version
|
||||||
# MIN_PYVER and MIN_PYTHON_VERSION are also set by this function, and their
|
|
||||||
# values depend on if we try to use Python 3 or Python 2.
|
|
||||||
DeterminePythonVersion() {
|
DeterminePythonVersion() {
|
||||||
# Arguments: "NOCRASH" if we shouldn't crash if we don't find a good python
|
# Arguments: "NOCRASH" if we shouldn't crash if we don't find a good python
|
||||||
#
|
#
|
||||||
# If no Python is found, PYVER is set to 0.
|
# If no Python is found, PYVER is set to 0.
|
||||||
if [ "$USE_PYTHON_3" = 1 ]; then
|
if [ "$USE_PYTHON_3" = 1 ]; then
|
||||||
MIN_PYVER=$MIN_PYVER3
|
|
||||||
MIN_PYTHON_VERSION=$MIN_PYTHON_3_VERSION
|
|
||||||
for LE_PYTHON in "$LE_PYTHON" python3; do
|
for LE_PYTHON in "$LE_PYTHON" python3; do
|
||||||
# Break (while keeping the LE_PYTHON value) if found.
|
# Break (while keeping the LE_PYTHON value) if found.
|
||||||
$EXISTS "$LE_PYTHON" > /dev/null && break
|
$EXISTS "$LE_PYTHON" > /dev/null && break
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
MIN_PYVER=$MIN_PYVER2
|
|
||||||
MIN_PYTHON_VERSION=$MIN_PYTHON_2_VERSION
|
|
||||||
for LE_PYTHON in "$LE_PYTHON" python2.7 python27 python2 python; do
|
for LE_PYTHON in "$LE_PYTHON" python2.7 python27 python2 python; do
|
||||||
# Break (while keeping the LE_PYTHON value) if found.
|
# Break (while keeping the LE_PYTHON value) if found.
|
||||||
$EXISTS "$LE_PYTHON" > /dev/null && break
|
$EXISTS "$LE_PYTHON" > /dev/null && break
|
||||||
@@ -293,7 +285,7 @@ DeterminePythonVersion() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PYVER=$("$LE_PYTHON" -V 2>&1 | cut -d" " -f 2 | cut -d. -f1,2 | sed 's/\.//')
|
PYVER=`"$LE_PYTHON" -V 2>&1 | cut -d" " -f 2 | cut -d. -f1,2 | sed 's/\.//'`
|
||||||
if [ "$PYVER" -lt "$MIN_PYVER" ]; then
|
if [ "$PYVER" -lt "$MIN_PYVER" ]; then
|
||||||
if [ "$1" != "NOCRASH" ]; then
|
if [ "$1" != "NOCRASH" ]; then
|
||||||
error "You have an ancient version of Python entombed in your operating system..."
|
error "You have an ancient version of Python entombed in your operating system..."
|
||||||
@@ -376,9 +368,7 @@ BootstrapDebCommon() {
|
|||||||
|
|
||||||
# Sets TOOL to the name of the package manager
|
# Sets TOOL to the name of the package manager
|
||||||
# Sets appropriate values for YES_FLAG and QUIET_FLAG based on $ASSUME_YES and $QUIET_FLAG.
|
# Sets appropriate values for YES_FLAG and QUIET_FLAG based on $ASSUME_YES and $QUIET_FLAG.
|
||||||
# Note: this function is called both while selecting the bootstrap scripts and
|
# Enables EPEL if applicable and possible.
|
||||||
# during the actual bootstrap. Some things like prompting to user can be done in the latter
|
|
||||||
# case, but not in the former one.
|
|
||||||
InitializeRPMCommonBase() {
|
InitializeRPMCommonBase() {
|
||||||
if type dnf 2>/dev/null
|
if type dnf 2>/dev/null
|
||||||
then
|
then
|
||||||
@@ -398,6 +388,26 @@ InitializeRPMCommonBase() {
|
|||||||
if [ "$QUIET" = 1 ]; then
|
if [ "$QUIET" = 1 ]; then
|
||||||
QUIET_FLAG='--quiet'
|
QUIET_FLAG='--quiet'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! $TOOL list *virtualenv >/dev/null 2>&1; then
|
||||||
|
echo "To use Certbot, packages from the EPEL repository need to be installed."
|
||||||
|
if ! $TOOL list epel-release >/dev/null 2>&1; then
|
||||||
|
error "Enable the EPEL repository and try running Certbot again."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$ASSUME_YES" = 1 ]; then
|
||||||
|
/bin/echo -n "Enabling the EPEL repository in 3 seconds..."
|
||||||
|
sleep 1s
|
||||||
|
/bin/echo -ne "\e[0K\rEnabling the EPEL repository in 2 seconds..."
|
||||||
|
sleep 1s
|
||||||
|
/bin/echo -e "\e[0K\rEnabling the EPEL repository in 1 second..."
|
||||||
|
sleep 1s
|
||||||
|
fi
|
||||||
|
if ! $TOOL install $YES_FLAG $QUIET_FLAG epel-release; then
|
||||||
|
error "Could not enable EPEL. Aborting bootstrap!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
BootstrapRpmCommonBase() {
|
BootstrapRpmCommonBase() {
|
||||||
@@ -478,88 +488,13 @@ BootstrapRpmCommon() {
|
|||||||
BootstrapRpmCommonBase "$python_pkgs"
|
BootstrapRpmCommonBase "$python_pkgs"
|
||||||
}
|
}
|
||||||
|
|
||||||
# If new packages are installed by BootstrapRpmPython3 below, this version
|
|
||||||
# number must be increased.
|
|
||||||
BOOTSTRAP_RPM_PYTHON3_LEGACY_VERSION=1
|
|
||||||
|
|
||||||
# Checks if rh-python36 can be installed.
|
|
||||||
Python36SclIsAvailable() {
|
|
||||||
InitializeRPMCommonBase >/dev/null 2>&1;
|
|
||||||
|
|
||||||
if "${TOOL}" list rh-python36 >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
if "${TOOL}" list centos-release-scl >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Try to enable rh-python36 from SCL if it is necessary and possible.
|
|
||||||
EnablePython36SCL() {
|
|
||||||
if "$EXISTS" python3.6 > /dev/null 2> /dev/null; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
if ! scl --list 2>/dev/null | grep -q rh-python36; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
set +e
|
|
||||||
. scl_source enable rh-python36
|
|
||||||
set -e
|
|
||||||
}
|
|
||||||
|
|
||||||
# This bootstrap concerns old RedHat-based distributions that do not ship by default
|
|
||||||
# with Python 2.7, but only Python 2.6. We bootstrap them by enabling SCL and installing
|
|
||||||
# Python 3.6. Some of these distributions are: CentOS/RHEL/OL/SL 6.
|
|
||||||
BootstrapRpmPython3Legacy() {
|
|
||||||
# Tested with:
|
|
||||||
# - CentOS 6
|
|
||||||
|
|
||||||
InitializeRPMCommonBase
|
|
||||||
|
|
||||||
if ! "${TOOL}" list rh-python36 >/dev/null 2>&1; then
|
|
||||||
echo "To use Certbot on this operating system, packages from the SCL repository need to be installed."
|
|
||||||
if ! "${TOOL}" list centos-release-scl >/dev/null 2>&1; then
|
|
||||||
error "Enable the SCL repository and try running Certbot again."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ "${ASSUME_YES}" = 1 ]; then
|
|
||||||
/bin/echo -n "Enabling the SCL repository in 3 seconds... (Press Ctrl-C to cancel)"
|
|
||||||
sleep 1s
|
|
||||||
/bin/echo -ne "\e[0K\rEnabling the SCL repository in 2 seconds... (Press Ctrl-C to cancel)"
|
|
||||||
sleep 1s
|
|
||||||
/bin/echo -e "\e[0K\rEnabling the SCL repository in 1 second... (Press Ctrl-C to cancel)"
|
|
||||||
sleep 1s
|
|
||||||
fi
|
|
||||||
if ! "${TOOL}" install "${YES_FLAG}" "${QUIET_FLAG}" centos-release-scl; then
|
|
||||||
error "Could not enable SCL. Aborting bootstrap!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# CentOS 6 must use rh-python36 from SCL
|
|
||||||
if "${TOOL}" list rh-python36 >/dev/null 2>&1; then
|
|
||||||
python_pkgs="rh-python36-python
|
|
||||||
rh-python36-python-virtualenv
|
|
||||||
rh-python36-python-devel
|
|
||||||
"
|
|
||||||
else
|
|
||||||
error "No supported Python package available to install. Aborting bootstrap!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
BootstrapRpmCommonBase "${python_pkgs}"
|
|
||||||
|
|
||||||
# Enable SCL rh-python36 after bootstrapping.
|
|
||||||
EnablePython36SCL
|
|
||||||
}
|
|
||||||
|
|
||||||
# If new packages are installed by BootstrapRpmPython3 below, this version
|
# If new packages are installed by BootstrapRpmPython3 below, this version
|
||||||
# number must be increased.
|
# number must be increased.
|
||||||
BOOTSTRAP_RPM_PYTHON3_VERSION=1
|
BOOTSTRAP_RPM_PYTHON3_VERSION=1
|
||||||
|
|
||||||
BootstrapRpmPython3() {
|
BootstrapRpmPython3() {
|
||||||
# Tested with:
|
# Tested with:
|
||||||
|
# - CentOS 6
|
||||||
# - Fedora 29
|
# - Fedora 29
|
||||||
|
|
||||||
InitializeRPMCommonBase
|
InitializeRPMCommonBase
|
||||||
@@ -570,6 +505,12 @@ BootstrapRpmPython3() {
|
|||||||
python3-virtualenv
|
python3-virtualenv
|
||||||
python3-devel
|
python3-devel
|
||||||
"
|
"
|
||||||
|
# EPEL uses python34
|
||||||
|
elif $TOOL list python34 >/dev/null 2>&1; then
|
||||||
|
python_pkgs="python34
|
||||||
|
python34-devel
|
||||||
|
python34-tools
|
||||||
|
"
|
||||||
else
|
else
|
||||||
error "No supported Python package available to install. Aborting bootstrap!"
|
error "No supported Python package available to install. Aborting bootstrap!"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -828,50 +769,31 @@ elif [ -f /etc/redhat-release ]; then
|
|||||||
RPM_DIST_VERSION=0
|
RPM_DIST_VERSION=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Handle legacy RPM distributions
|
# Starting to Fedora 29, python2 is on a deprecation path. Let's move to python3 then.
|
||||||
if [ "$PYVER" -eq 26 ]; then
|
# RHEL 8 also uses python3 by default.
|
||||||
# Check if an automated bootstrap can be achieved on this system.
|
if [ "$RPM_DIST_NAME" = "fedora" -a "$RPM_DIST_VERSION" -ge 29 -o "$PYVER" -eq 26 ]; then
|
||||||
if ! Python36SclIsAvailable; then
|
RPM_USE_PYTHON_3=1
|
||||||
INTERACTIVE_BOOTSTRAP=1
|
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
fi
|
RPM_USE_PYTHON_3=1
|
||||||
|
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
|
RPM_USE_PYTHON_3=1
|
||||||
|
else
|
||||||
|
RPM_USE_PYTHON_3=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RPM_USE_PYTHON_3" = 1 ]; then
|
||||||
Bootstrap() {
|
Bootstrap() {
|
||||||
BootstrapMessage "Legacy RedHat-based OSes that will use Python3"
|
BootstrapMessage "RedHat-based OSes that will use Python3"
|
||||||
BootstrapRpmPython3Legacy
|
BootstrapRpmPython3
|
||||||
}
|
}
|
||||||
USE_PYTHON_3=1
|
USE_PYTHON_3=1
|
||||||
BOOTSTRAP_VERSION="BootstrapRpmPython3Legacy $BOOTSTRAP_RPM_PYTHON3_LEGACY_VERSION"
|
BOOTSTRAP_VERSION="BootstrapRpmPython3 $BOOTSTRAP_RPM_PYTHON3_VERSION"
|
||||||
|
|
||||||
# Try now to enable SCL rh-python36 for systems already bootstrapped
|
|
||||||
# NB: EnablePython36SCL has been defined along with BootstrapRpmPython3Legacy in certbot-auto
|
|
||||||
EnablePython36SCL
|
|
||||||
else
|
else
|
||||||
# Starting to Fedora 29, python2 is on a deprecation path. Let's move to python3 then.
|
Bootstrap() {
|
||||||
# RHEL 8 also uses python3 by default.
|
BootstrapMessage "RedHat-based OSes"
|
||||||
if [ "$RPM_DIST_NAME" = "fedora" -a "$RPM_DIST_VERSION" -ge 29 ]; then
|
BootstrapRpmCommon
|
||||||
RPM_USE_PYTHON_3=1
|
}
|
||||||
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
BOOTSTRAP_VERSION="BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION"
|
||||||
RPM_USE_PYTHON_3=1
|
|
||||||
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
|
||||||
RPM_USE_PYTHON_3=1
|
|
||||||
else
|
|
||||||
RPM_USE_PYTHON_3=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$RPM_USE_PYTHON_3" = 1 ]; then
|
|
||||||
Bootstrap() {
|
|
||||||
BootstrapMessage "RedHat-based OSes that will use Python3"
|
|
||||||
BootstrapRpmPython3
|
|
||||||
}
|
|
||||||
USE_PYTHON_3=1
|
|
||||||
BOOTSTRAP_VERSION="BootstrapRpmPython3 $BOOTSTRAP_RPM_PYTHON3_VERSION"
|
|
||||||
else
|
|
||||||
Bootstrap() {
|
|
||||||
BootstrapMessage "RedHat-based OSes"
|
|
||||||
BootstrapRpmCommon
|
|
||||||
}
|
|
||||||
BOOTSTRAP_VERSION="BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LE_PYTHON="$prev_le_python"
|
LE_PYTHON="$prev_le_python"
|
||||||
@@ -1156,15 +1078,8 @@ if [ "$1" = "--le-auto-phase2" ]; then
|
|||||||
# If the selected Bootstrap function isn't a noop and it differs from the
|
# If the selected Bootstrap function isn't a noop and it differs from the
|
||||||
# previously used version
|
# previously used version
|
||||||
if [ -n "$BOOTSTRAP_VERSION" -a "$BOOTSTRAP_VERSION" != "$PREV_BOOTSTRAP_VERSION" ]; then
|
if [ -n "$BOOTSTRAP_VERSION" -a "$BOOTSTRAP_VERSION" != "$PREV_BOOTSTRAP_VERSION" ]; then
|
||||||
# Check if we can rebootstrap without manual user intervention: this requires that
|
# if non-interactive mode or stdin and stdout are connected to a terminal
|
||||||
# certbot-auto is in non-interactive mode AND selected bootstrap does not claim to
|
if [ \( "$NONINTERACTIVE" = 1 \) -o \( \( -t 0 \) -a \( -t 1 \) \) ]; then
|
||||||
# require a manual user intervention.
|
|
||||||
if [ "$NONINTERACTIVE" = 1 -a "$INTERACTIVE_BOOTSTRAP" != 1 ]; then
|
|
||||||
CAN_REBOOTSTRAP=1
|
|
||||||
fi
|
|
||||||
# Check if rebootstrap can be done non-interactively and current shell is non-interactive
|
|
||||||
# (true if stdin and stdout are not attached to a terminal).
|
|
||||||
if [ \( "$CAN_REBOOTSTRAP" = 1 \) -o \( \( -t 0 \) -a \( -t 1 \) \) ]; then
|
|
||||||
if [ -d "$VENV_PATH" ]; then
|
if [ -d "$VENV_PATH" ]; then
|
||||||
rm -rf "$VENV_PATH"
|
rm -rf "$VENV_PATH"
|
||||||
fi
|
fi
|
||||||
@@ -1175,21 +1090,12 @@ if [ "$1" = "--le-auto-phase2" ]; then
|
|||||||
ln -s "$VENV_PATH" "$OLD_VENV_PATH"
|
ln -s "$VENV_PATH" "$OLD_VENV_PATH"
|
||||||
fi
|
fi
|
||||||
RerunWithArgs "$@"
|
RerunWithArgs "$@"
|
||||||
# Otherwise bootstrap needs to be done manually by the user.
|
|
||||||
else
|
else
|
||||||
# If it is because bootstrapping is interactive, --non-interactive will be of no use.
|
error "Skipping upgrade because new OS dependencies may need to be installed."
|
||||||
if [ "$INTERACTIVE_BOOTSTRAP" = 1 ]; then
|
error
|
||||||
error "Skipping upgrade because new OS dependencies may need to be installed."
|
error "To upgrade to a newer version, please run this script again manually so you can"
|
||||||
error "This requires manual user intervention: please run this script again manually."
|
error "approve changes or with --non-interactive on the command line to automatically"
|
||||||
# If this is because of the environment (eg. non interactive shell without
|
error "install any required packages."
|
||||||
# --non-interactive flag set), help the user in that direction.
|
|
||||||
else
|
|
||||||
error "Skipping upgrade because new OS dependencies may need to be installed."
|
|
||||||
error
|
|
||||||
error "To upgrade to a newer version, please run this script again manually so you can"
|
|
||||||
error "approve changes or with --non-interactive on the command line to automatically"
|
|
||||||
error "install any required packages."
|
|
||||||
fi
|
|
||||||
# Set INSTALLED_VERSION to be the same so we don't update the venv
|
# Set INSTALLED_VERSION to be the same so we don't update the venv
|
||||||
INSTALLED_VERSION="$LE_AUTO_VERSION"
|
INSTALLED_VERSION="$LE_AUTO_VERSION"
|
||||||
# Continue to use OLD_VENV_PATH if the new venv doesn't exist
|
# Continue to use OLD_VENV_PATH if the new venv doesn't exist
|
||||||
@@ -1432,18 +1338,18 @@ letsencrypt==0.7.0 \
|
|||||||
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
||||||
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
||||||
|
|
||||||
certbot==0.40.0 \
|
certbot==0.40.1 \
|
||||||
--hash=sha256:b9ff74c4f3d3e06d9c467465f97bcbb07b0f4d778d3c4232ab91583d933dba61 \
|
--hash=sha256:afe4d7edc61d4cab8b6f7ab7611d66aaba67d9f0404fa2760bd1cc430b2ec9ec \
|
||||||
--hash=sha256:cff166597b3c714c3e7e60b2bcd6089135b375cadca04cf36abd15bfdb22be40
|
--hash=sha256:8dc81b3044cf401c55fa36c30893887fcb92657df1d76a8848059683df3b10d1
|
||||||
acme==0.40.0 \
|
acme==0.40.1 \
|
||||||
--hash=sha256:1b026b07a2099e50dac11cbdb834925f1d9b5691e349b52e9d397a12f3dc4eac \
|
--hash=sha256:a85387c26fb4fc24511b2579b8c61177b3175fd25e130c5be95a840d9f67d54f \
|
||||||
--hash=sha256:f29c1185d1e33919bad6c1f3fece168ee191d96d47f5997117561dc74a454221
|
--hash=sha256:33bf8686408d5b6b79886a9a43aee691ca754408deaec4fb2bb17b9af48a5ffc
|
||||||
certbot-apache==0.40.0 \
|
certbot-apache==0.40.1 \
|
||||||
--hash=sha256:f1c034a05fbd6cc6fde9494f493a8a6ed0e02e7652e51af16342082bc17387e4 \
|
--hash=sha256:6c4a4e21a17bd8120056595e5670c9a0f86756da0ad269196e8d56fc1b9fec82 \
|
||||||
--hash=sha256:43c3d7628ca6630467c4f57dd30423f031c1c7cbca46f7500293172d0fe3581e
|
--hash=sha256:16404e9e404f0b98c18bd752fad812a45ef7f9b0efa9bbc8589f24a94e67de7c
|
||||||
certbot-nginx==0.40.0 \
|
certbot-nginx==0.40.1 \
|
||||||
--hash=sha256:55cd3c90e2851069b536859050374fe2fcfa22c3e862cc0e1811fbce9e52dccc \
|
--hash=sha256:acdbfc4ab75ebc810264ee1248332f8e857c5e7776717b7cd53c4ceceb2b4d34 \
|
||||||
--hash=sha256:3df8cec22910f2d41ccb4494661ff65f98c52dd441864a53a318b32979256881
|
--hash=sha256:014fdda80647ad9e67019b16c7cdaee5d21a750b393bcb98e1300615cc930f4f
|
||||||
|
|
||||||
UNLIKELY_EOF
|
UNLIKELY_EOF
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
@@ -4,7 +4,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'certbot',
|
'certbot',
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -3,7 +3,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
from setuptools import find_packages
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Please update tox.ini when modifying dependency version requirements
|
# Please update tox.ini when modifying dependency version requirements
|
||||||
install_requires = [
|
install_requires = [
|
||||||
|
@@ -4,7 +4,7 @@ from setuptools.command.test import test as TestCommand
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
version = '0.40.0'
|
version = '0.40.1'
|
||||||
|
|
||||||
# Remember to update local-oldest-requirements.txt when changing the minimum
|
# Remember to update local-oldest-requirements.txt when changing the minimum
|
||||||
# acme/certbot version.
|
# acme/certbot version.
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
"""Certbot client."""
|
"""Certbot client."""
|
||||||
|
|
||||||
# version number like 1.2.3a0, must have at least 2 parts, like 1.2
|
# version number like 1.2.3a0, must have at least 2 parts, like 1.2
|
||||||
__version__ = '0.40.0'
|
__version__ = '0.40.1'
|
||||||
|
@@ -113,7 +113,7 @@ optional arguments:
|
|||||||
case, and to know when to deprecate support for past
|
case, and to know when to deprecate support for past
|
||||||
Python versions and flags. If you wish to hide this
|
Python versions and flags. If you wish to hide this
|
||||||
information from the Let's Encrypt server, set this to
|
information from the Let's Encrypt server, set this to
|
||||||
"". (default: CertbotACMEClient/0.40.0
|
"". (default: CertbotACMEClient/0.40.1
|
||||||
(certbot(-auto); OS_NAME OS_VERSION) Authenticator/XXX
|
(certbot(-auto); OS_NAME OS_VERSION) Authenticator/XXX
|
||||||
Installer/YYY (SUBCOMMAND; flags: FLAGS)
|
Installer/YYY (SUBCOMMAND; flags: FLAGS)
|
||||||
Py/major.minor.patchlevel). The flags encoded in the
|
Py/major.minor.patchlevel). The flags encoded in the
|
||||||
|
238
letsencrypt-auto
238
letsencrypt-auto
@@ -31,7 +31,7 @@ if [ -z "$VENV_PATH" ]; then
|
|||||||
fi
|
fi
|
||||||
VENV_BIN="$VENV_PATH/bin"
|
VENV_BIN="$VENV_PATH/bin"
|
||||||
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
||||||
LE_AUTO_VERSION="0.40.0"
|
LE_AUTO_VERSION="0.40.1"
|
||||||
BASENAME=$(basename $0)
|
BASENAME=$(basename $0)
|
||||||
USAGE="Usage: $BASENAME [OPTIONS]
|
USAGE="Usage: $BASENAME [OPTIONS]
|
||||||
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
||||||
@@ -256,28 +256,20 @@ DeprecationBootstrap() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
MIN_PYTHON_2_VERSION="2.7"
|
MIN_PYTHON_VERSION="2.7"
|
||||||
MIN_PYVER2=$(echo "$MIN_PYTHON_2_VERSION" | sed 's/\.//')
|
MIN_PYVER=$(echo "$MIN_PYTHON_VERSION" | sed 's/\.//')
|
||||||
MIN_PYTHON_3_VERSION="3.5"
|
|
||||||
MIN_PYVER3=$(echo "$MIN_PYTHON_3_VERSION" | sed 's/\.//')
|
|
||||||
# Sets LE_PYTHON to Python version string and PYVER to the first two
|
# Sets LE_PYTHON to Python version string and PYVER to the first two
|
||||||
# digits of the python version.
|
# digits of the python version
|
||||||
# MIN_PYVER and MIN_PYTHON_VERSION are also set by this function, and their
|
|
||||||
# values depend on if we try to use Python 3 or Python 2.
|
|
||||||
DeterminePythonVersion() {
|
DeterminePythonVersion() {
|
||||||
# Arguments: "NOCRASH" if we shouldn't crash if we don't find a good python
|
# Arguments: "NOCRASH" if we shouldn't crash if we don't find a good python
|
||||||
#
|
#
|
||||||
# If no Python is found, PYVER is set to 0.
|
# If no Python is found, PYVER is set to 0.
|
||||||
if [ "$USE_PYTHON_3" = 1 ]; then
|
if [ "$USE_PYTHON_3" = 1 ]; then
|
||||||
MIN_PYVER=$MIN_PYVER3
|
|
||||||
MIN_PYTHON_VERSION=$MIN_PYTHON_3_VERSION
|
|
||||||
for LE_PYTHON in "$LE_PYTHON" python3; do
|
for LE_PYTHON in "$LE_PYTHON" python3; do
|
||||||
# Break (while keeping the LE_PYTHON value) if found.
|
# Break (while keeping the LE_PYTHON value) if found.
|
||||||
$EXISTS "$LE_PYTHON" > /dev/null && break
|
$EXISTS "$LE_PYTHON" > /dev/null && break
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
MIN_PYVER=$MIN_PYVER2
|
|
||||||
MIN_PYTHON_VERSION=$MIN_PYTHON_2_VERSION
|
|
||||||
for LE_PYTHON in "$LE_PYTHON" python2.7 python27 python2 python; do
|
for LE_PYTHON in "$LE_PYTHON" python2.7 python27 python2 python; do
|
||||||
# Break (while keeping the LE_PYTHON value) if found.
|
# Break (while keeping the LE_PYTHON value) if found.
|
||||||
$EXISTS "$LE_PYTHON" > /dev/null && break
|
$EXISTS "$LE_PYTHON" > /dev/null && break
|
||||||
@@ -293,7 +285,7 @@ DeterminePythonVersion() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PYVER=$("$LE_PYTHON" -V 2>&1 | cut -d" " -f 2 | cut -d. -f1,2 | sed 's/\.//')
|
PYVER=`"$LE_PYTHON" -V 2>&1 | cut -d" " -f 2 | cut -d. -f1,2 | sed 's/\.//'`
|
||||||
if [ "$PYVER" -lt "$MIN_PYVER" ]; then
|
if [ "$PYVER" -lt "$MIN_PYVER" ]; then
|
||||||
if [ "$1" != "NOCRASH" ]; then
|
if [ "$1" != "NOCRASH" ]; then
|
||||||
error "You have an ancient version of Python entombed in your operating system..."
|
error "You have an ancient version of Python entombed in your operating system..."
|
||||||
@@ -376,9 +368,7 @@ BootstrapDebCommon() {
|
|||||||
|
|
||||||
# Sets TOOL to the name of the package manager
|
# Sets TOOL to the name of the package manager
|
||||||
# Sets appropriate values for YES_FLAG and QUIET_FLAG based on $ASSUME_YES and $QUIET_FLAG.
|
# Sets appropriate values for YES_FLAG and QUIET_FLAG based on $ASSUME_YES and $QUIET_FLAG.
|
||||||
# Note: this function is called both while selecting the bootstrap scripts and
|
# Enables EPEL if applicable and possible.
|
||||||
# during the actual bootstrap. Some things like prompting to user can be done in the latter
|
|
||||||
# case, but not in the former one.
|
|
||||||
InitializeRPMCommonBase() {
|
InitializeRPMCommonBase() {
|
||||||
if type dnf 2>/dev/null
|
if type dnf 2>/dev/null
|
||||||
then
|
then
|
||||||
@@ -398,6 +388,26 @@ InitializeRPMCommonBase() {
|
|||||||
if [ "$QUIET" = 1 ]; then
|
if [ "$QUIET" = 1 ]; then
|
||||||
QUIET_FLAG='--quiet'
|
QUIET_FLAG='--quiet'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if ! $TOOL list *virtualenv >/dev/null 2>&1; then
|
||||||
|
echo "To use Certbot, packages from the EPEL repository need to be installed."
|
||||||
|
if ! $TOOL list epel-release >/dev/null 2>&1; then
|
||||||
|
error "Enable the EPEL repository and try running Certbot again."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$ASSUME_YES" = 1 ]; then
|
||||||
|
/bin/echo -n "Enabling the EPEL repository in 3 seconds..."
|
||||||
|
sleep 1s
|
||||||
|
/bin/echo -ne "\e[0K\rEnabling the EPEL repository in 2 seconds..."
|
||||||
|
sleep 1s
|
||||||
|
/bin/echo -e "\e[0K\rEnabling the EPEL repository in 1 second..."
|
||||||
|
sleep 1s
|
||||||
|
fi
|
||||||
|
if ! $TOOL install $YES_FLAG $QUIET_FLAG epel-release; then
|
||||||
|
error "Could not enable EPEL. Aborting bootstrap!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
BootstrapRpmCommonBase() {
|
BootstrapRpmCommonBase() {
|
||||||
@@ -478,88 +488,13 @@ BootstrapRpmCommon() {
|
|||||||
BootstrapRpmCommonBase "$python_pkgs"
|
BootstrapRpmCommonBase "$python_pkgs"
|
||||||
}
|
}
|
||||||
|
|
||||||
# If new packages are installed by BootstrapRpmPython3 below, this version
|
|
||||||
# number must be increased.
|
|
||||||
BOOTSTRAP_RPM_PYTHON3_LEGACY_VERSION=1
|
|
||||||
|
|
||||||
# Checks if rh-python36 can be installed.
|
|
||||||
Python36SclIsAvailable() {
|
|
||||||
InitializeRPMCommonBase >/dev/null 2>&1;
|
|
||||||
|
|
||||||
if "${TOOL}" list rh-python36 >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
if "${TOOL}" list centos-release-scl >/dev/null 2>&1; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Try to enable rh-python36 from SCL if it is necessary and possible.
|
|
||||||
EnablePython36SCL() {
|
|
||||||
if "$EXISTS" python3.6 > /dev/null 2> /dev/null; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
if ! scl --list 2>/dev/null | grep -q rh-python36; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
set +e
|
|
||||||
. scl_source enable rh-python36
|
|
||||||
set -e
|
|
||||||
}
|
|
||||||
|
|
||||||
# This bootstrap concerns old RedHat-based distributions that do not ship by default
|
|
||||||
# with Python 2.7, but only Python 2.6. We bootstrap them by enabling SCL and installing
|
|
||||||
# Python 3.6. Some of these distributions are: CentOS/RHEL/OL/SL 6.
|
|
||||||
BootstrapRpmPython3Legacy() {
|
|
||||||
# Tested with:
|
|
||||||
# - CentOS 6
|
|
||||||
|
|
||||||
InitializeRPMCommonBase
|
|
||||||
|
|
||||||
if ! "${TOOL}" list rh-python36 >/dev/null 2>&1; then
|
|
||||||
echo "To use Certbot on this operating system, packages from the SCL repository need to be installed."
|
|
||||||
if ! "${TOOL}" list centos-release-scl >/dev/null 2>&1; then
|
|
||||||
error "Enable the SCL repository and try running Certbot again."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ "${ASSUME_YES}" = 1 ]; then
|
|
||||||
/bin/echo -n "Enabling the SCL repository in 3 seconds... (Press Ctrl-C to cancel)"
|
|
||||||
sleep 1s
|
|
||||||
/bin/echo -ne "\e[0K\rEnabling the SCL repository in 2 seconds... (Press Ctrl-C to cancel)"
|
|
||||||
sleep 1s
|
|
||||||
/bin/echo -e "\e[0K\rEnabling the SCL repository in 1 second... (Press Ctrl-C to cancel)"
|
|
||||||
sleep 1s
|
|
||||||
fi
|
|
||||||
if ! "${TOOL}" install "${YES_FLAG}" "${QUIET_FLAG}" centos-release-scl; then
|
|
||||||
error "Could not enable SCL. Aborting bootstrap!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# CentOS 6 must use rh-python36 from SCL
|
|
||||||
if "${TOOL}" list rh-python36 >/dev/null 2>&1; then
|
|
||||||
python_pkgs="rh-python36-python
|
|
||||||
rh-python36-python-virtualenv
|
|
||||||
rh-python36-python-devel
|
|
||||||
"
|
|
||||||
else
|
|
||||||
error "No supported Python package available to install. Aborting bootstrap!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
BootstrapRpmCommonBase "${python_pkgs}"
|
|
||||||
|
|
||||||
# Enable SCL rh-python36 after bootstrapping.
|
|
||||||
EnablePython36SCL
|
|
||||||
}
|
|
||||||
|
|
||||||
# If new packages are installed by BootstrapRpmPython3 below, this version
|
# If new packages are installed by BootstrapRpmPython3 below, this version
|
||||||
# number must be increased.
|
# number must be increased.
|
||||||
BOOTSTRAP_RPM_PYTHON3_VERSION=1
|
BOOTSTRAP_RPM_PYTHON3_VERSION=1
|
||||||
|
|
||||||
BootstrapRpmPython3() {
|
BootstrapRpmPython3() {
|
||||||
# Tested with:
|
# Tested with:
|
||||||
|
# - CentOS 6
|
||||||
# - Fedora 29
|
# - Fedora 29
|
||||||
|
|
||||||
InitializeRPMCommonBase
|
InitializeRPMCommonBase
|
||||||
@@ -570,6 +505,12 @@ BootstrapRpmPython3() {
|
|||||||
python3-virtualenv
|
python3-virtualenv
|
||||||
python3-devel
|
python3-devel
|
||||||
"
|
"
|
||||||
|
# EPEL uses python34
|
||||||
|
elif $TOOL list python34 >/dev/null 2>&1; then
|
||||||
|
python_pkgs="python34
|
||||||
|
python34-devel
|
||||||
|
python34-tools
|
||||||
|
"
|
||||||
else
|
else
|
||||||
error "No supported Python package available to install. Aborting bootstrap!"
|
error "No supported Python package available to install. Aborting bootstrap!"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -828,50 +769,31 @@ elif [ -f /etc/redhat-release ]; then
|
|||||||
RPM_DIST_VERSION=0
|
RPM_DIST_VERSION=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Handle legacy RPM distributions
|
# Starting to Fedora 29, python2 is on a deprecation path. Let's move to python3 then.
|
||||||
if [ "$PYVER" -eq 26 ]; then
|
# RHEL 8 also uses python3 by default.
|
||||||
# Check if an automated bootstrap can be achieved on this system.
|
if [ "$RPM_DIST_NAME" = "fedora" -a "$RPM_DIST_VERSION" -ge 29 -o "$PYVER" -eq 26 ]; then
|
||||||
if ! Python36SclIsAvailable; then
|
RPM_USE_PYTHON_3=1
|
||||||
INTERACTIVE_BOOTSTRAP=1
|
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
fi
|
RPM_USE_PYTHON_3=1
|
||||||
|
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
||||||
|
RPM_USE_PYTHON_3=1
|
||||||
|
else
|
||||||
|
RPM_USE_PYTHON_3=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RPM_USE_PYTHON_3" = 1 ]; then
|
||||||
Bootstrap() {
|
Bootstrap() {
|
||||||
BootstrapMessage "Legacy RedHat-based OSes that will use Python3"
|
BootstrapMessage "RedHat-based OSes that will use Python3"
|
||||||
BootstrapRpmPython3Legacy
|
BootstrapRpmPython3
|
||||||
}
|
}
|
||||||
USE_PYTHON_3=1
|
USE_PYTHON_3=1
|
||||||
BOOTSTRAP_VERSION="BootstrapRpmPython3Legacy $BOOTSTRAP_RPM_PYTHON3_LEGACY_VERSION"
|
BOOTSTRAP_VERSION="BootstrapRpmPython3 $BOOTSTRAP_RPM_PYTHON3_VERSION"
|
||||||
|
|
||||||
# Try now to enable SCL rh-python36 for systems already bootstrapped
|
|
||||||
# NB: EnablePython36SCL has been defined along with BootstrapRpmPython3Legacy in certbot-auto
|
|
||||||
EnablePython36SCL
|
|
||||||
else
|
else
|
||||||
# Starting to Fedora 29, python2 is on a deprecation path. Let's move to python3 then.
|
Bootstrap() {
|
||||||
# RHEL 8 also uses python3 by default.
|
BootstrapMessage "RedHat-based OSes"
|
||||||
if [ "$RPM_DIST_NAME" = "fedora" -a "$RPM_DIST_VERSION" -ge 29 ]; then
|
BootstrapRpmCommon
|
||||||
RPM_USE_PYTHON_3=1
|
}
|
||||||
elif [ "$RPM_DIST_NAME" = "rhel" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
BOOTSTRAP_VERSION="BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION"
|
||||||
RPM_USE_PYTHON_3=1
|
|
||||||
elif [ "$RPM_DIST_NAME" = "centos" -a "$RPM_DIST_VERSION" -ge 8 ]; then
|
|
||||||
RPM_USE_PYTHON_3=1
|
|
||||||
else
|
|
||||||
RPM_USE_PYTHON_3=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$RPM_USE_PYTHON_3" = 1 ]; then
|
|
||||||
Bootstrap() {
|
|
||||||
BootstrapMessage "RedHat-based OSes that will use Python3"
|
|
||||||
BootstrapRpmPython3
|
|
||||||
}
|
|
||||||
USE_PYTHON_3=1
|
|
||||||
BOOTSTRAP_VERSION="BootstrapRpmPython3 $BOOTSTRAP_RPM_PYTHON3_VERSION"
|
|
||||||
else
|
|
||||||
Bootstrap() {
|
|
||||||
BootstrapMessage "RedHat-based OSes"
|
|
||||||
BootstrapRpmCommon
|
|
||||||
}
|
|
||||||
BOOTSTRAP_VERSION="BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LE_PYTHON="$prev_le_python"
|
LE_PYTHON="$prev_le_python"
|
||||||
@@ -1156,15 +1078,8 @@ if [ "$1" = "--le-auto-phase2" ]; then
|
|||||||
# If the selected Bootstrap function isn't a noop and it differs from the
|
# If the selected Bootstrap function isn't a noop and it differs from the
|
||||||
# previously used version
|
# previously used version
|
||||||
if [ -n "$BOOTSTRAP_VERSION" -a "$BOOTSTRAP_VERSION" != "$PREV_BOOTSTRAP_VERSION" ]; then
|
if [ -n "$BOOTSTRAP_VERSION" -a "$BOOTSTRAP_VERSION" != "$PREV_BOOTSTRAP_VERSION" ]; then
|
||||||
# Check if we can rebootstrap without manual user intervention: this requires that
|
# if non-interactive mode or stdin and stdout are connected to a terminal
|
||||||
# certbot-auto is in non-interactive mode AND selected bootstrap does not claim to
|
if [ \( "$NONINTERACTIVE" = 1 \) -o \( \( -t 0 \) -a \( -t 1 \) \) ]; then
|
||||||
# require a manual user intervention.
|
|
||||||
if [ "$NONINTERACTIVE" = 1 -a "$INTERACTIVE_BOOTSTRAP" != 1 ]; then
|
|
||||||
CAN_REBOOTSTRAP=1
|
|
||||||
fi
|
|
||||||
# Check if rebootstrap can be done non-interactively and current shell is non-interactive
|
|
||||||
# (true if stdin and stdout are not attached to a terminal).
|
|
||||||
if [ \( "$CAN_REBOOTSTRAP" = 1 \) -o \( \( -t 0 \) -a \( -t 1 \) \) ]; then
|
|
||||||
if [ -d "$VENV_PATH" ]; then
|
if [ -d "$VENV_PATH" ]; then
|
||||||
rm -rf "$VENV_PATH"
|
rm -rf "$VENV_PATH"
|
||||||
fi
|
fi
|
||||||
@@ -1175,21 +1090,12 @@ if [ "$1" = "--le-auto-phase2" ]; then
|
|||||||
ln -s "$VENV_PATH" "$OLD_VENV_PATH"
|
ln -s "$VENV_PATH" "$OLD_VENV_PATH"
|
||||||
fi
|
fi
|
||||||
RerunWithArgs "$@"
|
RerunWithArgs "$@"
|
||||||
# Otherwise bootstrap needs to be done manually by the user.
|
|
||||||
else
|
else
|
||||||
# If it is because bootstrapping is interactive, --non-interactive will be of no use.
|
error "Skipping upgrade because new OS dependencies may need to be installed."
|
||||||
if [ "$INTERACTIVE_BOOTSTRAP" = 1 ]; then
|
error
|
||||||
error "Skipping upgrade because new OS dependencies may need to be installed."
|
error "To upgrade to a newer version, please run this script again manually so you can"
|
||||||
error "This requires manual user intervention: please run this script again manually."
|
error "approve changes or with --non-interactive on the command line to automatically"
|
||||||
# If this is because of the environment (eg. non interactive shell without
|
error "install any required packages."
|
||||||
# --non-interactive flag set), help the user in that direction.
|
|
||||||
else
|
|
||||||
error "Skipping upgrade because new OS dependencies may need to be installed."
|
|
||||||
error
|
|
||||||
error "To upgrade to a newer version, please run this script again manually so you can"
|
|
||||||
error "approve changes or with --non-interactive on the command line to automatically"
|
|
||||||
error "install any required packages."
|
|
||||||
fi
|
|
||||||
# Set INSTALLED_VERSION to be the same so we don't update the venv
|
# Set INSTALLED_VERSION to be the same so we don't update the venv
|
||||||
INSTALLED_VERSION="$LE_AUTO_VERSION"
|
INSTALLED_VERSION="$LE_AUTO_VERSION"
|
||||||
# Continue to use OLD_VENV_PATH if the new venv doesn't exist
|
# Continue to use OLD_VENV_PATH if the new venv doesn't exist
|
||||||
@@ -1432,18 +1338,18 @@ letsencrypt==0.7.0 \
|
|||||||
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
||||||
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
||||||
|
|
||||||
certbot==0.40.0 \
|
certbot==0.40.1 \
|
||||||
--hash=sha256:b9ff74c4f3d3e06d9c467465f97bcbb07b0f4d778d3c4232ab91583d933dba61 \
|
--hash=sha256:afe4d7edc61d4cab8b6f7ab7611d66aaba67d9f0404fa2760bd1cc430b2ec9ec \
|
||||||
--hash=sha256:cff166597b3c714c3e7e60b2bcd6089135b375cadca04cf36abd15bfdb22be40
|
--hash=sha256:8dc81b3044cf401c55fa36c30893887fcb92657df1d76a8848059683df3b10d1
|
||||||
acme==0.40.0 \
|
acme==0.40.1 \
|
||||||
--hash=sha256:1b026b07a2099e50dac11cbdb834925f1d9b5691e349b52e9d397a12f3dc4eac \
|
--hash=sha256:a85387c26fb4fc24511b2579b8c61177b3175fd25e130c5be95a840d9f67d54f \
|
||||||
--hash=sha256:f29c1185d1e33919bad6c1f3fece168ee191d96d47f5997117561dc74a454221
|
--hash=sha256:33bf8686408d5b6b79886a9a43aee691ca754408deaec4fb2bb17b9af48a5ffc
|
||||||
certbot-apache==0.40.0 \
|
certbot-apache==0.40.1 \
|
||||||
--hash=sha256:f1c034a05fbd6cc6fde9494f493a8a6ed0e02e7652e51af16342082bc17387e4 \
|
--hash=sha256:6c4a4e21a17bd8120056595e5670c9a0f86756da0ad269196e8d56fc1b9fec82 \
|
||||||
--hash=sha256:43c3d7628ca6630467c4f57dd30423f031c1c7cbca46f7500293172d0fe3581e
|
--hash=sha256:16404e9e404f0b98c18bd752fad812a45ef7f9b0efa9bbc8589f24a94e67de7c
|
||||||
certbot-nginx==0.40.0 \
|
certbot-nginx==0.40.1 \
|
||||||
--hash=sha256:55cd3c90e2851069b536859050374fe2fcfa22c3e862cc0e1811fbce9e52dccc \
|
--hash=sha256:acdbfc4ab75ebc810264ee1248332f8e857c5e7776717b7cd53c4ceceb2b4d34 \
|
||||||
--hash=sha256:3df8cec22910f2d41ccb4494661ff65f98c52dd441864a53a318b32979256881
|
--hash=sha256:014fdda80647ad9e67019b16c7cdaee5d21a750b393bcb98e1300615cc930f4f
|
||||||
|
|
||||||
UNLIKELY_EOF
|
UNLIKELY_EOF
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iQEzBAABCAAdFiEEos+1H6J1pyhiNOeyTRfJlc2XdfIFAl3B4KcACgkQTRfJlc2X
|
iQEzBAABCAAdFiEEos+1H6J1pyhiNOeyTRfJlc2XdfIFAl3CMH0ACgkQTRfJlc2X
|
||||||
dfJKHAf+PUViUdwbaXUMNfDRo7g6v44RA0RIj+SG3cjLsX2E/A2G70KndfUC/9KS
|
dfJ4DwgAljOxkQ4uhiF1R8Mw3r5+lwSezh7seA01QVUcuLArZM8B+IJM0FbqrSca
|
||||||
cgYpFZ3h/2y3fLLsYgDIOPRhAKLgrk+LFKrtDsUbOLF7K3eS70KQmDxYFXNzw0jc
|
ToYCrUXXTVL6aPn/1yxuNMMmVlJbIl5tMc3tfm//lbXTpLkiVASZl5+3HKtR5o6w
|
||||||
34zhc9BKsKrqX6a80LprkVtbEuRlE58JaXyqjMW8NvGvLXNV8qCZK8xG8SrCkVnU
|
GP2v6apjvkM1oaT2jL0VKcMGheVYaLfUQ3MGhMHbgOZKALNYwMGP9WOwgn0GGa1l
|
||||||
KFlXgHAl3UFibm3yJOlIjHikuOaU0jlDbO/S2WfkkgV3BWQkngUKu+9gr+ItV3We
|
3SIYJOqgEjDQTSr1tK+Ki+UkuoMsL4HamfvgNWeXbTpChdjth46UTj+N60rafIA2
|
||||||
GMidJljIoho8CqYQnLWtsjhOmjLQogsUKZJSg/riAxrDW3cCEmF4EaV/S8lNnSiL
|
HAkXoP4eav6XbDlzDulG2cTBtnxvr6yiK76YF68P7BHNNYWbybFW8k6TVwexGgDF
|
||||||
f49WauHsGdfIaFabl8HVG7h+R3Uh8Q==
|
2di01Av0nXsa4O8QkYdtVQcCgniaUw==
|
||||||
=JXq9
|
=E9YT
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
@@ -31,7 +31,7 @@ if [ -z "$VENV_PATH" ]; then
|
|||||||
fi
|
fi
|
||||||
VENV_BIN="$VENV_PATH/bin"
|
VENV_BIN="$VENV_PATH/bin"
|
||||||
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
BOOTSTRAP_VERSION_PATH="$VENV_PATH/certbot-auto-bootstrap-version.txt"
|
||||||
LE_AUTO_VERSION="0.40.0"
|
LE_AUTO_VERSION="0.40.1"
|
||||||
BASENAME=$(basename $0)
|
BASENAME=$(basename $0)
|
||||||
USAGE="Usage: $BASENAME [OPTIONS]
|
USAGE="Usage: $BASENAME [OPTIONS]
|
||||||
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
A self-updating wrapper script for the Certbot ACME client. When run, updates
|
||||||
@@ -1338,18 +1338,18 @@ letsencrypt==0.7.0 \
|
|||||||
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
--hash=sha256:105a5fb107e45bcd0722eb89696986dcf5f08a86a321d6aef25a0c7c63375ade \
|
||||||
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
--hash=sha256:c36e532c486a7e92155ee09da54b436a3c420813ec1c590b98f635d924720de9
|
||||||
|
|
||||||
certbot==0.40.0 \
|
certbot==0.40.1 \
|
||||||
--hash=sha256:b9ff74c4f3d3e06d9c467465f97bcbb07b0f4d778d3c4232ab91583d933dba61 \
|
--hash=sha256:afe4d7edc61d4cab8b6f7ab7611d66aaba67d9f0404fa2760bd1cc430b2ec9ec \
|
||||||
--hash=sha256:cff166597b3c714c3e7e60b2bcd6089135b375cadca04cf36abd15bfdb22be40
|
--hash=sha256:8dc81b3044cf401c55fa36c30893887fcb92657df1d76a8848059683df3b10d1
|
||||||
acme==0.40.0 \
|
acme==0.40.1 \
|
||||||
--hash=sha256:1b026b07a2099e50dac11cbdb834925f1d9b5691e349b52e9d397a12f3dc4eac \
|
--hash=sha256:a85387c26fb4fc24511b2579b8c61177b3175fd25e130c5be95a840d9f67d54f \
|
||||||
--hash=sha256:f29c1185d1e33919bad6c1f3fece168ee191d96d47f5997117561dc74a454221
|
--hash=sha256:33bf8686408d5b6b79886a9a43aee691ca754408deaec4fb2bb17b9af48a5ffc
|
||||||
certbot-apache==0.40.0 \
|
certbot-apache==0.40.1 \
|
||||||
--hash=sha256:f1c034a05fbd6cc6fde9494f493a8a6ed0e02e7652e51af16342082bc17387e4 \
|
--hash=sha256:6c4a4e21a17bd8120056595e5670c9a0f86756da0ad269196e8d56fc1b9fec82 \
|
||||||
--hash=sha256:43c3d7628ca6630467c4f57dd30423f031c1c7cbca46f7500293172d0fe3581e
|
--hash=sha256:16404e9e404f0b98c18bd752fad812a45ef7f9b0efa9bbc8589f24a94e67de7c
|
||||||
certbot-nginx==0.40.0 \
|
certbot-nginx==0.40.1 \
|
||||||
--hash=sha256:55cd3c90e2851069b536859050374fe2fcfa22c3e862cc0e1811fbce9e52dccc \
|
--hash=sha256:acdbfc4ab75ebc810264ee1248332f8e857c5e7776717b7cd53c4ceceb2b4d34 \
|
||||||
--hash=sha256:3df8cec22910f2d41ccb4494661ff65f98c52dd441864a53a318b32979256881
|
--hash=sha256:014fdda80647ad9e67019b16c7cdaee5d21a750b393bcb98e1300615cc930f4f
|
||||||
|
|
||||||
UNLIKELY_EOF
|
UNLIKELY_EOF
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
Binary file not shown.
@@ -1,12 +1,12 @@
|
|||||||
certbot==0.40.0 \
|
certbot==0.40.1 \
|
||||||
--hash=sha256:b9ff74c4f3d3e06d9c467465f97bcbb07b0f4d778d3c4232ab91583d933dba61 \
|
--hash=sha256:afe4d7edc61d4cab8b6f7ab7611d66aaba67d9f0404fa2760bd1cc430b2ec9ec \
|
||||||
--hash=sha256:cff166597b3c714c3e7e60b2bcd6089135b375cadca04cf36abd15bfdb22be40
|
--hash=sha256:8dc81b3044cf401c55fa36c30893887fcb92657df1d76a8848059683df3b10d1
|
||||||
acme==0.40.0 \
|
acme==0.40.1 \
|
||||||
--hash=sha256:1b026b07a2099e50dac11cbdb834925f1d9b5691e349b52e9d397a12f3dc4eac \
|
--hash=sha256:a85387c26fb4fc24511b2579b8c61177b3175fd25e130c5be95a840d9f67d54f \
|
||||||
--hash=sha256:f29c1185d1e33919bad6c1f3fece168ee191d96d47f5997117561dc74a454221
|
--hash=sha256:33bf8686408d5b6b79886a9a43aee691ca754408deaec4fb2bb17b9af48a5ffc
|
||||||
certbot-apache==0.40.0 \
|
certbot-apache==0.40.1 \
|
||||||
--hash=sha256:f1c034a05fbd6cc6fde9494f493a8a6ed0e02e7652e51af16342082bc17387e4 \
|
--hash=sha256:6c4a4e21a17bd8120056595e5670c9a0f86756da0ad269196e8d56fc1b9fec82 \
|
||||||
--hash=sha256:43c3d7628ca6630467c4f57dd30423f031c1c7cbca46f7500293172d0fe3581e
|
--hash=sha256:16404e9e404f0b98c18bd752fad812a45ef7f9b0efa9bbc8589f24a94e67de7c
|
||||||
certbot-nginx==0.40.0 \
|
certbot-nginx==0.40.1 \
|
||||||
--hash=sha256:55cd3c90e2851069b536859050374fe2fcfa22c3e862cc0e1811fbce9e52dccc \
|
--hash=sha256:acdbfc4ab75ebc810264ee1248332f8e857c5e7776717b7cd53c4ceceb2b4d34 \
|
||||||
--hash=sha256:3df8cec22910f2d41ccb4494661ff65f98c52dd441864a53a318b32979256881
|
--hash=sha256:014fdda80647ad9e67019b16c7cdaee5d21a750b393bcb98e1300615cc930f4f
|
||||||
|
Reference in New Issue
Block a user