mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
Upgrade snap to be based on core20
* Get rid of a whole bunch of error message * Remove some more overlaps * don't use certbot from nginx and apache * use python3 from bin * certbot needs to be in bin * try to exclude just the certbot folder * try a couple things to use the python from the venv bin * play around with which versions of things we want from each package * ok, certbot-nginx does need to stage bin * certbot needs to not stage bin. why does certbot not put certbot in bin? * fail to inspect more versions of things in the container shell * take cffi backend from python-augeas * if we use certbot from bin things should work? * why is bin not in path? no idea, but let's get it compiled then inspect things in the snap shell * use snap.certbot instead of bin/certbot * it does require bin/certbot. I don't know why. * let's see if we can stick it all in one step * try installing local subdirectories * move python-augeas into the single part * remove after * put back python-augeas part for now; ERROR: Could not satisfy constraints for 'python-augeas': installation from path or url cannot be constrained to a version * how was this previously working without git installed? install git. * maybe it needs to already have python3-wheel installed * maybe wheel will install first if I change it to -e * no -e * maybe try a different python3 package to stage * this last change wasn't necessary * remove the bin/ from renew * nope, it does need bin/certbot * back to wget * stage a bare python3 * add all necessary python packages to stage-packages * pretty sure we don't actually need wheel. let's try removing it! * remove python-augeas, since we have it pinned to an older version in cb-auto that might work * stage augeas * still need libaugeas-dev * ok let's try building * combining into one part works! just make sure to unpin python-augeas when generating snap-constraints.txt * change our scripts to unpin python-augeas * Use ubuntu 20 in compile_native_wheels.sh * .travis.yml should use python3-dev instead of python-dev * jk! we don't need python3-dev in travis * Update cffi and cryptography wheels for ubuntu20 version of python * looks like we need python3-dev to build things * Remove deprecated i386 wheels
This commit is contained in:
committed by
Brad Warren
parent
2a18ae6d57
commit
0f53e8ad4e
@@ -21,7 +21,8 @@ source "${DIR}/common.sh"
|
||||
RegisterQemuHandlers
|
||||
ResolveArch "${SNAP_ARCH}"
|
||||
|
||||
tools/strip_hashes.py letsencrypt-auto-source/pieces/dependency-requirements.txt > snap-constraints.txt
|
||||
tools/strip_hashes.py letsencrypt-auto-source/pieces/dependency-requirements.txt \
|
||||
| grep -v python-augeas > snap-constraints.txt
|
||||
|
||||
pushd "${DIR}/packages"
|
||||
"${CERTBOT_DIR}/tools/simple_http_server.py" 8080 >/dev/null 2>&1 &
|
||||
|
||||
@@ -14,7 +14,8 @@ source "${DIR}/common.sh"
|
||||
|
||||
RegisterQemuHandlers
|
||||
|
||||
tools/strip_hashes.py letsencrypt-auto-source/pieces/dependency-requirements.txt > "${DIR}/snap-constraints.txt"
|
||||
tools/strip_hashes.py letsencrypt-auto-source/pieces/dependency-requirements.txt \
|
||||
| grep -v python-augeas > "${DIR}/snap-constraints.txt"
|
||||
for SNAP_ARCH in ${TARGET_ARCHS}; do
|
||||
ResolveArch "${SNAP_ARCH}"
|
||||
DownloadQemuStatic "${QEMU_ARCH}" "${DIR}"
|
||||
@@ -24,7 +25,7 @@ for SNAP_ARCH in ${TARGET_ARCHS}; do
|
||||
-v "${DIR}/qemu-${QEMU_ARCH}-static:/usr/bin/qemu-${QEMU_ARCH}-static" \
|
||||
-v "${DIR}:/workspace" \
|
||||
-w "/workspace" \
|
||||
"${DOCKER_ARCH}/ubuntu:18.04" \
|
||||
"${DOCKER_ARCH}/ubuntu:20.04" \
|
||||
sh -c "\
|
||||
apt-get update \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python3 python3-venv python3-dev libffi-dev libssl-dev gcc \
|
||||
|
||||
Binary file not shown.
Binary file not shown.
BIN
snap/local/packages/cffi/cffi-1.14.0-cp38-cp38-linux_aarch64.whl
Normal file
BIN
snap/local/packages/cffi/cffi-1.14.0-cp38-cp38-linux_aarch64.whl
Normal file
Binary file not shown.
BIN
snap/local/packages/cffi/cffi-1.14.0-cp38-cp38-linux_armv7l.whl
Normal file
BIN
snap/local/packages/cffi/cffi-1.14.0-cp38-cp38-linux_armv7l.whl
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -26,7 +26,7 @@ apps:
|
||||
AUGEAS_LENS_LIB: "$SNAP/usr/share/augeas/lenses/dist"
|
||||
LD_LIBRARY_PATH: "$SNAP/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH"
|
||||
renew:
|
||||
command: certbot -q renew
|
||||
command: bin/certbot -q renew
|
||||
daemon: oneshot
|
||||
environment:
|
||||
PATH: "$SNAP/bin:$SNAP/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
|
||||
@@ -35,58 +35,42 @@ apps:
|
||||
# Run approximately twice a day with randomization
|
||||
timer: 00:00~24:00/2
|
||||
|
||||
|
||||
parts:
|
||||
python-augeas:
|
||||
plugin: python
|
||||
source: git://github.com/basak/python-augeas
|
||||
source-branch: snap
|
||||
python-version: python3
|
||||
build-packages: [libaugeas-dev]
|
||||
acme:
|
||||
plugin: python
|
||||
source: .
|
||||
source-subdir: acme
|
||||
constraints: [$SNAPCRAFT_PART_SRC/snap-constraints.txt]
|
||||
python-version: python3
|
||||
# To build cryptography and cffi if needed
|
||||
build-packages: [libffi-dev, libssl-dev]
|
||||
certbot:
|
||||
plugin: python
|
||||
source: .
|
||||
source-subdir: certbot
|
||||
constraints: [$SNAPCRAFT_PART_SRC/snap-constraints.txt]
|
||||
python-version: python3
|
||||
after: [acme]
|
||||
override-pull: |
|
||||
snapcraftctl pull
|
||||
snapcraftctl set-version `cd $SNAPCRAFT_PART_SRC && git describe|sed s/^v//`
|
||||
# Workaround for lack of site-packages leading to empty sitecustomize.py
|
||||
stage:
|
||||
- -usr/lib/python3.8/sitecustomize.py
|
||||
certbot-apache:
|
||||
plugin: python
|
||||
source: .
|
||||
source-subdir: certbot-apache
|
||||
constraints: [$SNAPCRAFT_PART_SRC/snap-constraints.txt]
|
||||
python-version: python3
|
||||
after: [python-augeas, certbot]
|
||||
stage-packages: [libaugeas0]
|
||||
python-packages:
|
||||
- git+https://github.com/basak/python-augeas.git@snap
|
||||
- ./acme
|
||||
- ./certbot
|
||||
- ./certbot-apache
|
||||
- ./certbot-nginx
|
||||
stage:
|
||||
- -usr/lib/python3.8/sitecustomize.py # maybe unnecessary
|
||||
# Prefer cffi
|
||||
- -lib/python3.8/site-packages/augeas.py
|
||||
certbot-nginx:
|
||||
plugin: python
|
||||
source: .
|
||||
source-subdir: certbot-nginx
|
||||
constraints: [$SNAPCRAFT_PART_SRC/snap-constraints.txt]
|
||||
python-version: python3
|
||||
# This is the last step, compile pycache now as there should be no conflicts.
|
||||
override-prime: |
|
||||
snapcraftctl prime
|
||||
./usr/bin/python3 -m compileall -q .
|
||||
# After certbot-apache to not rebuild duplicates (essentially sharing what was already staged,
|
||||
# like zope)
|
||||
after: [certbot-apache]
|
||||
stage-packages:
|
||||
- libaugeas0
|
||||
# added to stage python:
|
||||
- libpython3-stdlib
|
||||
- libpython3.8-stdlib
|
||||
- libpython3.8-minimal
|
||||
- python3-pip
|
||||
- python3-setuptools
|
||||
- python3-wheel
|
||||
- python3-venv
|
||||
- python3-minimal
|
||||
- python3-distutils
|
||||
- python3-pkg-resources
|
||||
- python3.8-minimal
|
||||
# To build cryptography and cffi if needed
|
||||
build-packages: [libffi-dev, libssl-dev, git, libaugeas-dev, python3-dev]
|
||||
override-pull: |
|
||||
snapcraftctl pull
|
||||
snapcraftctl set-version `cd $SNAPCRAFT_PART_SRC/certbot && git describe|sed s/^v//`
|
||||
|
||||
wrappers:
|
||||
plugin: dump
|
||||
source: .
|
||||
|
||||
Reference in New Issue
Block a user