Commit graph

465 commits

Author SHA1 Message Date
Brad Warren
c8cf0b4600 Bump version to 0.7.0 2016-05-11 18:04:27 -07:00
Brad Warren
8e742fa3c6
Release 0.6.0 2016-05-11 18:04:15 -07:00
Peter Eckersley
c9cdefd780 Merge remote-tracking branch 'origin/master' into deprecation-warning 2016-05-11 09:40:57 -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
Gregory L. Dietsche
62cf9c93a8 /etc/issue does not exist on all systems
Signed-off-by: Gregory L. Dietsche <Gregory.Dietsche@cuw.edu>
2016-05-10 18:03:32 +00:00
Peter Eckersley
ed23f2e27f CERTBOT_AUTO env was broken (especially if containing spaces) 2016-05-10 10:21:15 -07:00
Brad Warren
7a848d2b04 Remove unneeded info about backports 2016-05-09 19:51:08 -07:00
Brad Warren
f38d59d675 Use --non-interactive instead of --yes and use getopt for parsing short opts 2016-05-09 19:08:25 -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
c66f0bd18e Make le-auto helpful 2016-04-21 16:13:17 -04:00
Brad Warren
0fa18b6081 Add help text 2016-04-21 15:55:28 -04:00
Brad Warren
530033a37d Add CLI parsing 2016-04-21 15:16:39 -04:00
Brad Warren
45681909c7 Selectively rename le-auto strings 2016-04-20 14:39:26 -04:00
Peter Eckersley
3c455b7e64 letsencrypt-auto: set CERTBOT_AUTO :) 2016-04-20 10:45:30 +10:00
Peter Eckersley
b597f4a284 [letsencrypt-auto] handle network/pypi failures more gracefully 2016-04-20 09:28:41 +10:00
Peter Eckersley
5b597e0e8b Rebuild letsencrypt-auto from current source 2016-04-20 09:28:11 +10:00
Brad Warren
21173e2353 Partial le-auto rename 2016-04-14 10:50:31 -07:00
Brad Warren
37817130b0 Bump version to 0.6.0 2016-04-05 17:55:29 -07:00
Brad Warren
4d4cfb414f
Release 0.5.0 2016-04-05 17:55:18 -07:00
Brad Warren
ee2ef9a345 reuse venv sometimes on Python 2.6 2016-04-05 16:36:11 -07:00
Brad Warren
b0c34b7581 build le-auto 2016-04-05 16:34:42 -07:00
Erik Rose
7ac614e763 Update pipstrap to 1.1.1.
Report crashes without crashing under Python 2.6.
2016-04-04 16:48:15 -04: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
Brad Warren
4a17294654 Remove sigfileball and add it to gitignore 2016-03-10 13:35:06 -08:00
Brad Warren
99382b9f5b Merge branch 'pip8' 2016-03-08 15:49:52 -08:00
Brad Warren
7f099b5355 Bump version to 0.5.0 2016-03-03 15:50:36 -08:00
Brad Warren
fe0c9c8ff1
Release 0.4.2 2016-03-03 15:50:15 -08:00
bmw
f2390edb49 Merge pull request #2594 from letsencrypt/upgrade-cryptography-version
upgrade cryptography version in le-auto
2016-03-03 12:40:54 -08:00
Brad Warren
bb0406ee85 quote TEMP_DIR 2016-03-03 12:01:53 -08:00
Brad Warren
8fbb6ed819 Use consistent comment style 2016-03-03 09:46:11 -08:00
Brad Warren
34eb86b226 trap magic 2016-03-03 09:44:42 -08:00
Brad Warren
bd04076bad Install setuptools separately... 2016-03-02 19:32:06 -08:00
Brad Warren
bcdce86ced split setuptools into own requirements 2016-03-02 19:18:40 -08:00
Brad Warren
25cd02c75e documentation++ 2016-03-02 18:18:46 -08:00
Brad Warren
dcaf600a5d Use newest setuptools 2016-03-02 18:15:14 -08:00
bmw
cb1a5fda6a Merge pull request #2592 from letsencrypt/upgrade-leauto-parsedatetime
Upgrade parsedatetime dependency
2016-03-02 18:06:42 -08:00
Brad Warren
4c9bb18777 upgrade cryptography version in le-auto 2016-03-02 15:22:18 -08:00
Erik Rose
7de0fd452c Move pycparser above cffi in the requirements file. May fix #2499.
There's no particular reason this *should* fix #2499, but it changes how pycparser gets installed (to a more modern way: pip vs. setuptools), so it may.
2016-03-02 17:54:30 -05:00
Brad Warren
0b118c6522 Upgrade le-auto parsedatetime pin to 2.1 2016-03-02 14:53:11 -08:00
Brad Warren
94930a48c5 Bump source le-auto version 2016-03-01 12:49:25 -08:00
Brad Warren
49d8fd7d61
Release 0.4.1 2016-02-29 16:30:24 -08:00
Brad Warren
bbea71760c grammar 2016-02-29 13:24:12 -08:00
Brad Warren
35437019a5 Merge branch 'master' into autopeep 2016-02-29 12:33:50 -08:00
Brad Warren
0c345cb8d3 Merge branch 'master' into revert-2492-unbreak-le-auto 2016-02-26 08:49:37 -08:00
Peter Eckersley
71cd638183 Merge pull request #2547 from erikrose/safer-shell-script-updates
Use a new file for the updated le-auto script. Fix #2456.
2016-02-25 23:58:04 -08:00
Brad Warren
b3166497f0 Merge branch 'master' into keinwerkzeug 2016-02-25 17:16:12 -08:00
Peter Eckersley
556e9f2123 Rebuild leauto 2016-02-25 17:03:48 -08:00
Peter Eckersley
bcb40a890b Remove werkzeug from leauto requirements 2016-02-25 16:52:29 -08: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
Erik Rose
d4804fd9e6 Use a new file for the updated le-auto script. Fix #2456.
I prefer to err toward simplicity here. Yes, there's an assumption necessary for this to work--that the shell doesn't do multiple open() calls to the script path throughout the life of the interpreter--but I think it's reasonable. The alternative of exec-ing out to a dedicated update script which then execs back to le-auto has more moving parts (like extra files that we have to clean up) and is longer.
2016-02-25 00:15:28 -05:00
bmw
aebe4b7c73 Merge pull request #2485 from letsencrypt/arch-bootstrap
Fix minor bootstrap problems
2016-02-24 14:40:44 -08:00
Peter Eckersley
38d4b62a3f Merge pull request #2473 from dave-cz/patch-1
sudo: not found [needs revision]
2016-02-23 17:35:59 -08:00
bmw
3c43698280 Merge pull request #2486 from erikrose/peep-3.1.1
Upgrade peep to 3.1.1.
2016-02-23 08:17:57 -08:00
bmw
db4135a3ec Revert "Revert "Let --no-self-upgrade bootstrap OS packages. Fix #2432."" 2016-02-22 11:21:04 -08:00
dave-cz
eec6287d12 change in the source file 2016-02-18 09:57:06 +01:00
Brad Warren
dbc81490e5 Revert "Let --no-self-upgrade bootstrap OS packages. Fix #2432."
This reverts commit 6eb2d60166.
2016-02-16 17:10:59 -08:00
Erik Rose
c71fa44456 Upgrade peep to 3.1.1.
Fix bad LE experience reported at https://github.com/erikrose/peep/issues/119.
2016-02-16 17:51:08 -05: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
Peter Eckersley
805e85dd64 Make requirements.txt safe for editing 2016-02-16 12:34:35 -08:00
Erik Rose
e8f6d4ff39 Merge the true public suitability of --no-self-upgrade. Close #2451. 2016-02-16 15:12:26 -05:00
Erik Rose
3915e0014b Merge removal of venv on le-auto failure. Close #2450. 2016-02-16 15:02:23 -05:00
David
c83517c6f1 sudo: not found
Executed as root

    git clone https://github.com/letsencrypt/letsencrypt
    cd letsencrypt/
    ./letsencrypt-auto --help

failed with message

    ./letsencrypt-auto: 171: ./letsencrypt-auto: sudo: not found
2016-02-15 09:29:29 +01:00
Peter Eckersley
f3894fb9e9 Merge pull request #2466 from erikrose/shelly-fixes
le-auto shell style improvements
2016-02-13 10:37:58 -08:00
Erik Rose
e08aa36a4e Switch to case statement for arg parsing in le-auto.
Ported from #1751.

* It's more lines but fewer tokens, less room for quote errors, and more idiomatic (see any init.d script).
* Also, fix a bug in which any option containing "-v", e.g. --eat-vertical-pizza, would be construed as --verbose.
2016-02-12 17:36:48 -05:00
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
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
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
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
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
28ac61f37e Merge Gentoo fixes: docs, recording of deps in world set. 2016-02-11 19:10:13 -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
Peter Eckersley
74063851e3
Release 0.4.0 2016-02-10 18:48:40 -08:00
Gian Carlo Pace
d34c6779e8 added a missing space in letsencrypt-auto.template as well 2016-02-09 23:34:38 +01:00
Gian Carlo Pace
3a9f91a169 added a missing space that was causing an error in letsencrypt-auto script 2016-02-09 22:39:17 +01: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
Brad Warren
5bca100b25 Merge branch 'master' into real-py26-support 2016-02-02 12:35:28 -08:00
Erik Rose
d85883d55a Add 2.6 dependencies that were missing from le-auto. Fix #2334.
ConfigArgParse has a conditional dependency for Pythons < 2.7. On my local machine, I had a cached ConfigArgParse wheel built under 2.7, so it didn't carry those dependencies, and the pip freeze I used to determine the le-auto requirements thus missed it. From now on, we'll do those passes with --no-cache-dir.
2016-02-02 13:05:15 -05:00
Brad Warren
fa49976baf Remove need to use --debug with py26 2016-02-01 16:05:39 -08:00
Erik Rose
efd4f35782 Run le-auto tests on Travis.
* We choose a different Travis infra for one of the jobs, as in https://github.com/numpy/numpy/blob/master/.travis.yml#L49.
* We keep the language as "python" so the installation of packages (like tox, which we need) doesn't fail.
* Override the before_install to disable the dpkg stuff the other jobs need.
* adduser is redundant with `--groups sudo` above, so we delete it.
2016-02-01 13:52:56 -05: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
Peter Eckersley
cf218dd7f1
Release 0.3.0 2016-01-27 15:12:30 -08:00
Erik Rose
ac0a15d48c Add ordereddict, a conditional dependency of ConfigArgParse under Python 2.6. Ref #2200.
It doesn't hurt under 2.7.
2016-01-27 15:45:52 -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
66dbd23f2b Upgrade peep to 3.0.
This will avoid crashing when used with pip 8.x, which was released today and is already the 3rd most used client against PyPI. (7.1.2 and 1.5.4 take spots 1 and 2, respectively.)
2016-01-22 00:07:50 -05:00
Erik Rose
b20eab67ce Remove errant DS_Store. Ick. 2016-01-19 16:10:39 -05:00
Erik Rose
e9239018ec Add mock==1.0.1, the Python 2.6 compatible version, to le-auto reqs.
This should ward off the runtime crashes described in 6c05197a43.
2016-01-15 18:41:15 -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
Erik Rose
25e428ce4b Bring built le-auto up to date again. 2016-01-13 17:27:47 -05:00
Erik Rose
d8130974c7 Upgrade half-sign to sha256. Bring back old le-auto temporarily. Improve le-auto's option parsing.
If the new le-auto works well in the minutes or hours after release, we'll make another commit to master that removes the old le-auto and bootstrap scripts.

Close https://github.com/erikrose/letsencrypt/pull/2.
2016-01-13 13:12:34 -05:00
Erik Rose
86266f5fe1 Remove backported Python 2.7 assertion helpers.
I didn't backport their imports, so they had NameErrors in the failure case anyway. And, because of the docker image, these tests currently are run under only 2.7 at the moment.
2016-01-13 12:50:12 -05:00
Brad Warren
ab07620504 Fixed fake letsencrypt hash 2016-01-13 09:30:54 -08:00
Brad Warren
7945db7a2d Rebuild sdist 2016-01-13 09:30:54 -08:00
Brad Warren
e192cce1fc Fix fake letsencrypt 2016-01-13 09:30:54 -08:00
Erik Rose
2d4c21ad4f Bring built le-auto script up to date. 2016-01-13 09:30:54 -08:00
Erik Rose
a7ae4369c8 Bring built le-auto script up to date. 2016-01-12 18:16:08 -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
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
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
Peter Eckersley
e17bb27508 Remove test key 2016-01-11 09:19:21 -08:00
Peter Eckersley
0c09eaff3c Switch to real release key
(though this is still a test signature)
2016-01-10 23:18:52 -08:00
Peter Eckersley
7cfb10ba27 These signatures should be in git 2016-01-10 23:12:48 -08:00
Erik Rose
5512838377 Get le-auto tests running on Travis. 2016-01-08 17:39:51 -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