[Closed] Help test the new letsencrypt-auto script

We’re giving the letsencrypt-auto script a big refresh, and we need your help to test it. The new version…

  • Removes our dependency on git
  • Provides a signature-vouched upgrade mechanism for the install script itself
  • Verifies Python packages with sha256 and pins them to prevent regressions
  • Improves performance by avoiding unnecessary installation work
  • Makes many other fixes

It passes our automated tests and works on our own machines, but we’d like to confirm it works on your real-world setups as well. Do you have time to run 2 commands? If so, you can help out by following the instructions at the link below and posting your results in this thread.

Many thanks!

3 Likes

Ran on CentOS 7, but can’t get past the upgrade. I can paste the whole output if you really want, but the core error is as follows:

Unpacking /tmp/peep-qZn3AW/mock-1.3.0.tar.gz
Running setup.py egg_info for package from file:///tmp/peep-qZn3AW/mock-1.3.0.tar.gz
mock requires setuptools>=17.1. Aborting installation

Ubuntu 14.04.3 LTS worked OK.

Upgraded to letsencrypt 0.1.22 and running again gave;

./letsencrypt-auto --version
Checking for new version…
Requesting root privileges to run letsencrypt…
sudo /home/user/.local/share-test/letsencrypt/bin/letsencrypt --version
letsencrypt 0.1.22

On item 3 of the instructions it says try “letsencrypt --version” which gave;
-bash: letsencrypt: command not found

CentOS release 6.7
Python 2.6.6

without --debug flag doesn’t give a version number ( although does say to use the --debug flag).

using --debug

Upgrading letsencrypt-auto 0.1.21 to 0.1.22…

then;

./letsencrypt-auto --version --debug
Bootstrapping dependencies for RedHat-based OSes…
yum is /usr/bin/yum
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile

  • base: mirror.nexcess.net
  • extras: centos.firehosted.com
  • updates: mirror.thelinuxfix.com
    Package python-2.6.6-64.el6.x86_64 already installed and latest version
    Package python-devel-2.6.6-64.el6.x86_64 already installed and latest version
    No package python-virtualenv available.
    Nothing to do
    Loaded plugins: fastestmirror
    Setting up Install Process
    Loading mirror speeds from cached hostfile
  • base: mirror.nexcess.net
  • extras: mirrors.gigenet.com
  • updates: mirror.thelinuxfix.com
    Package gcc-4.4.7-16.el6.x86_64 already installed and latest version
    Package dialog-1.1-9.20080819.1.el6.x86_64 already installed and latest version
    Package augeas-libs-1.0.0-10.el6.x86_64 already installed and latest version
    Package openssl-devel-1.0.1e-42.el6_7.2.x86_64 already installed and latest version
    Package libffi-devel-3.0.5-3.2.el6.x86_64 already installed and latest version
    Package redhat-rpm-config-9.0.3-44.el6.centos.noarch already installed and latest version
    Package ca-certificates-2015.2.4-65.0.1.el6_6.noarch already installed and latest version
    Nothing to do
    Checking for new version…
    Creating virtual environment…
    ./letsencrypt-auto: line 399: virtualenv: command not found

Hello,

I’ve tested it on 3 machines:

  1. Debian 8.2 64bits (OK)
  2. Debian 7.9 32bits (FAIL)
  3. Ubuntu 12.04.5 LTS 64bits (FAIL)

Below the logs for each OS:

1. Test on Debian 8.2 (jessie) 64bits (result OK)

root@nube ~/test-letsencrypt-auto# ./letsencrypt-auto --version
Bootstrapping dependencies for Debian-based OSes...
[...]
Fetched 453 kB in 3s (127 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
libaugeas0 is already the newest version.
ca-certificates is already the newest version.
dialog is already the newest version.
gcc is already the newest version.
libffi-dev is already the newest version.
python is already the newest version.
python-dev is already the newest version.
python-virtualenv is already the newest version.
virtualenv is already the newest version.
libssl-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Checking for new version...
Upgrading letsencrypt-auto 0.1.21 to 0.1.22...
Replacing letsencrypt-auto...
   cp /tmp/tmp.FTlIe24WWK/letsencrypt-auto ./letsencrypt-auto
Creating virtual environment...
Installing Python packages...
Requesting root privileges to run letsencrypt...
   /root/.local/share-test/letsencrypt/bin/letsencrypt --version
letsencrypt 0.1.22
root@nube ~/test-letsencrypt-auto# ./letsencrypt-auto --version
Checking for new version...
Requesting root privileges to run letsencrypt...
   /root/.local/share-test/letsencrypt/bin/letsencrypt --version
letsencrypt 0.1.22
root@nube ~/test-letsencrypt-auto#

2. Test on Debian 7.9 (wheezy) 32bits (result FAIL)

[a2b2][root:test-letsencrypt-auto]# ./letsencrypt-auto --version
Bootstrapping dependencies for Debian-based OSes...
[...]
Descargados 1.144 kB en 14seg. (78,1 kB/s)
Leyendo lista de paquetes... Hecho
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
  augeas-lenses
Paquetes sugeridos:
  augeas-doc augeas-tools
Se actualizarán los siguientes paquetes:
  augeas-lenses libaugeas0
2 actualizados, 0 se instalarán, 0 para eliminar y 69 no actualizados.
Necesito descargar 678 kB de archivos.
Se utilizarán 575 kB de espacio de disco adicional después de esta operación.
Des:1 http://http.debian.net/debian/ wheezy-backports/main augeas-lenses all 1.2.0-0.2~bpo70+2 [387 kB]
Des:2 http://http.debian.net/debian/ wheezy-backports/main libaugeas0 i386 1.2.0-0.2~bpo70+2 [291 kB]
Descargados 678 kB en 0seg. (1.971 kB/s)
Leyendo lista de cambios... Hecho.
(Leyendo la base de datos ... 79820 ficheros o directorios instalados actualmente.)
Preparando para reemplazar augeas-lenses 0.10.0-1 (usando .../augeas-lenses_1.2.0-0.2~bpo70+2_all.deb) ...
Desempaquetando el reemplazo de augeas-lenses ...
Preparando para reemplazar libaugeas0 0.10.0-1 (usando .../libaugeas0_1.2.0-0.2~bpo70+2_i386.deb) ...
Desempaquetando el reemplazo de libaugeas0 ...
Configurando augeas-lenses (1.2.0-0.2~bpo70+2) ...
Configurando libaugeas0 (1.2.0-0.2~bpo70+2) ...
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
ca-certificates ya está en su versión más reciente.
dialog ya está en su versión más reciente.
gcc ya está en su versión más reciente.
libffi-dev ya está en su versión más reciente.
python ya está en su versión más reciente.
python-dev ya está en su versión más reciente.
python-virtualenv ya está en su versión más reciente.
Se instalarán los siguientes paquetes extras:
  libssl1.0.0
Se actualizarán los siguientes paquetes:
  libssl-dev libssl1.0.0
2 actualizados, 0 se instalarán, 0 para eliminar y 2 no actualizados.
Necesito descargar 4.640 kB de archivos.
Se utilizarán 0 B de espacio de disco adicional después de esta operación.
Des:1 http://security.debian.org/ wheezy/updates/main libssl-dev i386 1.0.1e-2+deb7u19 [1.595 kB]
Des:2 http://security.debian.org/ wheezy/updates/main libssl1.0.0 i386 1.0.1e-2+deb7u19 [3.044 kB]
Descargados 4.640 kB en 0seg. (7.863 kB/s)
Leyendo lista de cambios... Hecho.
Preconfigurando paquetes ...
(Leyendo la base de datos ... 79963 ficheros o directorios instalados actualmente.)
Preparando para reemplazar libssl-dev 1.0.1e-2+deb7u18 (usando .../libssl-dev_1.0.1e-2+deb7u19_i386.deb) ...
Desempaquetando el reemplazo de libssl-dev ...
Preparando para reemplazar libssl1.0.0:i386 1.0.1e-2+deb7u18 (usando .../libssl1.0.0_1.0.1e-2+deb7u19_i386.deb) ...
Desempaquetando el reemplazo de libssl1.0.0:i386 ...
Configurando libssl1.0.0:i386 (1.0.1e-2+deb7u19) ...
Configurando libssl-dev (1.0.1e-2+deb7u19) ...
Checking for new version...
Upgrading letsencrypt-auto 0.1.21 to 0.1.22...
Replacing letsencrypt-auto...
   cp /tmp/tmp.yGO3JMVfKe/letsencrypt-auto ./letsencrypt-auto
Creating virtual environment...
Installing Python packages...
Had a problem while downloading and verifying Python packages:
Downloading cffi==1.3.1 (351K)... Downloading ConfigArgParse==0.10.0 (36K)... Downloading configobj==5.0.6 (33K)... Downloading cryptography==1.1.1 (348K)... Downloading enum34==1.1.1 (46K)... Downloading funcsigs==0.4 (25K)... Downloading idna==2.0 (135K)... Downloading ipaddress==1.0.15 (30K)... Downloading mock==1.3.0 (70K)... Downloading ndg-httpsclient==0.4.0 (24K)... Downloading parsedatetime==1.5 (52K)... Downloading pbr==1.8.1 (104K)... Downloading psutil==3.3.0 (261K)... Downloading pyasn1==0.1.9 (75K)... Downloading pycparser==2.14 (223K)... Downloading pyOpenSSL==0.15.1 (149K)... Downloading pyRFC3339==1.0 (9K)... Downloading python-augeas==0.5.0 (90K)... Downloading python2-pythondialog==3.3.0 (1831K)... Downloading pytz==2015.7 (156K)... Downloading requests==2.8.1 (480K)... Downloading six==1.10.0 (29K)... Downloading Werkzeug==0.11.2 (1152K)... Downloading zope.component==4.2.2 (546K)... Downloading zope.event==4.1.0 (476K)... Downloading zope.interface==4.1.3 (141K)... Downloading acme==0.1.22 (83K)... Downloading letsencrypt==0.1.22 (170K)... Downloading letsencrypt-apache==0.1.22 (72K)... Unpacking /tmp/peep-znbx23/cffi-1.3.1.tar.gz Running setup.py egg_info for package from file:///tmp/peep-znbx23/cffi-1.3.1.tar.gz Installing collected packages: cffi Running setup.py install for cffi building '_cffi_backend' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-i686-2.7/c/_cffi_backend.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-i686-2.7/c/_cffi_backend.o -lffi -o build/lib.linux-i686-2.7/_cffi_backend.so Successfully installed cffi Cleaning up... Unpacking /tmp/peep-uiqxGI/ConfigArgParse-0.10.0.tar.gz Running setup.py egg_info for package from file:///tmp/peep-uiqxGI/ConfigArgParse-0.10.0.tar.gz Installing collected packages: ConfigArgParse Running setup.py install for ConfigArgParse Successfully installed ConfigArgParse Cleaning up... Unpacking /tmp/peep-RlpEHX/configobj-5.0.6.tar.gz Running setup.py egg_info for package from file:///tmp/peep-RlpEHX/configobj-5.0.6.tar.gz Installing collected packages: configobj Running setup.py install for configobj Successfully installed configobj Cleaning up... Unpacking /tmp/peep-X_1RFO/cryptography-1.1.1.tar.gz Running setup.py egg_info for package from file:///tmp/peep-X_1RFO/cryptography-1.1.1.tar.gz no previously-included directories found matching 'docs/_build' warning: no previously-included files matching '*' found under directory 'vectors' Installing collected packages: cryptography Running setup.py install for cryptography warning: no previously-included files matching 'yacctab.*' found under directory 'tests' warning: no previously-included files matching 'lextab.*' found under directory 'tests' warning: no previously-included files matching 'yacctab.*' found under directory 'examples' warning: no previously-included files matching 'lextab.*' found under directory 'examples' zip_safe flag not set; analyzing archive contents... Installed /tmp/pip-Dy9e_D-build/pycparser-2.14-py2.7.egg no previously-included directories found matching 'docs/_build' warning: no previously-included files matching '*' found under directory 'vectors' generating cffi module 'build/temp.linux-i686-2.7/_padding.c' generating cffi module 'build/temp.linux-i686-2.7/_constant_time.c' generating cffi module 'build/temp.linux-i686-2.7/_openssl.c' building '_openssl' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-i686-2.7/_openssl.c -o build/temp.linux-i686-2.7/build/temp.linux-i686-2.7/_openssl.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-i686-2.7/build/temp.linux-i686-2.7/_openssl.o -lssl -lcrypto -o build/lib.linux-i686-2.7/cryptography/hazmat/bindings/_openssl.so building '_constant_time' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-i686-2.7/_constant_time.c -o build/temp.linux-i686-2.7/build/temp.linux-i686-2.7/_constant_time.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-i686-2.7/build/temp.linux-i686-2.7/_constant_time.o -o build/lib.linux-i686-2.7/cryptography/hazmat/bindings/_constant_time.so building '_padding' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-i686-2.7/_padding.c -o build/temp.linux-i686-2.7/build/temp.linux-i686-2.7/_padding.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-i686-2.7/build/temp.linux-i686-2.7/_padding.o -o build/lib.linux-i686-2.7/cryptography/hazmat/bindings/_padding.so Successfully installed cryptography Cleaning up... Unpacking /tmp/peep-K_U_pE/enum34-1.1.1.tar.gz Running setup.py egg_info for package from file:///tmp/peep-K_U_pE/enum34-1.1.1.tar.gz Installing collected packages: enum34 Running setup.py install for enum34 Successfully installed enum34 Cleaning up... Unpacking /tmp/peep-l6aDIT/funcsigs-0.4.tar.gz Running setup.py egg_info for package from file:///tmp/peep-l6aDIT/funcsigs-0.4.tar.gz Installing collected packages: funcsigs Running setup.py install for funcsigs Successfully installed funcsigs Cleaning up... Unpacking /tmp/peep-Fvb8Mc/idna-2.0.tar.gz Running setup.py egg_info for package from file:///tmp/peep-Fvb8Mc/idna-2.0.tar.gz warning: no previously-included files matching '*.pyc' found under directory 'tools' warning: no previously-included files matching '*.pyc' found under directory 'tests' Installing collected packages: idna Running setup.py install for idna warning: no previously-included files matching '*.pyc' found under directory 'tools' warning: no previously-included files matching '*.pyc' found under directory 'tests' Successfully installed idna Cleaning up... Unpacking /tmp/peep-dECgh9/ipaddress-1.0.15.tar.gz Running setup.py egg_info for package from file:///tmp/peep-dECgh9/ipaddress-1.0.15.tar.gz Installing collected packages: ipaddress Running setup.py install for ipaddress Successfully installed ipaddress Cleaning up... Unpacking /tmp/peep-fKtz7S/mock-1.3.0.tar.gz Running setup.py egg_info for package from file:///tmp/peep-fKtz7S/mock-1.3.0.tar.gz mock requires setuptools>=17.1. Aborting installation Complete output from command python setup.py egg_info: mock requires setuptools>=17.1. Aborting installation ---------------------------------------- Command python setup.py egg_info failed with error code 1 in /tmp/pip-GFqD7D-build Storing complete log in /root/.pip/pip.log

Content of /root/.pip/pip.log

[a2b2][root:test-letsencrypt-auto]# cat /root/.pip/pip.log
Unpacking /tmp/peep-fKtz7S/mock-1.3.0.tar.gz

  Running setup.py egg_info for package from file:///tmp/peep-fKtz7S/mock-1.3.0.tar.gz

    mock requires setuptools>=17.1. Aborting installation

    Complete output from command python setup.py egg_info:

    mock requires setuptools>=17.1. Aborting installation

----------------------------------------

Command python setup.py egg_info failed with error code 1 in /tmp/pip-GFqD7D-build

Exception information:
Traceback (most recent call last):
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 104, in main
    status = self.run(options, args)
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/commands/install.py", line 245, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 1009, in prepare_files
    req_to_install.run_egg_info()
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 225, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/__init__.py", line 256, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in /tmp/pip-GFqD7D-build

3. Test on Ubuntu 12.04.5 LTS (precise pangolin) 64bits (result FAIL)

root@ubuntu:~/test-letsencrypt-auto# ./letsencrypt-auto --version
Bootstrapping dependencies for Debian-based OSes...
Get:1 http://security.ubuntu.com precise-security Release.gpg [198 B]
[...]
Fetched 6,149 kB in 24s (254 kB/s)
Reading package lists... Done
No LSB modules are available.
No libaugeas0 version is available that's new enough to run the
Let's Encrypt apache plugin...
Reading package lists... Done
Building dependency tree
Reading state information... Done
gcc is already the newest version.
libaugeas0 is already the newest version.
libffi-dev is already the newest version.
dialog is already the newest version.
python-virtualenv is already the newest version.
ca-certificates is already the newest version.
libssl-dev is already the newest version.
python is already the newest version.
python-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Checking for new version...
Upgrading letsencrypt-auto 0.1.21 to 0.1.22...
Replacing letsencrypt-auto...
   cp /tmp/tmp.Fd32wOOg6z/letsencrypt-auto ./letsencrypt-auto
Creating virtual environment...
Installing Python packages...
Had a problem while downloading and verifying Python packages:
Downloading cffi==1.3.1 (351K)... Downloading ConfigArgParse==0.10.0 (36K)... Downloading configobj==5.0.6 (33K)... Downloading cryptography==1.1.1 (348K)... Downloading enum34==1.1.1 (46K)... Downloading funcsigs==0.4 (25K)... Downloading idna==2.0 (135K)... Downloading ipaddress==1.0.15 (30K)... Downloading mock==1.3.0 (70K)... Downloading ndg-httpsclient==0.4.0 (24K)... Downloading parsedatetime==1.5 (52K)... Downloading pbr==1.8.1 (104K)... Downloading psutil==3.3.0 (261K)... Downloading pyasn1==0.1.9 (75K)... Downloading pycparser==2.14 (223K)... Downloading pyOpenSSL==0.15.1 (149K)... Downloading pyRFC3339==1.0 (9K)... Downloading python-augeas==0.5.0 (90K)... Downloading python2-pythondialog==3.3.0 (1831K)... Downloading pytz==2015.7 (156K)... Downloading requests==2.8.1 (480K)... Downloading six==1.10.0 (29K)... Downloading Werkzeug==0.11.2 (1152K)... Downloading zope.component==4.2.2 (546K)... Downloading zope.event==4.1.0 (476K)... Downloading zope.interface==4.1.3 (141K)... Downloading acme==0.1.22 (83K)... Downloading letsencrypt==0.1.22 (170K)... Downloading letsencrypt-apache==0.1.22 (72K)... Unpacking /tmp/peep-Hyt5NY/cffi-1.3.1.tar.gz Running setup.py egg_info for package from file:///tmp/peep-Hyt5NY/cffi-1.3.1.tar.gz Installing collected packages: cffi Running setup.py install for cffi building '_cffi_backend' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/c/_cffi_backend.o -lffi -o build/lib.linux-x86_64-2.7/_cffi_backend.so Successfully installed cffi Cleaning up... Unpacking /tmp/peep-4jZs4m/ConfigArgParse-0.10.0.tar.gz Running setup.py egg_info for package from file:///tmp/peep-4jZs4m/ConfigArgParse-0.10.0.tar.gz Installing collected packages: ConfigArgParse Running setup.py install for ConfigArgParse Successfully installed ConfigArgParse Cleaning up... Unpacking /tmp/peep-x_RO_O/configobj-5.0.6.tar.gz Running setup.py egg_info for package from file:///tmp/peep-x_RO_O/configobj-5.0.6.tar.gz Installing collected packages: configobj Running setup.py install for configobj Successfully installed configobj Cleaning up... Unpacking /tmp/peep-UAc5e_/cryptography-1.1.1.tar.gz Running setup.py egg_info for package from file:///tmp/peep-UAc5e_/cryptography-1.1.1.tar.gz no previously-included directories found matching 'docs/_build' warning: no previously-included files matching '*' found under directory 'vectors' Installing collected packages: cryptography Running setup.py install for cryptography warning: no previously-included files matching 'yacctab.*' found under directory 'tests' warning: no previously-included files matching 'lextab.*' found under directory 'tests' warning: no previously-included files matching 'yacctab.*' found under directory 'examples' warning: no previously-included files matching 'lextab.*' found under directory 'examples' zip_safe flag not set; analyzing archive contents... Installed /tmp/pip-QfoAKF-build/pycparser-2.14-py2.7.egg no previously-included directories found matching 'docs/_build' warning: no previously-included files matching '*' found under directory 'vectors' generating cffi module 'build/temp.linux-x86_64-2.7/_padding.c' generating cffi module 'build/temp.linux-x86_64-2.7/_constant_time.c' generating cffi module 'build/temp.linux-x86_64-2.7/_openssl.c' building '_openssl' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_openssl.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.o -lssl -lcrypto -o build/lib.linux-x86_64-2.7/cryptography/hazmat/bindings/_openssl.so building '_constant_time' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_constant_time.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_constant_time.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_constant_time.o -o build/lib.linux-x86_64-2.7/cryptography/hazmat/bindings/_constant_time.so building '_padding' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_padding.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_padding.o gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_padding.o -o build/lib.linux-x86_64-2.7/cryptography/hazmat/bindings/_padding.so Successfully installed cryptography Cleaning up... Unpacking /tmp/peep-2Pp7lT/enum34-1.1.1.tar.gz Running setup.py egg_info for package from file:///tmp/peep-2Pp7lT/enum34-1.1.1.tar.gz Installing collected packages: enum34 Running setup.py install for enum34 Successfully installed enum34 Cleaning up... Unpacking /tmp/peep-dZs3Tc/funcsigs-0.4.tar.gz Running setup.py egg_info for package from file:///tmp/peep-dZs3Tc/funcsigs-0.4.tar.gz Installing collected packages: funcsigs Running setup.py install for funcsigs Successfully installed funcsigs Cleaning up... Unpacking /tmp/peep-ZDZemr/idna-2.0.tar.gz Running setup.py egg_info for package from file:///tmp/peep-ZDZemr/idna-2.0.tar.gz warning: no previously-included files matching '*.pyc' found under directory 'tools' warning: no previously-included files matching '*.pyc' found under directory 'tests' Installing collected packages: idna Running setup.py install for idna warning: no previously-included files matching '*.pyc' found under directory 'tools' warning: no previously-included files matching '*.pyc' found under directory 'tests' Successfully installed idna Cleaning up... Unpacking /tmp/peep-wJNEJs/ipaddress-1.0.15.tar.gz Running setup.py egg_info for package from file:///tmp/peep-wJNEJs/ipaddress-1.0.15.tar.gz Installing collected packages: ipaddress Running setup.py install for ipaddress Successfully installed ipaddress Cleaning up... Unpacking /tmp/peep-tgAwDl/mock-1.3.0.tar.gz Running setup.py egg_info for package from file:///tmp/peep-tgAwDl/mock-1.3.0.tar.gz mock requires setuptools>=17.1. Aborting installation Complete output from command python setup.py egg_info: mock requires setuptools>=17.1. Aborting installation ---------------------------------------- Command python setup.py egg_info failed with error code 1 in /tmp/pip-FcnYNr-build Storing complete log in /root/.pip/pip.log
root@ubuntu:~/test-letsencrypt-auto#

Content of /root/.pip/pip.log

root@ubuntu:~/test-letsencrypt-auto# cat /root/.pip/pip.log
Unpacking /tmp/peep-tgAwDl/mock-1.3.0.tar.gz

  Running setup.py egg_info for package from file:///tmp/peep-tgAwDl/mock-1.3.0.tar.gz

    mock requires setuptools>=17.1. Aborting installation

    Complete output from command python setup.py egg_info:

    mock requires setuptools>=17.1. Aborting installation

----------------------------------------

Command python setup.py egg_info failed with error code 1 in /tmp/pip-FcnYNr-build

Exception information:
Traceback (most recent call last):
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/basecommand.py", line 104, in main
    status = self.run(options, args)
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/commands/install.py", line 245, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 1009, in prepare_files
    req_to_install.run_egg_info()
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/req.py", line 225, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/__init__.py", line 256, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in /tmp/pip-FcnYNr-build
root@ubuntu:~/test-letsencrypt-auto#

Cheers,
sahsanu

That’s a success! We didn’t mean for you to manually run letsencrypt --version; I’ve reworded the instructions to make it clearer. Thanks for the report!

I’m going to see about removing mock from the le-auto manifest since it’s causing trouble. It’s used only for tests, so we were going to take it out anyway. Thanks for the excellent, detailed reports!

I tried it on Debian Unstable on amd64. It seems to be hitting the same issue as https://github.com/letsencrypt/letsencrypt/issues/1646

bminton.is-a-geek.net:~/tmp$ wget https://raw.githubusercontent.com/erikrose/letsencrypt/letsencrypt-auto-release-testing-0.1.21/letsencrypt_auto/letsencrypt-auto
--2016-01-08 17:58:40--  https://raw.githubusercontent.com/erikrose/letsencrypt/letsencrypt-auto-release-testing-0.1.21/letsencrypt_auto/letsencrypt-auto
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 23.235.39.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|23.235.39.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 63610 (62K) [text/plain]
Saving to: ‘letsencrypt-auto’

letsencrypt-auto                 100%[==========================================================>]  62.12K   169KB/s    in 0.4s    

2016-01-08 17:58:41 (169 KB/s) - ‘letsencrypt-auto’ saved [63610/63610]

bminton.is-a-geek.net:~/tmp$ chmod +x letsencrypt-auto 
bminton.is-a-geek.net:~/tmp$ ./letsencrypt-auto --version
Checking for new version...
Upgrading letsencrypt-auto 0.1.21 to 0.1.22...
Replacing letsencrypt-auto...
   sudo cp /tmp/tmp.VuqGR1agmn/letsencrypt-auto ./letsencrypt-auto
Creating virtual environment...
Installing Python packages...
Requesting root privileges to run letsencrypt...
   sudo /home/bminton/.local/share-test/letsencrypt/bin/letsencrypt --version
Traceback (most recent call last):
  File "/home/bminton/.local/share-test/letsencrypt/bin/letsencrypt", line 7, in 
    from letsencrypt.cli import main
  File "/home/bminton/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/cli.py", line 19, in 
    import OpenSSL
  File "/home/bminton/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in 
    from OpenSSL import rand, crypto, SSL
  File "/home/bminton/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/OpenSSL/rand.py", line 11, in 
    from OpenSSL._util import (
  File "/home/bminton/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in 
    from cryptography.hazmat.bindings.openssl.binding import Binding
  File "/home/bminton/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 13, in 
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /home/bminton/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so: undefined symbol: SSLv2_client_method

In BootstrapGentooCommon() you’re emerge-ing dependencies with the --noreplace switch. This causes the following:

gerjan@gentootest ~ $ ./letsencrypt-auto --debug
"sudo" is not available, will use “su” for installation steps…
Bootstrapping dependencies via Gentoo…
Password:

  • IMPORTANT: 16 news items need reading for repository ‘gentoo’.
  • Use eselect news read to view new items.

Calculating dependencies… done!

Recording app-admin/augeas in “world” favorites file…
Recording app-misc/ca-certificates in “world” favorites file…
Recording dev-lang/python:2.7 in “world” favorites file…
Recording dev-libs/libffi in “world” favorites file…
Recording dev-libs/openssl in “world” favorites file…
Recording dev-util/dialog in “world” favorites file…
Recording virtual/pkgconfig in “world” favorites file…

Verifying ebuild manifests

Emerging (1 of 1) dev-python/virtualenv-13.1.2::gentoo
(…)

Here you’re seeing 7 packages (dependencies of other packages) which were already installed on my testing machine (VirtualBox) being recorded in the world file. This is unwanted behaviour.

For dependencies, you should add the --oneshot switch. (Valid for emerge and, as far as I know also forpmerge. See my PR on GitHub for a commit to letsencrypt-auto.) However, if a package doesn’t depend on another package, it can be deinstalled when the user runs emerge --depclean. I’ll check for a solution for preventing already installed packages being recorded in the world file, while new packages still will be recorded…

Furthermore, the client runs on Gentoo.

Ran successfully on Amazon Linux (clean install):

Bootstrapping dependencies via Amazon Linux…
yum is /usr/bin/yum
Loaded plugins: priorities, update-motd, upgrade-helper
Resolving Dependencies
–> Running transaction check
—> Package python26.x86_64 0:2.6.9-2.84.amzn1 will be installed
–> Processing Dependency: libpython2.6.so.1.0()(64bit) for package: python26-2.6.9-2.84.amzn1.x86_64
—> Package python26-devel.x86_64 0:2.6.9-2.84.amzn1 will be installed
—> Package python26-virtualenv.noarch 0:12.0.7-1.10.amzn1 will be installed
–> Processing Dependency: python26-setuptools for package: python26-virtualenv-12.0.7-1.10.amzn1.noarch
–> Processing Dependency: python26-pip for package: python26-virtualenv-12.0.7-1.10.amzn1.noarch
–> Running transaction check
—> Package python26-libs.x86_64 0:2.6.9-2.84.amzn1 will be installed
—> Package python26-pip.noarch 0:6.1.1-1.21.amzn1 will be installed
–> Processing Dependency: python26-backports-ssl_match_hostname for package: python26-pip-6.1.1-1.21.amzn1.noarch
—> Package python26-setuptools.noarch 0:12.2-1.30.amzn1 will be installed
–> Running transaction check
—> Package python26-backports-ssl_match_hostname.noarch 0:3.4.0.2-1.12.amzn1 will be installed
–> Processing Dependency: python26-backports for package: python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch
–> Running transaction check
—> Package python26-backports.x86_64 0:1.0-3.14.amzn1 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================
Package Arch Version Repository Size

Installing:
python26 x86_64 2.6.9-2.84.amzn1 amzn-updates 5.8 M
python26-devel x86_64 2.6.9-2.84.amzn1 amzn-updates 184 k
python26-virtualenv noarch 12.0.7-1.10.amzn1 amzn-main 2.0 M
Installing for dependencies:
python26-backports x86_64 1.0-3.14.amzn1 amzn-main 5.2 k
python26-backports-ssl_match_hostname noarch 3.4.0.2-1.12.amzn1 amzn-main 12 k
python26-libs x86_64 2.6.9-2.84.amzn1 amzn-updates 696 k
python26-pip noarch 6.1.1-1.21.amzn1 amzn-main 1.9 M
python26-setuptools noarch 12.2-1.30.amzn1 amzn-main 582 k

Transaction Summary

Install 3 Packages (+5 Dependent packages)

Total download size: 11 M
Installed size: 32 M
Downloading packages:
(1/8): python26-2.6.9-2.84.amzn1.x86_64.rpm | 5.8 MB 00:00
(2/8): python26-backports-1.0-3.14.amzn1.x86_64.rpm | 5.2 kB 00:00
(3/8): python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch.rpm | 12 kB 00:00
(4/8): python26-devel-2.6.9-2.84.amzn1.x86_64.rpm | 184 kB 00:00
(5/8): python26-libs-2.6.9-2.84.amzn1.x86_64.rpm | 696 kB 00:00
(6/8): python26-pip-6.1.1-1.21.amzn1.noarch.rpm | 1.9 MB 00:00
(7/8): python26-setuptools-12.2-1.30.amzn1.noarch.rpm | 582 kB 00:00
(8/8): python26-virtualenv-12.0.7-1.10.amzn1.noarch.rpm | 2.0 MB 00:00

Total 28 MB/s | 11 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : python26-libs-2.6.9-2.84.amzn1.x86_64 1/8
Installing : python26-2.6.9-2.84.amzn1.x86_64 2/8
Installing : python26-devel-2.6.9-2.84.amzn1.x86_64 3/8
Installing : python26-backports-1.0-3.14.amzn1.x86_64 4/8
Installing : python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch 5/8
Installing : python26-setuptools-12.2-1.30.amzn1.noarch 6/8
Installing : python26-pip-6.1.1-1.21.amzn1.noarch 7/8
Installing : python26-virtualenv-12.0.7-1.10.amzn1.noarch 8/8
Verifying : python26-2.6.9-2.84.amzn1.x86_64 1/8
Verifying : python26-setuptools-12.2-1.30.amzn1.noarch 2/8
Verifying : python26-libs-2.6.9-2.84.amzn1.x86_64 3/8
Verifying : python26-virtualenv-12.0.7-1.10.amzn1.noarch 4/8
Verifying : python26-pip-6.1.1-1.21.amzn1.noarch 5/8
Verifying : python26-devel-2.6.9-2.84.amzn1.x86_64 6/8
Verifying : python26-backports-1.0-3.14.amzn1.x86_64 7/8
Verifying : python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch 8/8

Installed:
python26.x86_64 0:2.6.9-2.84.amzn1 python26-devel.x86_64 0:2.6.9-2.84.amzn1
python26-virtualenv.noarch 0:12.0.7-1.10.amzn1

Dependency Installed:
python26-backports.x86_64 0:1.0-3.14.amzn1 python26-backports-ssl_match_hostname.noarch 0:3.4.0.2-1.12.amzn1
python26-libs.x86_64 0:2.6.9-2.84.amzn1 python26-pip.noarch 0:6.1.1-1.21.amzn1
python26-setuptools.noarch 0:12.2-1.30.amzn1

Complete!
Loaded plugins: priorities, update-motd, upgrade-helper
Package ca-certificates-2015.2.4-65.0.1.14.amzn1.noarch already installed and latest version
Resolving Dependencies
–> Running transaction check
—> Package augeas-libs.x86_64 0:1.0.0-5.7.amzn1 will be installed
—> Package dialog.x86_64 0:1.1-9.20080819.1.5.amzn1 will be installed
—> Package gcc.noarch 0:4.8.3-3.20.amzn1 will be installed
–> Processing Dependency: gcc48 = 4.8.3 for package: gcc-4.8.3-3.20.amzn1.noarch
—> Package libffi-devel.x86_64 0:3.0.13-11.4.amzn1 will be installed
—> Package openssl-devel.x86_64 1:1.0.1k-13.88.amzn1 will be installed
–> Processing Dependency: zlib-devel(x86-64) for package: 1:openssl-devel-1.0.1k-13.88.amzn1.x86_64
–> Processing Dependency: krb5-devel(x86-64) for package: 1:openssl-devel-1.0.1k-13.88.amzn1.x86_64
—> Package system-rpm-config.noarch 0:9.0.3-42.27.amzn1 will be installed
–> Running transaction check
—> Package gcc48.x86_64 0:4.8.3-9.109.amzn1 will be installed
–> Processing Dependency: cpp48(x86-64) = 4.8.3-9.109.amzn1 for package: gcc48-4.8.3-9.109.amzn1.x86_64
–> Processing Dependency: libgomp(x86-64) >= 4.8.3-9.109.amzn1 for package: gcc48-4.8.3-9.109.amzn1.x86_64
–> Processing Dependency: glibc-devel(x86-64) >= 2.2.90-12 for package: gcc48-4.8.3-9.109.amzn1.x86_64
–> Processing Dependency: libmpc.so.3()(64bit) for package: gcc48-4.8.3-9.109.amzn1.x86_64
–> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc48-4.8.3-9.109.amzn1.x86_64
—> Package krb5-devel.x86_64 0:1.13.2-10.39.amzn1 will be installed
–> Processing Dependency: libverto-devel for package: krb5-devel-1.13.2-10.39.amzn1.x86_64
–> Processing Dependency: libcom_err-devel for package: krb5-devel-1.13.2-10.39.amzn1.x86_64
–> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.13.2-10.39.amzn1.x86_64
–> Processing Dependency: libselinux-devel for package: krb5-devel-1.13.2-10.39.amzn1.x86_64
—> Package zlib-devel.x86_64 0:1.2.8-7.18.amzn1 will be installed
–> Running transaction check
—> Package cpp48.x86_64 0:4.8.3-9.109.amzn1 will be installed
—> Package glibc-devel.x86_64 0:2.17-106.163.amzn1 will be installed
–> Processing Dependency: glibc-headers = 2.17-106.163.amzn1 for package: glibc-devel-2.17-106.163.amzn1.x86_64
–> Processing Dependency: glibc-headers for package: glibc-devel-2.17-106.163.amzn1.x86_64
—> Package keyutils-libs-devel.x86_64 0:1.5.8-3.12.amzn1 will be installed
—> Package libcom_err-devel.x86_64 0:1.42.12-4.40.amzn1 will be installed
—> Package libgomp.x86_64 0:4.8.3-9.109.amzn1 will be installed
—> Package libmpc.x86_64 0:1.0.1-3.3.amzn1 will be installed
—> Package libselinux-devel.x86_64 0:2.1.10-3.22.amzn1 will be installed
–> Processing Dependency: libsepol-devel >= 2.1.5-1 for package: libselinux-devel-2.1.10-3.22.amzn1.x86_64
–> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.1.10-3.22.amzn1.x86_64
—> Package libverto-devel.x86_64 0:0.2.5-4.9.amzn1 will be installed
—> Package mpfr.x86_64 0:3.1.1-4.14.amzn1 will be installed
–> Running transaction check
—> Package glibc-headers.x86_64 0:2.17-106.163.amzn1 will be installed
–> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-106.163.amzn1.x86_64
–> Processing Dependency: kernel-headers for package: glibc-headers-2.17-106.163.amzn1.x86_64
—> Package libsepol-devel.x86_64 0:2.1.7-3.12.amzn1 will be installed
–> Running transaction check
—> Package kernel-headers.x86_64 0:4.1.13-19.30.amzn1 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================
Package Arch Version Repository Size

Installing:
augeas-libs x86_64 1.0.0-5.7.amzn1 amzn-main 345 k
dialog x86_64 1.1-9.20080819.1.5.amzn1 amzn-main 205 k
gcc noarch 4.8.3-3.20.amzn1 amzn-main 3.9 k
libffi-devel x86_64 3.0.13-11.4.amzn1 amzn-main 23 k
openssl-devel x86_64 1:1.0.1k-13.88.amzn1 amzn-updates 1.5 M
system-rpm-config noarch 9.0.3-42.27.amzn1 amzn-main 63 k
Installing for dependencies:
cpp48 x86_64 4.8.3-9.109.amzn1 amzn-main 6.7 M
gcc48 x86_64 4.8.3-9.109.amzn1 amzn-main 17 M
glibc-devel x86_64 2.17-106.163.amzn1 amzn-updates 1.1 M
glibc-headers x86_64 2.17-106.163.amzn1 amzn-updates 734 k
kernel-headers x86_64 4.1.13-19.30.amzn1 amzn-updates 1.0 M
keyutils-libs-devel x86_64 1.5.8-3.12.amzn1 amzn-main 37 k
krb5-devel x86_64 1.13.2-10.39.amzn1 amzn-updates 700 k
libcom_err-devel x86_64 1.42.12-4.40.amzn1 amzn-main 35 k
libgomp x86_64 4.8.3-9.109.amzn1 amzn-main 175 k
libmpc x86_64 1.0.1-3.3.amzn1 amzn-main 53 k
libselinux-devel x86_64 2.1.10-3.22.amzn1 amzn-main 157 k
libsepol-devel x86_64 2.1.7-3.12.amzn1 amzn-main 70 k
libverto-devel x86_64 0.2.5-4.9.amzn1 amzn-main 11 k
mpfr x86_64 3.1.1-4.14.amzn1 amzn-main 237 k
zlib-devel x86_64 1.2.8-7.18.amzn1 amzn-main 53 k

Transaction Summary

Install 6 Packages (+15 Dependent packages)

Total download size: 30 M
Installed size: 57 M
Downloading packages:
(1/21): augeas-libs-1.0.0-5.7.amzn1.x86_64.rpm | 345 kB 00:00
(2/21): cpp48-4.8.3-9.109.amzn1.x86_64.rpm | 6.7 MB 00:00
(3/21): dialog-1.1-9.20080819.1.5.amzn1.x86_64.rpm | 205 kB 00:00
(4/21): gcc-4.8.3-3.20.amzn1.noarch.rpm | 3.9 kB 00:00
(5/21): gcc48-4.8.3-9.109.amzn1.x86_64.rpm | 17 MB 00:00
(6/21): glibc-devel-2.17-106.163.amzn1.x86_64.rpm | 1.1 MB 00:00
(7/21): glibc-headers-2.17-106.163.amzn1.x86_64.rpm | 734 kB 00:00
(8/21): kernel-headers-4.1.13-19.30.amzn1.x86_64.rpm | 1.0 MB 00:00
(9/21): keyutils-libs-devel-1.5.8-3.12.amzn1.x86_64.rpm | 37 kB 00:00
(10/21): krb5-devel-1.13.2-10.39.amzn1.x86_64.rpm | 700 kB 00:00
(11/21): libcom_err-devel-1.42.12-4.40.amzn1.x86_64.rpm | 35 kB 00:00
(12/21): libffi-devel-3.0.13-11.4.amzn1.x86_64.rpm | 23 kB 00:00
(13/21): libgomp-4.8.3-9.109.amzn1.x86_64.rpm | 175 kB 00:00
(14/21): libmpc-1.0.1-3.3.amzn1.x86_64.rpm | 53 kB 00:00
(15/21): libselinux-devel-2.1.10-3.22.amzn1.x86_64.rpm | 157 kB 00:00
(16/21): libsepol-devel-2.1.7-3.12.amzn1.x86_64.rpm | 70 kB 00:00
(17/21): libverto-devel-0.2.5-4.9.amzn1.x86_64.rpm | 11 kB 00:00
(18/21): mpfr-3.1.1-4.14.amzn1.x86_64.rpm | 237 kB 00:00
(19/21): openssl-devel-1.0.1k-13.88.amzn1.x86_64.rpm | 1.5 MB 00:00
(20/21): system-rpm-config-9.0.3-42.27.amzn1.noarch.rpm | 63 kB 00:00
(21/21): zlib-devel-1.2.8-7.18.amzn1.x86_64.rpm | 53 kB 00:00

Total 22 MB/s | 30 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mpfr-3.1.1-4.14.amzn1.x86_64 1/21
Installing : libmpc-1.0.1-3.3.amzn1.x86_64 2/21
Installing : cpp48-4.8.3-9.109.amzn1.x86_64 3/21
Installing : libsepol-devel-2.1.7-3.12.amzn1.x86_64 4/21
Installing : libselinux-devel-2.1.10-3.22.amzn1.x86_64 5/21
Installing : libcom_err-devel-1.42.12-4.40.amzn1.x86_64 6/21
Installing : libverto-devel-0.2.5-4.9.amzn1.x86_64 7/21
Installing : kernel-headers-4.1.13-19.30.amzn1.x86_64 8/21
Installing : glibc-headers-2.17-106.163.amzn1.x86_64 9/21
Installing : glibc-devel-2.17-106.163.amzn1.x86_64 10/21
Installing : zlib-devel-1.2.8-7.18.amzn1.x86_64 11/21
Installing : keyutils-libs-devel-1.5.8-3.12.amzn1.x86_64 12/21
Installing : krb5-devel-1.13.2-10.39.amzn1.x86_64 13/21
Installing : libgomp-4.8.3-9.109.amzn1.x86_64 14/21
Installing : gcc48-4.8.3-9.109.amzn1.x86_64 15/21
Installing : gcc-4.8.3-3.20.amzn1.noarch 16/21
Installing : 1:openssl-devel-1.0.1k-13.88.amzn1.x86_64 17/21
Installing : system-rpm-config-9.0.3-42.27.amzn1.noarch 18/21
Installing : libffi-devel-3.0.13-11.4.amzn1.x86_64 19/21
Installing : dialog-1.1-9.20080819.1.5.amzn1.x86_64 20/21
Installing : augeas-libs-1.0.0-5.7.amzn1.x86_64 21/21
Verifying : libgomp-4.8.3-9.109.amzn1.x86_64 1/21
Verifying : 1:openssl-devel-1.0.1k-13.88.amzn1.x86_64 2/21
Verifying : cpp48-4.8.3-9.109.amzn1.x86_64 3/21
Verifying : keyutils-libs-devel-1.5.8-3.12.amzn1.x86_64 4/21
Verifying : zlib-devel-1.2.8-7.18.amzn1.x86_64 5/21
Verifying : augeas-libs-1.0.0-5.7.amzn1.x86_64 6/21
Verifying : gcc48-4.8.3-9.109.amzn1.x86_64 7/21
Verifying : kernel-headers-4.1.13-19.30.amzn1.x86_64 8/21
Verifying : krb5-devel-1.13.2-10.39.amzn1.x86_64 9/21
Verifying : gcc-4.8.3-3.20.amzn1.noarch 10/21
Verifying : mpfr-3.1.1-4.14.amzn1.x86_64 11/21
Verifying : libverto-devel-0.2.5-4.9.amzn1.x86_64 12/21
Verifying : dialog-1.1-9.20080819.1.5.amzn1.x86_64 13/21
Verifying : glibc-headers-2.17-106.163.amzn1.x86_64 14/21
Verifying : libselinux-devel-2.1.10-3.22.amzn1.x86_64 15/21
Verifying : libmpc-1.0.1-3.3.amzn1.x86_64 16/21
Verifying : libcom_err-devel-1.42.12-4.40.amzn1.x86_64 17/21
Verifying : libsepol-devel-2.1.7-3.12.amzn1.x86_64 18/21
Verifying : libffi-devel-3.0.13-11.4.amzn1.x86_64 19/21
Verifying : system-rpm-config-9.0.3-42.27.amzn1.noarch 20/21
Verifying : glibc-devel-2.17-106.163.amzn1.x86_64 21/21

Installed:
augeas-libs.x86_64 0:1.0.0-5.7.amzn1 dialog.x86_64 0:1.1-9.20080819.1.5.amzn1
gcc.noarch 0:4.8.3-3.20.amzn1 libffi-devel.x86_64 0:3.0.13-11.4.amzn1
openssl-devel.x86_64 1:1.0.1k-13.88.amzn1 system-rpm-config.noarch 0:9.0.3-42.27.amzn1

Dependency Installed:
cpp48.x86_64 0:4.8.3-9.109.amzn1 gcc48.x86_64 0:4.8.3-9.109.amzn1
glibc-devel.x86_64 0:2.17-106.163.amzn1 glibc-headers.x86_64 0:2.17-106.163.amzn1
kernel-headers.x86_64 0:4.1.13-19.30.amzn1 keyutils-libs-devel.x86_64 0:1.5.8-3.12.amzn1
krb5-devel.x86_64 0:1.13.2-10.39.amzn1 libcom_err-devel.x86_64 0:1.42.12-4.40.amzn1
libgomp.x86_64 0:4.8.3-9.109.amzn1 libmpc.x86_64 0:1.0.1-3.3.amzn1
libselinux-devel.x86_64 0:2.1.10-3.22.amzn1 libsepol-devel.x86_64 0:2.1.7-3.12.amzn1
libverto-devel.x86_64 0:0.2.5-4.9.amzn1 mpfr.x86_64 0:3.1.1-4.14.amzn1
zlib-devel.x86_64 0:1.2.8-7.18.amzn1

Complete!
Loaded plugins: priorities, update-motd, upgrade-helper
Resolving Dependencies
–> Running transaction check
—> Package mod_ssl.x86_64 1:2.2.31-1.6.amzn1 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================
Package Arch Version Repository Size

Installing:
mod_ssl x86_64 1:2.2.31-1.6.amzn1 amzn-main 106 k

Transaction Summary

Install 1 Package

Total download size: 106 k
Installed size: 195 k
Downloading packages:
mod_ssl-2.2.31-1.6.amzn1.x86_64.rpm | 106 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 1:mod_ssl-2.2.31-1.6.amzn1.x86_64 1/1
Verifying : 1:mod_ssl-2.2.31-1.6.amzn1.x86_64 1/1

Installed:
mod_ssl.x86_64 1:2.2.31-1.6.amzn1

Complete!
Checking for new version…
Upgrading letsencrypt-auto 0.1.21 to 0.1.22…
Replacing letsencrypt-auto…
cp /tmp/tmp.40oHJB5GWr/letsencrypt-auto ./letsencrypt-auto
Creating virtual environment…
Installing Python packages…
Requesting root privileges to run letsencrypt…
/root/.local/share-test/letsencrypt/bin/letsencrypt --version --debug
letsencrypt 0.1.22

Fails for me on Ubuntu 14.04 3 LTS:

Upgrading letsencrypt-auto 0.1.21 to 0.1.22…
Replacing letsencrypt-auto…
sudo cp /tmp/tmp.Bexaah45d1/letsencrypt-auto ./letsencrypt-auto
Creating virtual environment…
Installing Python packages…
Had a problem while downloading and verifying Python packages:
Oh no! Peep had a problem while trying to do stuff. Please write up a bug report with the specifics so we can fix it: https://github.com/erikrose/peep/issues/new Here are some particulars you can copy and paste into the bug report: — peep: (2, 5, 0) python: ‘2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2]’ pip: ‘1.5.4’ Command line: [’/tmp/tmp.BsYbI0ptXt/peep.py’, ‘install’, ‘-r’, ‘/tmp/tmp.BsYbI0ptXt/letsencrypt-auto-requirements.txt’] Traceback (most recent call last): File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 956, in exit(main()) File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 928, in main return commandsargv[1] File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 860, in peep_install for path in req_paths)) File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 860, in for path in req_paths)) File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 837, in downloaded_reqs_from_path _parse_requirements(path, finder)] File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 418, in init self.class = self._class() File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 697, in _class if self._actual_hash() not in self._expected_hashes(): File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 329, in memoizer self._cache[func.name] = func(self) File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 653, in _actual_hash return hash_of_file(join(self._temp_path, self._downloaded_filename())) File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 329, in memoizer self._cache[func.name] = func(self) File “/tmp/tmp.BsYbI0ptXt/peep.py”, line 606, in _downloaded_filename link = self._link() or self._finder.find_requirement(self._req, upgrade=False) File “/home/david/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/pip/index.py”, line 277, in find_requirement raise DistributionNotFound(‘No distributions at all found for %s’ % req) DistributionNotFound: No distributions at all found for cffi==1.3.1 (from -r /tmp/tmp.BsYbI0ptXt/letsencrypt-auto-requirements.txt (line 27)) —

Debian stable 64bit

./letsencrypt-auto --version

Bootstrapping dependencies for Debian-based OSes…
Hit http://security.debian.org jessie/updates InRelease
Hit http://ftp.us.debian.org jessie-updates InRelease
Ign http://ukdebian.mirror.anlx.net jessie InRelease
Hit http://security.debian.org jessie/updates/main amd64 Packages
Hit http://ukdebian.mirror.anlx.net jessie Release.gpg
Hit http://security.debian.org jessie/updates/contrib amd64 Packages
Get:1 http://ftp.us.debian.org jessie-updates/main amd64 Packages/DiffIndex [367 B]
Hit http://security.debian.org jessie/updates/contrib Translation-en
Hit http://ukdebian.mirror.anlx.net jessie Release
Hit http://security.debian.org jessie/updates/main Translation-en
Hit http://ftp.us.debian.org jessie-updates/contrib amd64 Packages
Hit http://ukdebian.mirror.anlx.net jessie/main amd64 Packages
Hit http://ftp.us.debian.org jessie-updates/contrib Translation-en
Hit http://ftp.us.debian.org jessie-updates/main Translation-en
Hit http://ukdebian.mirror.anlx.net jessie/contrib amd64 Packages
Hit http://ukdebian.mirror.anlx.net jessie/contrib Translation-en
Hit http://ukdebian.mirror.anlx.net jessie/main Translation-en
Fetched 367 B in 1s (227 B/s)
Reading package lists… Done
Reading package lists… Done
Building dependency tree
Reading state information… Done
libaugeas0 is already the newest version.
ca-certificates is already the newest version.
dialog is already the newest version.
gcc is already the newest version.
libffi-dev is already the newest version.
python is already the newest version.
python-dev is already the newest version.
python-virtualenv is already the newest version.
virtualenv is already the newest version.
libssl-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Checking for new version…
Creating virtual environment…
Installing Python packages…
Requesting root privileges to run letsencrypt…
/root/.local/share-test/letsencrypt/bin/letsencrypt --version
letsencrypt 0.1.22

./letsencrypt-auto --version

Checking for new version…
Requesting root privileges to run letsencrypt…
/root/.local/share-test/letsencrypt/bin/letsencrypt --version
letsencrypt 0.1.22

Mac OS X Mavericks 10.9.5 Client machine

  1. I download the script “letsencrypt-auto.”

  2. Applied the permissions to the script -----
    root# chmod a+x /Users/adminuser/letsencrypt-auto

  3. ran “./letsencrypt-auto --debug --version”

  4. Resulted;

[server:~] root# ./letsencrypt-auto --debug --version
grep: /etc/os-release: No such file or directory
Bootstrapping dependencies via Mac OS X…
Error: Cowardly refusing to sudo brew install
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.

Tried the same thing as an adminuser, got the same output

Unless you are asking to substitute the “letsencrypt-auto” on the letsencrypt folder where the actual installation is located.
Right now everything is working fine. But for testing, since I have backups of the original installation, I can try to do that. However I need confirmation if is that what you want to do. I guess is missing more information from you to how to install the script.

Suggestions?

Try running letsencrypt-auto in a non-root shell. brew is bailing out because it doesn’t want to be run as root. letsencrypt-auto doesn’t try to run it as root, but that’s what happened since it was started at a root prompt. Perhaps we should add our own advisory message to the Mac bootstrapper. Thanks for the test!

Looks like you don’t have an EPEL mirror enabled, and that’s where python-virtualenv lives. EPEL isn’t around on CentOS by default; maybe we should enable it in the bootstrap script. It’s a little intrusive, but it’s consistent with our treatment of the backports repo in our Debian scripts. What do you think?

Opened a bug on this, in case you’re interested in watching it: https://github.com/letsencrypt/letsencrypt/issues/2158. Thanks for the good test report!

1 Like

It is not working for me (Ubuntu 14.04.3 LTS); it gets as far as Checking for new version... and then exits silently with status 1.

When it exits, it does not clean up the temporary directory (/tmp/tmp.htNqxu1ToL); I have 16 of them so far.

If I manually run python2.7 /tmp/tmp.y2BCTAyeYz/fetch.py --latest-version, it gives me this error:

Couldn't download https://raw.githubusercontent.com/letsencrypt/letsencrypt/letsencrypt-auto-release-testing/pypi.json. HTTP Error 404: Not Found

Hold that thought; I’m in the middle of putting up a new version over top of the old one. That’s why it failed just now.

OK, I’ll test the new version when you’re done.

To fix the issue where it leaves behind $TEMP_DIR on failure, you can:

trap 'rm -rf "$TEMP_DIR"' 0

This will ensure the directory is removed at script exit, even if it exits on an error.

on debian 8 (updated&upgraded on 12.1.2016)

root@  :/opt/letsencrypt# ./letsencrypt-auto --debug --version
Bootstrapping dependencies for Debian-based OSes...
Trovato http://security.debian.org jessie/updates InRelease
*   ...cut ...*
Ign http://nginx.org jessie/nginx Translation-en
Recuperati 367 B in 2s (126 B/s)
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze
Lettura informazioni sullo stato... Fatto
libaugeas0 è già alla versione più recente.
*  ...cut...*
libssl-dev è già alla versione più recente.
0 aggiornati, 0 installati, 0 da rimuovere e 0 non aggiornati.
Checking for new version...
Upgrading letsencrypt-auto 0.1.21 to 0.1.22...
Couldn't download https://raw.githubusercontent.com/letsencrypt/letsencrypt/letsencrypt-auto-release-testing-v0.1.22/letsencrypt_auto/letsencrypt-auto. HTTP Error 404: Not Found

its from https://github.com/erikrose/letsencrypt/blob/letsencrypt-auto-release-testing-0.1.21/letsencrypt_auto/letsencrypt-auto#L1706

‘letsencrypt_auto/’) % tag

changing to

‘letsencrypt-auto-souce/’) % tag

give other issue

Upgrading letsencrypt-auto 0.1.21 to 0.1.22…
Replacing letsencrypt-auto…
cp /tmp/tmp.wAtYs73wBH/letsencrypt-auto ./letsencrypt-auto
Creating virtual environment…
Installing Python packages…
Requesting root privileges to run letsencrypt…
/root/.local/share-test/letsencrypt/bin/letsencrypt --debug --version
Traceback (most recent call last):
File “/root/.local/share-test/letsencrypt/bin/letsencrypt”, line 7, in
from letsencrypt.cli import main
File “/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/cli.py”, line 32, in
from letsencrypt import client
File “/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/client.py”, line 20, in
from letsencrypt import continuity_auth
File “/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/continuity_auth.py”, line 9, in
from letsencrypt import proof_of_possession
File “/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/letsencrypt/proof_of_possession.py”, line 5, in
from cryptography import x509
File “/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/cryptography/x509/init.py”, line 7, in
from cryptography.x509.base import (
File “/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/cryptography/x509/base.py”, line 15, in
from cryptography.x509.extensions import Extension, ExtensionType
File “/root/.local/share-test/letsencrypt/local/lib/python2.7/site-packages/cryptography/x509/extensions.py”, line 12, in
from pyasn1.codec.der import decoder
ImportError: No module named pyasn1.codec.der