Commit graph

51 commits

Author SHA1 Message Date
ohemorange
6eb459354f Address erikrose's comments on #5329 (#5400) 2018-01-09 16:48:16 -08:00
ohemorange
8585cdd861 Deprecate Python2.6 by using Python3 on CentOS/RHEL 6 (#5329)
* If there's no python or there's only python2.6 on red hat systems, install python3

* Always check for python2.6

* address style, documentation, nits

* factor out all initialization code

* fix up python version return value when no python installed

* add no python error and exit

* document DeterminePythonVersion parameters

* build letsencrypt-auto

* close brace

* build leauto

* fix syntax errors

* set USE_PYTHON_3 for all cases

* rip out NOCRASH

* replace NOCRASH, update LE_PYTHON set logic

* use built-in venv for py3

* switch to LE_PYTHON not affecting bootstrap selection and not overwriting LE_PYTHON

* python3ify fetch.py

* get fetch.py working with python2 and 3

* don't verify server certificates in fetch.py HttpsGetter

* Use SSLContext and an environment variable so that our tests continue to never verify server certificates.

* typo

* build

* remove commented out code

* address review comments

* add documentation for YES_FLAG and QUIET_FLAG

* Add tests to centos6 Dockerfile to make sure we install python3 if and only if appropriate to do so.
2018-01-08 13:57:04 -08:00
Brad Warren
a5fae7eab5 certbot-auto OS dependency update system (#4971)
* 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.
2017-08-23 11:01:20 -07:00
Brad Warren
56db211367 Change certbot-auto's installation path to /opt (#4970)
* 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.
2017-08-21 12:23:09 -07:00
Bob Strecansky
5e58580d13 [#4966] - Fedora 26 doesn't have development tools handy (#4997) 2017-08-09 09:12:36 -07:00
Brad Warren
5508d1dd12 Fix space in quiet check in BootstrapArchCommon 2017-08-03 13:45:55 -07:00
Josh Soref
c13b2eae9b Make it easier to honor --quiet (#4292)
* say -- echo which honors quiet

* error -- echo which does not honor quiet

* switch non error echos to say

* switch error echos to error

* run letsencrypt-auto-source/build.py
2017-04-19 09:11:38 -07:00
Brad Warren
6a55de45ba Fix letsencrypt auto source (#4093)
* Some shells don't like ==

* run build.py
2017-01-23 17:55:59 -08:00
Nick Fong
02615c2ac6 Silence Package Manager Output when certbot-auto invoked with --quiet (#3776)
* Add quiet flags to package manager invocations

Add the following flags when 'certbot-auto --quiet' is invoked:
- Add '-qq' to calls to 'apt-get' in Debian
- Add '--quiet' to calls to 'yum' or 'dnf' in CentOS or Fedora
- Add '--quiet' to calls to 'urpmi' in Mageia
- Add '--quiet' to calls to 'pkg install' in FreeBSD

* Fix $QUIET flag in bootstrappers

- Set the value of $QUIET properly (i.e. s/$QUIET/QUIET when setting the
  variable) in
  - deb_common.sh
  - mageia_common.sh
  - rpm_common.sh
- Actually use $QUIET when running $tool in rpm_common.sh

* Add handling of $QUIET to Arch and Open Suse

* Add logic to set --non-interactive if --quiet

* Add missing $QUIET_FLAG to rpm_common.sh

* Run build.py

* Limit --help to 80 cols

* Update indentation within bootstrappers

* Add $QUIET_FLAG to second call to `urpmi` (redux)
2017-01-20 09:40:36 -08:00
Nick Fong
e8c8ada91d Make letsencrypt-auto indentation consistent (#3986)
* Make certbot-auto indentation consistent

Since a majority of certbot-auto uses 2 spaces per indentation level,
made indentation in letsencrypt-auto and platform-specific shell scripts
a consistent 2 spaces

Fixes #3902

* Fix last `if` statement body in rpm_common.sh
2017-01-19 11:34:10 -08:00
Lipis
bba5d7d950 Rename OS X -> macOS (#3965)
* Rename OS X -> macOS

* Revert *-auto
2017-01-10 12:24:15 -08:00
Peter Eckersley
aaffe2f9ca Add openssl installation to some bootstrappers
- The others seem to either be platforms where openssl is part of the
   base system, or where I can't quickly confirm that it's safe to ask
   for installation of something called "openssl".

 - If we miss any platforms, the OCSP checking code in "certbot
   certificates" should fail gracefully.
2016-12-22 15:53:32 -08:00
Peter Eckersley
2d7f6d7d92 Ensure apt-cache is always running in English if we're going to grep its output (#3900) 2016-12-12 17:20:52 -08:00
Kenneth Skovhede
184d673378 Busybox support (#3797)
* Added support for shells without default variable support

* Added support for BusyBox installs that do not have `command` but has `which`

* Style fixes as suggested by reviewer

* Renamed `WHERE_IS` to `EXISTS` as suggested by review

* Removed expansion of `$LE_AUTO_SUDO` to `x` as the `-n` can check empty strings.

* Added `EXISTS` to debian bootstrap as suggested in review
2016-12-05 19:40:07 -08:00
mstrache
8c1aa3ef46 #3408: Made Gentoo bootstrapping asking before performing any changes (#3410)
* #3408: Made gentoo bootstrapping ask before it performs any changes

* Update gentoo_common.sh

Removed use of the local keyword
2016-11-08 16:48:12 -08:00
Erica Portnoy
d54cb76432 Remove the curses dialog, thereby deprecating the --help and --dialog command line options (#3665)
* Remove the curses dialog, thereby deprecating the --help and --dialog command line options

* Deprecate --dialog and suppress --text
2016-10-21 15:45:57 -07:00
Brad Warren
156c6415c2 error out when we can't simply install epel-release 2016-08-17 17:31:56 -07:00
Brad Warren
5c16b43221 satisfy OCD by removing space 2016-08-17 17:00:51 -07:00
Brad Warren
44113a5d06 Automatically enable EPEL (after prompting users) 2016-07-07 17:25:09 -07:00
Peter Eckersley
268fb903b2 Merge pull request #3134 from fibbers/fix-virtualenv-package-installation-issue
Prevent bootstrap-issue on Debian systems with virtualenv package
2016-06-13 15:00:19 -07:00
Willem Fibbe
afd899886d Prevent bootstrap-issue on Debian systems with virtualenv package
On Debian 7 (and probably relative distro's) `aptitude show virtualenv` exits
with 0, since it is a virtual package. However, it doesn't have any installation
candidates, so filter on this case before trying to install `virtualenv` to
prevent installation-errors while bootstrapping.

NB, to make this clear:

	(0)#: apt-cache show virtualenv
	N: Can't select versions from package 'virtualenv' as it is purely virtual
	N: No packages found
	(0)#: echo $?
	0

Furthermore, --quiet=0 is necessary, to be able to grep through `apt-cache`'s
output via a pipe. More details on
http://unix.stackexchange.com/questions/201869/why-isnt-apt-cache-policy-output-piped/202041#202041.
2016-06-09 09:38:47 +02:00
Brad Warren
1c363716a0 Wrap mageia bootstrap script in bash function 2016-06-07 16:33:04 -07:00
Brad Warren
8aa1d85991 Move mageia bootstrap script 2016-06-07 16:25:08 -07:00
Peter Eckersley
d3c4a9e04f Merge pull request #2994 from tapple/master
system python path has changed on el capitan
2016-05-18 14:37:53 -07:00
Peter Eckersley
248dc0962e Merge pull request #2895 from dietsche/joyent
Joyent SmartOS Zone Bootstrap Support [revised]
2016-05-17 14:54:08 -07:00
Tapple Gao
4cb35eaeb3 system python path has changed on el capitan. Look for both old and new
path
2016-05-15 11:44:48 +02:00
Peter Eckersley
b6f14c2ef1 Merge pull request #2943 from MichalMMac/master
Ensure /usr/local/lib/ exists in mac.sh bootstraper
2016-05-12 17:54:33 -07:00
Gregory L. Dietsche
029a818370 Experimental Joyent SmartOS Support
Testing using image: 088b97b0-e1a1-11e5-b895-9baa2086eb33
                     base-64-lts 15.4.1

Signed-off-by: Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
2016-05-10 18:03:32 +00:00
Brad Warren
7a848d2b04 Remove unneeded info about backports 2016-05-09 19:51:08 -07:00
Michal Moravec
653c7b6327 Ensure /usr/local/lib/ exists before creating libaugeas.dylib symlink in mac.sh bootstraper 2016-05-08 16:16:54 +02:00
Brad Warren
0f228e935d Add backports countdown when using --yes/letsencrypt-auto 2016-05-02 11:52:57 -07:00
Brad Warren
23baf225a4 Ask before enabling backports 2016-04-22 16:44:06 -04:00
Brad Warren
ab2319e609 Respect yes with opensuse bootstrap 2016-04-22 15:00:24 -04:00
Brad Warren
40aa4dbf91 add --yes support to red hat bootstrap script 2016-04-22 14:51:40 -04:00
Brad Warren
61203db2eb Add --yes support to arch and debian bootstrappers 2016-04-22 13:01:32 -04:00
Brad Warren
21173e2353 Partial le-auto rename 2016-04-14 10:50:31 -07:00
Robert Xiao
4be308ac0e Support MacPorts on OS X. This fixes #2447.
Notably, this also installs pip via the recommended `get-pip` route rather than
grabbing a whole new version over Homebrew; this allows the install to work with
OS X's built-in Python or with the python.org Python.
2016-03-14 16:48:40 -04:00
Peter Eckersley
a5d320bca0 Merge pull request #2465 from erikrose/mac-always-brew-python
Always install the homebrew version of Python. Fix #1437.
2016-02-25 15:07:46 -08:00
bmw
aebe4b7c73 Merge pull request #2485 from letsencrypt/arch-bootstrap
Fix minor bootstrap problems
2016-02-24 14:40:44 -08:00
dave-cz
eec6287d12 change in the source file 2016-02-18 09:57:06 +01:00
Brad Warren
55228e2df4 Remove quotes around SUDO in other bootstrap scripts 2016-02-16 14:30:35 -08:00
Brad Warren
4b25d6543f Don't exit without installing packages 2016-02-16 14:19:27 -08:00
Brad Warren
95efab93b7 Remove quotes around $SUDO 2016-02-16 13:59:28 -08:00
Erik Rose
043273960e Always install the homebrew version of Python. Fix #1437.
Otherwise, we sometimes end up using the system Python, for which we'd need to use sudo to install virtualenv. Brew complicates this by yelling at you if you do use sudo. So let's simplify things by always using the homebrew python, which is more up to date anyway.
2016-02-12 15:47:24 -05:00
Erik Rose
af8e8fa969 Merge elimination of warnings when brew packages are already installed. Close #1988.
Also correct some capitalization and grammar.
2016-02-12 12:16:05 -05:00
Erik Rose
28ac61f37e Merge Gentoo fixes: docs, recording of deps in world set. 2016-02-11 19:10:13 -05:00
Erik Rose
505e66b57c Move the venv setup scripts to the tools folder.
They were the last things left in the bootstrap folder, and they were lonely.
2016-02-05 18:31:41 -05:00
Erik Rose
55dba783c0 Port bootstrapper fixes to the new le-auto's bootstrappers. 2016-01-22 15:26:49 -05:00
Erik Rose
cb5beb84c5 Fix Fedora 23 crasher.
This fixes an "OSError: [Errno 2] No such file or directory" on Fedora 23. Note that openssl-devel was not sufficient to install the openssl commandline tool.

The current manual-testing build of le-auto now crashes with #1548, but that should have been resolved when we upgraded the cryptography lib and so should go away when we build a new version.
2016-01-12 17:06:58 -05:00
Erik Rose
ed562645e0 Master master into letsencrypt-auto-release so Travis will build it. 2016-01-11 21:45:16 -05:00