* Add version number to bootstrap scripts.
* Always determine Bootstrap function and version.
* Write bootstrap version into venv.
* Add PrevBootstrapVersion function.
* Add OS bootstrapping check to phase 2.
* Differentiate -n and renew when rebootstrapping.
* Quote all environment variables.
* Correct test condition
* Add loud warning about hardcoded version list.
* s/VENV_BOOTSTRAP_VERSION/BOOTSTRAP_VERSION_PATH
* Properly handle noop bootstrap functions.
* Update comment about root usage.
* run all of certbot-auto as root
* remove other $SUDO uses from template
* remove $SUDO usage from bootstrappers
* default venv path = /opt/eff.org/certbot/venv
* Create symlinks from old default venvs
* Delete old venv path when it exists.
Also, quote expansion of paths.
* fix typo
* Separate venv_dir and le_auto_path
* Deduplicate code with test_dirs()
* Ignore cleanup errors.
This is caused by subdirectories being owned by root.
* Split test into test_phase2_upgrade.
* Rename test_dirs to temp_paths for clarity.
* Check both venvs before bootstrapping again.
* Use OLD_VENV_PATH/bin
* Preserve environment with sudo.
* Remove "esp. under sudo" comment.
* Export *VENV_PATH.
* Change check for OLD_VENV installation.
This approach better handles manually set VENV_PATH values.
* Remove SUDO_ENV.
* Print message before requesting root privileges.
* Make a function for selecting root auth method.
* Address @erikrose's feedback.
* Addressing #4434 by implementing ConfigTestCase which mocks out a NamespaceConfig for consistent config use across tests
* Refactor account_test.py for use with ConfigTestCase
* Remove superfluous setup/teardown
* Pylint oops.
* Fix redundant inheritance class definitions
* Separate ConfigTestCase's mocked directories
* Module import style consistency
* Refactor log_test.py for use with ConfigTestCase
* Refactor eff_test.py for use with ConfigTestCase. Also tweak for import style consistency
* Refactor reverter_test.py for use with ConfigTestCase
* Refactor renewal_test.py for use with ConfigTestCase
* Refactor main_test.py for use with ConfigTestCase
* Refactor storage_test.py for use with ConfigTestCase
* Refactor cert_manager_test.py for use with ConfigTestCase
* Refactor client_test.py for use with ConfigTestCase
* Refactor configuration_test.py for use with ConfigTestCase
* Pylint!
* Incorporating PR feedback
* Remove comment
We now use tools/pip_install_editable.sh which installs our packages using the
pinned versions from certbot-auto.
We also use letsencrypt-auto-source/letsencrypt-auto instead of certbot-auto in
the root to:
1. Make sure OS bootstrappers are up to date with master.
2. Copy letsencrypt-auto-source into our tree so it can be used by
tools/pip_install_editable.sh later.