mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-04 08:55:20 +02:00
143 lines
3.6 KiB
Text
143 lines
3.6 KiB
Text
# Contributor: Olivier Mauras <olivier@mauras.ch>
|
|
# Contributor: Michał Polański <michal@polanski.me>
|
|
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
|
|
pkgname=borgbackup
|
|
_pkgname=borg
|
|
pkgver=1.4.1
|
|
pkgrel=0
|
|
pkgdesc="Deduplicating backup program"
|
|
url="https://www.borgbackup.org/"
|
|
arch="all"
|
|
license="BSD-3-Clause"
|
|
depends="
|
|
py3-msgpack
|
|
py3-packaging
|
|
python3
|
|
"
|
|
makedepends="
|
|
acl-dev
|
|
attr-dev
|
|
linux-headers
|
|
lz4-dev
|
|
openssl-dev>3
|
|
py3-setuptools
|
|
py3-setuptools_scm
|
|
python3-dev
|
|
xxhash-dev
|
|
zstd-dev
|
|
"
|
|
checkdepends="
|
|
cmd:fusermount3
|
|
py3-dateutil
|
|
py3-pytest
|
|
py3-pytest-benchmark
|
|
py3-pytest-xdist
|
|
"
|
|
subpackages="
|
|
$pkgname-pyc
|
|
$pkgname-doc
|
|
$pkgname-bash-completion
|
|
$pkgname-fish-completion
|
|
$pkgname-zsh-completion
|
|
"
|
|
source="https://github.com/borgbackup/borg/releases/download/$pkgver/borgbackup-$pkgver.tar.gz
|
|
test-fusermount3.patch
|
|
"
|
|
|
|
# secfixes:
|
|
# 1.2.6-r0:
|
|
# - CVE-2023-36811
|
|
|
|
case "$CARCH" in
|
|
armhf | armv7 | x86) ;; # blocked by py3-pyfuse3
|
|
*) makedepends="$makedepends py3-pyfuse3"
|
|
subpackages="$subpackages $pkgname-fuse::noarch";;
|
|
esac
|
|
|
|
export BORG_LIBLZ4_PREFIX="/usr/include"
|
|
export BORG_LIBXXHASH_PREFIX="/usr/include"
|
|
export BORG_LIBZSTD_PREFIX="/usr/include"
|
|
export BORG_OPENSSL_PREFIX="/usr/include/openssl"
|
|
export BORG_LIBACL_PREFIX="/usr/include"
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
# Remove bundled libs to ensure these don't end up in our binaries.
|
|
cd src/borg/algorithms/
|
|
rm -rf lz4 xxh64 zstd
|
|
}
|
|
|
|
build() {
|
|
# CYTHON_FORCE_REGEN - don't use precompiled Cython code, always regenerate.
|
|
CYTHON_FORCE_REGEN=1 \
|
|
python3 setup.py build
|
|
}
|
|
|
|
check() {
|
|
[ -e /dev/fuse ] || export BORG_FUSE_IMPL='none'
|
|
|
|
PYTHONPATH="$(echo "$builddir"/build/lib.linux-*)" pytest -v -n auto \
|
|
--benchmark-skip --pyargs borg.testsuite
|
|
|
|
_delete_testsuite
|
|
|
|
# Run selftest to ensure that we haven't deleted some testsuite module that
|
|
# is needed for selftest. Note that borg runs selftest automatically before
|
|
# every operation, so it's crucial.
|
|
PYTHONPATH="$(echo build/lib.linux-*)" python3 -B <<-PYTHON
|
|
from borg.selftest import selftest
|
|
import logging
|
|
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
selftest(logging)
|
|
PYTHON
|
|
}
|
|
|
|
package() {
|
|
# Run it again for the case we skipped check.
|
|
_delete_testsuite
|
|
|
|
python3 setup.py install --skip-build --root="$pkgdir"
|
|
|
|
install -Dm644 -t "$pkgdir"/usr/share/man/man1 docs/man/*.1
|
|
|
|
install -Dm644 scripts/shell_completions/bash/$_pkgname \
|
|
"$pkgdir"/usr/share/bash-completion/completions/$_pkgname
|
|
|
|
install -Dm644 scripts/shell_completions/fish/$_pkgname.fish \
|
|
"$pkgdir"/usr/share/fish/vendor_completions.d/$_pkgname.fish
|
|
|
|
install -Dm644 scripts/shell_completions/zsh/_$_pkgname \
|
|
"$pkgdir"/usr/share/zsh/site-functions/_$_pkgname
|
|
|
|
# clean some useless files
|
|
cd "$pkgdir"/usr/lib/python*/site-packages/borg
|
|
find . -name '*.h' -delete -o -name '*.c' -delete -o -name '*.pyx' -delete
|
|
}
|
|
|
|
fuse() {
|
|
pkgdesc="$pkgdesc (FUSE support)"
|
|
depends="$pkgname=$pkgver-r$pkgrel py3-pyfuse3"
|
|
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
# Delete testsuite but keep modules required for selftest (see src/borg/selftest.py).
|
|
_delete_testsuite() {
|
|
cd build/lib.linux-*
|
|
|
|
find borg/testsuite/ -type f ! \( \
|
|
-name '__init__.*' -or \
|
|
-name 'crypto.*' -or \
|
|
-name 'chunker.*' -or \
|
|
-name 'hashindex.*' \) -delete
|
|
rm -f borg/testsuite/__pycache__/*-pytest-*.pyc
|
|
|
|
cd - >/dev/null
|
|
}
|
|
|
|
sha512sums="
|
|
83ce8fcefa4e4099922e1f3894aba41d8d83ccff3e554b4b5ee0f0b9b8b18b18bcbf7f566e36aea4214e0d9d427cb66d63d2e1933b773e3338fd5814fd80e3a4 borgbackup-1.4.1.tar.gz
|
|
b79f3ab4332f0606ef4fb3b1e76c2ffd88a839dfd6d42ca21ab08904c35a6b086ad4fc52daf6e5cecc4a7103d77154fcc878f26fb97d9054651af2591f9a441b test-fusermount3.patch
|
|
"
|