mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
Fixes #6697. This PR updates the version of setuptools pinned in pipstrap which works around the problems we have seen on recent OSes. Why did I pick this version of setuptools? Because it's the latest and greatest, [supports all versions of Python that we do](https://github.com/pypa/setuptools/blob/v40.6.3/setup.py#L173), [has been out for a month and a half without the need for a point release](https://setuptools.readthedocs.io/en/latest/history.html), and has no non-optional dependencies. For the last point about dependencies, I don't think we have too much to worry about. setuptools did have a period between versions 34.0.0 and 36.0.0 where they tried to have normal dependencies on other packages, but reverted these changes. See their [changelog for 36.0.0](https://setuptools.readthedocs.io/en/latest/history.html#v36-0-0). You can also compare their [current setup.py file](https://github.com/pypa/setuptools/blob/v40.6.3/setup.py) to the [setup.py file for the currently pinned version](https://github.com/pypa/setuptools/blob/v29.0.1/setup.py) and you'll see [not much has changed](https://pastebin.com/nQj6d7D8). Not only that, but I have successfully tested these changes on: * ubuntu18.10 * ubuntu18.04LTS * ubuntu16.04LTS * ubuntu14.04LTS * ubuntu14.04LTS_32bit * debian9 * debian8.1 * amazonlinux-2015.09.1 * amazonlinux-2015.03.1 * RHEL7 * fedora23 * fedora29 * centos7 * centos6 * freebsd11 * macOS * Update setuptools to 40.6.3. * Build letsencrypt-auto. * update changelog * Don't use pipstrap in Dockerfile.centos6.
38 lines
1.1 KiB
Docker
38 lines
1.1 KiB
Docker
# For running tests, build a docker image with a passwordless sudo and a trust
|
|
# store we can manipulate.
|
|
|
|
FROM centos:6
|
|
|
|
RUN yum install -y epel-release
|
|
|
|
# Install pip and sudo:
|
|
RUN yum install -y python-pip sudo
|
|
# Update to a stable and tested version of pip.
|
|
# We do not use pipstrap here because it no longer supports Python 2.6.
|
|
RUN pip install pip==9.0.1 setuptools==29.0.1 wheel==0.29.0
|
|
# Pin pytest version for increased stability
|
|
RUN pip install pytest==3.2.5 six==1.10.0
|
|
|
|
# Add an unprivileged user:
|
|
RUN useradd --create-home --home-dir /home/lea --shell /bin/bash --groups wheel --uid 1000 lea
|
|
|
|
# Let that user sudo:
|
|
RUN sed -i.bkp -e \
|
|
's/# %wheel\(NOPASSWD: ALL\)\?/%wheel/g' \
|
|
/etc/sudoers
|
|
|
|
RUN mkdir -p /home/lea/certbot
|
|
|
|
# Install fake testing CA:
|
|
COPY ./tests/certs/ca/my-root-ca.crt.pem /usr/local/share/ca-certificates/
|
|
RUN update-ca-trust
|
|
|
|
# Copy code:
|
|
COPY . /home/lea/certbot/letsencrypt-auto-source
|
|
|
|
USER lea
|
|
WORKDIR /home/lea
|
|
|
|
RUN sudo chmod +x certbot/letsencrypt-auto-source/tests/centos6_tests.sh
|
|
CMD sudo certbot/letsencrypt-auto-source/tests/centos6_tests.sh
|