borgbackup-1.1.9-bp151.4.3.1<>,3T]x!M@eee z Cԁfd+-RC :ʳKnD%-Q`,_eTvm 8tMi ʡΠ-VuoRh>K]v忶ri-G|gaβM^>A ? d   j48HLen{ 4 \   +( +. 0336L6l68(888#99H#:;#FG0HIXdYl\]^=bVcdefluvwxHyz $ 4 8 G H L R Cborgbackup1.1.9bp151.4.3.1Deduplicating backup program with compression and authenticated encryptionBorgBackup is a deduplicating backup program which stores deltas. It supports compression and authenticated encryption as well, facilitating frequent backups and storing to not fully trusted targets.]xobs-power8-07?SUSE Linux Enterprise 15openSUSEBSD-3-Clausehttp://bugs.opensuse.orgProductivity/Archiving/Backuphttps://github.com/borgbackup/borglinuxppc64leK&OsmB4584 .,t$QAͯSXk"o |WHqWE`93#:4 g=ل %"*!: &bKC#5C70F : !P  ;# FCF%'!@!"j a u4> #'IR%A큤A큤A큤A큤큤큤A큤A큤큤큤큤A큤A큤큤A큤A큤A큤A큤A큤]K]K]L\`\`]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]]L\`]K]K]\`\`\`]]\`]L\`]K]K]K]K]K]K\`\`\`]\`\`]]]\`\`\`\`\`\`]L\`]K]K]K\`]']\`\`\`\`]K\`]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K]K\`]\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`\`]\`\`\`\`\`\`\`\`\`]K]K]K]K]K\`*]K]K]s\`\`]s\`]K855f63445f855735f057b060653d2f44721f3905994d2b60d1ea978772227f83900f5f3172f2929138edfdebf231cd838c3a787ce28d6a4a223dd15841c8d1e1fae1dfc4ed79486bb244d95e6d0e892ff9b7004822750c357185cfd39fe57f4876300a1e96b5f5647564552f3dbcc8319d4849d938784b0e14bfbc90ea088195ab816e6bbb4c56aeabdfa1165986742593bd5c611b427633c07ed43e1a512abca530817e27d642df36d8af1e513f1bec7221010ad7ecb0266fffb577107f5be7879379e80f29be582df96cd9a5701b4e19c7a3ed4023131faab8752612666f37c9874e204ba9234ec47e1fa96db817d492006cf2e713e70869a37c5f5e3b275141f3de817d834f82ef7d352653951797270363f475f1eaeb9beb092adc90f922cf0b2d5ffde65b5f0f82dd41d4f696b81fbf246776ecc3a0aba0fc04a055c9d1ea96910205e6dafed994489512c350c215277e40ffb8009c4843f1b77265df0436d6092d2a7cf243f470ae802b595556fd41dd7430d59545ef87789e1e6c870ba23209b036ac934d85d39312c1589e7717a55407ecaa760a4821276c1b5427067d05932259f1663934c564bfe54384bad8107eaa7f22222cf3bb5b841b35d0d1a0fb57dd681aca9363f4ee2aa2e1bf48c82236943b686cf52dc9988e52c1ef35576474ef8cd01265bca4f7638c1ddf86ee6ee7f92c865d2bf0e8cb512145b92248b8565f99a3bfae6dc3c6cc72588f086e206d585af0b57aaab3fc8a9ace10bfa2c42032b232394b161522f117a74d1cdc77453d67509304efbcd00b360cd583644f1893f06eed3ae098cada40df63a0854701d0ce0026bdb3156817120fe968044de80e2df7294282463e3c4859953eb34ed6f37c5b90d34ef6631e85fe24194e39f9e92ffcaab7d32069e024c3283dff72cc00a3c43f9f25685f3db664d4d5a0b431bf1dc99a02966b7d327fc518191b8171fe9fa6ab9d51ced57c5b5d4fee80e2a7e1769ce401c8a473ce7ed7409221c35c95d3616d3f455a540bb9d23fc5dcece8d9aff412e1116c21f9908b92bf3453bdb8e8d25243fba6f982c99bd09f24891f35370167a8f2d6447a2dce003ff2df87c79965d88eedea5dd6cb66d40084bb4a85000b53d55013b4224b61c04f536aaa164ba5d866f36bc82ed2513b1901f5f45ada9ec8c86f6bbe5468d7ad7713e6d490d5f25beb998197279910fab8d766c02f84fdbdf7a886fdad2f759d5ab3988fcdfd627ad244849c848969b6cbdb546fa2f555e59315c3c029a39746b58004b257e70d5ac677bf7f1f53b23151b4b31ecdf16e7979c15dd7c2bf0584e05f1e40022918b20df77d2c0592a52596b049c77c35c91004aae95dc826a7ccefbf1e6825404bb1f60e6d741d68e4ae94eef5f006aa74beed1256fbbe63a60a1da3eeab7e13634f03ff1f146f7aaf76c01f619fea11b3dd0c06c738c7c8092774c3abb4fc6647eda35bd6a95c70ad4821646c77de6d036c685726603486aefe5d83da162cf9889af24adcff2d415bd09ca7f70165172c2bca772cc5a4163d83a8d592b19ae0adf5890a55fd1cf632d7b1e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85526b82e42c16823103f98718113ac4a84219af2495a4a2d2f245e73dd487d3fec4dfcbadffa6cbae81105572661a28dcef40721dc71b633aca56e91647d6f4b18770340ad433ef3216dc4877fb9d642c19558a1259dffd64ee5da16fb46e4532f683d8715f54416ce034026bc7fdd0bd3f978762e20534dd883afd19edbfcd059efd6114bcf066252152b65ddc14ce76a79f6241e228008015210ee00e1172af69e57adfb418b67322ff229cd6c7818f8cd64b09086adde3a5c82463954bb94e84fd863bf8b6eda2ba79aed08c32592bb1a9685e61ea0269424610500c0512fddc1b053f145d0023a20133bc604d3875f391dba59e375ea1c645d88f87c36e7d7c194b35faf92f521361db38e763195482997f23f4bc9b90d3661f566fd2394d7ffd64a8008796c765b56503828961ac9e1d9a5d46d1c00a054b876dcd77f2c15c2a10d5631a3c952f4d929e6bcab798b062ff434f4ce1c472bd9798566714113cd0576d613fab138b6daf23edeb4b4f841d99ccdafcf10cbc3d3ac6320b8f1bc307a2937a5fd4881e4a70df5a3e5020d4e994f796d6cf7a30a3dc6795b0ee673579466c4b4923b6d15263b232c0d1a2aacd5838372f2fc75a5ee54b25f2e2622c3c4051bcc4bf24cce81f4829962a3f9c2e7298bbbc38786ed63072799c414a72ec16167244a5fa909dbc300c464dcf0166e17a360eeb0b147fe60604e309a026f5939f568ff63274e4fd91e1f7d45243e8134d40550913c80316447e627b49df6739e329de6165cc3a69c2c65fcd1f245b455e70872f14cd8ebbc2bdd820491e193d8e5d5de1ff7d32549beac0a21712915d399cec2ed573bfe557afe7b4fcd82506cd6ef39e050146c54121cc5a2fb2f16b3ea4d56519b2522d04287c43e8ca9d435bc35187db22bff1694917cd7d43f488761e836be2e93ae04671fa78a1b4835dfb16a4670a60331418eea7b87ff85609c430850abe19b86593283ae4ac6244c719b616b1eb461fe6a78be021e20f3347cb2b10b3459ca3237d9f0eb7ee54d6518379a16a68571034f6967ddad4c9bec836a879f53b482468e9b964bd1b25991b00b767a666432ec9671f472a5ba5bcfb171cee88a7919facc7e6321cd511f28ef759901ad3e5acf227191605acfa5bf90345c763f3093dc5df36d941ab51b69eda4d1bdc9ac167daa0268986dcb04632c79495eb20b3f10a7ec08eacf7a9adc618574e82535bbb7e7c80c26f7f3e1ef9628883843f7ce3eab53a5c0005f0e7a99cded61d1c7947f452b46041298977f624f89df855ea8a8498ba621d75cbc6ee59f07fe7f3669507bc354917ffa95c95218203e528378db42d38daeaafc623c9449a5573f918dc67292fbae302933a520b3a0d44067de26121a065d7e918ca32e885542665c92cd239f13d9075e8da939c35da6b78c39b9911386bc70bbfb340788d5a02e6d45beea1890449ded418e824d5cbbcd5c3c193cd5b55d2d309791a34f547b72713ef978ca4ad7e9e1fff0ccddd4d1fad5445c0076ba5789f6581b0bddfb000299d10cf9fc9061ac32e7e3f0dc914d5c5832b3ed76bf2b10da7a8c1dfa4c27215378bb8fde43046802d2e688cbe50e43ba8ee946d5dbafc99b78a7dc76790b4cd320ff5e835991a4c0d4df3e3b72f18ae1643577bdb960f31385992db0ca883c88fe43f0a01dcfb68bfa5b95e6c7508de8ac400d7b6c0fe2594cd28bb7103b64dc0164d8f01e9fe8bbc27d4e5809361a06676d6fd839292b1fb90e21ad2af91142e6e41cd4f9fe60cf109cd6d54d7ece93d37ad87f36bacde734b9793e08c461a4cf5c827f525f24b05b8a1d96205820c724f86622359c17fcea43bed4dcb0c02b684ea951d94de98e223d168cd1bf70da1266461976a952f91ba6c0b1c712ddf87ded337672e63e88620abb0bbbc34ae10cc291cc336bc855d440aa66bc193ff75cf08fbfaf7a7f1cfada4cd311b63cc818f161bcedcf6869df999eb92af824447b63cb60b62e957b2c351d2216c4544b29999cd4d5363948390e37727016bb36bdf3948fddf3d407bc42f9d6cbaf031f1f975956047b45823e7eb2767c3f48b7678a04f9533e1fb39431773aeb55d01ca54380bbcec9e9bf6a17d5c15c67745abfeea0c8409b87b06f881fde69df2882ce13bbade423559bffa15212de94f14589695ec00897f1ddfbba941dc46743d0006ae961fbb662e8b858651272d72710d5fd7a56dc7cc7f6c8093c47f3719f5d4c201b1b64de73d007aa472da8b9eec9b3fa782c7b91bcce29dad2d50082d20257fff600c7e40bfdfe8133c7f75a93450f8da16dfd446aec4628790148ef9e505607dbe23af02e014e3809777a88d8276cde0218ab05b1c6f031346a7f8540340d412fb1f4ca796d76f42d28014dd967f9f1925bd4ae11253dd99b0065e46a875d501746c1835103323320209a25d643373c8acae430dc2c52f7ab26b355595fc2e7d2ca9c77bf7dc5993e157a9e41141164a56d61afc46bff2de0fddb207903cf5b386dcdd4f95641bffa7f34766a7df517354f3f3105d5c0ce88b2c357a05bd74003603f43d0fd5cd3af49cef7a16b96a3ac8e43bb417e3210f156ff71d4a2cdd14e09634de7af20b9aece2b42aa6b23620c29b97acedec30aae8153d2f659cf5b2dc1dfb2e6369fd3e51ef42f3fc212df3f63f738d36a9590b1cfff6f9bd54d95d00adbd89eb781c6a750bc6ea97f39055b52f0f66c23b0f732e1692aa1ca35503f82d54a0bd7459e68dd9005fb2f16fd2e49619ec876452f36d7783e10fb71da9ae2156b4894a130460d474245a44bea8974b9d2cb3abfa5821af3d4c15c68aeb71ac1415d00178efea06fa1a295a1e9434059883ba0c29cb52be20f2b3de1f091880062677f7300cca8cda8d581fc0431e522167661c2d9dda6e99eb98f83663d1c2077f92973e5bfb8953492639eb4c73d8453eba69955313945ebab47a5eb6925132a9dc2aa1c01e94acfd1b8cf0ab17acd9a2ac3b1fb0ee80ab3d39a7bff0f3758f2c6beb2916381e97a4c478b25c52c307254cfeae521e4a1e6ed1a844fcdf6aa50b116ad16076fab543f5d133a05a6226ab265366d631263a208786498fdbe65827b14a555837ee6ecf23bd26899943f3d072b51c9da98b509797cd32ce0fe5bddbc37b92dc658519d0fea7827ec3026d77af9b1eb1923d0dd3466cbb8718ebe18306a96875a8b94bed50454431796721a08f3db42cdf5f7344c6e14d73b667443233f5c11883eabd90f1ecac4ba351a8cc1413386c8fddd5a6fb16dbfdb39b19640303cd2b317be290c803714e2ceac9cd769348c6339b150fb8a5c3d80595f0a249f590fd9aacf9a8758bcacd2e2db7f902053e748486ba3ea36717e12f3cf7bc322d15e2b5af72a0f404b987460bd61eec872c8db6c52a610d3c1f85781ebad8ca061cb015b9227cda17d68930ff2af85d10dbcd0e7dc71cc8ea9e9603e13a7e139859c80afeff3ea055ce31c96e83f0b32b994bb4537829553000247726764318f0e795cae902212bbd941d641ad1ea38f97f6f8280de5e006d4283c07a7645ffe51729b19d79797acb1203233798b05725fdcc0a990cac07049470aedc3bae5ed2e00a2a1685778424dda546d2c9e251e87a294d46c89f19941ab6204d3fb97f7ddfa87383566273fd99ce4099f65564a04c539c06c32276777f5e35890ddcbc2c8a29345092f87a0416e40de9cfd26255625cab46cdc4fd1d92119fc160e96fb96ac3f70b2300cb0ddd81141b590f27a784952dd1bf55ba3ebb3b1a0a4f535245da9a8e4a8669ad67bc720b9935fdc460c1097b56b880c18dfaea6c765e60d187a1407e46fc6a93db1176bccfe9623bf62e3bc26248c73b29cbc88d69746ceb8f74fa9ef5f7a81f5555c6ff5200e035f4f5b8c2239f243c4d870dae95c96316de21cac724d8b7362eadc4bc355ca4284b1b8a58d049279089bc31255f41bfb40267d45f3f5d3548f91315e1c280cec35c3ed9f1f98630838fdede885f5359d62f73904ed879657c371170e8a08fb599d0b1e3f5f1d3a48e57af7cd3e63cd214901ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b10d8da017c840a216cecafc3bb6fda0e086a739b4b81f44745608927aab2f61101ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b096845a36f92bdf14be741c24cc2ce176cc97d08da7f6dc08ea46ad17adc2586cd62e0c8bbca3f155f59bf4f2925172948ef08cde3114d099bf0f2f2b04799505b8ee5a47da89a9604522f47c1f8c444e146a29cb73572322e2858f3ca3dd1a66382911b9e31525a85e716e1b39215f5f91dffe206b5a5ace2640ca5d9a30a9619f2d8b083ade3bea18f1ad7cfcd3d75a08172c5353eba99005a8edd1ce90d5114343d6dfeef9776bf659a4172ae265eeb7e8692c088be9cdb56497ce5f99c19rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootborgbackup-1.1.9-bp151.4.3.1.src.rpmborgbackupborgbackup(ppc-64)@@@@@@@@@@@@@     /usr/bin/python3libacl.so.1()(64bit)libacl.so.1(ACL_1.0)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)liblz4.so.1()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)libpython3.6m.so.1.0()(64bit)libzstd.so.1()(64bit)python(abi)python3-msgpackpython3-setuptoolsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.60.4.63.0.4-14.6.0-14.0-15.2-14.14.1]\Y@\b@\ac\ac\V\U@[n[d@[WZ@Z@Z1@ZZ@ZH@Zm@ZV@Z.s@ZZYY@YY @Xk@Xk@XWw@WF@W!W_W3W @@WAntonio Larrosa Hans-Peter Jansen Hans-Peter Jansen Jan Engelhardt Antonio Larrosa Hans-Peter Jansen atoptsoglou@suse.comkbabioch@suse.comkbabioch@suse.comkbabioch@suse.commlin@suse.comalarrosa@suse.comhpj@urpla.nethpj@urpla.netalarrosa@suse.comjacobwinski@gmail.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comalarrosa@suse.comlbeltrame@kde.orghpj@urpla.nethpj@urpla.nethpj@urpla.netjengelh@inai.dealarrosa@suse.comhpj@urpla.nethpj@urpla.nethpj@urpla.nethpj@urpla.nethpj@urpla.nethpj@urpla.net- Require python3-setuptools since it's needed when running borg to find the entry point (boo#1134650)- According to upstream preference and dealing with msgpack update in Factory, allow msgpack <= 0.6.1 as well- Modify patch fix-msgpack-requirement.patch to allow msgpack-0.5.4 as well. See patch for discussion. - Clean-up dependency blocks- Update RPM groups.- Update to 1.1.9: - Fixes: - security fix: configure FUSE with "default_permissions", gh#borgbackup/borg#3903 "default_permissions" is now enforced by borg by default to let the kernel check uid/gid/mode based permissions. "ignore_permissions" can be given to not enforce "default_permissions". - make “hostname” short, even on misconfigured systems, gh#borgbackup/borg#4262 - fix free space calculation on macOS (and others?), gh#borgbackup/borg#4289 - config: quit with error message when no key is provided, gh#borgbackup/borg#4223 - recover_segment: handle too small segment files correctly, gh#borgbackup/borg#4272 - correctly release memoryview, gh#borgbackup/borg#4243 - avoid diaper pattern in configparser by opening files, gh#borgbackup/borg#4263 - add "# cython: language_level=3" directive to .pyx files, #4214 - info: consider part files for "This archive" stats, gh#borgbackup/borg#3522 - work around Microsoft WSL issue gh#borgbackup/borg#645 (sync_file_range), [#1961] - New features: - add –rsh command line option to complement BORG_RSH env var, gh#borgbackup/borg#1701 - init: -make-parent-dirs parent1/parent2/repo_dir, gh#borgbackup/borg#4235 - Other: - add archive name to check -repair output, gh#borgbackup/borg#3447 - check for unsupported msgpack versions - shell completions: - new shell completions for borg 1.1.9 - more complete shell completions for borg mount -o - added shell completions for borg help - option arguments for zsh tab completion - docs: - add FAQ regarding free disk space check, gh#borgbackup/borg#3905 - update BORG_PASSCOMMAND example and clarify variable expansion, gh#borgbackup/borg#4249 - FAQ regarding change of compression settings, gh#borgbackup/borg#4222 - add note about BSD flags to changelog, gh#borgbackup/borg#4246 - improve logging in example automation script - add note about files changing during backup, gh#borgbackup/borg#4081 - work around the backslash issue, gh#borgbackup/borg#4280 - update release workflow using twine (docs, scripts), gh#borgbackup/borg#4213 - add warnings on repository copies to avoid future problems, gh#borgbackup/borg#4272 - tests: - fix the homebrew 1.9 issues on travis-ci, gh#borgbackup/borg#4254 - fix duplicate test method name, gh#borgbackup/borg#4311 - Moved the docs to a new -doc subpackage - Use the %license tag for the license- Add conditionals to control various build aspects distribution agnostic- Update to 1.1.8: - Fixes - enforce storage quota if set by serve-command - invalid locations: give err msg containing parsed location - list repo: add placeholders for hostname and username - symlinks can't have ACLs, so don't try to set any - New features - create: added PATH::archive output on INFO log level - read a passphrase from a file descriptor specified in the BORG_PASSPHRASE_FD environment variable. - docs: - option --format is required for some expensive-to-compute values for json - borg list by default does not compute expensive values except when they are needed. whether they are needed is determined by the format, in standard mode as well as in --json mode. - fixed wrong archive name pattern in CRUD benchmark help - fixed link to cachedir spec in docs - tests: - stop using fakeroot on travis, avoids sporadic EISDIR errors - xattr key names must start with "user." on linux - fix code so flake8 3.6 does not complain - explicitly convert environment variable to str - fix DeprecationWarning: Flags not at the start of the expression - support pytest4- Update to 1.1.7: - Fixes - cache lock: use lock_wait everywhere to fix infinite wait - don't archive tagged dir when recursing an excluded dir - New features - init: add warning to store both key and passphrase at safe place(s) - BORG_HOST_ID env var to work around all-zero MAC address issue - borg debug dump-repo-objs --ghost (dump everything from segment files, including deleted or superceded objects or commit tags) - borg debug search-repo-objs (search in repo objects for hex bytes or strings) - Other changes: - add Python 3.7 support - updated shell completions - locking: better logging, add some asserts- Update to 1.1.6: - Fixes - fix borg exception handling on ENOSPC error with xattrs - prune: fix/improve overall progress display - borg config repo ... does not need cache/manifest/key - New features - mount: add uid, gid, umask mount options - delete: - only commit once - implement --dry-run - check: - show progress while rebuilding missing manifest - more --repair output - borg config --list - Use OpenPGP signature provided upstream - Added borgbackup.keyring, which contains the key from the author- Leap 15.0 and SLE15 both are moved to renamed python3-msgpack, fix-msgpack-requirement.patch have to be used to deal with msgpack package rename fallout.- Update to 1.1.5 - Fixes: * create --list: fix that it was never showing M status * create: fix timing for first checkpoint (read files cache early, init checkpoint timer after that) * extract: set rc=1 when extracting damaged files with all-zero replacement chunks or with size inconsistencies * diff: consider an empty file as different to a non-existing file * files cache: improve exception handling * ignore exceptions in scandir_inorder() caused by an implicit stat(), also remove unneeded sort * fixed tab completion problem where a space is always added after path even when it shouldn't * build: do .h file content checks in binary mode, fixes build issue for non-ascii header files on pure-ascii locale platforms * borgfs: fix patterns/paths processing * config: add some validation * repository config: add validation for max_segment_size * set cache previous_location on load instead of save * remove platform.uname() call which caused library mismatch issues * add exception handler around deprecated platform.linux_distribution() call * use same datetime object for {now} and {utcnow} - New features: * create: implement --stdin-name * add chunker_params to borg archive info (--json) * BORG_SHOW_SYSINFO=no to hide system information from exceptions - Other changes: * updated zsh completions for borg 1.1.4 * files cache related code cleanups * be more helpful when parsing invalid --pattern values * be more clear in secure-erase warning message * improve getpass user experience * docs build: unicode problem fixed when using a py27-based sphinx - docs: * security: explicitly note what happens OUTSIDE the attack model * security: add note about combining compression and encryption * security: describe chunk size / proximity issue * quickstart: add note about permissions, borg@localhost * quickstart: add introduction to repositories & archives * recreate --recompress: add missing metavar, clarify description * improve logging docs * add an example for --pattern usage * clarify path semantics when matching * link to offline documentation from README * add docs on how to verify a signed release with GPG * chunk seed is generated per repository (not: archive) * better formatting of CPU usage documentation * extend append-only repo rollback docs - tests: * fix erroneously skipped zstd compressor tests * skip a test if argparse is broken - Drop borgbackup-1.1.4-binary-content-checks.patch which is already included upstream. - Rebase fix-msgpack-requirement.patch- Fix sphinx theme fallback condition- Add patch to fall back to a sphinx default theme for older distributions that don't have python3-guzzle_sphinx_theme available * borgbackup-1.1.4-sphinx-default-theme.patch- Add patch to require the new msgpack python module in Tumbleweed instead of the deprecated msgpack-python python module: * fix-msgpack-requirement.patch- Add patch borgbackup-1.1.4-binary-content-checks.patch: * Fixes build failure due to bad encoding * Based on upstream commit 9cf8d57 "do .h file content checks in binary mode" * This patch will no longer be needed with borgbackup > 1.1.4- Don't use liblz4 nor libzstd on Leap 42.x which doesn't support them and add missing requirement python-guzzle_sphinx_theme on Tumbleweed.- Update to borgbackup 1.1.4 * Fix a potential data corruption issue with 'borg check --repair' happening in borg >= 1.1 and < 1.1.4 * zstd compression is new in borg 1.1.4, older borg can't handle it. * new minimum requirements for the compression libraries: + added requirement: libzstd >= 1.3.0 + updated requirement: liblz4 >= 1.7.0 / r129 - Fixes: * check: data corruption fix: fix for borg check --repair malfunction. See the more detailed notes at https://github.com/borgbackup/borg/blob/1.1.4/docs/changes.rst * delete: also delete security dir when deleting a repo * prune: fix building the "borg prune" man page * init: use given --storage-quota for local repo * init: properly quote repo path in output * fix startup delay with dns-only own fqdn resolving - New features: * added zstd compression. * added placeholder {reverse-fqdn} for fqdn in reverse notation * added BORG_BASE_DIR environment variable - Other changes: * list help topics when invalid topic is requested * fix lz4 deprecation warning, requires lz4 >= 1.7.0 (r129) * add parens for C preprocessor macro argument usages (did not cause malfunction) * exclude broken pytest 3.3.0 release * updated fish/bash completions * init: more clear exception messages for borg create * docs: + add auto-generated docs for borg config + don't generate HTML docs page for borgfs + docs update for lz4 b2 zstd changes + add zstd to compression help, readme, docs + update requirements and install docs about bundled lz4 and zstd + refactored build of the compress and crypto.low_level extensions + move some lib/build related code to setup_{zstd,lz4,b2}.py + bundle lz4 1.8.0 (requirement: >= 1.7.0 / r129) + bundle zstd 1.3.2 (requirement: >= 1.3.0) + blake2 was already bundled + rename BORG_LZ4_PREFIX env var to BORG_LIBLZ4_PREFIX for better consistency: we also have BORG_LIBB2_PREFIX and BORG_LIBZSTD_PREFIX now. + add prefer_system_lib* = True settings to setup.py - by default the build will prefer a shared library over the bundled code, if library and headers can be found and meet the minimum requirements.- Update to borgbackup 1.1.3 - Fixes: * Security Fix for CVE-2017-15914: Incorrect implementation of access controls allows remote users to override repository restrictions in Borg servers. A user able to access a remote Borg SSH server is able to circumvent access controls post-authentication. Affected releases: 1.1.0, 1.1.1, 1.1.2. Releases 1.0.x are NOT affected. * crc32: deal with unaligned buffer, add tests - this broke borg on older ARM CPUs that can not deal with unaligned 32bit memory accesses and raise a bus error in such cases. the fix might also improve performance on some CPUs as all 32bit memory accesses by the crc32 code are properly aligned now. * mount: fixed support of --consider-part-files and do not show .borg_part_N files by default in the mounted FUSE filesystem. * fixed cache/repo timestamp inconsistency message, highlight that information is obtained from security dir (deleting the cache will not bypass this error in case the user knows this is a legitimate repo). * borgfs: don't show sub-command in borgfs help * create: show an error when --dry-run and --stats are used together - New features: * mount: added exclusion group options and paths. Reused some code to support similar options/paths as borg extract offers - making good use of these to only mount a smaller subset of dirs/files can speed up mounting a lot and also will consume way less memory. borg mount [options] repo_or_archive mountpoint path [paths...] paths: you can just give some "root paths" (like for borg extract) to only partially populate the FUSE filesystem. new options: --exclude[-from], --pattern[s-from], --strip-components * create/extract: support st_birthtime on platforms supporting it * add "borg config" command for querying/setting/deleting config values - Other changes: * clean up and simplify packaging (only package committed files, do not install .c/.h/.pyx files) * docs: * point out tuning options for borg create * add instructions for using ntfsclone, zerofree * move image backup-related FAQ entries to a new page * clarify key aliases for borg list --format * mention break-lock in checkpointing FAQ entry * document sshfs rename workaround * add FAQ about removing files from existing archives * add FAQ about different prune policies * usage and man page for borgfs * clarify create --stats duration vs. wall time * clarify encrypted key format for borg key export * update release checklist about security fixes * document good and problematic option placements, fix examples * add note on using --nobsdflags to avoid speed penalty related to bsdflags * move most of support section to www.borgbackup.org- Fix build on Leap 42.2 by BuildRequiring bash-completion- Update to borgbackup 1.1.2 - Fixes: * fix KeyError crash when talking to borg server < 1.0.7 * extract: set bsdflags last (include immutable flag) * create: don't do stat() call on excluded-norecurse directory, fix exception handling for stat() call * create --stats: do not count data volume twice when checkpointing * recreate: move chunks_healthy when excluding hardlink master * recreate: get rid of chunks_healthy when rechunking (does not match) * check: get rid of already existing not matching chunks_healthy metadata * list: fix stdout broken pipe handling * list/diff: remove tag-file options (not used) - New features: * bash, zsh and fish shell auto-completions, see scripts/shell_completions/ * added BORG_CONFIG_DIR env var - Other changes: * docs: * clarify using a blank passphrase in keyfile mode * mention "!" (exclude-norecurse) type in "patterns" help * document to first heal before running borg recreate to re-chunk stuff, because that will have to get rid of chunks_healthy metadata. * more than 23 is not supported for CHUNK_MAX_EXP * borg does not respect nodump flag by default any more * clarify same-filesystem requirement for borg upgrade * update / rephrase cygwin / WSL status * improve docs about --stats * vagrant: openindiana new clang package - Already contained in 1.1.1 (last minute fix): * arg parsing: fix fallback function, refactor - Generate new subpackages borgbackup-bash-completion, borgbackup-zsh-completion and borgbackup-fish-completion with autocompletion scripts for each shell.- Update to borgbackup 1.1.1 - 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 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. * The deprecated --no-files-cache is not a global/common option any more, but only available for borg create (it is not needed for anything else). Use --files-cache=disabled instead of --no-files-cache. * The nodump flag ("do not backup this file") is not honoured any more by default because this functionality (esp. if it happened by error or unexpected) was rather confusing and unexplainable at first to users. If you want that "do not backup NODUMP-flagged files" behaviour, use: borg create --exclude-nodump ... - Fixes: * borg recreate: correctly compute part file sizes. fixes cosmetic, but annoying issue as borg check complains about size inconsistencies of part files in affected archives. you can solve that by running borg recreate on these archives. * bsdflags support: do not open BLK/CHR/LNK files, avoid crashes and slowness * recreate: don't crash on attic archives w/o time_end * don't crash on repository filesystems w/o hardlink support * don't crash in first part of truncate_and_unlink * fix server-side IndexError crash with clients < 1.0.7 * don't show traceback if only a global option is given, show help * cache: use SaveFile for more safety * init: fix wrong encryption choices in command line parser, fix missing "authenticated-blake2" * move --no-files-cache from common to borg create options * fix detection of non-local path (failed on ..filename) * logging with fileConfig: set json attr on "borg" logger * fix crash with relative BORG_KEY_FILE * show excluded dir with "x" for tagged dirs / caches - New features: * create: --nobsdflags and --exclude-nodump options * extract: --nobsdflags option - Other changes: * remove annoying hardlinked symlinks warning * vagrant: use self-made FreeBSD 10.3 box * docs: * readme: -e option is required in borg 1.1 * add example showing --show-version --show-rc * use --format rather than --list-format (deprecated) in example * update docs about hardlinked symlinks limitation- Update to borgbackup 1.1.0 - Changelog: * Major new features in the 1.1 release series are: * borg recreate: remove files from existing archives and re-chunk or re-compress them. This finally allows deduplication between legacy Attic / Borg 0.xx archives and Borg 1.x archives. This is an experimental feature. * borg diff: show differences between two archives. * borg mount: show all recorded versions of files with the "versions view". * borg list: more formatting options, including generation of hashes and per-file chunk statistics. * borg create: automatic compression mode (-C auto,zlib/lz4/...), faster handling of many files, experimental support for inclusion patterns (--patterns, --patterns-from), files cache mode control (mtime/ctime) * borg export-tar: streaming export of GNU tar compatible archives. * Archive comments * BLAKE2b256-based encryption modes, and "authenticated" modes that provide data integrity without encryption. These provide better performance than the existing SHA-256-based modes on most hardware, except where the x86 SHA extensions are available (e.g. AMD Ryzen). * Repository indices and the Borg cache now use checksums to detect bitrot and other corruption. * A documented JSON API has been added to the most vital commands (borg list, borg info and borg create). * Structured JSON logging is available for all commands. * --prefix has been supplemented with --glob-archives (-a), --sort-by, - -last and --first options. These can be used for borg list, borg info, borg mount, borg check, borg delete and borg prune. * Quality of life improvements: * options that imply output (--show-rc, --show-version, --list, --stats, - -progress) don't need -v/--info to have that output displayed any more. * borg check is silent by default (finally!). * borg can now checkpoint within (big) files, not only between files. * borg delete can delete multiple archives by giving their names. * Automatic removal of stale locks, which should make "borg break-lock" essentially superfluous. This is enabled by default, see BORG_HOSTNAME_IS_UNIQUE. * Answers to prompts like "Accessing previously unknown repository" are now saved immediately. * Cache synchronization and "borg info" are now faster. * Reduced space usage of chunks.archive.d in the cache by 30-40 %. Existing caches are migrated during a cache sync. * The cache used for remote cache syncs and mounting remote repositories does not grow indefinitely any more, but adapts to the available space. Good riddance, TMP=/var/tmp! * BORG_PASSCOMMAND makes using key rings and hardware keys much easier. * Documentation improvements * Compatibility notes for upgrading from Borg 1.0 to Borg 1.1: * No explicit "borg upgrade" is required. * Borg 1.1 uses some new data structures which are backwards-compatible with Borg 1.0.4 and newer. * Borg 1.0 can't make use of Borg 1.1's "compact cache" and will silently ignore it. * The default compression has been changed from "none" to "lz4". * Repositories in the "repokey" and "repokey-blake2" modes with an empty passphrase are now treated as unencrypted repositories for security checks (e.g. BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK). * borg init: + -e/--encryption is now a mandatory option with no default value. Previously the default value was "repokey". + the short form of --append-only (-a) has been removed. + running "borg init" via a "borg serve --append-only" server will not create an append-only repository any more. Use "borg init --append-only" to initialize an append-only repository. * borg create: the --exclude-if-present option now supports tagging a folder with any file system object type (file, folder, etc.), instead of accepting only files as tags. * borg upgrade: the short form of --inplace (-i) has been removed. * borg delete: the short form of --cache-only (-c) has been removed. * "borg migrate-to-repokey" has been renamed to "borg key migrate-to-repokey" with no deprecation notice, since it is rarely and only manually used. - For more information, see https://www.borgbackup.org/releases/borg-1.1.html- Update to version 1.0.11 (2017-07-21) Bug fixes: - use limited unpacker for outer key (security precaution), #2174 - fix paperkey import bug Other changes: - change --checkpoint-interval default from 600s to 1800s, #2841. this improves efficiency for big repositories a lot. - docs: fix OpenSUSE command and add OpenSUSE section - tests: add tests for split_lstring and paperkey - vagrant: - fix openbsd shell - backport cpu/ram setup from master - add stretch64 VM- update to version 1.0.10 (2017-02-13) Bug fixes: - Manifest timestamps are now monotonically increasing, this fixes issues when the system clock jumps backwards or is set inconsistently across computers accessing the same repository, #2115 - Fixed testing regression in 1.0.10rc1 that lead to a hard dependency on py.test >= 3.0, #2112 New features: - “key export” can now generate a printable HTML page with both a QR code and a human-readable “paperkey” representation (and custom text) through the --qr-html option. - The same functionality is also available through paperkey.html, which is the same HTML page generated by --qr-html. It works with existing “key export” files and key files. Other changes: - docs: - language clarification - “borg create –one-file-system” option does not respect mount points, but considers different file systems instead, #2141 - setup.py: build_api: sort file list for determinism - update to version 1.0.10rc1 (2017-01-29) Bug fixes: - borg serve: fix transmission data loss of pipe writes, #1268 This affects only the cygwin platform (not Linux, BSD, OS X). - Avoid triggering an ObjectiveFS bug in xattr retrieval, #1992 - When running out of buffer memory when reading xattrs, only skip the current file, #1993 - Fixed “borg upgrade –tam” crashing with unencrypted repositories. Since the issue is not relevant for unencrypted repositories, it now does nothing and prints an error, #1981. - Fixed change-passphrase crashing with unencrypted repositories, #1978 - Fixed “borg check repo::archive” indicating success if “archive” does not exist, #1997 - borg check: print non-exit-code warning if –last or –prefix aren’t fulfilled - fix bad parsing of wrong repo location syntax - create: don’t create hard link refs to failed files, mount: handle invalid hard link refs, #2092 - detect mingw byte order, #2073 - creating a new segment: use “xb” mode, #2099 - mount: umount on SIGINT/^C when in foreground, #2082 Other changes: - binary: use fixed AND freshly compiled pyinstaller bootloader, #2002 - xattr: ignore empty names returned by llistxattr(2) et al - Enable the fault handler: install handlers for the SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals to dump the Python traceback. - Also print a traceback on SIGUSR2. - borg change-passphrase: print key location (simplify making a backup of it) - officially support Python 3.6 (setup.py: add Python 3.6 qualifier) tests: - vagrant / travis / tox: add Python 3.6 based testing - vagrant: fix openbsd repo, #2042 - vagrant: fix the freebsd64 machine, #2037 #2067 - vagrant: use python 3.5.3 to build binaries, #2078 - vagrant: use osxfuse 3.5.4 for tests / to build binaries vagrant: improve darwin64 VM settings - travis: fix osxfuse install (fixes OS X testing on Travis CI) - travis: require succeeding OS X tests, #2028 - travis: use latest pythons for OS X based testing - use pytest-xdist to parallelize testing - fix xattr test race condition, #2047 - setup.cfg: fix pytest deprecation warning, #2050 docs: - language clarification - VM backup FAQ - borg create: document how to backup stdin, #2013 - borg upgrade: fix incorrect title levels - add CVE numbers for issues fixed in 1.0.9, #2106 - fix typos (taken from Debian package patch) - remote: include data hexdump in “unexpected RPC data” error message - remote: log SSH command line at debug level - API_VERSION: use numberspaces, #2023 - remove .github from pypi package, #2051 - add pip and setuptools to requirements file, #2030 - SyncFile: fix use of fd object after close (cosmetic) - Manifest.in: simplify, exclude *.{so,dll,orig}, #2066 - ignore posix_fadvise errors in repository.py, #2095 (works around issues with docker on ARM) - make LoggedIO.close_segment reentrant, avoid reentrance- disable %check for leap versions, their pytest package is too old- update to version 1.0.9 (2016-12-20) - Security fixes: - A flaw in the cryptographic authentication scheme in Borg allowed an attacker to spoof the manifest. See :ref:`tam_vuln` above for the steps you should take. Fixes CVE-2016-10099 - borg check: When rebuilding the manifest (which should only be needed very rarely) duplicate archive names would be handled on a "first come first serve" basis, allowing an attacker to apparently replace archives. Fixes CVE-2016-10100 - Bug fixes: - borg check: rebuild manifest if it's corrupted skip corrupted chunks during manifest rebuild - fix TypeError in integrity error handler, #1903, #1894 - fix location parser for archives with @ char (regression introduced in 1.0.8), #1930 - fix wrong duration/timestamps if system clock jumped during a create - fix progress display not updating if system clock jumps backwards - fix checkpoint interval being incorrect if system clock jumps - update to version 1.0.9rc1 (2016-11-27) - Bug fixes: - files cache: fix determination of newest mtime in backup set (which is used in cache cleanup and led to wrong "A" [added] status for unchanged files in next backup), #1860. - borg check: - fix incorrectly reporting attic 0.13 and earlier archives as corrupt - handle repo w/o objects gracefully and also bail out early if repo is completely empty, #1815. - fix tox/pybuild in 1.0-maint - at xattr module import time, loggers are not initialized yet - update to version 1.0.8 (2016-10-29) - Bug fixes: - RemoteRepository: Fix busy wait in call_many, #940 - update to version 1.0.8rc1 (2016-10-17) - Bug fixes: - fix signal handling (SIGINT, SIGTERM, SIGHUP), #1620 #1593 Fixes e.g. leftover lock files for quickly repeated signals (e.g. Ctrl-C Ctrl-C) or lost connections or systemd sending SIGHUP. - progress display: adapt formatting to narrow screens, do not crash, [#1628] - borg create --read-special - fix crash on broken symlink, #1584. also correctly processes broken symlinks. before this regressed to a crash (5b45385) a broken symlink would've been skipped. - process_symlink: fix missing backup_io() Fixes a chmod/chown/chgrp/ unlink/rename/... crash race between getting dirents and dispatching to process_symlink. - yes(): abort on wrong answers, saying so, #1622 - fixed exception borg serve raised when connection was closed before reposiory was openend. add an error message for this. - fix read-from-closed-FD issue, #1551 (this seems not to get triggered in 1.0.x, but was discovered in master) - hashindex: fix iterators (always raise StopIteration when exhausted) (this seems not to get triggered in 1.0.x, but was discovered in master) - enable relative pathes in ssh:// repo URLs, via /./relpath hack, #1655 - allow repo pathes with colons, #1705 - update changed repo location immediately after acceptance, #1524 - fix debug get-obj / delete-obj crash if object not found and remote repo, #1684 - pyinstaller: use a spec file to build borg.exe binary, exclude osxfuse dylib on Mac OS X (avoids mismatch lib <-> driver), #1619- Trim description- Remove smp parameters when building documentation so different sphinx instances are not run in parallel which sometimes fails due to a race condition- update to version 1.0.7 (2016-08-19): a critical security fix and some major bug fixes Please check: https://github.com/borgbackup/borg/blob/1.0.7/docs/changes.rst - clean specfile- update to version 1.0.6 (2016-07-12) Bug fixes: * Linux: handle multiple LD_PRELOAD entries correctly, #1314, #1111 * Fix crash with unclear message if the libc is not found, #1314, #1111 Other changes: * tests: * Fixed O_NOATIME tests for Solaris and GNU Hurd, #1315 * Fixed sparse file tests for (file) systems not supporting it, #1310 * docs: * Fixed syntax highlighting, #1313 * misc docs: added data processing overview picture - update to version 1.0.6rc1 (2016-07-10) New features: * borg check –repair: heal damaged files if missing chunks re-appear (e.g. if the previously missing chunk was added again in a later backup archive), #148. (*) Also improved logging. Bug fixes: * sync_dir: silence fsync() failing with EINVAL, #1287 Some network filesystems (like smbfs) don’t support this and we use this in repository code. * borg mount (FUSE): fix directories being shadowed when contained paths were also specified, #1295 raise I/O Error (EIO) on damaged files (unless -o allow_damaged_files is used), [#1302]. (*) * borg extract: warn if a damaged file is extracted, #1299. (*) Added some missing return code checks (ChunkIndex._add, hashindex_resize). * borg check: fix/optimize initial hash table size, avoids resize of the table. Other changes: * tests: add more FUSE tests, #1284 deduplicate fuse (u)mount code fix borg binary test issues, #862 * docs: changelog: added release dates to older borg releases fix some sphinx (docs generator) warnings, #881 Notes: (*) Some features depend on information (chunks_healthy list) added to item metadata when a file with missing chunks was “repaired” using all-zero replacement chunks. The chunks_healthy list is generated since borg 1.0.4, thus borg can’t recognize such “repaired” (but content-damaged) files if the repair was done with an older borg version. - update to version 1.0.5 (2016-07-07) Bug fixes: * borg mount: fix FUSE crash in xattr code on Linux introduced in 1.0.4, #1282 Other changes: * backport some FAQ entries from master branch * add release helper scripts * Vagrantfile: centos6: no FUSE, don’t build binary add xz for redhat-like dists - update to version 1.0.4 (2016-07-07) New features: * borg serve –append-only, #1168 This was included because it was a simple change (append-only functionality was already present via repository config file) and makes better security now practically usable. * BORG_REMOTE_PATH environment variable, #1258 This was included because it was a simple change (–remote-path cli option was already present) and makes borg much easier to use if you need it. * Repository: cleanup incomplete transaction on “no space left” condition. In many cases, this can avoid a 100% full repo filesystem (which is very problematic as borg always needs free space - even to delete archives). Bug fixes: * Fix wrong handling and reporting of OSErrors in borg create, #1138. This was a serious issue: in the context of “borg create”, errors like repository I/O errors (e.g. disk I/O errors, ssh repo connection errors) were handled badly and did not lead to a crash (which would be good for this case, because the repo transaction would be incomplete and trigger a transaction rollback to clean up). Now, error handling for source files is cleanly separated from every other error handling, so only problematic input files are logged and skipped. * Implement fail-safe error handling for borg extract. Note that this isn’t nearly as critical as the borg create error handling bug, since nothing is written to the repo. So this was “merely” misleading error reporting. * Add missing error handler in directory attr restore loop. * repo: make sure write data hits disk before the commit tag (#1236) and also sync the containing directory. * FUSE: getxattr fail must use errno.ENOATTR, #1126 (fixes Mac OS X Finder malfunction: “zero bytes” file length, access denied) * borg check –repair: do not lose information about the good/original chunks. If we do not lose the original chunk IDs list when “repairing” a file (replacing missing chunks with all-zero chunks), we have a chance to “heal” the file back into its original state later, in case the chunks re-appear (e.g. in a fresh backup). Healing is not implemented yet, see #148. * fixes for –read-special mode: ignore known files cache, #1241 fake regular file mode, #1214 improve symlinks handling, #1215 * remove passphrase from subprocess environment, #1105 * Ignore empty index file (will trigger index rebuild), #1195 * add missing placeholder support for –prefix, #1027 * improve exception handling for placeholder replacement * catch and format exceptions in arg parsing * helpers: fix “undefined name ‘e’” in exception handler * better error handling for missing repo manifest, #1043 * borg delete: make it possible to delete a repo without manifest borg delete –forced allows to delete corrupted archives, #1139 * borg check: make borg check work for empty repo fix resync and msgpacked item qualifier, #1135 rebuild_manifest: fix crash if ‘name’ or ‘time’ key were missing. better validation of item metadata dicts, #1130 better validation of archive metadata dicts * close the repo on exit - even if rollback did not work, #1197. This is rather cosmetic, it avoids repo closing in the destructor. * tests: fix sparse file test, #1170 flake8: ignore new F405, #1185 catch “invalid argument” on cygwin, #257 fix sparseness assertion in test prep, #1264 Other changes: * make borg build/work on OpenSSL 1.0 and 1.1, #1187 * docs / help: fix / clarify prune help, #1143 fix “patterns” help formatting add missing docs / help about placeholders resources: rename atticmatic to borgmatic document sshd settings, #545 more details about checkpoints, add split trick, #1171 support docs: add freenode web chat link, #1175 add prune visualization / example, #723 add note that Fnmatch is default, #1247 make clear that lzma levels > 6 are a waste of cpu cycles add a “do not edit” note to auto-generated files, #1250 update cygwin installation docs * repository interoperability with borg master (1.1dev) branch: borg check: read item metadata keys from manifest, #1147 read v2 hints files, #1235 fix hints file “unknown version” error handling bug * tests: add tests for format_line * llfuse: update version requirement for freebsd * Vagrantfile: use openbsd 5.9, #716 do not install llfuse on netbsd (broken) update OSXfuse to version 3.3.3 use Python 3.5.2 to build the binaries * glibc compatibility checker: scripts/glibc_check.py * add .eggs to .gitignore- Update to version 1.0.3: Bug fixes: - prune: avoid that checkpoints are kept and completed archives are deleted in a prune run), #997 - prune: fix commandline argument validation - some valid command lines were considered invalid (annoying, but harmless), #942 - fix capabilities extraction on Linux (set xattrs last, after chown()), #1069 - repository: fix commit tags being seen in data - when probing key files, do binary reads. avoids crash when non-borg binary files are located in borg's key files directory. - handle SIGTERM and make a clean exit - avoids orphan lock files. - repository cache: don't cache large objects (avoid using lots of temp. disk space), #1063 Other changes: - Vagrantfile: OS X: update osxfuse / install lzma package, #933 - setup.py: add check for platform_darwin.c - setup.py: on freebsd, use a llfuse release that builds ok - docs / help: - update readthedocs URLs, #991 - add missing docs for "borg break-lock", #992 - borg create help: add some words to about the archive name - borg create help: document format tags, #894- Update to version 1.0.2: Bug fixes: - fix malfunction and potential corruption on (nowadays rather rare) big-endian architectures or bi-endian archs in (rare) BE mode. #886, #889 cache resync / index merge was malfunctioning due to this, potentially leading to data loss. borg info had cosmetic issues (displayed wrong values). note: all (widespread) little-endian archs (like x86/x64) or bi-endian archs in (widespread) LE mode (like ARMEL, MIPSEL, ...) were NOT affected. - add overflow and range checks for 1st (special) uint32 of the hashindex values, switch from int32 to uint32. - fix so that refcount will never overflow, but just stick to max. value after a overflow would have occured. - borg delete: fix --cache-only for broken caches, #874 Makes --cache-only idempotent: it won't fail if the cache is already deleted. - fixed borg create --one-file-system erroneously traversing into other filesystems (if starting fs device number was 0), #873 - workround a bug in Linux fadvise FADV_DONTNEED, #907 Other changes: - better test coverage for hashindex, incl. overflow testing, checking correct computations so endianness issues would be discovered. - reproducible doc for ProgressIndicator*, make the build reproducible. - use latest llfuse for vagrant machines - docs: - use /path/to/repo in examples, fixes #901 - fix confusing usage of "repo" as archive name (use "arch")- Update to version 1.0.1: New features: Usually there are no new features in a bugfix release, but these were added due to their high impact on security/safety/speed or because they are fixes also: - append-only mode for repositories, #809, #36 (see docs) - borg create: add --ignore-inode option to make borg detect unmodified files even if your filesystem does not have stable inode numbers (like sshfs and possibly CIFS). - add options --warning, --error, --critical for missing log levels, #826. it's not recommended to suppress warnings or errors, but the user may decide this on his own. note: --warning is not given to borg serve so a <= 1.0.0 borg will still work as server (it is not needed as it is the default). do not use --error or --critical when using a <= 1.0.0 borg server. Bug fixes: - fix silently skipping EIO, #748 - add context manager for Repository (avoid orphan repository locks), #285 - do not sleep for >60s while waiting for lock, #773 - unpack file stats before passing to FUSE - fix build on illumos - don't try to backup doors or event ports (Solaris and derivates) - remove useless/misleading libc version display, #738 - test suite: reset exit code of persistent archiver, #844 - RemoteRepository: clean up pipe if remote open() fails - Remote: don't print tracebacks for Error exceptions handled downstream, #792 - if BORG_PASSPHRASE is present but wrong, don't prompt for password, but fail instead, #791 - ArchiveChecker: move "orphaned objects check skipped" to INFO log level, #826 - fix capitalization, add ellipses, change log level to debug for 2 messages, [#798] Other changes: - update llfuse requirement, llfuse 1.0 works - update OS / dist packages on build machines, #717 - prefer showing --info over -v in usage help, #859 - docs: - fix cygwin requirements (gcc-g++) - document how to debug / file filesystem issues, #664 - fix reproducible build of api docs - RTD theme: CSS !important overwrite, #727 - Document logo font. Recreate logo png. Remove GIMP logo file. - rename package to borgbackup - create/install html docs/man page - remove dependency on python3-pytest-benchmark- version 1.0.0: initial buildobs-power8-07 1572983160  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.1.9-bp151.4.3.11.1.9-bp151.4.3.1   borgborgfsborg__init__.py__main__.py__pycache____init__.cpython-36.pyc__main__.cpython-36.pyc_version.cpython-36.pycarchive.cpython-36.pycarchiver.cpython-36.pyccache.cpython-36.pycconstants.cpython-36.pycfuse.cpython-36.pychelpers.cpython-36.pyclocking.cpython-36.pyclogger.cpython-36.pyclrucache.cpython-36.pycnanorst.cpython-36.pycpatterns.cpython-36.pycremote.cpython-36.pycrepository.cpython-36.pycselftest.cpython-36.pycshellpattern.cpython-36.pycupgrader.cpython-36.pycversion.cpython-36.pycxattr.cpython-36.pyc_version.pyalgorithms__init__.py__pycache____init__.cpython-36.pycchecksums.cpython-36m-powerpc64le-linux-gnu.soarchive.pyarchiver.pycache.pychunker.cpython-36m-powerpc64le-linux-gnu.socompress.cpython-36m-powerpc64le-linux-gnu.soconstants.pycrypto__init__.py__pycache____init__.cpython-36.pycfile_integrity.cpython-36.pyckey.cpython-36.pyckeymanager.cpython-36.pycnonces.cpython-36.pycfile_integrity.pykey.pykeymanager.pylow_level.cpython-36m-powerpc64le-linux-gnu.sononces.pyfuse.pyhashindex.cpython-36m-powerpc64le-linux-gnu.sohelpers.pyitem.cpython-36m-powerpc64le-linux-gnu.solocking.pylogger.pylrucache.pynanorst.pypaperkey.htmlpatterns.pyplatform__init__.py__pycache____init__.cpython-36.pycbase.cpython-36.pycbase.pylinux.cpython-36m-powerpc64le-linux-gnu.soposix.cpython-36m-powerpc64le-linux-gnu.soremote.pyrepository.pyselftest.pyshellpattern.pytestsuite__init__.py__pycache____init__.cpython-36.pycarchive.cpython-36.pycarchiver.cpython-36.pycbenchmark.cpython-36.pyccache.cpython-36.pycchecksums.cpython-36.pycchunker.cpython-36.pyccompress.cpython-36.pyccrypto.cpython-36.pycfile_integrity.cpython-36.pychashindex.cpython-36.pychelpers.cpython-36.pycitem.cpython-36.pyckey.cpython-36.pyclocking.cpython-36.pyclogger.cpython-36.pyclrucache.cpython-36.pycnanorst.cpython-36.pycnonces.cpython-36.pycpatterns.cpython-36.pycplatform.cpython-36.pycremote.cpython-36.pycrepository.cpython-36.pycshellpattern.cpython-36.pycupgrader.cpython-36.pycversion.cpython-36.pycxattr.cpython-36.pycarchive.pyarchiver.pyattic.tar.gzbenchmark.pycache.pychecksums.pychunker.pycompress.pycrypto.pyfile_integrity.pyhashindex.pyhelpers.pyitem.pykey.pylocking.pylogger.pylrucache.pynanorst.pynonces.pypatterns.pyplatform.pyremote.pyrepository.pyshellpattern.pyupgrader.pyversion.pyxattr.pyupgrader.pyversion.pyxattr.pyborgbackup-1.1.9-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-saferequires.txttop_level.txtborgbackupCHANGES.rstREADME.rstborgbackupLICENSEborg.1.gz/usr/bin//usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/borg//usr/lib64/python3.6/site-packages/borg/__pycache__//usr/lib64/python3.6/site-packages/borg/algorithms//usr/lib64/python3.6/site-packages/borg/algorithms/__pycache__//usr/lib64/python3.6/site-packages/borg/crypto//usr/lib64/python3.6/site-packages/borg/crypto/__pycache__//usr/lib64/python3.6/site-packages/borg/platform//usr/lib64/python3.6/site-packages/borg/platform/__pycache__//usr/lib64/python3.6/site-packages/borg/testsuite//usr/lib64/python3.6/site-packages/borg/testsuite/__pycache__//usr/lib64/python3.6/site-packages/borgbackup-1.1.9-py3.6.egg-info//usr/share/doc/packages//usr/share/doc/packages/borgbackup//usr/share/licenses//usr/share/licenses/borgbackup//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protectionobs://build.opensuse.org/openSUSE:Maintenance:11419/openSUSE_Backports_SLE-15-SP1_Update/209093e9c0f6fb96090e8238acaf1eb0-borgbackup.openSUSE_Backports_SLE-15-SP1_Updatedrpmxz5ppc64le-suse-linux   Python script, ASCII text executabledirectorypython 3.6 byte-compiledASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=85131b2358f8c9db9f87fa49bef86d9de2bfb552, not strippedPython script, UTF-8 Unicode text executableELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=93b595b3b2aab4a92fd08b73dd232a0ee859782b, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=544ab594b588f08f5cf328a1f588a8d0a165a9b8, not strippedAlgol 68 source, ASCII textemptyELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=e6f7e0041855d49b9c6e72ee398518456bfb79d5, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=a8e74758ad2c9fee87efb4d9a112385179cb3348, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=4e47a5b906ea6234ee84a684432e3feac5af74c1, not strippedHTML document, UTF-8 Unicode text, with very long linesELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=9d93bf819340905619f96cf5ec6452b5b62c0d53, not strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=e4ff6e285c175710ee23981692ecc99966704bec, not strippedPOSIX tar archive (GNU) (gzip compressed data, last modified: Tue Jun 6 01:53:10 2017, from Unix)UTF-8 Unicode texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) !"#$*123456789:;BCDJKPQRSTUVWXYafghijklmnopqrstuvwxyz{|}~RRR R R R R R R R R R R R R R R R R R R R R R R R R R R RR RRR R R R R RR RRR RRR R RRR R R R R R R R R R R RRRR RRR R R R RR RRR R RR RRR R R R R R R R R R R RRRR RRR RR RRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R d~ >OÛpython3-llfuseutf-8264479081d5741e42459328a6d2bab2c4e1011dd64fa72dc66b36dcb76fa300e?7zXZ !t/:%2]"k%wZUzm5 EVB # MTigw+ 89x[l[؎y SxL `e)TyEIr4І aۋ`;:,Ztj vYFrI JUvq=5R*L0+2~B2uCo01*{oB 7}l_=20&͆qaXxy+igB<ňuYj |]^RAiIM Z7TJ+@EgTڹv~cI)} xBoF0BY9ѓ*C !]{"6AڃvTf;Ո7z_? QwSw%ԅK5KsđgeMVɯ=Iڡ[5K$gB|X|V[r~sw2C%wЭk3 [T֯i HwZr̔OnXz!4bbeZ €NCjr_` wal}"|k-P|δ AGӴ)~ P)6l!}nV̖ Tfo'x!J0nڰ/_`:;z4dymgд{ >gPk k|rvKvSVkUN"!@݆=ݖ/Lq샠E>Z+1 "@s^F&?:yf]T5m{0qQ,hك^6h$Cgt e%? `X(վGQGxްy Xɕ}3eh-I/-`Wn}J2P%sbkq6Q(#`XEqfYcgbkJMz΂C"Ƌ iǬBS`,_nCY8r"BKQ<-wp191Kxe#8[A1&C#=tҩ|Gk>)L\&i>ɺ4Zܚq4"+ diF2?VXyU~bHya>ҿl1\^MfT=wi߆xľZ]x B3 TA0.`~@]?FkS5V*cUji)%A`f솤gf)H/~f5aP_0{:J{=芠>ѢUa֤J2*IhVߐˁ9+ . EVڥB >1 R5.7Z>x8@~&g;OcUPi6f~kjrxʞ|JLшZ\QoQU7gw9^mo 39|0֡UdC֊^_q]8'dYk[QfkY<9l_wb~`߼>JEibp VS‌||;DGua/hz.܈*Ҩ8|ğpȮ+Cׄb>[O/fr龏lJ~xFMZ_ r/*54I:Gd2xܰ4I1T&+GGmļ4r {B12 l@'-t\RZҒi.ׄIB?=>&NЖ*Jڰplvtޮ*'&݃1p)}ѝpݍbU-버pjF}<2Hۈgb&&-Yii)k*5D3˹ O<9{; Tgh`rw*gRL<c-73`t~8 M$E>(aKէK'u&M;E ۅ ˇquu_ysqy*OV%=E4FDlG>ϠFv[G'۵;n =!Ma9"*nF6zՍ=8fwrLܜ]z& 'w si%$j<–~ !#07OS@vD6swqy ؇QrztH|tCq<=2(?ѓ;QmēdĶjNE|O8v}*ZԵT4.to@ݩ]8/5"t}Z:+P>4o,+un*GSvة~UEpKʺT=Npկg5&VpЬ#~#޲ޖm8bƂus^IlLe /N~B+ v ʟ9gg^vsE6_Eb.^ 籏1 ʔr;+ ah㣒΋FTMȶHjV# A>qĨiR#yXٝuUCg-MuÑ۱~ݜXH)pA^g%Fc[ ػmX,qruwlHбT< hrr֯˟-E >iCX}&sJkSPj嬁#EH?ښ@g_?~a*Tq9 x[s?IQ`ڻʓJwB`Ë.`c 6"2Q;('oG¨7̧UY`7 yLa5f:$\2^/h#Y x .T88l!{\4mt,&@*]E Уv0{13Й >RssW9sM5NwwyK iP4!< + ']WgшLt̝hv'bAQcP;MEL'ZT ؙ8-/:U k1&O`(T$(SrF A]PnlEڝ*0{2n1M.C<=6V+xÚ>~{"qBPd 3M<};y&7UU(@l`yK%R"i,2 75*娐FL3<$d1H3~!Rl+e}O ϔp|eG@|eo(.āc+\ڲbҴJP5dk\;gT!wv8;?ڝd%X-:}O_)uZ( /ìx)DY1DZM ;;"F,^}jթKV cDkWZ-9dAyEFRc%FǬ_4YV`^M|!zVb黎~Cz="`tN >LlQ?Ldftl( /V r'N> \K3.("8G G:ϢK?_U>%W>SþJQ$X)4Ŗؐ0دxN͎z%҇r9 ' xDK|%rV :f4P ^R=sghiW * ZvFZ[ZTX!$ lRQScYL`=^Lp+8Jq;qRuwS! PCH\vYwdvj8NL0E:ݧh|mDd.KV/7_ wM.Γp'J'E{"4tSvs흛uO>s3fb&6>'UFT:̛1K%Lk} eOת)}Kbfb ¯c\ \jI p?^؁>/dM*iX٧OԳ ј7 [eWٻF^/MvQFU/_c(9ԧЬ'p |(F7Z^V)\.롇RfRHLOnPq&kA&൮ѣRr:/'&bW? pMU \ձ@^e}J?9b l{IkiRI: N T9S(.lL |+I?z(8R%ĸD|{=\yS6x53=1uqp]%Eb[fY Gc V vzP'OkY?<94L4GFǙ_k=Eff1(o¥JcvlȜӖiXd/D`(Dq.I^Z=Rby*9(gXٟbEH4((jCjO}2.lEI,( 6SW!h6/ k0ղW} Ϟ$O-3SGFJ0ڰSTC"Ĵ΀0ӍQCQÝofG#\(},/'>Yb0,,z&dgU7 oX.Nya' orP#M!6GYZ:5;cQ#y4ԃ"_o[=GD yg`wђv{?7CdGCO`B*qdE!o'v& FK>,4 Ps1FSf);}[Px[ڟ$\A=BPlcJ=P'Hҝ'aQ!E7iw$<L#J$ğ]֟Qnk!@ oC+T} èX^\>pFX-/u%v/,E͡ɚmh"`a'ud>*Y9ioB⭟G |Pd&вsWO7/usx5t2 Y)v2o jmR2aܾӉExgކ n˘cSL"w|VnTZ2@ \< ]`HLȱL 4[= zXNȍ8jAԌ}oFBL}4ǵHa.QA˝\4Ji,FX#z( (Xwi([`dͧ&κG٣6ut[@`(4 т +BW:s˛-qNtƨ-wl9tb *2n8_\ǞHQ3r3Q|z~ȌM.lY2;ȃzncVa6E_#q=~GG`84B$հ} "z-XZpX07|>t032PcUD-ILZ@+ Ϳ{԰7Y\|Bycw㑐P_*NQDe.xLfɎ4ɱ)^W%B!!aG3\YyP0z:#pZ5dn]Jm0B:+WoR|dW/Ok`;]E1ac+@ \~c=2xd~MZR5zz3VX-j>!]X) IA.1c#4a95[9M.IP >8={ Ki[w/C2A%$Z KsxOkmgDo1cNÍ oUbfR,9QzD ߫3zgyoV֏a,3ɥgŁn5 R I-|ZcN,p/s??*Dl]rrd+?Bew7:dM aqUl3PY)orr0f(vX0IJ2zS5a6ˇV_26pA.<¬%|Z!ehV~+;@I_٣@:P5\GOI\5١'|x$x0t7F)89U+ *1q#J<-0_Щ9P!lTã1W\3VjoU\0!VauKS_̚YRP+V(<[o&Z,t tj\e^27Fߨ`Dvae?7yPׯR-9ioUyґc:2Od`Q|cod{O!80 j #h51YU[ÊC1=t*n1c$AUwH je q}aޚ3v> - Y;д`LD@z-㱿NT0˒Y^7v~DV6f|39fE$"VB!#EeOŒ H3='m-=_@ I2ʊcapN0<|{628cX1ٴ#et? }"TԧI B+wGtS%4.Su62Wm jAm:rJKhEwoAI*!l,Cl8`X&ރq7'|LTڿ̻fV)ل9lYM}r8:2ߩΛFɘW_ Gq^o\8dSN`g?ҖcOc#{\o̼TwFz6;L\c76 y p#?0ESW7a:{"RrO |h"J]_r? 1!4vQjf3f$4ƄEdUo|g|;:Sd'>\'H GL W4rN#F۾O&> $Z͡<*{а/_}'2c^ X] lQ $E 7s(ϙ#j)I ^2Z6*/Hi0dMsC˽vE獓⛃$+3|t|ۣ?$M; \Zqq(i]C6vЦvcW]̧+Z]ٍnjmWyBAD#.$՝0X(#_㣖0)rhxuzxDZ}} (1uk@lfYD}GnG*e5i͓:fi4)us5|9'nyأ!M4L4RD|'XYT]՟z"J܎EvF>ܚQQJu  YZ