diff options
author | Matthias Andree <mandree@FreeBSD.org> | 2022-08-13 23:58:49 +0200 |
---|---|---|
committer | Matthias Andree <mandree@FreeBSD.org> | 2022-09-03 16:33:11 +0200 |
commit | 223e50238c56ef71b07e048d6aadfcf6dab9e03a (patch) | |
tree | 078ab6255494a8a4c52efb1d6470b21004faade7 | |
parent | 986872f049c509f03fb53bc074914baccc65ba9f (diff) | |
download | freebsd-ports-223e50238c56ef71b07e048d6aadfcf6dab9e03a.zip |
archivers/py-borgbackup: update to 1.2.2+man+test, preserve 1.1
Take maintainership, because original maintainer asked for a new
maintainer, https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264816#c10
¡Muchas gracias, José! Thanks for maintaining the port thus far.
If there is a potential maintainer who is using BorgBackup at scale,
I will be happy to pass maintainership on.
Update to v1.2.2 [1, was for 1.2.1],
preserve the earlier 1.1.18 version (also with manpages and self-tests added,
hence bumping PORTREVISION) as py-borgbackup11, and document this in UPDATING.
ChangeLog: https://www.borgbackup.org/releases/borg-1.2.html
Add self-tests [1] to both 1.1 and 1.2, 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 to both 1.1 and 1.2. [2]
PR: 263269 [2]
Reported by: courtney.hicks1@icloud.com [2]
-rw-r--r-- | UPDATING | 15 | ||||
-rw-r--r-- | archivers/Makefile | 1 | ||||
-rw-r--r-- | archivers/py-borgbackup/Makefile | 48 | ||||
-rw-r--r-- | archivers/py-borgbackup/distinfo | 6 | ||||
-rw-r--r-- | archivers/py-borgbackup/pkg-plist | 35 | ||||
-rw-r--r-- | archivers/py-borgbackup11/Makefile | 65 | ||||
-rw-r--r-- | archivers/py-borgbackup11/distinfo | 3 | ||||
-rw-r--r-- | archivers/py-borgbackup11/pkg-descr | 11 | ||||
-rw-r--r-- | archivers/py-borgbackup11/pkg-message | 28 | ||||
-rw-r--r-- | archivers/py-borgbackup11/pkg-plist | 33 |
10 files changed, 233 insertions, 12 deletions
@@ -5,8 +5,21 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20220903: + AFFECTS: users of archivers/py-borgbackup + AUTHOR: mandree@FreeBSD.org + + Borgbackup has been upgraded to version 1.2. For users who you wish to + continue using version 1.1, use either of these commands for upgrading: + + With binary packages through pkg: + pkg set -o archivers/py-borgbackup:archivers/py-borgbackup11 + pkg upgrade + With portmaster or portupgrade (replace the command accordingly): + portmaster -o archivers/py-borgbackup11 archivers/py-borgbackup + 20220901: - AFFECTS: user of mail/rainloop-community + AFFECTS: users of mail/rainloop-community AUTHOR: yasu@FreeBSD.org Since 1.17.0 upstream distributes only one edition "lagacy" under MIT license diff --git a/archivers/Makefile b/archivers/Makefile index 39ea16b19713..95dad8fef030 100644 --- a/archivers/Makefile +++ b/archivers/Makefile @@ -178,6 +178,7 @@ SUBDIR += pxz SUBDIR += py-acefile SUBDIR += py-borgbackup + SUBDIR += py-borgbackup11 SUBDIR += py-brotli SUBDIR += py-brotlicffi SUBDIR += py-brotlipy diff --git a/archivers/py-borgbackup/Makefile b/archivers/py-borgbackup/Makefile index ec020d2659a9..ae58736a81ad 100644 --- a/archivers/py-borgbackup/Makefile +++ b/archivers/py-borgbackup/Makefile @@ -1,23 +1,30 @@ PORTNAME= borgbackup -DISTVERSION= 1.1.18 -PORTREVISION= 1 +DISTVERSION= 1.2.2 CATEGORIES= archivers python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -MAINTAINER= jjuanino@gmail.com +MAINTAINER= mandree@FreeBSD.org 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 <bsd.port.mk> diff --git a/archivers/py-borgbackup/distinfo b/archivers/py-borgbackup/distinfo index 7c1661cd8c31..78aa9228ee76 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 = 1662211963 +SHA256 (borgbackup-1.2.2.tar.gz) = d730687443f1beb602b1d72bae36318f6f9654818fcdc50458540ec579e57260 +SIZE (borgbackup-1.2.2.tar.gz) = 4042984 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 diff --git a/archivers/py-borgbackup11/Makefile b/archivers/py-borgbackup11/Makefile new file mode 100644 index 000000000000..ec282fca19d4 --- /dev/null +++ b/archivers/py-borgbackup11/Makefile @@ -0,0 +1,65 @@ +PORTNAME= borgbackup +DISTVERSION= 1.1.18 +PORTREVISION= 2 +CATEGORIES= archivers python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +PKGNAMESUFFIX= 11 + +MAINTAINER= mandree@FreeBSD.org +COMMENT= Deduplicating backup program + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=1.7:devel/py-setuptools_scm@${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} +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 ssl +USE_PYTHON= autoplist distutils + +OPTIONS_DEFINE= FUSE +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: + ${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 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 <bsd.port.mk> diff --git a/archivers/py-borgbackup11/distinfo b/archivers/py-borgbackup11/distinfo new file mode 100644 index 000000000000..7c1661cd8c31 --- /dev/null +++ b/archivers/py-borgbackup11/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1654597105 +SHA256 (borgbackup-1.1.18.tar.gz) = 5cba5fe7db4d08944b467ec11efc017687a512b0d98ccf0ad1aa9c4329665275 +SIZE (borgbackup-1.1.18.tar.gz) = 3854385 diff --git a/archivers/py-borgbackup11/pkg-descr b/archivers/py-borgbackup11/pkg-descr new file mode 100644 index 000000000000..4bc8ec6bfb4d --- /dev/null +++ b/archivers/py-borgbackup11/pkg-descr @@ -0,0 +1,11 @@ +[excerpt from borgbackup web site] + +BorgBackup (short: Borg) is a deduplicating backup program. Optionally, it +supports compression and authenticated encryption. + +The main goal of Borg is to provide an efficient and secure way to backup data. +The data deduplication technique used makes Borg suitable for daily backups +since only changes are stored. The authenticated encryption technique makes it +suitable for backups to not fully trusted targets. + +WWW: https://pypi.org/project/borgbackup/ diff --git a/archivers/py-borgbackup11/pkg-message b/archivers/py-borgbackup11/pkg-message new file mode 100644 index 000000000000..8fcc0ba5f821 --- /dev/null +++ b/archivers/py-borgbackup11/pkg-message @@ -0,0 +1,28 @@ +[ +{ type: install + message: <<EOM +In order to mount locally a remote archive or an entire repository as a FUSE +filesystem, it is required to load fusefs module: + +# kldload fusefs + +To load the module at boot time, add + +fusefs_load="YES" + +to /boot/loader.conf by running: + +sysrc fusefs_load="YES" + +Also, if you plan to mount borg repositories as non root user, you need to run + +# sysctl vfs.usermount=1 + +and add the line + +vfs.usermount=1 + +to /etc/sysctl.conf to ensure the setting is loaded at boot time. +EOM +} +] diff --git a/archivers/py-borgbackup11/pkg-plist b/archivers/py-borgbackup11/pkg-plist new file mode 100644 index 000000000000..a451c9b3f52b --- /dev/null +++ b/archivers/py-borgbackup11/pkg-plist @@ -0,0 +1,33 @@ +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-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-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 |