From 1c8bd274257c97aea0f577dc95e861a89e6327b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 30 Sep 2023 00:24:11 +0000 Subject: [PATCH] build(deps): bump duplicity from 1.2.3 to 2.1.1 Bumps [duplicity](https://github.com/librsync/librsync) from 1.2.3 to 2.1.1. - [Release notes](https://github.com/librsync/librsync/releases) - [Changelog](https://github.com/librsync/librsync/blob/master/NEWS.md) - [Commits](https://github.com/librsync/librsync/commits) --- updated-dependencies: - dependency-name: duplicity dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- Dockerfile | 12 ++++----- poetry.lock | 58 ++++++++++++++++++++++++++++++++----------- pyproject.toml | 2 +- tests/test_service.py | 18 +++++++------- 4 files changed, 59 insertions(+), 31 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7fdc6cd7..a8ceed27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-slim AS builder +FROM python:3.10-slim AS builder WORKDIR /app ADD pyproject.toml poetry.lock ./ @@ -8,7 +8,7 @@ RUN pip install --no-cache-dir poetry # Test comment RUN poetry export --extras duplicity --output /app/requirements.txt -FROM python:3.11-alpine AS base +FROM python:3.10-alpine AS base ENV CRONTAB_15MIN='*/15 * * * *' \ CRONTAB_HOURLY='0 * * * *' \ @@ -86,7 +86,7 @@ RUN chmod a+rx /usr/local/bin/* && sync FROM base AS s3 ENV JOB_500_WHAT='dup full $SRC $DST' \ JOB_500_WHEN='weekly' \ - OPTIONS_EXTRA='--metadata-sync-mode partial --full-if-older-than 1W --file-prefix-archive archive-$(hostname -f)- --file-prefix-manifest manifest-$(hostname -f)- --file-prefix-signature signature-$(hostname -f)- --s3-european-buckets --s3-multipart-chunk-size 10 --s3-use-new-style' + OPTIONS_EXTRA='--metadata-sync-mode partial --full-if-older-than 1W --file-prefix-archive archive-$(hostname -f)- --file-prefix-manifest manifest-$(hostname -f)- --file-prefix-signature signature-$(hostname -f)- --s3-multipart-chunk-size 10' FROM base AS docker @@ -96,7 +96,7 @@ RUN apk add --no-cache docker-cli FROM docker AS docker-s3 ENV JOB_500_WHAT='dup full $SRC $DST' \ JOB_500_WHEN='weekly' \ - OPTIONS_EXTRA='--metadata-sync-mode partial --full-if-older-than 1W --file-prefix-archive archive-$(hostname -f)- --file-prefix-manifest manifest-$(hostname -f)- --file-prefix-signature signature-$(hostname -f)- --s3-european-buckets --s3-multipart-chunk-size 10 --s3-use-new-style' + OPTIONS_EXTRA='--metadata-sync-mode partial --full-if-older-than 1W --file-prefix-archive archive-$(hostname -f)- --file-prefix-manifest manifest-$(hostname -f)- --file-prefix-signature signature-$(hostname -f)- --s3-multipart-chunk-size 10' FROM base AS postgres @@ -139,10 +139,10 @@ ENV JOB_200_WHEN='daily weekly' \ FROM postgres AS postgres-s3 ENV JOB_500_WHAT='dup full $SRC $DST' \ JOB_500_WHEN='weekly' \ - OPTIONS_EXTRA='--metadata-sync-mode partial --full-if-older-than 1W --file-prefix-archive archive-$(hostname -f)- --file-prefix-manifest manifest-$(hostname -f)- --file-prefix-signature signature-$(hostname -f)- --s3-european-buckets --s3-multipart-chunk-size 10 --s3-use-new-style' + OPTIONS_EXTRA='--metadata-sync-mode partial --full-if-older-than 1W --file-prefix-archive archive-$(hostname -f)- --file-prefix-manifest manifest-$(hostname -f)- --file-prefix-signature signature-$(hostname -f)- --s3-multipart-chunk-size 10' FROM postgres-s3 AS postgres-multi ENV DST='multi' \ OPTIONS_EXTRA='--metadata-sync-mode partial --full-if-older-than 1W --file-prefix-archive archive-$(hostname -f)- --file-prefix-manifest manifest-$(hostname -f)- --file-prefix-signature signature-$(hostname -f)-' \ - OPTIONS_EXTRA_S3='--s3-european-buckets --s3-multipart-chunk-size 10 --s3-use-new-style' + OPTIONS_EXTRA_S3='--s3-multipart-chunk-size 10' diff --git a/poetry.lock b/poetry.lock index a03a6cef..f8c1091e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -526,17 +526,17 @@ stone = ">=2" [[package]] name = "duplicity" -version = "1.2.3" +version = "2.1.1" description = "Encrypted backup using rsync algorithm" optional = true -python-versions = ">2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" +python-versions = ">=3.8, <4" files = [ - {file = "duplicity-1.2.3.tar.gz", hash = "sha256:fcbcdea289128d9d0988ed66fa2408196ce940e8029ca5036254bfd2e3f4a568"}, + {file = "duplicity-2.1.1.tar.gz", hash = "sha256:82f296f3bf29fed6a03185e2a00670dabf1ebab895234cc01eac7c3fbd8ae03a"}, ] [package.dependencies] fasteners = "*" -future = "*" +setuptools_scm = "*" [[package]] name = "exceptiongroup" @@ -593,16 +593,6 @@ mccabe = ">=0.7.0,<0.8.0" pycodestyle = ">=2.9.0,<2.10.0" pyflakes = ">=2.5.0,<2.6.0" -[[package]] -name = "future" -version = "0.18.3" -description = "Clean single-source support for Python 3 and 2" -optional = true -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "future-0.18.3.tar.gz", hash = "sha256:34a17436ed1e96697a86f9de3d15a3b0be01d8bc8de9c1dffd59fb8234ed5307"}, -] - [[package]] name = "gdata" version = "2.0.18" @@ -1841,6 +1831,44 @@ botocore = ">=1.12.36,<2.0a.0" [package.extras] crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] +[[package]] +name = "setuptools" +version = "68.2.2" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = true +python-versions = ">=3.8" +files = [ + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "setuptools-scm" +version = "8.0.3" +description = "the blessed package to manage your versions by scm tags" +optional = true +python-versions = ">=3.8" +files = [ + {file = "setuptools-scm-8.0.3.tar.gz", hash = "sha256:0169fd70197efda2f8c4d0b2a7a3d614431b488116f37b79d031e9e7ec884d8c"}, + {file = "setuptools_scm-8.0.3-py3-none-any.whl", hash = "sha256:813822234453438a13c78d05c8af29918fbc06f88efb33d38f065340bbb48c39"}, +] + +[package.dependencies] +packaging = ">=20" +setuptools = "*" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} +typing-extensions = {version = "*", markers = "python_version < \"3.11\""} + +[package.extras] +docs = ["entangled-cli[rich]", "mkdocs", "mkdocs-entangled-plugin", "mkdocs-material", "mkdocstrings[python]", "pygments"] +rich = ["rich"] +test = ["pytest", "rich", "virtualenv (>20)"] + [[package]] name = "six" version = "1.16.0" @@ -2030,4 +2058,4 @@ duplicity = ["PyDrive", "PyDrive2", "b2", "b2sdk", "boto", "boto3", "dropbox", " [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "1b22377b4cc5bb7e6e6eb06655546b19d9e36c0120811c157bf0699bcad233ae" +content-hash = "ad8270207cd5998d1799cce495295778b71dfca1a980279d4df2988afcb7bee6" diff --git a/pyproject.toml b/pyproject.toml index 26658ea3..925837b7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ PyDrive = {version = "^1.3.1", optional = true} PyDrive2 = {version = "^1.17.0", optional = true} python-swiftclient = {version = "^4.3.0", optional = true} requests-oauthlib = {version = "^1.3.1", optional = true} -duplicity = {version = "^1.2.3", optional = true} +duplicity = {version = "^2.1.1", optional = true} dropbox = {version = "^11.36.2", optional = true} python-keystoneclient = {version = "^5.2.0", optional = true} idna = {version = "3.4", optional = true} diff --git a/tests/test_service.py b/tests/test_service.py index c8b81893..87ff6f2e 100644 --- a/tests/test_service.py +++ b/tests/test_service.py @@ -93,7 +93,7 @@ def test_postgres_db_filters( "--env=PGPASSWORD=password", "--env=PASSPHRASE=good", f"--env=PGHOST={postgres_container['NetworkSettings']['IPAddress']}", - "--env=DST=file:///mnt/backup/dst", + "--env=DST=file://mnt/backup/dst", ] if dbs_to_include is not None: exc = exc[f"--env=DBS_TO_INCLUDE={dbs_to_include}"] @@ -110,7 +110,7 @@ def test_postgres_db_filters( # Fri Oct 29 12:29:34 2021 . # Fri Oct 29 12:29:34 2021 demo1.sql # Fri Oct 29 12:29:34 2021 demo2.sql - output = exc("dup", "list-current-files", "file:///mnt/backup/dst") + output = exc("dup", "list-current-files", "file://mnt/backup/dst") # Assert we backed up the correct DBs backed = re.findall(r" (\w+)\.sql", output) assert backed == dbs_matched @@ -140,7 +140,7 @@ def test_postgres_restore( "--env=PASSPHRASE=good", f"--env=PGHOST={postgres_container['NetworkSettings']['IPAddress']}", "--env=SRC=/mnt/backup/src", - "--env=DST=file:///mnt/backup/dst", + "--env=DST=file://mnt/backup/dst", ] exc = exc[duplicity_container] # Create all those test dbs @@ -162,21 +162,21 @@ def test_postgres_restore( @pytest.mark.parametrize( "dbs_to_include, dbs_to_exclude, dbs_matched, dests", ( - (None, "^demo", ["prod1", "prod2"], ["file:///mnt/backup/dst_1"]), + (None, "^demo", ["prod1", "prod2"], ["file://mnt/backup/dst_1"]), ( "^prod", None, ["prod1", "prod2"], - ["file:///mnt/backup/dst_1", "file:///mnt/backup/dst_2"], + ["file://mnt/backup/dst_1", "file://mnt/backup/dst_2"], ), ( "prod", "2", ["prod1"], [ - "file:///mnt/backup/dst_1", - "file:///mnt/backup/dst_2", - "file:///mnt/backup/dst_3", + "file://mnt/backup/dst_1", + "file://mnt/backup/dst_2", + "file://mnt/backup/dst_3", ], ), ), @@ -232,7 +232,7 @@ def test_postgres_multi( ( ( ["prod1"], - ["file:///mnt/backup/dst_1", "file:///mnt/backup/dst_2"], + ["file://mnt/backup/dst_1", "file://mnt/backup/dst_2"], ), ), )