Commit graph

115 commits

Author SHA1 Message Date
Erik Rose
4c2c80dcda Fix DeterminePythonVersion().
Ported from #1751.

* Make sure any Python passed in as $LE_PYTHON actually exists.
* Dodge a word-splitting bug: `a='a b'; export a=${a:-c}; echo $a` gives `a` instead of `a b` under shells that respect POSIX.1, like dash.
2016-02-12 17:23:29 -05:00
Erik Rose
dc8bdfac56 Quote the remaining variable expansions in le-auto. Refs #1899.
...except for $SUDO, which is always either "sudo", "su_sudo", or "", never having a quote-needing char in it.

It's unlikely that $PYVER would have a space in it, but it doesn't hurt.
2016-02-12 15:08:07 -05:00
Erik Rose
cedcad1373 Use python -V instead of python --version. Fix #2039.
Python 2.4 doesn't support --version, and we want to be able to at least complain that it's too old without crashing.

Also, bring built le-auto up to date.
2016-02-12 11:49:01 -05:00
Erik Rose
eb4e8bf59e Add a "success" message after installation. Fix #1621. Close #2214. 2016-02-11 18:42:27 -05:00
Erik Rose
6eb2d60166 Let --no-self-upgrade bootstrap OS packages. Fix #2432.
--no-self-upgrade metamorphosed from a private flag to a public one, so add a new private flag, --le-auto-phase2 to take its original role of marking the division between phases. This flag must come first and, consequently, can be stripped off the arg list before calling through to letsencrypt, which means the client doesn't need to know about it.

The downside is that anyone still (deprecatedly) running le-auto out of the root of a (recently updated) master checkout will get a "Hey, the current release version le-auto I just self-upgraded to doesn't understand the --le-auto-phase2 flag" error from when we merge this until the next release is made, but that's better than a documented option not working right.

Also, remove a needless folder creation from the Dockerfile.
2016-02-11 18:03:01 -05:00
Erik Rose
d791697b93 If le-auto's installation fails, delete the venv. Fix #2332.
Leaving broken venvs around can, if it got as far as installing the venv/bin/letsencrypt script, wreck future le-auto runs, since the presence of that script means "a working LE is installed" to it. Waiting until a new version of le-auto comes out and running it would recover, but this lets re-running the same version recover as well.
2016-02-11 17:17:09 -05:00
Gian Carlo Pace
d34c6779e8 added a missing space in letsencrypt-auto.template as well 2016-02-09 23:34:38 +01:00
Brad Warren
fa49976baf Remove need to use --debug with py26 2016-02-01 16:05:39 -08:00
Aaron Zirbes
95061b8487 Stop spewing "grep: /etc/os-release: No such file or directory" when running le-auto. Fix #2255.
Also bump embedded version number.
2016-01-29 17:05:01 -05:00
Erik Rose
1706619886 Update known-good-set, and make deps unconditional.
Bring everything to the latest versions.

Make dependencies unconditional: argparse, ndg-httpsclient, and pyasn1 get in all the time, to match the state of master as of 0.2.0.
2016-01-15 18:09:27 -05:00
Peter Eckersley
3abf028f69 Merge branch 'letsencrypt-auto-release' of https://github.com/erikrose/letsencrypt into letsencrypt-auto-release 2016-01-12 14:29:58 -08:00
Erik Rose
6c05197a43 Remove mock as an install requirement.
The motivation is to free us of a reliance on a rather modern version of setuptools, which caused le-auto failures for people on Wheezy and other older distros. (The alternative would have been to forcibly upgrade setuptools as the old le-auto did, but less is more.)

Mock is used only in tests, so we move it to tests_require. It will still be installed automatically when setup.py test is run. Give all packages a test_suite so this works.

The "testing" extra remains for optional packages not required for the nose tests but used in tox. However, the extra is much less useful now and is a candidate for deletion. We could roll the list of packages therein into the tox config so as not to favor any particular package.

Remove tests_require=install_requires, which I don't think does anything useful, since install requirements are implicitly installed when running setup.py test.

Fix tests to pass with mock removed. We had to stop them pulling down LE from PyPI, since the current version there (0.1.1) requires mock and explodes when `letsencrypt` is run.
2016-01-11 21:26:41 -05:00
Peter Eckersley
1b3c8e87c7 Better processing & documentation of leauto flags
- move them to the top for clarity
 - accept them in any position
 - shadow & document them in the Python client
2016-01-11 14:22:51 -08:00
Peter Eckersley
916f8916d8 Clearer notes about when / how to edit the script 2016-01-11 14:22:51 -08: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
Renamed from letsencrypt_auto/letsencrypt-auto.template (Browse further)