Compare commits

...

49 Commits

Author SHA1 Message Date
Erica Portnoy
b188b0eed0 Remove deprecated i386 wheels 2020-06-17 15:59:47 -07:00
Erica Portnoy
5c49b05ef2 Merge branch 'master' into core20 2020-06-17 15:55:13 -07:00
Erica Portnoy
d918e91561 looks like we need python3-dev to build things 2020-06-17 12:42:19 -07:00
Erica Portnoy
abc86e8c38 Update cffi and cryptography wheels for ubuntu20 version of python 2020-06-17 19:38:03 +00:00
Erica Portnoy
85c28c430e jk! we don't need python3-dev in travis 2020-06-17 12:31:35 -07:00
Erica Portnoy
d2867e9485 .travis.yml should use python3-dev instead of python-dev 2020-06-17 12:26:11 -07:00
Erica Portnoy
e12d4c95da Use ubuntu 20 in compile_native_wheels.sh 2020-06-17 12:14:53 -07:00
Erica Portnoy
c33090781b change our scripts to unpin python-augeas 2020-06-16 17:59:57 -07:00
Erica Portnoy
7929c5b959 combining into one part works! just make sure to unpin python-augeas when generating snap-constraints.txt 2020-06-16 17:57:04 -07:00
Erica Portnoy
bdeec26a92 ok let's try building 2020-06-16 17:48:43 -07:00
Erica Portnoy
a22be8cf65 still need libaugeas-dev 2020-06-16 17:31:50 -07:00
Erica Portnoy
89ff65ee31 stage augeas 2020-06-16 17:26:18 -07:00
Erica Portnoy
34ba5a698b remove python-augeas, since we have it pinned to an older version in cb-auto that might work 2020-06-16 17:17:16 -07:00
Erica Portnoy
95433251c5 pretty sure we don't actually need wheel. let's try removing it! 2020-06-16 17:00:00 -07:00
Erica Portnoy
eb1e3074f6 add all necessary python packages to stage-packages 2020-06-16 16:46:10 -07:00
Erica Portnoy
89ce759fd1 stage a bare python3 2020-06-16 16:12:07 -07:00
Erica Portnoy
a1480ddbdc back to wget 2020-06-16 15:59:33 -07:00
Erica Portnoy
f60b815981 nope, it does need bin/certbot 2020-06-16 13:50:23 -07:00
Erica Portnoy
042b3c18b6 remove the bin/ from renew 2020-06-16 13:10:05 -07:00
Erica Portnoy
13445094c8 this last change wasn't necessary 2020-06-16 13:08:06 -07:00
Erica Portnoy
7e3d8e21ac maybe try a different python3 package to stage 2020-06-16 12:58:06 -07:00
Erica Portnoy
7e67466789 no -e 2020-06-16 12:25:11 -07:00
Erica Portnoy
e1a8f3f05b maybe wheel will install first if I change it to -e 2020-06-15 18:05:14 -07:00
Erica Portnoy
3749dd3c9b maybe it needs to already have python3-wheel installed 2020-06-15 18:00:49 -07:00
Erica Portnoy
3ba1abb0dc how was this previously working without git installed? install git. 2020-06-15 17:55:53 -07:00
Erica Portnoy
c77874cb32 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 2020-06-15 17:47:52 -07:00
Erica Portnoy
f962845cb8 remove after 2020-06-15 17:45:28 -07:00
Erica Portnoy
614330ab7a move python-augeas into the single part 2020-06-15 17:43:45 -07:00
Erica Portnoy
7642ef1395 try installing local subdirectories 2020-06-15 17:13:47 -07:00
Erica Portnoy
b9e6f54229 let's see if we can stick it all in one step 2020-06-15 17:08:59 -07:00
Erica Portnoy
a5aa13aaa5 Merge branch 'master' into core20 2020-06-15 16:41:49 -07:00
Erica Portnoy
630cf08667 it does require bin/certbot. I don't know why. 2020-06-15 15:27:24 -07:00
Erica Portnoy
ad39799a0a use snap.certbot instead of bin/certbot 2020-06-15 15:20:21 -07:00
Erica Portnoy
07861efed5 why is bin not in path? no idea, but let's get it compiled then inspect things in the snap shell 2020-06-12 10:54:54 -07:00
Erica Portnoy
6bcbe204fd if we use certbot from bin things should work? 2020-06-12 10:43:25 -07:00
Erica Portnoy
298e4b8402 take cffi backend from python-augeas 2020-06-12 10:29:46 -07:00
Erica Portnoy
58e7d67e9e fail to inspect more versions of things in the container shell 2020-06-12 10:17:11 -07:00
Erica Portnoy
2dd8c35280 certbot needs to not stage bin. why does certbot not put certbot in bin? 2020-06-12 09:54:39 -07:00
Erica Portnoy
600b3affad ok, certbot-nginx does need to stage bin 2020-06-12 09:50:07 -07:00
Erica Portnoy
265e6087e7 play around with which versions of things we want from each package 2020-06-12 09:37:22 -07:00
Erica Portnoy
fe5a50f0b6 try a couple things to use the python from the venv bin 2020-06-11 18:50:05 -07:00
Erica Portnoy
f6f68e42b0 try to exclude just the certbot folder 2020-06-11 18:40:15 -07:00
Erica Portnoy
a49f3ce0e1 certbot needs to be in bin 2020-06-11 18:37:56 -07:00
Erica Portnoy
b186afab0a use python3 from bin 2020-06-11 18:25:45 -07:00
Erica Portnoy
38dc0b317b don't use certbot from nginx and apache 2020-06-11 18:21:43 -07:00
Erica Portnoy
1fb25304fa Remove some more overlaps 2020-06-11 18:18:59 -07:00
Erica Portnoy
bedf5a3742 Get rid of a whole bunch of error message 2020-06-11 18:06:51 -07:00
Brad Warren
fd7d3be3cf Trivially upgrade to core20? 2020-05-19 12:06:47 -07:00
Brad Warren
bf674074df remove quay cruft 2020-05-19 10:24:24 -07:00
11 changed files with 36 additions and 50 deletions

View File

@@ -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 &

View File

@@ -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 \

View File

@@ -15,7 +15,7 @@ description: |
- Help you revoke the certificate if that ever becomes necessary.
confinement: classic
grade: devel
base: core18
base: core20
adopt-info: certbot
apps:
@@ -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]
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
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 && git describe|sed s/^v//`
# Workaround for lack of site-packages leading to empty sitecustomize.py
stage:
- -usr/lib/python3.6/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]
stage:
# Prefer cffi
- -lib/python3.6/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]
snapcraftctl set-version `cd $SNAPCRAFT_PART_SRC/certbot && git describe|sed s/^v//`
wrappers:
plugin: dump
source: .