From 50d03eea4a7a12682aa9fe7ef028d6d68e5cce01 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sat, 13 Aug 2022 23:58:49 +0200 Subject: [PATCH] archivers/py-borgbackup: update to 1.2.1, add tests & man pages Update to v1.2.1 [1] Add self-test features [1], including - a smoke test in post-install in order to always run it - "make test" support (requires network access for tox) PR: 264816 [1] Reported by: rob2g2-freebsd@bitbert.com [1] Add manual pages. [2] PR: 263269 [2] Reported by: courtney.hicks1@icloud.com [2] --- archivers/py-borgbackup/Makefile | 46 ++++++++++++++++++++++++++----- archivers/py-borgbackup/distinfo | 6 ++-- archivers/py-borgbackup/pkg-plist | 35 +++++++++++++++++++++++ 3 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 archivers/py-borgbackup/pkg-plist diff --git a/archivers/py-borgbackup/Makefile b/archivers/py-borgbackup/Makefile index ec020d2659a9..8765e9364188 100644 --- a/archivers/py-borgbackup/Makefile +++ b/archivers/py-borgbackup/Makefile @@ -1,6 +1,5 @@ PORTNAME= borgbackup -DISTVERSION= 1.1.18 -PORTREVISION= 1 +DISTVERSION= 1.2.1 CATEGORIES= archivers python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -11,13 +10,21 @@ COMMENT= Deduplicating backup program LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=1.7:devel/py-setuptools_scm@${PY_FLAVOR} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=1.7:devel/py-setuptools_scm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}msgpack>=1.0:devel/py-msgpack@${PY_FLAVOR} LIB_DEPENDS= liblz4.so:archivers/liblz4 \ libzstd.so:archivers/zstd \ libxxhash.so:devel/xxhash -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=19.0:devel/py-packaging@${PY_FLAVOR} - -USES= python ssl +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=19.0:devel/py-packaging@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}msgpack>=1.0:devel/py-msgpack@${PY_FLAVOR} +MAKE_ENV= BORG_OPENSSL_PREFIX=${OPENSSLBASE} +TEST_DEPENDS= ${RUN_DEPENDS} \ + ${PYTHON_PKGNAMEPREFIX}tox>3.2:devel/py-tox@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}virtualenv>=0:devel/py-virtualenv@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pkgconfig>=0:devel/py-pkgconfig@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} \ + fakeroot:security/fakeroot +USES= pkgconfig python:3.8+ ssl USE_PYTHON= autoplist distutils OPTIONS_DEFINE= FUSE @@ -26,9 +33,34 @@ OPTIONS_DEFAULT= FUSE FUSE_DESC= Support to mount locally borg backup files FUSE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}llfuse>0:devel/py-llfuse@${PY_FLAVOR} +_BORGENV=BORG_PASSPHRASE=secret123 PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} post-install: - ${SETENV} PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} ${STAGEDIR}${PREFIX}/bin/borg -V + ${MKDIR} ${STAGEDIR}${MAN1PREFIX}/share/man/man1/ + ${INSTALL_MAN} ${WRKSRC}/docs/man/* ${STAGEDIR}${MAN1PREFIX}/share/man/man1/ @${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/borg/ -name "*.so" \ -exec ${STRIP_CMD} {} \; + @${ECHO_MSG} "----> running borg smoke tests" + ${SETENV} PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} ${STAGEDIR}${PREFIX}/bin/borg -V + ${RM} -r ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg init --encryption=repokey ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg key export ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg create ${WRKDIR}/borgrepo::test1 ${WRKSRC} + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg create ${WRKDIR}/borgrepo::test2 ${WRKSRC} ${STAGEDIR} + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --verify-data ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg info ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg prune --keep-last 1 ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --verify-data ${WRKDIR}/borgrepo + ${ECHO_CMD} YES \ + | ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --repair ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg compact --progress ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg check --verify-data ${WRKDIR}/borgrepo + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg extract --dry-run --progress ${WRKDIR}/borgrepo::test2 + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg export-tar ${WRKDIR}/borgrepo::test2 - >/dev/null + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg list ${WRKDIR}/borgrepo + # long output - ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg list ${WRKDIR}/borgrepo::test2 | ${GREP} -v ^d + ${SETENV} ${_BORGENV} ${STAGEDIR}${PREFIX}/bin/borg info ${WRKDIR}/borgrepo + +do-test: + cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${_BORGENV} tox-${PYTHON_VER} -e ${PY_FLAVOR} -vv .include diff --git a/archivers/py-borgbackup/distinfo b/archivers/py-borgbackup/distinfo index 7c1661cd8c31..4527a4070b23 100644 --- a/archivers/py-borgbackup/distinfo +++ b/archivers/py-borgbackup/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1654597105 -SHA256 (borgbackup-1.1.18.tar.gz) = 5cba5fe7db4d08944b467ec11efc017687a512b0d98ccf0ad1aa9c4329665275 -SIZE (borgbackup-1.1.18.tar.gz) = 3854385 +TIMESTAMP = 1660417707 +SHA256 (borgbackup-1.2.1.tar.gz) = 9f9ce2d1923cb33a147ee6d08177d860974567721b1142fca67914a02e64c633 +SIZE (borgbackup-1.2.1.tar.gz) = 4017050 diff --git a/archivers/py-borgbackup/pkg-plist b/archivers/py-borgbackup/pkg-plist new file mode 100644 index 000000000000..8582338afb36 --- /dev/null +++ b/archivers/py-borgbackup/pkg-plist @@ -0,0 +1,35 @@ +share/man/man1/borg-benchmark-crud.1.gz +share/man/man1/borg-benchmark.1.gz +share/man/man1/borg-break-lock.1.gz +share/man/man1/borg-change-passphrase.1.gz +share/man/man1/borg-check.1.gz +share/man/man1/borg-common.1.gz +share/man/man1/borg-compact.1.gz +share/man/man1/borg-compression.1.gz +share/man/man1/borg-config.1.gz +share/man/man1/borg-create.1.gz +share/man/man1/borg-delete.1.gz +share/man/man1/borg-diff.1.gz +share/man/man1/borg-export-tar.1.gz +share/man/man1/borg-extract.1.gz +share/man/man1/borg-import-tar.1.gz +share/man/man1/borg-info.1.gz +share/man/man1/borg-init.1.gz +share/man/man1/borg-key-change-passphrase.1.gz +share/man/man1/borg-key-export.1.gz +share/man/man1/borg-key-import.1.gz +share/man/man1/borg-key-migrate-to-repokey.1.gz +share/man/man1/borg-key.1.gz +share/man/man1/borg-list.1.gz +share/man/man1/borg-mount.1.gz +share/man/man1/borg-patterns.1.gz +share/man/man1/borg-placeholders.1.gz +share/man/man1/borg-prune.1.gz +share/man/man1/borg-recreate.1.gz +share/man/man1/borg-rename.1.gz +share/man/man1/borg-serve.1.gz +share/man/man1/borg-umount.1.gz +share/man/man1/borg-upgrade.1.gz +share/man/man1/borg-with-lock.1.gz +share/man/man1/borg.1.gz +share/man/man1/borgfs.1.gz -- 2.37.2