49 Commits
Author SHA1 Message Date
Brad WarrenandGitHub 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 WarrenandGitHub 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 StrecanskyandBrad Warren 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 SorefandBrad Warren 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 WarrenandPeter Eckersley 6a55de45ba Fix letsencrypt auto source (#4093)
* Some shells don't like ==

* run build.py
2017-01-23 17:55:59 -08:00
Nick FongandBrad Warren 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 FongandBrad Warren 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
LipisandPeter Eckersley 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 EckersleyandBrad Warren 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 SkovhedeandPeter Eckersley 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
mstracheandBrad Warren 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 PortnoyandBrad Warren 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 EckersleyandGitHub 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
Erik Rose cd43e9035b Rename letsencrypt_auto dir to match other dirs.
Originally, I had it in mind to move letsencrypt-auto inside this dir. However, now we'd like to copy it or link it to the root level, where people are used to finding it (at least for awhile). Since it would be confusing to have a letsencrypt-auto and a letsencrypt_auto right next to each other, we rename this folder.
2016-01-08 16:26:25 -05:00