Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Warren <bmw@users.noreply.github.com>2018-01-25 09:59:19 +0300
committerGitHub <noreply@github.com>2018-01-25 09:59:19 +0300
commit33538eadcf0528bce3b32d0be0f16241ccb59157 (patch)
treec66b1b491d40b5f072dad7ed7f71adb7ccb3388f
parentebc5bb10379afecd774088d8aa5b0f5be615bc14 (diff)
Fix --no-bootstrap on CentOS/RHEL 6 (#5476) (#5482)
* fix --no-bootstrap on RHEL6 * Add regression test (cherry picked from commit a1aba5842e979379d98f3128d140d1270fb951c5)
-rwxr-xr-xletsencrypt-auto-source/letsencrypt-auto20
-rwxr-xr-xletsencrypt-auto-source/letsencrypt-auto.template20
-rw-r--r--letsencrypt-auto-source/tests/centos6_tests.sh8
3 files changed, 34 insertions, 14 deletions
diff --git a/letsencrypt-auto-source/letsencrypt-auto b/letsencrypt-auto-source/letsencrypt-auto
index 558c330b2..46c3bb91a 100755
--- a/letsencrypt-auto-source/letsencrypt-auto
+++ b/letsencrypt-auto-source/letsencrypt-auto
@@ -761,13 +761,8 @@ BootstrapMageiaCommon() {
# Set Bootstrap to the function that installs OS dependencies on this system
# and BOOTSTRAP_VERSION to the unique identifier for the current version of
# that function. If Bootstrap is set to a function that doesn't install any
-# packages (either because --no-bootstrap was included on the command line or
-# we don't know how to bootstrap on this system), BOOTSTRAP_VERSION is not set.
-if [ "$NO_BOOTSTRAP" = 1 ]; then
- Bootstrap() {
- :
- }
-elif [ -f /etc/debian_version ]; then
+# packages BOOTSTRAP_VERSION is not set.
+if [ -f /etc/debian_version ]; then
Bootstrap() {
BootstrapMessage "Debian-based OSes"
BootstrapDebCommon
@@ -863,6 +858,17 @@ else
}
fi
+# We handle this case after determining the normal bootstrap version to allow
+# variables like USE_PYTHON_3 to be properly set. As described above, if the
+# Bootstrap function doesn't install any packages, BOOTSTRAP_VERSION should not
+# be set so we unset it here.
+if [ "$NO_BOOTSTRAP" = 1 ]; then
+ Bootstrap() {
+ :
+ }
+ unset BOOTSTRAP_VERSION
+fi
+
# Sets PREV_BOOTSTRAP_VERSION to the identifier for the bootstrap script used
# to install OS dependencies on this system. PREV_BOOTSTRAP_VERSION isn't set
# if it is unknown how OS dependencies were installed on this system.
diff --git a/letsencrypt-auto-source/letsencrypt-auto.template b/letsencrypt-auto-source/letsencrypt-auto.template
index 96e5c2db0..2ce337002 100755
--- a/letsencrypt-auto-source/letsencrypt-auto.template
+++ b/letsencrypt-auto-source/letsencrypt-auto.template
@@ -300,13 +300,8 @@ DeterminePythonVersion() {
# Set Bootstrap to the function that installs OS dependencies on this system
# and BOOTSTRAP_VERSION to the unique identifier for the current version of
# that function. If Bootstrap is set to a function that doesn't install any
-# packages (either because --no-bootstrap was included on the command line or
-# we don't know how to bootstrap on this system), BOOTSTRAP_VERSION is not set.
-if [ "$NO_BOOTSTRAP" = 1 ]; then
- Bootstrap() {
- :
- }
-elif [ -f /etc/debian_version ]; then
+# packages BOOTSTRAP_VERSION is not set.
+if [ -f /etc/debian_version ]; then
Bootstrap() {
BootstrapMessage "Debian-based OSes"
BootstrapDebCommon
@@ -402,6 +397,17 @@ else
}
fi
+# We handle this case after determining the normal bootstrap version to allow
+# variables like USE_PYTHON_3 to be properly set. As described above, if the
+# Bootstrap function doesn't install any packages, BOOTSTRAP_VERSION should not
+# be set so we unset it here.
+if [ "$NO_BOOTSTRAP" = 1 ]; then
+ Bootstrap() {
+ :
+ }
+ unset BOOTSTRAP_VERSION
+fi
+
# Sets PREV_BOOTSTRAP_VERSION to the identifier for the bootstrap script used
# to install OS dependencies on this system. PREV_BOOTSTRAP_VERSION isn't set
# if it is unknown how OS dependencies were installed on this system.
diff --git a/letsencrypt-auto-source/tests/centos6_tests.sh b/letsencrypt-auto-source/tests/centos6_tests.sh
index a0e96edf8..2c6dcf734 100644
--- a/letsencrypt-auto-source/tests/centos6_tests.sh
+++ b/letsencrypt-auto-source/tests/centos6_tests.sh
@@ -69,5 +69,13 @@ fi
echo "PASSED: Successfully upgraded to Python3 when only Python2.6 is present."
echo ""
+export VENV_PATH=$(mktemp -d)
+"$LE_AUTO" -n --no-bootstrap --no-self-upgrade --version >/dev/null 2>&1
+if [ "$($VENV_PATH/bin/python -V 2>&1 | cut -d" " -f2 | cut -d. -f1)" != 3 ]; then
+ echo "Python 3 wasn't used with --no-bootstrap!"
+ exit 1
+fi
+unset VENV_PATH
+
# test using python3
pytest -v -s certbot/letsencrypt-auto-source/tests