diff options
author | Peter Eckersley <pde@users.noreply.github.com> | 2017-04-05 02:12:31 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-05 02:12:31 +0300 |
commit | 2bdfffb23a079f1df6bc6cad40de2436e7897adb (patch) | |
tree | 56c9e20d0c028b0d73065f1f3befd46d1091e427 /letsencrypt-auto-source/letsencrypt-auto | |
parent | 43dccfc67187b0ae3d677fbe0c7fffab20e6179c (diff) |
Support "certbot-auto --no-bootstrap" (#3955)
* Support "certbot-auto --no-bootstrap"
* Tell people about --no-bootstrap?
* Document new certbot-auto flag in its cli help
* Rebuild
* Less variables is less variability
* Alphabetize help
* Make it extra clear we only take one branch
* Add --no-bootstrap message to experimentalbootstrap exit
Diffstat (limited to 'letsencrypt-auto-source/letsencrypt-auto')
-rwxr-xr-x | letsencrypt-auto-source/letsencrypt-auto | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/letsencrypt-auto-source/letsencrypt-auto b/letsencrypt-auto-source/letsencrypt-auto index 35c7a530c..af278b118 100755 --- a/letsencrypt-auto-source/letsencrypt-auto +++ b/letsencrypt-auto-source/letsencrypt-auto @@ -36,6 +36,7 @@ Help for certbot itself cannot be provided until it is installed. --debug attempt experimental installation -h, --help print this help -n, --non-interactive, --noninteractive run without asking for user input + --no-bootstrap do not install OS dependencies --no-self-upgrade do not download updates --os-packages-only install OS dependencies and exit -v, --verbose provide more output @@ -54,6 +55,8 @@ for arg in "$@" ; do # Do not upgrade this script (also prevents client upgrades, because each # copy of the script pins a hash of the python client) NO_SELF_UPGRADE=1;; + --no-bootstrap) + NO_BOOTSTRAP=1;; --help) HELP=1;; --noninteractive|--non-interactive) @@ -160,17 +163,24 @@ else fi fi +BootstrapMessage() { + # Arguments: Platform name + echo "Bootstrapping dependencies for $1... (you can skip this with --no-bootstrap)" +} + ExperimentalBootstrap() { # Arguments: Platform name, bootstrap function name if [ "$DEBUG" = 1 ]; then if [ "$2" != "" ]; then - echo "Bootstrapping dependencies via $1..." + BootstrapMessage $1 $2 fi else echo "FATAL: $1 support is very experimental at present..." echo "if you would like to work on improving it, please ensure you have backups" echo "and then run this script again with the --debug flag!" + echo "Alternatively, you can install OS dependencies yourself and run this script" + echo "again with --no-bootstrap." exit 1 fi } @@ -576,21 +586,23 @@ BootstrapMageiaCommon() { # Install required OS packages: Bootstrap() { - if [ -f /etc/debian_version ]; then - echo "Bootstrapping dependencies for Debian-based OSes..." + if [ "$NO_BOOTSTRAP" = 1 ]; then + return + elif [ -f /etc/debian_version ]; then + BootstrapMessage "Debian-based OSes" BootstrapDebCommon - elif [ -f /etc/mageia-release ] ; then + elif [ -f /etc/mageia-release ]; then # Mageia has both /etc/mageia-release and /etc/redhat-release ExperimentalBootstrap "Mageia" BootstrapMageiaCommon elif [ -f /etc/redhat-release ]; then - echo "Bootstrapping dependencies for RedHat-based OSes..." + BootstrapMessage "RedHat-based OSes" BootstrapRpmCommon elif [ -f /etc/os-release ] && `grep -q openSUSE /etc/os-release` ; then - echo "Bootstrapping dependencies for openSUSE-based OSes..." + BootstrapMessage "openSUSE-based OSes" BootstrapSuseCommon elif [ -f /etc/arch-release ]; then if [ "$DEBUG" = 1 ]; then - echo "Bootstrapping dependencies for Archlinux..." + BootstrapMessage "Archlinux" BootstrapArchCommon else echo "Please use pacman to install letsencrypt packages:" @@ -615,7 +627,7 @@ Bootstrap() { else echo "Sorry, I don't know how to bootstrap Certbot on your operating system!" echo - echo "You will need to bootstrap, configure virtualenv, and run pip install manually." + echo "You will need to install OS dependencies, configure virtualenv, and run pip install manually." echo "Please see https://letsencrypt.readthedocs.org/en/latest/contributing.html#prerequisites" echo "for more info." exit 1 |