mirror of
https://github.com/certbot/certbot.git
synced 2026-06-07 15:52:08 -04:00
Merge pull request #510 from kuba/rpm-bootstrap
Fedora and CentOS bootstrap
This commit is contained in:
commit
a41c0f7590
5 changed files with 122 additions and 0 deletions
20
bootstrap/_rpm_common.sh
Executable file
20
bootstrap/_rpm_common.sh
Executable file
|
|
@ -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 \
|
||||
1
bootstrap/centos.sh
Symbolic link
1
bootstrap/centos.sh
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
_rpm_common.sh
|
||||
1
bootstrap/fedora.sh
Symbolic link
1
bootstrap/fedora.sh
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
_rpm_common.sh
|
||||
|
|
@ -31,6 +31,13 @@ In general:
|
|||
|
||||
* ``sudo`` is required as a suggested way of running privileged process
|
||||
* `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
|
||||
|
||||
|
||||
|
|
@ -65,6 +72,32 @@ Mac OSX
|
|||
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
|
||||
============
|
||||
|
||||
|
|
|
|||
67
requirements-swig-3.0.5.txt
Normal file
67
requirements-swig-3.0.5.txt
Normal file
|
|
@ -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.
|
||||
Loading…
Reference in a new issue