From 208884443508986ef74b32ca6a2519b506d07ed9 Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Wed, 8 Jan 2020 15:11:17 -0800 Subject: [PATCH 1/5] Adds all localwheels via git-lfs Pulled via the fetch-wheels operation. Removes gitignore settings, so we can commit these files (via git-lfs). Adds gitattributes settings, to track git-lfs config. --- .gitattributes | 4 ++++ .gitignore | 1 - localwheels/Mako-1.0.7-py3-none-any.whl | 3 +++ localwheels/Mako-1.0.7.tar.gz | 3 +++ localwheels/MarkupSafe-1.0-cp35-cp35m-linux_x86_64.whl | 3 +++ localwheels/MarkupSafe-1.0-cp37-cp37m-linux_x86_64.whl | 3 +++ localwheels/MarkupSafe-1.0.tar.gz | 3 +++ localwheels/PyYAML-3.13-cp35-cp35m-linux_x86_64.whl | 3 +++ localwheels/PyYAML-3.13.tar.gz | 3 +++ localwheels/PyYAML-5.1-cp35-cp35m-linux_x86_64.whl | 3 +++ localwheels/PyYAML-5.1-cp37-cp37m-linux_x86_64.whl | 3 +++ localwheels/PyYAML-5.1.tar.gz | 3 +++ localwheels/SQLAlchemy-1.2.13-cp35-cp35m-linux_x86_64.whl | 3 +++ localwheels/SQLAlchemy-1.2.13.tar.gz | 3 +++ localwheels/SQLAlchemy-1.3.3-cp35-cp35m-linux_x86_64.whl | 3 +++ localwheels/SQLAlchemy-1.3.3-cp37-cp37m-linux_x86_64.whl | 3 +++ localwheels/SQLAlchemy-1.3.3.tar.gz | 3 +++ localwheels/Werkzeug-0.14.1-py2.py3-none-any.whl | 3 +++ localwheels/Werkzeug-0.14.1.tar.gz | 3 +++ localwheels/alembic-1.0.2-py2.py3-none-any.whl | 3 +++ localwheels/alembic-1.0.2.tar.gz | 3 +++ localwheels/arrow-0.12.1-py2.py3-none-any.whl | 3 +++ localwheels/arrow-0.12.1.tar.gz | 3 +++ localwheels/certifi-2018.10.15-py2.py3-none-any.whl | 3 +++ localwheels/certifi-2018.10.15.tar.gz | 3 +++ localwheels/chardet-3.0.4-py2.py3-none-any.whl | 3 +++ localwheels/chardet-3.0.4.tar.gz | 3 +++ localwheels/furl-2.0.0-py2.py3-none-any.whl | 3 +++ localwheels/furl-2.0.0.tar.gz | 3 +++ localwheels/idna-2.7-py2.py3-none-any.whl | 3 +++ localwheels/idna-2.7.tar.gz | 3 +++ localwheels/orderedmultidict-1.0-py3-none-any.whl | 3 +++ localwheels/orderedmultidict-1.0.tar.gz | 3 +++ localwheels/pathlib2-2.3.2-py2.py3-none-any.whl | 3 +++ localwheels/pathlib2-2.3.2.tar.gz | 3 +++ localwheels/python-dateutil-2.7.5.tar.gz | 3 +++ localwheels/python-editor-1.0.3.tar.gz | 3 +++ localwheels/python_dateutil-2.7.5-py2.py3-none-any.whl | 3 +++ localwheels/python_editor-1.0.3-py3-none-any.whl | 3 +++ localwheels/requests-2.20.0-py2.py3-none-any.whl | 3 +++ localwheels/requests-2.20.0.tar.gz | 3 +++ localwheels/securedrop-sdk-0.0.10.tar.gz | 3 +++ localwheels/securedrop-sdk-0.0.11.tar.gz | 3 +++ localwheels/securedrop-sdk-0.0.12.tar.gz | 3 +++ localwheels/securedrop-sdk-0.0.4.tar.gz | 3 +++ localwheels/securedrop-sdk-0.0.8.tar.gz | 3 +++ localwheels/securedrop-sdk-0.0.9.tar.gz | 3 +++ localwheels/securedrop_sdk-0.0.10-py3-none-any.whl | 3 +++ localwheels/securedrop_sdk-0.0.11-py3-none-any.whl | 3 +++ localwheels/securedrop_sdk-0.0.12-py3-none-any.whl | 3 +++ localwheels/securedrop_sdk-0.0.4-py3-none-any.whl | 3 +++ localwheels/securedrop_sdk-0.0.8-py3-none-any.whl | 3 +++ localwheels/securedrop_sdk-0.0.9-py3-none-any.whl | 3 +++ localwheels/six-1.11.0-py2.py3-none-any.whl | 3 +++ localwheels/six-1.11.0.tar.gz | 3 +++ localwheels/urllib3-1.24-py2.py3-none-any.whl | 3 +++ localwheels/urllib3-1.24.1-py2.py3-none-any.whl | 3 +++ localwheels/urllib3-1.24.1.tar.gz | 3 +++ localwheels/urllib3-1.24.3-py2.py3-none-any.whl | 3 +++ localwheels/urllib3-1.24.3.tar.gz | 3 +++ localwheels/urllib3-1.24.tar.gz | 3 +++ 61 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 localwheels/Mako-1.0.7-py3-none-any.whl create mode 100644 localwheels/Mako-1.0.7.tar.gz create mode 100644 localwheels/MarkupSafe-1.0-cp35-cp35m-linux_x86_64.whl create mode 100644 localwheels/MarkupSafe-1.0-cp37-cp37m-linux_x86_64.whl create mode 100644 localwheels/MarkupSafe-1.0.tar.gz create mode 100644 localwheels/PyYAML-3.13-cp35-cp35m-linux_x86_64.whl create mode 100644 localwheels/PyYAML-3.13.tar.gz create mode 100644 localwheels/PyYAML-5.1-cp35-cp35m-linux_x86_64.whl create mode 100644 localwheels/PyYAML-5.1-cp37-cp37m-linux_x86_64.whl create mode 100644 localwheels/PyYAML-5.1.tar.gz create mode 100644 localwheels/SQLAlchemy-1.2.13-cp35-cp35m-linux_x86_64.whl create mode 100644 localwheels/SQLAlchemy-1.2.13.tar.gz create mode 100644 localwheels/SQLAlchemy-1.3.3-cp35-cp35m-linux_x86_64.whl create mode 100644 localwheels/SQLAlchemy-1.3.3-cp37-cp37m-linux_x86_64.whl create mode 100644 localwheels/SQLAlchemy-1.3.3.tar.gz create mode 100644 localwheels/Werkzeug-0.14.1-py2.py3-none-any.whl create mode 100644 localwheels/Werkzeug-0.14.1.tar.gz create mode 100644 localwheels/alembic-1.0.2-py2.py3-none-any.whl create mode 100644 localwheels/alembic-1.0.2.tar.gz create mode 100644 localwheels/arrow-0.12.1-py2.py3-none-any.whl create mode 100644 localwheels/arrow-0.12.1.tar.gz create mode 100644 localwheels/certifi-2018.10.15-py2.py3-none-any.whl create mode 100644 localwheels/certifi-2018.10.15.tar.gz create mode 100644 localwheels/chardet-3.0.4-py2.py3-none-any.whl create mode 100644 localwheels/chardet-3.0.4.tar.gz create mode 100644 localwheels/furl-2.0.0-py2.py3-none-any.whl create mode 100644 localwheels/furl-2.0.0.tar.gz create mode 100644 localwheels/idna-2.7-py2.py3-none-any.whl create mode 100644 localwheels/idna-2.7.tar.gz create mode 100644 localwheels/orderedmultidict-1.0-py3-none-any.whl create mode 100644 localwheels/orderedmultidict-1.0.tar.gz create mode 100644 localwheels/pathlib2-2.3.2-py2.py3-none-any.whl create mode 100644 localwheels/pathlib2-2.3.2.tar.gz create mode 100644 localwheels/python-dateutil-2.7.5.tar.gz create mode 100644 localwheels/python-editor-1.0.3.tar.gz create mode 100644 localwheels/python_dateutil-2.7.5-py2.py3-none-any.whl create mode 100644 localwheels/python_editor-1.0.3-py3-none-any.whl create mode 100644 localwheels/requests-2.20.0-py2.py3-none-any.whl create mode 100644 localwheels/requests-2.20.0.tar.gz create mode 100644 localwheels/securedrop-sdk-0.0.10.tar.gz create mode 100644 localwheels/securedrop-sdk-0.0.11.tar.gz create mode 100644 localwheels/securedrop-sdk-0.0.12.tar.gz create mode 100644 localwheels/securedrop-sdk-0.0.4.tar.gz create mode 100644 localwheels/securedrop-sdk-0.0.8.tar.gz create mode 100644 localwheels/securedrop-sdk-0.0.9.tar.gz create mode 100644 localwheels/securedrop_sdk-0.0.10-py3-none-any.whl create mode 100644 localwheels/securedrop_sdk-0.0.11-py3-none-any.whl create mode 100644 localwheels/securedrop_sdk-0.0.12-py3-none-any.whl create mode 100644 localwheels/securedrop_sdk-0.0.4-py3-none-any.whl create mode 100644 localwheels/securedrop_sdk-0.0.8-py3-none-any.whl create mode 100644 localwheels/securedrop_sdk-0.0.9-py3-none-any.whl create mode 100644 localwheels/six-1.11.0-py2.py3-none-any.whl create mode 100644 localwheels/six-1.11.0.tar.gz create mode 100644 localwheels/urllib3-1.24-py2.py3-none-any.whl create mode 100644 localwheels/urllib3-1.24.1-py2.py3-none-any.whl create mode 100644 localwheels/urllib3-1.24.1.tar.gz create mode 100644 localwheels/urllib3-1.24.3-py2.py3-none-any.whl create mode 100644 localwheels/urllib3-1.24.3.tar.gz create mode 100644 localwheels/urllib3-1.24.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..4e32525f --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +*.deb filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tar.gz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index 95a1a91d..25c48a17 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ debhelper-build-stamp *.debhelper.log -localwheels/ diff --git a/localwheels/Mako-1.0.7-py3-none-any.whl b/localwheels/Mako-1.0.7-py3-none-any.whl new file mode 100644 index 00000000..f935d514 --- /dev/null +++ b/localwheels/Mako-1.0.7-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87ee3f74ba3ea544e683a5a22e7e34f4d1cf3ad34414b5f3858becf00facf1d6 +size 77163 diff --git a/localwheels/Mako-1.0.7.tar.gz b/localwheels/Mako-1.0.7.tar.gz new file mode 100644 index 00000000..990cf4e5 --- /dev/null +++ b/localwheels/Mako-1.0.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae +size 564418 diff --git a/localwheels/MarkupSafe-1.0-cp35-cp35m-linux_x86_64.whl b/localwheels/MarkupSafe-1.0-cp35-cp35m-linux_x86_64.whl new file mode 100644 index 00000000..00cd480e --- /dev/null +++ b/localwheels/MarkupSafe-1.0-cp35-cp35m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a7078a2fb4406458d6ae3579e4eb01a9bdc0a9a0686a28fa50c19a039e3fcb8 +size 31803 diff --git a/localwheels/MarkupSafe-1.0-cp37-cp37m-linux_x86_64.whl b/localwheels/MarkupSafe-1.0-cp37-cp37m-linux_x86_64.whl new file mode 100644 index 00000000..0fd70619 --- /dev/null +++ b/localwheels/MarkupSafe-1.0-cp37-cp37m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c9bf8fb4c3cf7dd11fd465132156d4c3cddb926d39bdbd0f0bf5920fd8009a4 +size 31103 diff --git a/localwheels/MarkupSafe-1.0.tar.gz b/localwheels/MarkupSafe-1.0.tar.gz new file mode 100644 index 00000000..ff2bbcf6 --- /dev/null +++ b/localwheels/MarkupSafe-1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665 +size 14356 diff --git a/localwheels/PyYAML-3.13-cp35-cp35m-linux_x86_64.whl b/localwheels/PyYAML-3.13-cp35-cp35m-linux_x86_64.whl new file mode 100644 index 00000000..e7a251e3 --- /dev/null +++ b/localwheels/PyYAML-3.13-cp35-cp35m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59fa6f097310e25248d5aa1d7b7e619ea22dfaada67e9c65262457b3e5b3a5c8 +size 43458 diff --git a/localwheels/PyYAML-3.13.tar.gz b/localwheels/PyYAML-3.13.tar.gz new file mode 100644 index 00000000..8d99a022 --- /dev/null +++ b/localwheels/PyYAML-3.13.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf +size 270607 diff --git a/localwheels/PyYAML-5.1-cp35-cp35m-linux_x86_64.whl b/localwheels/PyYAML-5.1-cp35-cp35m-linux_x86_64.whl new file mode 100644 index 00000000..4bd10edd --- /dev/null +++ b/localwheels/PyYAML-5.1-cp35-cp35m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8d80623e9d4e348c59ea726ce3032a2eb15abca6a48d3828362d11c6014a0a7 +size 45362 diff --git a/localwheels/PyYAML-5.1-cp37-cp37m-linux_x86_64.whl b/localwheels/PyYAML-5.1-cp37-cp37m-linux_x86_64.whl new file mode 100644 index 00000000..a4a65de0 --- /dev/null +++ b/localwheels/PyYAML-5.1-cp37-cp37m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6dec5d6ffa44a50d83b9c4e8df0443a0a87e4213ecf2e24fcae6ea991f3b0c0 +size 44075 diff --git a/localwheels/PyYAML-5.1.tar.gz b/localwheels/PyYAML-5.1.tar.gz new file mode 100644 index 00000000..2bae4be2 --- /dev/null +++ b/localwheels/PyYAML-5.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95 +size 274244 diff --git a/localwheels/SQLAlchemy-1.2.13-cp35-cp35m-linux_x86_64.whl b/localwheels/SQLAlchemy-1.2.13-cp35-cp35m-linux_x86_64.whl new file mode 100644 index 00000000..9e951514 --- /dev/null +++ b/localwheels/SQLAlchemy-1.2.13-cp35-cp35m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f4fb23a839ff587fb5661caa7fb3f4151d43c641930a1af7559b7b21d91d9db +size 1148755 diff --git a/localwheels/SQLAlchemy-1.2.13.tar.gz b/localwheels/SQLAlchemy-1.2.13.tar.gz new file mode 100644 index 00000000..84183c9a --- /dev/null +++ b/localwheels/SQLAlchemy-1.2.13.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84412de3794acee05630e7788f25e80e81f78eb4837e7b71d0499129f660486a +size 5650472 diff --git a/localwheels/SQLAlchemy-1.3.3-cp35-cp35m-linux_x86_64.whl b/localwheels/SQLAlchemy-1.3.3-cp35-cp35m-linux_x86_64.whl new file mode 100644 index 00000000..96640c51 --- /dev/null +++ b/localwheels/SQLAlchemy-1.3.3-cp35-cp35m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd030ff97e7a4f3aa34aafa6b62898c7de6999784c8b4828b3e8b31cf69dae9c +size 1185809 diff --git a/localwheels/SQLAlchemy-1.3.3-cp37-cp37m-linux_x86_64.whl b/localwheels/SQLAlchemy-1.3.3-cp37-cp37m-linux_x86_64.whl new file mode 100644 index 00000000..acdc4339 --- /dev/null +++ b/localwheels/SQLAlchemy-1.3.3-cp37-cp37m-linux_x86_64.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:680b2ae6a728941c9fe661c85f2309a69408e7ec8ed8fa39d03e07595259b75b +size 1187890 diff --git a/localwheels/SQLAlchemy-1.3.3.tar.gz b/localwheels/SQLAlchemy-1.3.3.tar.gz new file mode 100644 index 00000000..4ef17f26 --- /dev/null +++ b/localwheels/SQLAlchemy-1.3.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91c54ca8345008fceaec987e10924bf07dcab36c442925357e5a467b36a38319 +size 5864870 diff --git a/localwheels/Werkzeug-0.14.1-py2.py3-none-any.whl b/localwheels/Werkzeug-0.14.1-py2.py3-none-any.whl new file mode 100644 index 00000000..42514732 --- /dev/null +++ b/localwheels/Werkzeug-0.14.1-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:177ea4248bf0475cbc060edb35a0bdcf6e6daeac9e1296de5ddb3493e5ec15b9 +size 318909 diff --git a/localwheels/Werkzeug-0.14.1.tar.gz b/localwheels/Werkzeug-0.14.1.tar.gz new file mode 100644 index 00000000..a2b5ff9f --- /dev/null +++ b/localwheels/Werkzeug-0.14.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c +size 1185546 diff --git a/localwheels/alembic-1.0.2-py2.py3-none-any.whl b/localwheels/alembic-1.0.2-py2.py3-none-any.whl new file mode 100644 index 00000000..ace35b35 --- /dev/null +++ b/localwheels/alembic-1.0.2-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14024bd47f71d8b51920721dcd63248d07d370fbd0f6afa9bec67b9edaf71f36 +size 158540 diff --git a/localwheels/alembic-1.0.2.tar.gz b/localwheels/alembic-1.0.2.tar.gz new file mode 100644 index 00000000..bc5df5fd --- /dev/null +++ b/localwheels/alembic-1.0.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04bcb970ca8659c3607ddd8ffd86cc9d6a99661c9bc590955e8813c66bfa582b +size 1021161 diff --git a/localwheels/arrow-0.12.1-py2.py3-none-any.whl b/localwheels/arrow-0.12.1-py2.py3-none-any.whl new file mode 100644 index 00000000..dba6b5a4 --- /dev/null +++ b/localwheels/arrow-0.12.1-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ef4a593615dc61ed85e62070b1bd27c71f7266233f0f9f385b651370e8c6760 +size 37069 diff --git a/localwheels/arrow-0.12.1.tar.gz b/localwheels/arrow-0.12.1.tar.gz new file mode 100644 index 00000000..1fa89a9b --- /dev/null +++ b/localwheels/arrow-0.12.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a558d3b7b6ce7ffc74206a86c147052de23d3d4ef0e17c210dd478c53575c4cd +size 65356 diff --git a/localwheels/certifi-2018.10.15-py2.py3-none-any.whl b/localwheels/certifi-2018.10.15-py2.py3-none-any.whl new file mode 100644 index 00000000..0b4460dd --- /dev/null +++ b/localwheels/certifi-2018.10.15-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5471c55b011bd45d6155f5c3629310c1d2f1e1a5a899b7e438a223343de583d +size 146305 diff --git a/localwheels/certifi-2018.10.15.tar.gz b/localwheels/certifi-2018.10.15.tar.gz new file mode 100644 index 00000000..0ebc9aa9 --- /dev/null +++ b/localwheels/certifi-2018.10.15.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d58c986d22b038c8c0df30d639f23a3e6d172a05c3583e766f4c0b785c0986a +size 145887 diff --git a/localwheels/chardet-3.0.4-py2.py3-none-any.whl b/localwheels/chardet-3.0.4-py2.py3-none-any.whl new file mode 100644 index 00000000..8301f684 --- /dev/null +++ b/localwheels/chardet-3.0.4-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f178988ca4c86e8a319b51aac1185b6fe5192328eb5a163c286f4bf50b7b3d8 +size 133415 diff --git a/localwheels/chardet-3.0.4.tar.gz b/localwheels/chardet-3.0.4.tar.gz new file mode 100644 index 00000000..b05e4d8e --- /dev/null +++ b/localwheels/chardet-3.0.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae +size 1868453 diff --git a/localwheels/furl-2.0.0-py2.py3-none-any.whl b/localwheels/furl-2.0.0-py2.py3-none-any.whl new file mode 100644 index 00000000..0eb0a894 --- /dev/null +++ b/localwheels/furl-2.0.0-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc0eb8998dcc7c5b58bc8625891a9ff563e2765e112024fa3d1e3521481de8b6 +size 20690 diff --git a/localwheels/furl-2.0.0.tar.gz b/localwheels/furl-2.0.0.tar.gz new file mode 100644 index 00000000..fbcb4eff --- /dev/null +++ b/localwheels/furl-2.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec +size 42732 diff --git a/localwheels/idna-2.7-py2.py3-none-any.whl b/localwheels/idna-2.7-py2.py3-none-any.whl new file mode 100644 index 00000000..6a835221 --- /dev/null +++ b/localwheels/idna-2.7-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:954e65e127d0433a352981f43f291a438423d5b385ebf643c70fd740e0634111 +size 62135 diff --git a/localwheels/idna-2.7.tar.gz b/localwheels/idna-2.7.tar.gz new file mode 100644 index 00000000..cab4123a --- /dev/null +++ b/localwheels/idna-2.7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16 +size 172698 diff --git a/localwheels/orderedmultidict-1.0-py3-none-any.whl b/localwheels/orderedmultidict-1.0-py3-none-any.whl new file mode 100644 index 00000000..e44d679c --- /dev/null +++ b/localwheels/orderedmultidict-1.0-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25489716d76d2cc8aa656bfb00cd40b6ca29d5e11ccde0db60c2b46ad52bb40a +size 11157 diff --git a/localwheels/orderedmultidict-1.0.tar.gz b/localwheels/orderedmultidict-1.0.tar.gz new file mode 100644 index 00000000..9697e56c --- /dev/null +++ b/localwheels/orderedmultidict-1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5 +size 19740 diff --git a/localwheels/pathlib2-2.3.2-py2.py3-none-any.whl b/localwheels/pathlib2-2.3.2-py2.py3-none-any.whl new file mode 100644 index 00000000..b7c18bf4 --- /dev/null +++ b/localwheels/pathlib2-2.3.2-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e276e2bf50a9a06c36e20f03b050e59b63dfe0678e37164333deb87af03b6ad +size 16658 diff --git a/localwheels/pathlib2-2.3.2.tar.gz b/localwheels/pathlib2-2.3.2.tar.gz new file mode 100644 index 00000000..b41cf39f --- /dev/null +++ b/localwheels/pathlib2-2.3.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eb170f8d0d61825e09a95b38be068299ddeda82f35e96c3301a8a5e7604cb83 +size 33764 diff --git a/localwheels/python-dateutil-2.7.5.tar.gz b/localwheels/python-dateutil-2.7.5.tar.gz new file mode 100644 index 00000000..c51d3def --- /dev/null +++ b/localwheels/python-dateutil-2.7.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02 +size 316043 diff --git a/localwheels/python-editor-1.0.3.tar.gz b/localwheels/python-editor-1.0.3.tar.gz new file mode 100644 index 00000000..f47f56e8 --- /dev/null +++ b/localwheels/python-editor-1.0.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3c066acee22a1c94f63938341d4fb374e3fdd69366ed6603d7b24bed1efc565 +size 6975 diff --git a/localwheels/python_dateutil-2.7.5-py2.py3-none-any.whl b/localwheels/python_dateutil-2.7.5-py2.py3-none-any.whl new file mode 100644 index 00000000..7b5107fe --- /dev/null +++ b/localwheels/python_dateutil-2.7.5-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56f285e7fad54cde3e31dc68a31a861543bfee5ada9278da8e85ec20a8f72912 +size 229205 diff --git a/localwheels/python_editor-1.0.3-py3-none-any.whl b/localwheels/python_editor-1.0.3-py3-none-any.whl new file mode 100644 index 00000000..a49f354e --- /dev/null +++ b/localwheels/python_editor-1.0.3-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44fc57a6db6e04c7922c37a04d0a86d0024a4f0f06245b6c57638cb322176202 +size 3474 diff --git a/localwheels/requests-2.20.0-py2.py3-none-any.whl b/localwheels/requests-2.20.0-py2.py3-none-any.whl new file mode 100644 index 00000000..7e3bc8f9 --- /dev/null +++ b/localwheels/requests-2.20.0-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a539dd6af40a611f3b8eb3f99d3567781352ece1698b2fab42bf4c2218705b5 +size 60985 diff --git a/localwheels/requests-2.20.0.tar.gz b/localwheels/requests-2.20.0.tar.gz new file mode 100644 index 00000000..dee9ffad --- /dev/null +++ b/localwheels/requests-2.20.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99dcfdaaeb17caf6e526f32b6a7b780461512ab3f1d992187801694cba42770c +size 111179 diff --git a/localwheels/securedrop-sdk-0.0.10.tar.gz b/localwheels/securedrop-sdk-0.0.10.tar.gz new file mode 100644 index 00000000..4a6eed5a --- /dev/null +++ b/localwheels/securedrop-sdk-0.0.10.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07b9f9d91b26e2396ff5eb63b5e990ac969de57bbfb7c075d99ac5e269198cb0 +size 21681 diff --git a/localwheels/securedrop-sdk-0.0.11.tar.gz b/localwheels/securedrop-sdk-0.0.11.tar.gz new file mode 100644 index 00000000..82a5ec44 --- /dev/null +++ b/localwheels/securedrop-sdk-0.0.11.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:89a454a45eac15db702e06d24f5e4be64b8d033a5546aff056de762ecfc5f72a +size 21674 diff --git a/localwheels/securedrop-sdk-0.0.12.tar.gz b/localwheels/securedrop-sdk-0.0.12.tar.gz new file mode 100644 index 00000000..374c1cc6 --- /dev/null +++ b/localwheels/securedrop-sdk-0.0.12.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5ddca26ce87d4007db5d64fe77d44b4086a902c3f79e69fb9a81343c81ce278 +size 24089 diff --git a/localwheels/securedrop-sdk-0.0.4.tar.gz b/localwheels/securedrop-sdk-0.0.4.tar.gz new file mode 100644 index 00000000..f2f7bbea --- /dev/null +++ b/localwheels/securedrop-sdk-0.0.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73b4148ea31681779c6a5aa127fce6764a80d241e791d54cec66c6834ac5ab3d +size 19032 diff --git a/localwheels/securedrop-sdk-0.0.8.tar.gz b/localwheels/securedrop-sdk-0.0.8.tar.gz new file mode 100644 index 00000000..eb6b2384 --- /dev/null +++ b/localwheels/securedrop-sdk-0.0.8.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eca697da2520b568a4600b11c3ab818f5855e0ce13f88495d756a894f142f2a1 +size 19294 diff --git a/localwheels/securedrop-sdk-0.0.9.tar.gz b/localwheels/securedrop-sdk-0.0.9.tar.gz new file mode 100644 index 00000000..b2a7d075 --- /dev/null +++ b/localwheels/securedrop-sdk-0.0.9.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43146f02c41858578f7c9997e733f2a07f8a4877f1bf9f8b4b11fd4ceffa47a9 +size 24026 diff --git a/localwheels/securedrop_sdk-0.0.10-py3-none-any.whl b/localwheels/securedrop_sdk-0.0.10-py3-none-any.whl new file mode 100644 index 00000000..35eebe8f --- /dev/null +++ b/localwheels/securedrop_sdk-0.0.10-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c6fca40013245b60118ffcd96ffd198c7114ebba978208a949f787f2dedfc69 +size 13025 diff --git a/localwheels/securedrop_sdk-0.0.11-py3-none-any.whl b/localwheels/securedrop_sdk-0.0.11-py3-none-any.whl new file mode 100644 index 00000000..6d68913e --- /dev/null +++ b/localwheels/securedrop_sdk-0.0.11-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f4013d5a2d970efe28cc76ee2ebce25bc0c4d9b5d9157d3086939f8ab05648b +size 12977 diff --git a/localwheels/securedrop_sdk-0.0.12-py3-none-any.whl b/localwheels/securedrop_sdk-0.0.12-py3-none-any.whl new file mode 100644 index 00000000..5e2defaf --- /dev/null +++ b/localwheels/securedrop_sdk-0.0.12-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:274beb38dccd91988b45517e6479863f80bb31e00953695e61dd8103509f2337 +size 13013 diff --git a/localwheels/securedrop_sdk-0.0.4-py3-none-any.whl b/localwheels/securedrop_sdk-0.0.4-py3-none-any.whl new file mode 100644 index 00000000..2bff4dae --- /dev/null +++ b/localwheels/securedrop_sdk-0.0.4-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50a6b980e2fcdbc78b00fa7b978cc91350364c94497f730b1c01f5ad446866c7 +size 8151 diff --git a/localwheels/securedrop_sdk-0.0.8-py3-none-any.whl b/localwheels/securedrop_sdk-0.0.8-py3-none-any.whl new file mode 100644 index 00000000..54e3749e --- /dev/null +++ b/localwheels/securedrop_sdk-0.0.8-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:116e4461efcd3d0e6b18161a6908cec614f53fb04a5b7ef68f19207559b34d91 +size 9026 diff --git a/localwheels/securedrop_sdk-0.0.9-py3-none-any.whl b/localwheels/securedrop_sdk-0.0.9-py3-none-any.whl new file mode 100644 index 00000000..fa3bc256 --- /dev/null +++ b/localwheels/securedrop_sdk-0.0.9-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7df0488247c3bd5a4066013bed6d9d96bdf2a73b1f5ef13459c5c90af3d33d1 +size 12984 diff --git a/localwheels/six-1.11.0-py2.py3-none-any.whl b/localwheels/six-1.11.0-py2.py3-none-any.whl new file mode 100644 index 00000000..d00cec6a --- /dev/null +++ b/localwheels/six-1.11.0-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4663c7a1dbed033cfb294f2d534bd6151c0698dc12ecabb4eaa3cb041d758528 +size 10702 diff --git a/localwheels/six-1.11.0.tar.gz b/localwheels/six-1.11.0.tar.gz new file mode 100644 index 00000000..ada21929 --- /dev/null +++ b/localwheels/six-1.11.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9 +size 29860 diff --git a/localwheels/urllib3-1.24-py2.py3-none-any.whl b/localwheels/urllib3-1.24-py2.py3-none-any.whl new file mode 100644 index 00000000..8c97ec81 --- /dev/null +++ b/localwheels/urllib3-1.24-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f31f3342445f7d635a8d473b4741111fd5e7602a7b2b8b60237b7328878b4b88 +size 131210 diff --git a/localwheels/urllib3-1.24.1-py2.py3-none-any.whl b/localwheels/urllib3-1.24.1-py2.py3-none-any.whl new file mode 100644 index 00000000..a312ab3a --- /dev/null +++ b/localwheels/urllib3-1.24.1-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac4755b0ae019d670d5fb420c39cb531389ab6ca8b652e12f56259f5cbc0ce21 +size 131429 diff --git a/localwheels/urllib3-1.24.1.tar.gz b/localwheels/urllib3-1.24.1.tar.gz new file mode 100644 index 00000000..f2d748a8 --- /dev/null +++ b/localwheels/urllib3-1.24.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22 +size 229688 diff --git a/localwheels/urllib3-1.24.3-py2.py3-none-any.whl b/localwheels/urllib3-1.24.3-py2.py3-none-any.whl new file mode 100644 index 00000000..cae1c2ef --- /dev/null +++ b/localwheels/urllib3-1.24.3-py2.py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:028309393606e28e640e2031edd27eb969c94f9364b0871912608aaa8e66c96e +size 132591 diff --git a/localwheels/urllib3-1.24.3.tar.gz b/localwheels/urllib3-1.24.3.tar.gz new file mode 100644 index 00000000..a4ae6de6 --- /dev/null +++ b/localwheels/urllib3-1.24.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4 +size 232237 diff --git a/localwheels/urllib3-1.24.tar.gz b/localwheels/urllib3-1.24.tar.gz new file mode 100644 index 00000000..793642b6 --- /dev/null +++ b/localwheels/urllib3-1.24.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41c3db2fc01e5b907288010dec72f9d0a74e37d6994e6eb56849f59fea2265ae +size 229200 From c6d381d339607438c6ca38ed6e0322e2fd26c025 Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Wed, 8 Jan 2020 15:15:12 -0800 Subject: [PATCH 2/5] Removes fetch-wheels operation Updates documentation to remove mention of that step, since the wheels are now stored directly inside this repo. --- Makefile | 8 ++---- README.md | 30 +++++++++++------------ scripts/createdownloadurls.py | 2 +- scripts/fetch-wheels | 39 ------------------------------ scripts/update-requirements | 4 +-- scripts/verify-sha256sum-signature | 8 +++--- 6 files changed, 24 insertions(+), 67 deletions(-) delete mode 100755 scripts/fetch-wheels diff --git a/Makefile b/Makefile index f93f30e3..f9d86fe4 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,9 @@ DEFAULT_GOAL: help .PHONY: wheel-urls -wheel-urls: ## Creates download URLs from s3 bucket from sha256sums.txt file +wheel-urls: ## Creates download URLs for PyPI mirror from sha256sums.txt file ./scripts/createdownloadurls.py > wheelsurls.txt -.PHONY: fetch-wheels -fetch-wheels: ## Downloads wheels and sources from the remote server - ./scripts/fetch-wheels - .PHONY: securedrop-proxy securedrop-proxy: ## Builds Debian package for securedrop-proxy code PKG_NAME="securedrop-proxy" ./scripts/build-debianpackage @@ -44,7 +40,7 @@ requirements: ## Creates requirements files for the Python projects ./scripts/update-requirements .PHONY: build-wheels -build-wheels: fetch-wheels ## Builds the wheels and adds them to the localwheels directory +build-wheels: ## Builds the wheels and adds them to the localwheels directory ./scripts/verify-sha256sum-signature ./scripts/build-sync-wheels -p ${PKG_DIR} ./scripts/sync-sha256sums diff --git a/README.md b/README.md index 23e3d936..ead162c0 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,6 @@ In a Debian AppVM in Qubes: ``` make install-deps -make fetch-wheels ``` **Note:** either run `make install-deps` each time you start your debian packaging AppVM, or make @@ -36,11 +35,7 @@ If new dependencies were added in the `requirements.txt` of that repo that are not in the FPF PyPI mirror, then the maintainer needs to do the following (we are taking `securedrop-client` project as example): -### 1. Sync the wheels locally - -Sync all of the latest wheels `make fetch-wheels` - -### 2. Create updated build-requirements.txt for the project +### 1. Create updated build-requirements.txt for the project From the `securedrop-debian-packaging` directory, @@ -59,8 +54,8 @@ pytest==3.10.1 Please build the wheel by using the following command. PKG_DIR=/home/user/code/securedrop-client make build-wheels -Then sync the newly built wheels and sources to the s3 bucket. -Also update the index HTML files accordingly and sync to s3. +Then add the newly built wheels and sources to ./localwheels/. +Also update the index HTML files accordingly commit your changes. After these steps, please rerun the command again. ``` @@ -84,18 +79,18 @@ python3 setup.py sdist ``` -### 3. Sync the localwheels directory back to the s3 bucket. (if only any update of wheels) +### 2. Commit changes to the localwheels directory (if only any update of wheels) This has to be manual step for security reasons. In future all of these wheel building steps should be done by a different system, not with the devloper's laptop. ``` -cd localwheels/ -aws s3 sync . s3://dev-bin.ops.securedrop.org/localwheels/ +git add localwheels/ +git commit ``` -### 4. Update the index files for the bucket (required for Debian builds) +### 3. Update the index files for the bucket (required for Debian builds) If there is any completely new Python package (source/wheel), then only we will have to update our index. @@ -110,13 +105,18 @@ If there is a new package, then update the main index. ./scripts/updateindex.py ``` -Finally sync the index. +Finally, submit a PR containing the new wheels and updated files. +If you wish to test the new wheels in a local build before submitting a PR, +or as part of PR review, you can do so by: ``` -cd simple/ -s3 sync . s3://dev-bin.ops.securedrop.org/simple/ +python3 -m http.server # serve local wheels via HTTP +vim $PKG_NAME/debian/rules # edit index URL to http://localhost:8000/simple ``` +Then run e.g. `PKG_VERSION=0.0.11 make securedrop-client`, and you'll see the GET +requests in the console running the HTTP server. + ## Make a release Summarizing release manager steps: diff --git a/scripts/createdownloadurls.py b/scripts/createdownloadurls.py index 1fe54689..f609c970 100755 --- a/scripts/createdownloadurls.py +++ b/scripts/createdownloadurls.py @@ -2,7 +2,7 @@ # This script finds the currently available sources # and wheels built by SecureDrop team and creates -# a list of URLs to download them from the s3. +# a list of URLs to download them from the public PyPI mirror. import os diff --git a/scripts/fetch-wheels b/scripts/fetch-wheels deleted file mode 100755 index a6a72562..00000000 --- a/scripts/fetch-wheels +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# Fetches Python wheel files from S3 bucket hosted by FPF, so that -# previously built wheels are reused in new package builds. -set -e -set -u -set -o pipefail - - -TOPLEVEL="$(git rev-parse --show-toplevel)" -WHEELS_DIR="${TOPLEVEL}/localwheels/" -WHEELS_URLS="${TOPLEVEL}/wheelsurls.txt" - -# Display notice about dev wheels location, if applicable -if grep -qF 'dev-bin.ops.securedrop.org' "$WHEELS_URLS" ; then - echo "WARNING: Using dev wheels location for build..." -fi - -# Create local directory for storing the wheels -mkdir -p "$WHEELS_DIR" - -# Initialize counters for friendly feedback -num_urls="$(wc -l "$WHEELS_URLS" | perl -lanE 'print $F[0]')" -num_fetched=0 - -# curl doesn't support target dirs, so hop into the target dir -cd "$WHEELS_DIR" -while read -r url ; do - file_name="$(basename "$url")" - # Skip if file is present; we'll verify integrity later. - # We can't use `--continue-at -` for curl with S3, since S3 - # doesn't support byte ranges. - if [[ ! -f "$file_name" ]]; then - curl -O -s "$url" - fi - num_fetched=$((num_fetched+1)) - printf "\rFetching wheel URLs... %i/%i" "$num_fetched" "$num_urls" -done < "$WHEELS_URLS" - -printf "... done.\n" diff --git a/scripts/update-requirements b/scripts/update-requirements index 8ee97c11..be0b108c 100755 --- a/scripts/update-requirements +++ b/scripts/update-requirements @@ -117,8 +117,8 @@ def add_sha256sums(path: str, requirements_lines: list, shasums_file: str ="sha2 print("\nPlease build the wheel by using the following command:\n") print("\tPKG_DIR={0} make build-wheels\n".format(os.environ["PKG_DIR"])) - print("Then sync the newly built wheels and sources to the s3 bucket.") - print("Also update the index HTML files accordingly and sync to s3.") + print("Then add the newly built wheels and sources to ./localwheels/.") + print("Also update the index HTML files accordingly commit your changes.") print("After these steps, please rerun the command again.") sys.exit(1) diff --git a/scripts/verify-sha256sum-signature b/scripts/verify-sha256sum-signature index 93e7dd19..95dd3c8b 100755 --- a/scripts/verify-sha256sum-signature +++ b/scripts/verify-sha256sum-signature @@ -1,6 +1,6 @@ #!/bin/bash -# Wrapper to verify that the checksums file used to track the integrity -# of the assets in the PyPI mirror, hosted on S3, has a valid signature. +# Wrapper to verify that the checksums file, used to track the integrity +# of the assets in the PyPI mirror, has a valid signature. # # We expect a valid signature to correspond to a SecureDrop Maintainer, # so we create a temporary keyring in order to force gpg to use *only* @@ -36,7 +36,7 @@ function verify_sha256sum_signature() { } function verify_sha256sum_no_changes() { - # Create a temporary file to store the checksums as gathered from S3. + # Create a temporary file to store the checksums as gathered from the mirror. # We'll compare this to the signed file for validation. temp_sha256sum="$(mktemp)" localwheels="${repo_root}/localwheels" @@ -50,7 +50,7 @@ function verify_sha256sum_no_changes() { } verify_sha256sum_signature -printf 'Checking that SHA256SUMs from S3 match signed file... ' +printf 'Checking that SHA256SUMs from mirror match signed file... ' verify_sha256sum_no_changes printf ' OK\n' From 236e5d3704698b6c25edfe92a8343569fa605b8f Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Thu, 9 Jan 2020 16:10:56 -0800 Subject: [PATCH 3/5] Updates wheels URL dev-bin -> pypi subdomain The old URL was: https://dev-bin.ops.securedrop.org/localwheels The new URL is: https://pypi.securedrop.org/localwheels There's an order-of-operations snag in that the new URL won't be updated automatically until the new wheels are merged into the repo master. --- scripts/createdownloadurls.py | 4 +- securedrop-client/debian/rules | 2 +- securedrop-export/debian/rules | 2 +- securedrop-log/debian/rules | 2 +- securedrop-proxy/debian/rules | 2 +- wheelsurls.txt | 118 ++++++++++++++++----------------- 6 files changed, 65 insertions(+), 65 deletions(-) diff --git a/scripts/createdownloadurls.py b/scripts/createdownloadurls.py index f609c970..f31174ee 100755 --- a/scripts/createdownloadurls.py +++ b/scripts/createdownloadurls.py @@ -6,9 +6,9 @@ import os -DEV_WHEELS_BUCKET_BASE_URL = "https://dev-bin.ops.securedrop.org/localwheels" +WHEELS_BUCKET_BASE_URL = "https://pypi.securedrop.org/localwheels" WHEELS_BUCKET_BASE_URL = os.environ.get( - "WHEELS_BUCKET_BASE_URL", DEV_WHEELS_BUCKET_BASE_URL + "WHEELS_BUCKET_BASE_URL", WHEELS_BUCKET_BASE_URL ) diff --git a/securedrop-client/debian/rules b/securedrop-client/debian/rules index 36a2f727..d26dbea8 100755 --- a/securedrop-client/debian/rules +++ b/securedrop-client/debian/rules @@ -8,7 +8,7 @@ override_dh_virtualenv: --python /usr/bin/python3 \ --setuptools \ --use-system-packages \ - --index-url https://dev-bin.ops.securedrop.org/simple \ + --index-url https://pypi.securedrop.org/simple \ --extra-pip-arg "--ignore-installed" \ --extra-pip-arg "--no-deps" \ --extra-pip-arg "--no-cache-dir" \ diff --git a/securedrop-export/debian/rules b/securedrop-export/debian/rules index aa7b2545..97769819 100755 --- a/securedrop-export/debian/rules +++ b/securedrop-export/debian/rules @@ -7,7 +7,7 @@ override_dh_virtualenv: dh_virtualenv \ --python /usr/bin/python3 \ --setuptools \ - --index-url https://dev-bin.ops.securedrop.org/simple \ + --index-url https://pypi.securedrop.org/simple \ --extra-pip-arg "--ignore-installed" \ --extra-pip-arg "--no-deps" \ --extra-pip-arg "--no-cache-dir" \ diff --git a/securedrop-log/debian/rules b/securedrop-log/debian/rules index 1894e45a..28f5894d 100755 --- a/securedrop-log/debian/rules +++ b/securedrop-log/debian/rules @@ -1,7 +1,7 @@ #!/usr/bin/make -f %: - dh $@ --with python-virtualenv --python /usr/bin/python3 --setuptools --index-url https://dev-bin.ops.securedrop.org/simple --requirements build-requirements.txt + dh $@ --with python-virtualenv --python /usr/bin/python3 --setuptools --index-url https://pypi.securedrop.org/simple --requirements build-requirements.txt override_dh_strip_nondeterminism: find ./debian/ -type f -name '*.pyc' -delete diff --git a/securedrop-proxy/debian/rules b/securedrop-proxy/debian/rules index aa7b2545..97769819 100755 --- a/securedrop-proxy/debian/rules +++ b/securedrop-proxy/debian/rules @@ -7,7 +7,7 @@ override_dh_virtualenv: dh_virtualenv \ --python /usr/bin/python3 \ --setuptools \ - --index-url https://dev-bin.ops.securedrop.org/simple \ + --index-url https://pypi.securedrop.org/simple \ --extra-pip-arg "--ignore-installed" \ --extra-pip-arg "--no-deps" \ --extra-pip-arg "--no-cache-dir" \ diff --git a/wheelsurls.txt b/wheelsurls.txt index 2f350fc9..bbb3929c 100644 --- a/wheelsurls.txt +++ b/wheelsurls.txt @@ -1,59 +1,59 @@ -https://dev-bin.ops.securedrop.org/localwheels/Mako-1.0.7-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/Mako-1.0.7.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/MarkupSafe-1.0-cp35-cp35m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/MarkupSafe-1.0-cp37-cp37m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/MarkupSafe-1.0.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/PyYAML-3.13-cp35-cp35m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/PyYAML-3.13.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/PyYAML-5.1-cp35-cp35m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/PyYAML-5.1-cp37-cp37m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/PyYAML-5.1.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/SQLAlchemy-1.2.13-cp35-cp35m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/SQLAlchemy-1.2.13.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/SQLAlchemy-1.3.3-cp35-cp35m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/SQLAlchemy-1.3.3-cp37-cp37m-linux_x86_64.whl -https://dev-bin.ops.securedrop.org/localwheels/SQLAlchemy-1.3.3.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/Werkzeug-0.14.1-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/Werkzeug-0.14.1.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/alembic-1.0.2-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/alembic-1.0.2.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/arrow-0.12.1-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/arrow-0.12.1.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/certifi-2018.10.15-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/certifi-2018.10.15.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/chardet-3.0.4-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/chardet-3.0.4.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/furl-2.0.0-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/furl-2.0.0.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/idna-2.7-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/idna-2.7.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/orderedmultidict-1.0-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/orderedmultidict-1.0.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/pathlib2-2.3.2-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/pathlib2-2.3.2.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/python-dateutil-2.7.5.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/python-editor-1.0.3.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/python_dateutil-2.7.5-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/python_editor-1.0.3-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/requests-2.20.0-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/requests-2.20.0.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/securedrop-sdk-0.0.10.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/securedrop-sdk-0.0.11.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/securedrop-sdk-0.0.12.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/securedrop-sdk-0.0.4.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/securedrop-sdk-0.0.8.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/securedrop-sdk-0.0.9.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/securedrop_sdk-0.0.10-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/securedrop_sdk-0.0.11-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/securedrop_sdk-0.0.12-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/securedrop_sdk-0.0.4-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/securedrop_sdk-0.0.8-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/securedrop_sdk-0.0.9-py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/six-1.11.0-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/six-1.11.0.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/urllib3-1.24-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/urllib3-1.24.1-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/urllib3-1.24.1.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/urllib3-1.24.3-py2.py3-none-any.whl -https://dev-bin.ops.securedrop.org/localwheels/urllib3-1.24.3.tar.gz -https://dev-bin.ops.securedrop.org/localwheels/urllib3-1.24.tar.gz +https://pypi.securedrop.org/localwheels/Mako-1.0.7-py3-none-any.whl +https://pypi.securedrop.org/localwheels/Mako-1.0.7.tar.gz +https://pypi.securedrop.org/localwheels/MarkupSafe-1.0-cp35-cp35m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/MarkupSafe-1.0-cp37-cp37m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/MarkupSafe-1.0.tar.gz +https://pypi.securedrop.org/localwheels/PyYAML-3.13-cp35-cp35m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/PyYAML-3.13.tar.gz +https://pypi.securedrop.org/localwheels/PyYAML-5.1-cp35-cp35m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/PyYAML-5.1-cp37-cp37m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/PyYAML-5.1.tar.gz +https://pypi.securedrop.org/localwheels/SQLAlchemy-1.2.13-cp35-cp35m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/SQLAlchemy-1.2.13.tar.gz +https://pypi.securedrop.org/localwheels/SQLAlchemy-1.3.3-cp35-cp35m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/SQLAlchemy-1.3.3-cp37-cp37m-linux_x86_64.whl +https://pypi.securedrop.org/localwheels/SQLAlchemy-1.3.3.tar.gz +https://pypi.securedrop.org/localwheels/Werkzeug-0.14.1-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/Werkzeug-0.14.1.tar.gz +https://pypi.securedrop.org/localwheels/alembic-1.0.2-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/alembic-1.0.2.tar.gz +https://pypi.securedrop.org/localwheels/arrow-0.12.1-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/arrow-0.12.1.tar.gz +https://pypi.securedrop.org/localwheels/certifi-2018.10.15-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/certifi-2018.10.15.tar.gz +https://pypi.securedrop.org/localwheels/chardet-3.0.4-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/chardet-3.0.4.tar.gz +https://pypi.securedrop.org/localwheels/furl-2.0.0-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/furl-2.0.0.tar.gz +https://pypi.securedrop.org/localwheels/idna-2.7-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/idna-2.7.tar.gz +https://pypi.securedrop.org/localwheels/orderedmultidict-1.0-py3-none-any.whl +https://pypi.securedrop.org/localwheels/orderedmultidict-1.0.tar.gz +https://pypi.securedrop.org/localwheels/pathlib2-2.3.2-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/pathlib2-2.3.2.tar.gz +https://pypi.securedrop.org/localwheels/python-dateutil-2.7.5.tar.gz +https://pypi.securedrop.org/localwheels/python-editor-1.0.3.tar.gz +https://pypi.securedrop.org/localwheels/python_dateutil-2.7.5-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/python_editor-1.0.3-py3-none-any.whl +https://pypi.securedrop.org/localwheels/requests-2.20.0-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/requests-2.20.0.tar.gz +https://pypi.securedrop.org/localwheels/securedrop-sdk-0.0.10.tar.gz +https://pypi.securedrop.org/localwheels/securedrop-sdk-0.0.11.tar.gz +https://pypi.securedrop.org/localwheels/securedrop-sdk-0.0.12.tar.gz +https://pypi.securedrop.org/localwheels/securedrop-sdk-0.0.4.tar.gz +https://pypi.securedrop.org/localwheels/securedrop-sdk-0.0.8.tar.gz +https://pypi.securedrop.org/localwheels/securedrop-sdk-0.0.9.tar.gz +https://pypi.securedrop.org/localwheels/securedrop_sdk-0.0.10-py3-none-any.whl +https://pypi.securedrop.org/localwheels/securedrop_sdk-0.0.11-py3-none-any.whl +https://pypi.securedrop.org/localwheels/securedrop_sdk-0.0.12-py3-none-any.whl +https://pypi.securedrop.org/localwheels/securedrop_sdk-0.0.4-py3-none-any.whl +https://pypi.securedrop.org/localwheels/securedrop_sdk-0.0.8-py3-none-any.whl +https://pypi.securedrop.org/localwheels/securedrop_sdk-0.0.9-py3-none-any.whl +https://pypi.securedrop.org/localwheels/six-1.11.0-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/six-1.11.0.tar.gz +https://pypi.securedrop.org/localwheels/urllib3-1.24-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/urllib3-1.24.1-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/urllib3-1.24.1.tar.gz +https://pypi.securedrop.org/localwheels/urllib3-1.24.3-py2.py3-none-any.whl +https://pypi.securedrop.org/localwheels/urllib3-1.24.3.tar.gz +https://pypi.securedrop.org/localwheels/urllib3-1.24.tar.gz From 9f51495bdf7f7b7abe4abd0bf4942e94bd36952f Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Fri, 10 Jan 2020 16:54:32 -0800 Subject: [PATCH 4/5] Updates CircleCI settings Removes the fetch-wheels operation, which doesn't have a script anymore. Now we need to ensure that git-lfs is configured before building, in order to find the wheels locally (otherwise they'll just be pointers). --- .circleci/config.yml | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cb5fa23f..2a3a3b0b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,11 +5,6 @@ common-steps: name: Install Debian packaging dependencies command: make install-deps - - &fetchwheels - run: - name: Download wheels and sources - command: make fetch-wheels - - &getlatestreleasedversion run: name: Get latest released version of the project @@ -115,6 +110,10 @@ common-steps: tar xzf git-lfs-linux-amd64-v$GIT_LFS_VERSION.tar.gz sudo mv git-lfs /usr/local/bin/git-lfs git lfs install + # Re-fetch assets to resolve pointers to actual files + rm -r localwheels/ + git checkout localwheels/ + git lfs fetch - &addsshkeys add_ssh_keys: @@ -189,8 +188,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredroplog - *getlatestreleasedversion - *makesourcetarball @@ -201,8 +200,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredroplog - *getnightlyversion - *makesourcetarball @@ -217,8 +216,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredropclient - *getlatestreleasedversion - *makesourcetarball @@ -229,8 +228,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredropclient - *getnightlyversion - *makesourcetarball @@ -245,8 +244,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredropproxy - *getlatestreleasedversion - *makesourcetarball @@ -257,8 +256,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredropproxy - *getnightlyversion - *makesourcetarball @@ -273,8 +272,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredropexport - *getlatestreleasedversion - *makesourcetarball @@ -285,8 +284,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *clonesecuredropexport - *getnightlyversion - *makesourcetarball @@ -301,8 +300,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *setsvsdispname - *setmetapackageversion - *builddebianpackage @@ -312,8 +311,8 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout + - *installgitlfs - *installdeps - - *fetchwheels - *setsdgrsecname - *setmetapackageversion - *builddebianpackage From deba9e70fff1401c57ef680a269091b1b2759f28 Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Mon, 13 Jan 2020 15:49:46 -0800 Subject: [PATCH 5/5] Adds git-lfs to installdeps target Provides a convenient method for installing git-lfs, as part of the install-required-dependencies step. Added a conditional check to ensure that the wheels are indeed retrieved via git-lfs. This change is required by developers only on first-run, thus the conditional, but required in CI all the time, since the repo is cloned before deps are installed. --- .circleci/config.yml | 30 ------------------------------ README.md | 3 +++ scripts/install-deps | 16 +++++++++++++++- 3 files changed, 18 insertions(+), 31 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2a3a3b0b..bb58652d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -99,22 +99,6 @@ common-steps: make $PKG_NAME ls ~/debbuild/packaging/*.deb - - &installgitlfs - run: - name: Install Git LFS. - command: | - export GIT_LFS_VERSION=2.7.2 - export GIT_LFS_CHECKSUM=89f5aa2c29800bbb71f5d4550edd69c5f83e3ee9e30f770446436dd7f4ef1d4c - wget https://github.com/git-lfs/git-lfs/releases/download/v$GIT_LFS_VERSION/git-lfs-linux-amd64-v$GIT_LFS_VERSION.tar.gz - sha256sum git-lfs-linux-amd64-v$GIT_LFS_VERSION.tar.gz | grep $GIT_LFS_CHECKSUM - tar xzf git-lfs-linux-amd64-v$GIT_LFS_VERSION.tar.gz - sudo mv git-lfs /usr/local/bin/git-lfs - git lfs install - # Re-fetch assets to resolve pointers to actual files - rm -r localwheels/ - git checkout localwheels/ - git lfs fetch - - &addsshkeys add_ssh_keys: fingerprints: @@ -188,7 +172,6 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredroplog - *getlatestreleasedversion @@ -200,14 +183,12 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredroplog - *getnightlyversion - *makesourcetarball - *updatedebianchangelog - *builddebianpackage - - *installgitlfs - *addsshkeys - *commitworkstationdebs @@ -216,7 +197,6 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredropclient - *getlatestreleasedversion @@ -228,14 +208,12 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredropclient - *getnightlyversion - *makesourcetarball - *updatedebianchangelog - *builddebianpackage - - *installgitlfs - *addsshkeys - *commitworkstationdebs @@ -244,7 +222,6 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredropproxy - *getlatestreleasedversion @@ -256,14 +233,12 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredropproxy - *getnightlyversion - *makesourcetarball - *updatedebianchangelog - *builddebianpackage - - *installgitlfs - *addsshkeys - *commitworkstationdebs @@ -272,7 +247,6 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredropexport - *getlatestreleasedversion @@ -284,14 +258,12 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *clonesecuredropexport - *getnightlyversion - *makesourcetarball - *updatedebianchangelog - *builddebianpackage - - *installgitlfs - *addsshkeys - *commitworkstationdebs @@ -300,7 +272,6 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *setsvsdispname - *setmetapackageversion @@ -311,7 +282,6 @@ jobs: - image: circleci/python:3.7-buster steps: - checkout - - *installgitlfs - *installdeps - *setsdgrsecname - *setmetapackageversion diff --git a/README.md b/README.md index ead162c0..cc49e775 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,9 @@ make install-deps **Note:** either run `make install-deps` each time you start your debian packaging AppVM, or make sure that you install them into the template for your debian packaging AppVM. +The install target will configure [git-lfs](https://git-lfs.github.com/), used for storing +binary wheel files. + ## Updating Python wheels Maintainers of `securedrop-client` and `securedrop-proxy` must ensure that diff --git a/scripts/install-deps b/scripts/install-deps index 47a3f018..e055f611 100755 --- a/scripts/install-deps +++ b/scripts/install-deps @@ -1,6 +1,6 @@ #!/bin/bash # Installs required dependencies for building SecureDrop Worsktation packages. -# Assumes a Debian 9 machine, ideally a Qubes AppVM. +# Assumes a Debian 10 machine, ideally a Qubes AppVM. sudo apt-get update sudo apt-get install \ @@ -10,7 +10,21 @@ sudo apt-get install \ dh-make \ dh-python \ dh-virtualenv \ + git-lfs \ libffi-dev \ libssl-dev \ python3-all \ python3-setuptools + + +# Inspect the wheel files present locally. If repo was cloned +# without git-lfs, they'll be "text/plain", rather than "application/zip". +wheel_mime_types="$(find localwheels/ -type f -iname '*.whl' -exec file --mime-type {} + | perl -F':\s+' -lanE 'say $F[-1]' | sort -u)" +if [[ "$wheel_mime_types" != "application/zip" ]]; then + echo "Re-fetching git-lfs assets..." + git lfs install + # Re-fetch assets to resolve pointers to actual files + rm -r localwheels/ + git checkout localwheels/ + git lfs fetch +fi