mirror of
https://github.com/certbot/certbot.git
synced 2026-08-03 00:22:04 +02:00
Merge pull request #510 from kuba/rpm-bootstrap
Fedora and CentOS bootstrap
This commit is contained in:
Executable
+20
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Tested with:
|
||||||
|
# - Fedora 22 (x64)
|
||||||
|
# - Centos 7 (x64: on AWS EC2 t2.micro, DigitalOcean droplet)
|
||||||
|
|
||||||
|
# "git-core" seems to be an alias for "git" in CentOS 7 (yum search fails)
|
||||||
|
yum install -y \
|
||||||
|
git-core \
|
||||||
|
python \
|
||||||
|
python-devel \
|
||||||
|
python-virtualenv \
|
||||||
|
python-devel \
|
||||||
|
gcc \
|
||||||
|
swig \
|
||||||
|
dialog \
|
||||||
|
augeas-libs \
|
||||||
|
openssl-devel \
|
||||||
|
libffi-devel \
|
||||||
|
ca-certificates \
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
_rpm_common.sh
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
_rpm_common.sh
|
||||||
@@ -31,6 +31,13 @@ In general:
|
|||||||
|
|
||||||
* ``sudo`` is required as a suggested way of running privileged process
|
* ``sudo`` is required as a suggested way of running privileged process
|
||||||
* `swig`_ is required for compiling `m2crypto`_
|
* `swig`_ is required for compiling `m2crypto`_
|
||||||
|
|
||||||
|
.. _new-swig:
|
||||||
|
.. note:: If your operating system uses SWIG 3.0.5+, you will need
|
||||||
|
to run ``pip install -r requirements-swig-3.0.5.txt -r
|
||||||
|
requirements.txt`` instead of the standard ``pip
|
||||||
|
install -r requirements.txt``.
|
||||||
|
|
||||||
* `augeas`_ is required for the ``python-augeas`` bindings
|
* `augeas`_ is required for the ``python-augeas`` bindings
|
||||||
|
|
||||||
|
|
||||||
@@ -65,6 +72,32 @@ Mac OSX
|
|||||||
sudo ./bootstrap/mac.sh
|
sudo ./bootstrap/mac.sh
|
||||||
|
|
||||||
|
|
||||||
|
Fedora
|
||||||
|
------
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
sudo ./bootstrap/fedora.sh
|
||||||
|
|
||||||
|
.. note:: Fedora 22 uses SWIG 3.0.5+, use the :ref:`modified pip
|
||||||
|
command for installation <new-swig>`.
|
||||||
|
|
||||||
|
Centos 7
|
||||||
|
--------
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
sudo ./bootstrap/centos.sh
|
||||||
|
|
||||||
|
For installation run this modified command (note the trailing
|
||||||
|
backslash):
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
SWIG_FEATURES="-includeall -D__`uname -m`__-I/usr/include/openssl" \
|
||||||
|
./venv/bin/pip install -r requirements.txt functools32
|
||||||
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
# Support swig 3.0.5+
|
||||||
|
# https://github.com/M2Crypto/M2Crypto/issues/24
|
||||||
|
# https://github.com/M2Crypto/M2Crypto/pull/30
|
||||||
|
git+https://github.com/M2Crypto/M2Crypto.git@d13a3a46c8934c5f50b31d5f95b23e6e06f845c3#egg=M2Crypto
|
||||||
|
|
||||||
|
# This requirements file will fail on Travis CI 12.04 LTS Ubuntu build
|
||||||
|
# machine under TOX_ENV=py26 with very confusing error (full tracback
|
||||||
|
# at https://api.travis-ci.org/jobs/66529698/log.txt?deansi=true):
|
||||||
|
|
||||||
|
#Traceback (most recent call last):
|
||||||
|
# File "setup.py", line 133, in <module>
|
||||||
|
# include_package_data=True,
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/distutils/core.py", line 152, in setup
|
||||||
|
# dist.run_commands()
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/distutils/dist.py", line 975, in run_commands
|
||||||
|
# self.run_command(cmd)
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/distutils/dist.py", line 995, in run_command
|
||||||
|
# cmd_obj.run()
|
||||||
|
# File "/home/travis/build/letsencrypt/lets-encrypt-preview/.tox/py26/lib/python2.6/site-packages/setuptools/command/test.py", line 142, in run
|
||||||
|
# self.with_project_on_sys_path(self.run_tests)
|
||||||
|
# File "/home/travis/build/letsencrypt/lets-encrypt-preview/.tox/py26/lib/python2.6/site-packages/setuptools/command/test.py", line 122, in with_project_on_sys_path
|
||||||
|
# func()
|
||||||
|
# File "/home/travis/build/letsencrypt/lets-encrypt-preview/.tox/py26/lib/python2.6/site-packages/setuptools/command/test.py", line 163, in run_tests
|
||||||
|
# testRunner=self._resolve_as_ep(self.test_runner),
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/unittest.py", line 816, in __init__
|
||||||
|
# self.parseArgs(argv)
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/unittest.py", line 843, in parseArgs
|
||||||
|
# self.createTests()
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/unittest.py", line 849, in createTests
|
||||||
|
# self.module)
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/unittest.py", line 613, in loadTestsFromNames
|
||||||
|
# suites = [self.loadTestsFromName(name, module) for name in names]
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/unittest.py", line 587, in loadTestsFromName
|
||||||
|
# return self.loadTestsFromModule(obj)
|
||||||
|
# File "/home/travis/build/letsencrypt/lets-encrypt-preview/.tox/py26/lib/python2.6/site-packages/setuptools/command/test.py", line 37, in loadTestsFromModule
|
||||||
|
# tests.append(self.loadTestsFromName(submodule))
|
||||||
|
# File "/opt/python/2.6.9/lib/python2.6/unittest.py", line 584, in loadTestsFromName
|
||||||
|
# parent, obj = obj, getattr(obj, part)
|
||||||
|
#AttributeError: 'module' object has no attribute 'continuity_auth'
|
||||||
|
|
||||||
|
# the above error happens because letsencrypt.continuity_auth cannot import M2Crypto:
|
||||||
|
|
||||||
|
#>>> import M2Crypto
|
||||||
|
#Traceback (most recent call last):
|
||||||
|
# File "<stdin>", line 1, in <module>
|
||||||
|
# File "/root/lets-encrypt-preview/venv/lib/python2.6/site-packages/M2Crypto-0.21.1-py2.6-linux-x86_64.egg/M2Crypto/__init__.py", line 22, in <module>
|
||||||
|
# import m2crypto
|
||||||
|
# File "/root/lets-encrypt-preview/venv/lib/python2.6/site-packages/M2Crypto-0.21.1-py2.6-linux-x86_64.egg/M2Crypto/m2crypto.py", line 26, in <module>
|
||||||
|
# _m2crypto = swig_import_helper()
|
||||||
|
# File "/root/lets-encrypt-preview/venv/lib/python2.6/site-packages/M2Crypto-0.21.1-py2.6-linux-x86_64.egg/M2Crypto/m2crypto.py", line 22, in swig_import_helper
|
||||||
|
# _mod = imp.load_module('_m2crypto', fp, pathname, description)
|
||||||
|
#ImportError: /root/lets-encrypt-preview/venv/lib/python2.6/site-packages/M2Crypto-0.21.1-py2.6-linux-x86_64.egg/M2Crypto/_m2crypto.so: undefined symbol: SSLv2_method
|
||||||
|
|
||||||
|
# For more info see:
|
||||||
|
|
||||||
|
# - https://github.com/martinpaljak/M2Crypto/commit/84977c532c2444c5487db57146d81bb68dd5431d
|
||||||
|
# - http://stackoverflow.com/questions/10547332/install-m2crypto-on-a-virtualenv-without-system-packages
|
||||||
|
# - http://stackoverflow.com/questions/8206546/undefined-symbol-sslv2-method
|
||||||
|
|
||||||
|
# In short: Python has been built without SSLv2 support, and
|
||||||
|
# github.com/M2Crypto/M2Crypto version doesn't contain necessary
|
||||||
|
# patch, but it's the only one that has a patch for newer versions of
|
||||||
|
# swig...
|
||||||
|
|
||||||
|
# Problem seems not exists on Python 2.7. It's unlikely that the
|
||||||
|
# target distribution has swig 3.0.5+ and doesn't have Python 2.7, so
|
||||||
|
# this file should only be used in conjuction with Python 2.6.
|
||||||
Reference in New Issue
Block a user