forked from mirrors/nixpkgs
dbff9b5479
Version 1.1.11 (2020-03-08) Compatibility notes: When upgrading from borg 1.0.x to 1.1.x, please note: read all the compatibility notes for 1.1.0*, starting from 1.1.0b1. borg upgrade: you do not need to and you also should not run it. borg might ask some security-related questions once after upgrading. You can answer them either manually or via environment variable. One known case is if you use unencrypted repositories, then it will ask about a unknown unencrypted repository one time. your first backup with 1.1.x might be significantly slower (it might completely read, chunk, hash a lot files) - this is due to the --files-cache mode change (and happens every time you change mode). You can avoid the one-time slowdown by using the pre-1.1.0rc4-compatible mode (but that is less safe for detecting changed files than the default). See the --files-cache docs for details. 1.1.11 removes WSL autodetection (Windows 10 Subsystem for Linux). If WSL still has a problem with sync_file_range, you need to set BORG_WORKAROUNDS=basesyncfile in the borg process environment to work around the WSL issue. Fixes: fixed potential index corruption / data loss issue due to bug in hashindex_set, #4829 Please read and follow the more detailled notes close to the top of this document. upgrade bundled xxhash to 0.7.3, #4891 0.7.2 is the minimum requirement for correct operations on ARMv6 in non-fixup mode, where unaligned memory accesses cause bus errors. 0.7.3 adds some speedups and libxxhash 0.7.3 even has a pkg-config file now. upgrade bundled lz4 to 1.9.2 upgrade bundled zstd to 1.4.4 fix crash when upgrading erroneous hints file, #4922 extract: fix KeyError for "partial" extraction, #4607 fix "partial" extract for hardlinked contentless file types, #4725 fix preloading for old (0.xx) remote servers, #4652 fix confusing output of borg extract --list --strip-components, #4934 delete: after double-force delete, warn about necessary repair, #4704 create: give invalid repo error msg if repo config not found, #4411 mount: fix FUSE mount missing st_birthtime, #4763 #4767 check: do not stumble over invalid item key, #4845 info: if the archive doesn't exist, print a pretty message, #4793 SecurityManager.known(): check all files, #4614 Repository.open: use stat() to check for repo dir, #4695 Repository.check_can_create_repository: use stat() to check, #4695 fix invalid archive error message fix optional/non-optional location arg, #4541 commit-time free space calc: ignore bad compact map entries, #4796 ignore EACCES (errno 13) when hardlinking the old config, #4730 --prefix / -P: fix processing, avoid argparse issue, #4769 New features: enable placeholder usage in all extra archive arguments new BORG_WORKAROUNDS mechanism, basesyncfile, #4710 recreate: support --timestamp option, #4745 support platforms without os.link (e.g. Android with Termux), #4901 if we don't have os.link, we just extract another copy instead of making a hardlink. support linux platforms without sync_file_range (e.g. Android 7 with Termux), #4905 Other: ignore --stats when given with --dry-run, but continue, #4373 add some ProgressIndicator msgids to code / fix docs, #4935 elaborate on "Calculating size" message argparser: always use REPOSITORY in metavar, also use more consistent help phrasing. check: improve error output for matching index size, see #4829 docs: changelog: add advisory about hashindex_set bug #4829 better describe BORG_SECURITY_DIR, BORG_CACHE_DIR, #4919 infos about cache security assumptions, #4900 add FAQ describing difference between a local repo vs. repo on a server. document how to test exclusion patterns without performing an actual backup timestamps in the files cache are now usually ctime, #4583 fix bad reference to borg compact (does not exist in 1.1), #4660 create: borg 1.1 is not future any more extract: document limitation "needs empty destination", #4598 how to supply a passphrase, use crypto devices, #4549 fix osxfuse github link in installation docs add example of exclude-norecurse rule in help patterns update macOS Brew link add note about software for automating backups, #4581 AUTHORS: mention copyright+license for bundled msgpack fix various code blocks in the docs, #4708 updated docs to cover use of temp directory on remote, #4545 add restore docs, #4670 add a pull backup / push restore how-to, #1552 add FAQ how to retain original paths, #4532 explain difference between --exclude and --pattern, #4118 add FAQs for SSH connection issues, #3866 improve password FAQ, #4591 reiterate that 'file cache names are absolute' in FAQ tests: cope with ANY error when importing pytest into borg.testsuite, #4652 fix broken test that relied on improper zlib assumptions test_fuse: filter out selinux xattrs, #4574 travis / vagrant: misc python versions removed / changed (due to openssl 1.1 compatibility) or added (3.7 and 3.8, for better borg compatibility testing) binary building is on python 3.5.9 now vagrant: add new boxes: ubuntu 18.04 and 20.04, debian 10 update boxes: openindiana, darwin, netbsd remove old boxes: centos 6 darwin: updated osxfuse to 3.10.4 use debian/ubuntu pip/virtualenv packages rather use python 3.6.2 than 3.6.0, fixes coverage/sqlite3 issue use requirements.d/development.lock.txt to avoid compat issues travis: darwin: backport some install code / order from master remove deprecated keyword "sudo" from travis config allow osx builds to fail, #4955 this is due to travis-ci frequently being so slow that the OS X builds just fail because they exceed 50 minutes and get killed by travis.
72 lines
2 KiB
Nix
72 lines
2 KiB
Nix
{ stdenv, python3, acl, libb2, lz4, zstd, openssl, openssh }:
|
|
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "borgbackup";
|
|
version = "1.1.11";
|
|
|
|
src = python3.pkgs.fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n";
|
|
};
|
|
|
|
nativeBuildInputs = with python3.pkgs; [
|
|
# For building documentation:
|
|
sphinx guzzle_sphinx_theme
|
|
];
|
|
buildInputs = [
|
|
libb2 lz4 zstd openssl python3.pkgs.setuptools_scm
|
|
] ++ stdenv.lib.optionals stdenv.isLinux [ acl ];
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
cython llfuse
|
|
];
|
|
|
|
preConfigure = ''
|
|
export BORG_OPENSSL_PREFIX="${openssl.dev}"
|
|
export BORG_LZ4_PREFIX="${lz4.dev}"
|
|
export BORG_LIBB2_PREFIX="${libb2}"
|
|
export BORG_LIBZSTD_PREFIX="${zstd}"
|
|
'';
|
|
|
|
makeWrapperArgs = [
|
|
''--prefix PATH ':' "${openssh}/bin"''
|
|
];
|
|
|
|
postInstall = ''
|
|
make -C docs singlehtml
|
|
mkdir -p $out/share/doc/borg
|
|
cp -R docs/_build/singlehtml $out/share/doc/borg/html
|
|
|
|
make -C docs man
|
|
mkdir -p $out/share/man
|
|
cp -R docs/_build/man $out/share/man/man1
|
|
|
|
mkdir -p $out/share/bash-completion/completions
|
|
cp scripts/shell_completions/bash/borg $out/share/bash-completion/completions/
|
|
|
|
mkdir -p $out/share/fish/vendor_completions.d
|
|
cp scripts/shell_completions/fish/borg.fish $out/share/fish/vendor_completions.d/
|
|
|
|
mkdir -p $out/share/zsh/site-functions
|
|
cp scripts/shell_completions/zsh/_borg $out/share/zsh/site-functions/
|
|
'';
|
|
|
|
checkInputs = with python3.pkgs; [
|
|
pytest
|
|
];
|
|
|
|
checkPhase = ''
|
|
HOME=$(mktemp -d) py.test --pyargs borg.testsuite
|
|
'';
|
|
|
|
# 64 failures, needs pytest-benchmark
|
|
doCheck = false;
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "A deduplicating backup program (attic fork)";
|
|
homepage = https://www.borgbackup.org;
|
|
license = licenses.bsd3;
|
|
platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
|
|
maintainers = with maintainers; [ flokli dotlambda globin ];
|
|
};
|
|
}
|