SHA256
1
0
forked from pool/restic

- Update to version 0.16.5

- Enh #4799: Add option to force use of Azure CLI credential
  - Enh #4873: Update dependencies

OBS-URL: https://build.opensuse.org/package/show/Archiving/restic?expand=0&rev=54
This commit is contained in:
Marcus Meissner 2024-07-07 11:30:51 +00:00 committed by Git OBS Bridge
commit e435bdc7f5
12 changed files with 971 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
_service Normal file
View File

@ -0,0 +1,3 @@
<services>
<service name="go_modules" mode="manual"/>
</services>

12
disable-selfupdate.patch Normal file
View File

@ -0,0 +1,12 @@
diff -uNr restic.org/build.go restic/build.go
--- restic.org/build.go 2023-01-16 23:09:42.559283644 +0100
+++ restic/build.go 2023-01-16 23:10:38.002960609 +0100
@@ -56,7 +56,7 @@
Name: "restic", // name of the program executable and directory
Namespace: "github.com/restic/restic", // subdir of GOPATH, e.g. "github.com/foo/bar"
Main: "./cmd/restic", // package name for the main package
- DefaultBuildTags: []string{"selfupdate"}, // specify build tags which are always used
+ //DefaultBuildTags: []string{"selfupdate"}, // specify build tags which are always used
Tests: []string{"./..."}, // tests to run
MinVersion: GoVersion{Major: 1, Minor: 18, Patch: 0}, // minimum Go version supported
}

3
restic-0.16.4.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d736a57972bb7ee3398cf6b45f30e5455d51266f5305987534b45a4ef505f965
size 23990246

16
restic-0.16.4.tar.gz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEz48Y8oRFdZc/edThkaaGi9P3qQcFAmW/3X8ACgkQkaaGi9P3
qQdcJxAAv3skiD9Ym6up4QD5NnOGcKqSP4LDgbCMaLRC3TOorWBeNV+cbsGR5AcE
U9jvHe/MnFmwtpGED8ljAMcCNoDK7+7LWgY1vYfoeZD+2X6qagDJ4e8ECvuTHMKL
9JxN5DinfTiKosN0prS+jLnOHOtfuREP56YGsMTL042yykfyWpPSpDK8IbDk7yOj
ivF9vm57U6ayq2039B1KkdhxNkYoiiFnvNkhmk24fIluKPgTqvcb64cgMrKpawyO
Plj+1vP+xZw6JWWggxcjDVy5adRoKgqUgX5bX/F5D9zhu8+Ujg5LTfl8qwqcxK8D
IQR49eJkB0SJHKtouAiNEXgHiJn6dQl8ZxLZcPB0ffo27WWfBT2yhpZAjKYHGf0H
gVlvsTrXwG+fBmmYDSdKrqyZ/BYCvfIZZb3tLNasLbzw4ksudm8/rgEcSQRz464C
suCKfX4hpA2IEQcyyTESxl5nH8n17u7kdIrNQ7LmQuW0bStryrRWuiv0ambZ860A
e5e+1piHj+w60dNtCf4t/ABO0RtQ2DM8SjAHz/SCE6Q3OK+/fASJbfjm1f+K/aNj
LiBP+w7hjkP/Om6w2dOBwj3HwHQ9IhYuqBIGxP5AsZx5Yo6u3YMAdRFSSKr2sfa7
qZQL+zeGrr/GfIFBaeWU5QRMGvfSQelaRRG0lVHOfflfMjFH70g=
=23br
-----END PGP SIGNATURE-----

3
restic-0.16.5.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e8a57f0d1d2b90d67253d1287159dc467bdb7f3b385be2db39e7213b44672be
size 23990221

16
restic-0.16.5.tar.gz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEz48Y8oRFdZc/edThkaaGi9P3qQcFAmaDA3UACgkQkaaGi9P3
qQdlYRAAhkUzrjopKPy5Jhddmz46SCxkZYAn/oHkaCrdmZfgGb+4RbiA69i+3+XT
imAQ44RQjPKRvKAjaTGbcHvVXqVBDzOjxA3fve19zGoUT/Bd/1aG8MGh+4RumHc2
Jj+byaD5hGRkEMgJgyeb63ljswfe3Jxz+UWqGA4Qp+oNNHneeACYP/GpaMWRb/Gs
bKYO8+0Ex3E/v+GOMlQ7UbaCVS9lg8BaRcg0RGTU5CY3H3kG2uS3cMnFeo3lENDw
W4s70CpDGX7ZJJ5PWkLEZYqyFHyY2n6N6At2l4iBG1cRvdRwpI1aGLlbsqw58IlU
4Gjq9fJkOKsChc8oSnK5GP2bQPGirolK6g/YH/a2fOA+zf0OZwsRB23250Kic9RO
gCN9LKczfxhZWEqw1HYkciOSQ/DQyh09C7usAQg1WNc8hKObldZrBi3PEyEsaMnO
s4wu+gU5DHIWSOegkZ+l68qFMV1ygMQqg7crtOXq4MShJTONYxMaRZEcY5Ly02yC
2Q8mdfZACZknASxR0xJQBoweXB6VM2Ffm1QQe4StsiJcfe0q6hZZz7YkyzljIvIq
l8vzOTCfytn4NH2PnjgkeSpk55UDs3LMRYDgELRegRuQBzQN6nCG13MjwTa/fK0C
ne/HiFQ8QyYMahjtyUfeX5Q04CsD5x6PLEHHDj0J+JozdKJIgJo=
=S5U2
-----END PGP SIGNATURE-----

719
restic.changes Normal file
View File

@ -0,0 +1,719 @@
-------------------------------------------------------------------
Mon Jul 1 20:00:38 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to version 0.16.5
- Enh #4799: Add option to force use of Azure CLI credential
- Enh #4873: Update dependencies
-------------------------------------------------------------------
Mon Feb 5 03:29:55 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to version 0.16.4
This release works around and improves detection of a bug in the
compression library used by restic. The resulting issue only
happens when using restic 0.16.3 and the max compression level
(the default auto and off compression levels are not affected),
and when the source files being backed up have specific data in
them to trigger the bug. If you use max compression, you can use
restic check --read-data to make sure you're not affected.
-------------------------------------------------------------------
Wed Jan 17 13:04:15 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
- Update to version 0.16.3
- Fix #4560: Improve errors for irregular files on Windows
- Fix #4574: Support backup of deduplicated files on Windows
again
- Fix #4612: Improve error handling for rclone backend
- Fix #4624: Correct restore progress information if an error
occurs
- Fix #4626: Improve reliability of restoring large files
-------------------------------------------------------------------
Tue Nov 7 10:00:15 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Fix build with RPM 4.19: unnumbered patches are no longer
supported.
-------------------------------------------------------------------
Sun Oct 29 23:09:45 UTC 2023 - Marcus Rueckert <mrueckert@suse.de>
- Update to version 0.16.2
- Fix #4540: Restore ARMv5 support for ARM binaries
- Fix #4545: Repair documentation build on Read the Docs
-------------------------------------------------------------------
Tue Oct 24 18:58:58 UTC 2023 - Marcus Rueckert <mrueckert@suse.de>
- Update to version 0.16.1
A very long list of improvements for all the details see
https://github.com/restic/restic/releases/tag/v0.16.1
It contains an important bug fix which prevents data corruption
when compression is set to max.
-------------------------------------------------------------------
Fri Aug 11 21:03:16 UTC 2023 - Herbert Graeber <herbert@graeber-clan.de>
- Add missing vendor.tar.gz
-------------------------------------------------------------------
Mon Jul 31 18:54:11 UTC 2023 - Marcus Rueckert <mrueckert@suse.de>
- Update to version 0.16.0
A very long list of improvements for all the details see
https://github.com/restic/restic/releases/tag/v0.16.0
-------------------------------------------------------------------
Wed Apr 26 15:19:22 UTC 2023 - Herbert Graeber <herbert@graeber-clan.de>
- Update to version 0.15.2
* Update golang.org/x/net to address CVE-2022-41723
* Sanitize filenames printed by backup during processing
* Make dump interpret --host and --path correctly
* Correct number of blocks reported in mount point
* Minimize risk of spurious filesystem loops with mount
* Add release binaries for riscv64 architecture on Linux
* Upgrade Minio to version 7.0.49
-------------------------------------------------------------------
Tue Jan 31 21:33:43 UTC 2023 - Herbert Graeber <herbert@graeber-clan.de>
- Update to version 0.15.1
* Fix: Remove b2_download_file_by_name: 404 warning from B2 backend
* Fix: Make prune --quiet not print progress bar
* Fix: Make self-update --output work with new filename on Windows
* Fix: Add missing ETA in backup progress bar
* Enh: Ignore empty lock files
- Remove accidentally left over unused patch build.patch
-------------------------------------------------------------------
Tue Jan 24 18:46:48 UTC 2023 - Herbert Graeber <herbert@graeber-clan.de>
- Allow build with architectures that do not support -buildmode=pie
- New Patch disable-selfupdate.patch: Disable self-update, because updates
will be made using package manager
- Replace packageand by conditionals
- Update to version 0.15.0
* Make mount return exit code 0 after receiving Ctrl-C / SIGINT
* Make restore replace existing symlinks
* Don't read password from stdin for backup --stdin
* Delete files on Backblaze B2 more reliably
* Make SFTP backend report no space left on device
* Improve handling of interrupted syscalls in mount command
* Fix stuck copy command when -o <backend>.connections=1
* Correct prune statistics for partially compressed repositories
* Make ls return exit code 1 if snapshot cannot be loaded
* Make backup no longer hang on Solaris when seeing a FIFO file
* Support ExFAT-formatted local backends on macOS Ventura
* Make init ignore "Access Denied" errors when creating S3 buckets
* Make self-update enabled by default only in release builds
* Don't generate negative UIDs and GIDs in tar files from dump
* Include full snapshot ID in JSON output of backup
* Make unlock display message only when locks were actually removed
* Don't print skipped snapshots by default in copy command
* Update dependencies and require Go 1.18 or newer
* Implement rewrite command
* Restore files with long runs of zeros as sparse files
* Support restoring symbolic links on Windows
* Inform about successful retries after errors
* Improve handling of directories with duplicate entries
* Support B2 API keys restricted to hiding but not deleting files
* Make init open only one connection for the SFTP backend
* Handle cache corruption on disk and in downloads
* Stricter repository lock handling
* Make backup file read concurrency configurable
* Add support for credential_process to S3 backend
* Make mount command support macOS using macFUSE 4.x
* Support JSON output for the init command
* Optimize prune memory usage
* Improve speed of parent snapshot detection in backup command
* Add compression statistics to the stats command
* Provide command completion for PowerShell
* Allow backup file tree scanner to be disabled
* Improve handling of ErrDot errors in rclone and sftp backends
* Ignore additional/unknown files in repository
* Improve backup performance for small files
-------------------------------------------------------------------
Thu Aug 25 22:52:37 UTC 2022 - jkowalczyk@suse.com
- Update to version 0.14.0:
* doc: Improve/clarify preparing and versions of repositories
* rclone: Return a permanent error if rclone already exited
* restic: Cleanup xattr error handling for Solaris
* downgrade bazil/fuse again to retain macOS support
* Add note that larger packs increase disk wear
* repository: Do not report ignored packs in EachByPack
* helper: download modules as first step
* helper: Reduce number of parallel builds a bit
* helper: don't setup cmd paths twice
* doc: document aws session token
* mount: Only remember successful snapshot refreshes
* copy: replace --repo2 with --from-repo
* mount: Map slashes in tags to underscores
* forget: Fail test if duration parsing error is missing
* forget: Error when invalid unit is given in duration policy
* doc: Update link to GCS documentation
* stats: Add snapshots count to json output
* restic: Use stable sorting in snapshot policy
* Bump golangci-lint version
* Update tests to Go 1.19
* mount: Fix parent inode used by snapshots dir
* mount: remove unused inode field from root node
* Mention --snapshot-template and --time-template in changelog
* fuse: Redesign snapshot dirstruct
* Add changelog for DEBUG_LOG available in release builds
* update documentation to reflect DEBUG_LOG for release builds
* debug: support roundtripper logging also for release builds
* debug: enable debug support for release builds
* Remove unused hooks mechanism
* repository: StreamPack in parts if there are too large gaps
* Reword prune --repack-small description
* Add note that pack-size is not an exact limit
* s3: Disable multipart uploads below 200MB
* Always repack very small pack files
* Only repack small files if there are multiple of them
* rename option to --pack-size
* Add changelog for packsize option
* update restic help snippets in documentation
* rework pack size parameter documentation
* document minPackSize
* repository: prevent header overfill
* prune: reduce priority of repacking small packs
* prune: add repack-small parameter
* add option for setting min pack size
* fuse: remove unused MetaDir
* Make snapshots dirs in mount command customizable
* Generalize fuse snapshot dirs implemetation
* Add possibility to set snapshot ID (used in test)
* internal/restic: Handle EINVAL for xattr on Solaris
* Add changelog for #3837/#3840
* repository: Test fallback to existing blobs
* prune: move code
* repository: try to recover from invalid blob while repacking
* prune: Add internal integrity check
* prune: split into smaller functions
* prune: separate collecting/printing/pruning
* Add environment variable RESTIC_COMPRESSION
* Speed up restic init over slow SFTP links
* Remove stale comments from backend/sftp
* Add changelog for the optimized tree serialization
* archiver: reduce memory usage for large files
* archiver: Incrementally serialize tree nodes
* archiver: unify FutureTree/File into futureNode
* archiver: remove unused fileInfo from progress callback
* archiver: remove dead attribute from FutureNode
* Add changelog for stricter checks
* Fix S3 legacy layout migration
* checker: Fix S3 legacy layout detection
* check: Deprecate `--check-unused`
* check: Complain about usage of s3 legacy layout
* check: complain about mixed pack files
* backend: extract readerat from restic package
* restorer: extract hardlinks index from restic package
* crypto: move crypto buffer helpers
* limiter: move to internal/backend
* mock: move to internal/backend
* repository: extract Load/StoreJSONUnpacked
* repository: extract LoadTree/SaveTree
* prune: handle very high duplication of some blobs
* prune: Enhance treatment of duplicates
* backup: clarify usage string
* azure: Strip ? prefix from sas token
* azure: add SAS authentication option
* doc: Add note about using rclone for Google Drive
* doc: Rework hint to repack with max compression
* Wording: replace further repo occurrences with repository
* Added hint for --compression max in migration process
* Add changelog entry
* Fix wording in changelog template
* Test restore fails when using invalid patterns
* Add testRunRestoreAssumeFailure function
* Restore: validate provided patterns
* Wording: change repo to repository
* Fix data race in blob_saver
* Document automatic CPU/IO-concurrency
* adapt workers based on whether an operation is CPU or IO-bound
* Add changelog for async pack uploads
* Document connections and compression option
* repository: Limit to a single pending pack file
* archiver: Reduce tree saver concurrency
* archiver: Limit blob saver count to GOMAXPROCS
* repository: Rework blob saving to use an async pack uploader
* tag: Remove unnecessary flush call
* Don't crash if SecretString is uninitialized
* check: remove dead code
* check: Print full ids
* rebuild-index: correctly rebuild index for mixed packs
* extend compression feature changelog entry
* Account for pack header overhead at each entry
* stats: return storage size for raw-data mode
* Print number of bytes added to the repo
* Return real size from SaveBlob
* redact swift auth token in debug output
* redacted keys/token in backend config debug log
* redact http authorization header in debug log output
* drop unused repository.Loader interface
* repository: remove unused packIDToIndex field
* repository: simplify CreateIndexFromPacks
* repository: hide MasterIndex.FinalizeFullIndexes / FinalizeNotFinalIndexes
* repository: remove MasterIndex.All()
* repository: Properly set id for finalized index
* repository: remove unused (Master)Index.Count
* repository: remove unused index.ListPack
* repository: inline index.encode
* repository: remove unused index.Store
* repository: make flushPacks private
* repository: add Save method to MasterIndex interface
* repository: index saving belongs into the MasterIndex
* Revert "restic prune: Merge three loops over the index"
* cmd/restic, limiter: Move config knowledge to internal packages
* restic prune: Merge three loops over the index
* backend: Move semaphores to a dedicated package
* all: Move away from pkg/errors, easy cases
* tweak password test count changelog
* fix flaky key test
* fix handling of maxKeys in SearchKey
* internal/repository: Fix LoadBlob + fuzz test
* backend/sftp: Support atomic rename
* get rid of tomb package
* archiver: free workers once finished
* archiver: remove tomb usage
* migrate: Cleanup option to request repository check
* cmd/restic: Remove trailing "..." from progress messages
* archiver: Remove cleanup goroutine from BufferPool
* Fix linter check
* internal/restic: Custom ID.MarshalJSON
* Update gopkg.in/yaml
* Update github.com/minio/minio-go/v7 to v7.0.27
* prune: Don't print stack trace if snapshot can't be loaded
* prune: Fix crash on empty snapshot
* Update 030_preparing_a_new_repo.rst
* Add changelog entry for validating exclude patterns
* Add tests for validating exclude patterns
* hashing: Fix up comments
* repository: Re-tune indexmap allocation strategy
* local: Ignore additional errors for directory syncing
* hashing: Remove io.WriterTo implementation
* repository: Remove RunWorkers, report ctx.Err()
* cache: Don't Lstat before creating the tag file
* Fix error on temp file deletion on windows
* Add compression migration support to changelog
* migrate: Allow migrations to request a check run
* check: Better differentiate between warnings and errors
* checker: convert error type to use pointer-receivers
* doc: Describe repository upgrade process
* upgrade_repo_v2: Use atomic replace for supported backends
* Document repository version and minimum restic version
* prune: Add option to repack uncompressed data
* prune: Automatically repack uncompressed trees for repo v2
* Add migration to compress all data
* Add tests for upgrade migration
* Try to make repo upgrade migration more failsafe
* Add repo upgrade migration
* Improve migrate command
* init: Enable compression support by default
* stats: hardlinks only reduce restore within a snapshot
* Validate exclude patterns
* Keep original pattern for later use
* DOCS: Incorrectly used SI units when IEC units were meant (fix #3669)
* doc: specify AWS Region via AWS_DEFAULT_REGION
* debug: Support pack ID prefixes in `debug examine`
* debug: Add switch to upload blobs extracted by debug examine
* Tidy go.sum
* prune: Add unsafe option to recover from no free space
* repository: Use existing method to collect pack ids
* repository: Refactor index IDs collection
* Use config file modes to derive new dir/file modes
* Add changelog for local/sftp connection limit
* Add documentation for --repository-version
* repository: Test compressed blobs in StreamPack
* pack: slightly expand testing of compressed blobs
* repository: test uncompressedLength field and index example
* repository: run blackbox tests using old and new repo version
* repository: unify repository version-specific initialization
* Leave allocating slices to the decompress code
* Configure zstd encoder/decoder
* Cleanup pack header check
* Amend changelog
* Add option global --compression
* Add basic changelog for compression support
* Print repository version when opening a repo
* repository: Increase index size for repo version 2
* debug: Add support for compressed blobs
* debug: Reduce code duplication
* repository: Alloc zstd encoder/decoder on demand
* repository: recalibrate index batch allocation size
* repository: implement pack compression
* init: Add flag to specify created repository version
* repository: Implement index/snapshot/lock compression
* doc: Add repository compression support documentation
* doc: Describe repository read/write order
* doc: sftp with password actually works
* add missing streamPacks changelog
* fix changelog name
* prune: Fail early if too few backend connections
* repository: Reduce repack workers to prevent deadlock
* backend/mem: Actually enforce connection limit
* Backend: Expose connections parameter
* Print password error message on stderr
* doc: Clarify and make grouping in forget more noticeable
* doc: fix missing "init" in rest-server example
* Set development version for 0.13.1
* Add simple test for fs.TempFile on windows
* Simplify and comment TempFile implementation for windows
* Print used key name if config fails to load
* Refactor file handing for self-update.
* Check in integration test that snapshots are listed before the index
* copy: Load snapshots before indexes
* diff: list snapshots only once
* add changelogs
* test that TestFindListOnce calls List only once
* Fix O(n) backend list calls in FindFilteredSnapshots
* copy/find/ls/recover/stats: Memorize snapshot listing before index
* backup/diff/dump/restore/stats: List snapshots before index
* sftp: Limit concurrent backend operations
* local: Limit concurrent backend operations
* backends: clean reader closing
* Better temp file cleanup on Windows.
* doc: Link to CACHEDIR.TAG specification
* Fix rclone (scoop shim) and sftp issue due to detached console on Windows
* Cast unix.Statfs_t.Type to int64 when checking for btrfs
* Require Go 1.15 or later
* added documentation for zsh autocompletion
* golangci-lint: replace deprecated golint with revive
* bloblru: Fix comment for New function
* switch to golang.org/x/term
* add go:build headers everywhere
* pack: Hide more implementation details
* pack: cleanup header size calculation
* repository: Simplify Blob equality check
* crypto: Use helpers for size calculations
* repository: Remove pack implementation details from MasterIndex
* repository: make saveAndEncrypt private
* repository: Rename LoadAndDecrypt to LoadUnpacked
* errors: Ensure that errors.IsFatal(errors.Fatal("err")) == true
* copy: Implement by reusing repack
* Set development version for 0.13.0
* Add tests for StreamPack
* restorer: Remove dead code
* repository: cancel streampack context after error
* repository: Fix error handling in repack
* checker: cleanup header extraction
* checker: reuse bufio reader
* repository: don't crash if blob size is too short
* repository: remove unused DownloadAndHash
* checker: rewrite ReadData to stream packs
* restorer: convert to use StreamPack
* repository: stream packs during repacking
* repository: Add StreamPacks function
* repository: Implement lisiting blobs per pack file
-------------------------------------------------------------------
Thu Apr 21 08:11:56 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 0.13.1:
* #3685: Fix the diff command
* #3681: Fix rclone (shimmed by Scoop) and sftp stopped working on Windows
-------------------------------------------------------------------
Sun Mar 27 20:01:48 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 0.13.0:
* #1106: Never lock repository for list locks
* #2345: Make cache crash-resistant and usable by multiple concurrent processes
* #2452: Improve error handling of repository locking
* #2738: Don't print progress for backup --json --quiet
* #3382: Make check command honor RESTIC_CACHE_DIR environment variable
* #3518: Make copy command honor --no-lock for source repository
* #3556: Fix hang with Backblaze B2 on SSL certificate authority error
* #3601: Fix rclone backend prematurely exiting when receiving SIGINT on Windows
* #3667: The mount command now reports symlinks sizes
* #3488: rebuild-index failed if an index file was damaged
* #3591: Fix handling of prune --max-repack-size=0
* #3619: Avoid choosing parent snapshots newer than time of new snapshot
* #3641: Ignore parent snapshot for backup --stdin
* #3519: Require Go 1.14 or newer
* #1542: Add --dry-run/-n option to backup command
* #2202: Add upload checksum for Azure, GS, S3 and Swift backends
* #233: Support negative include/exclude patterns
* #2388: Add warning for S3 if partial credentials are provided
* #2508: Support JSON output and quiet mode for the diff command
* #2656: Add flag to disable TLS verification for self-signed certificates
* #3003: Atomic uploads for the SFTP backend
* #3127: Add xattr (extended attributes) support for Solaris
* #3464: Skip lock creation on forget if --no-lock and --dry-run
* #3490: Support random subset by size in check --read-data-subset
* #3541: Improve handling of temporary B2 delete errors
* #3542: Add file mode in symbolic notation to ls --json
* #2594: Speed up the restore --verify command
* #2816: The backup command no longer updates file access times on Linux
* #2880: Make recover collect only unreferenced trees
* #3429: Verify that new or modified keys are stored correctly
* #3436: Improve local backend's resilience to (system) crashes
* #3508: Cache blobs read by the dump command
* #3511: Support configurable timeout for the rclone backend
* #3593: Improve copy performance by parallelizing IO
-------------------------------------------------------------------
Fri Aug 6 21:52:10 UTC 2021 - Herbert Graeber <herbert@graeber-clan.de>
- Update to 0.12.1
Fixes:
* #2742: Improve error handling for rclone and REST backend over HTTP2
* #3111: Fix terminal output redirection for PowerShell
* #3214: Treat an empty password as a fatal error for repository init
* #3267: copy failed to copy snapshots in rare cases
* #3184: backup --quiet no longer prints status information
* #3296: Fix crash of check --read-data-subset=x% run for an empty repository
* #3302: Fix fdopendir: not a directory error for local backend
* #3334: Print created new cache message only on a terminal
* #3380: Fix crash of backup --exclude='**'
* #3305: Fix possibly missing backup summary of JSON output in case of error
* #3439: Correctly handle download errors during restore
Changes:
* #3247: Empty files now have size of 0 in ls --json output
Enhancements:
* #2780: Add release binaries for s390x architecture on Linux
* #3293: Add --repository-file2 option to init and copy command
* #3312: Add auto-completion support for fish
* #3336: SFTP backend now checks for disk space
* #3377: Add release binaries for Apple Silicon
* #3414: Add --keep-within-hourly option to restic forget
* #3456: Support filtering and specifying untagged snapshots
* #3167: Allow specifying limit of snapshots list
* #3426: Optimize read performance of mount command
* #3427: find --pack fallback to index if data file is missing
-------------------------------------------------------------------
Tue Feb 16 20:17:22 UTC 2021 - Herbert Graeber <herbert@graeber-clan.de>
- Update to 0.12.0
https://github.com/restic/restic/releases/tag/v0.12.0
See installed /usr/share/doc/packages/restic/CHANGELOG.md.
Fixes:
* #1681: Make mount not create missing mount point directory
* #1800: Ignore no data available filesystem error during backup
* #2563: Report the correct owner of directories in FUSE mounts
* #2688: Make backup and tag commands separate tags by comma
* #2739: Make the cat command respect the --no-lock option
* #3087: The --use-fs-snapshot option now works on windows/386
* #3100: Do not require gs bucket permissions when running init
* #3111: Correctly detect output redirection for backup command on Windows
* #3151: Don't create invalid snapshots when backup is interrupted
* #3166: Improve error handling in the restore command
* #3232: Correct statistics for overlapping targets
* #3014: Fix sporadic stream reset between rclone and restic
* #3152: Do not hang until foregrounded when completed in background
* #3249: Improve error handling in gs backend
Changes:
* #3095: Deleting files on Google Drive now moves them to the trash
Enhancements:
* #2186: Allow specifying percentage in check --read-data-subset
* #2453: Report permanent/fatal backend errors earlier
* #2528: Add Alibaba/Aliyun OSS support in the s3 backend
* #2706: Configurable progress reports for non-interactive terminals
* #2944: Add backup options --files-from-{verbatim,raw}
* #3083: Allow usage of deprecated S3 ListObjects API
* #3147: Support additional environment variables for Swift authentication
* #3191: Add release binaries for MIPS architectures
* #909: Back up mountpoints as empty directories
* #3250: Add several more error checks
* #2718: Improve prune performance and make it more customizable
* #2495: Add option to let backup trust mtime without checking ctime
* #2941: Speed up the repacking step of the prune command
* #3006: Speed up the rebuild-index command
* #3048: Add more checks for index and pack files in the check command
* #2433: Make the dump command support zip format
* #3099: Reduce memory usage of check command
* #3106: Parallelize scan of snapshot content in copy and prune
* #3130: Parallelize reading of locks and snapshots
* #3254: Enable HTTP/2 for backend connections
-------------------------------------------------------------------
Mon Dec 21 10:48:03 UTC 2020 - Gordon Schulz <gordon@gordonschulz.de>
- Update to 0.11.0
https://github.com/restic/restic/releases/tag/v0.11.0
See installed /usr/share/doc/packages/restic/CHANGELOG.md.
Fixes:
* #1212: Restore timestamps and permissions on intermediate directories
* #1756: Mark repository files as read-only when using the local backend
* #2241: Hide password in REST backend repository URLs
* #2319: Correctly dump directories into tar files
* #2491: Don't require self-update --output placeholder file
* #2834: Fix rare cases of backup command hanging forever
* #2938: Fix manpage formatting
* #2942: Make --exclude-larger-than handle disappearing files
* #2951: Restic generate, help and self-update no longer check passwords
* #2979: Make snapshots --json output [] instead of null when no snapshots
Enhancements:
* #2969: Optimize check for unchanged files during backup
* #340: Add support for Volume Shadow Copy Service (VSS) on Windows
* #2849: Authenticate to Google Cloud Storage with access token
* #1458: New option --repository-file
* #2978: Warn if parent snapshot cannot be loaded during backup
-------------------------------------------------------------------
Tue Sep 22 21:22:18 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>
- Update to 0.10.0.
https://github.com/restic/restic/releases/tag/v0.10.0
See installed /usr/share/doc/packages/restic/CHANGELOG.md.
- we need to manually vendor the libraries now
- bump minimum go version to >= 1.13
-------------------------------------------------------------------
Sat Nov 23 13:23:28 UTC 2019 - Aleksa Sarai <asarai@suse.com>
- Update to 0.9.6.
https://github.com/restic/restic/releases/tag/v0.9.6
See installed /usr/share/doc/packages/restic/CHANGELOG.md.
Fixes:
* Allow absolute path for filename when backing up from stdin
* Save files with invalid timestamps
* Read fresh metadata for unmodified files
* Add upper bound for t in --read-data-subset=n/t
* Check errors when loading index files
Enhancements:
+ Allow multiple retries for interactive password input
+ Make --group-by accept both singular and plural
+ Add option to configure S3 region
-------------------------------------------------------------------
Tue Apr 23 14:54:52 UTC 2019 - Aleksa Sarai <asarai@suse.com>
- Update to 0.9.5.
https://github.com/restic/restic/releases/tag/v0.9.5
See installed /usr/share/doc/packages/restic/CHANGELOG.md. Short-log:
Fixes:
* Return error when no bytes could be read from stdin
* Don't cancel timeout after 30 seconds for self-update
* Fix reading passwords from stdin
* Don't abort the find command when a tree can't be loaded
Enhancements:
+ Add case insensitive include & exclude options
+ Support streaming JSON output for backup
+ Add Openstack application credential auth for Swift
+ Add --json support to forget command
+ Add group-by option to snapshots command
+ Ability to dump folders to tar via stdout
+ Return error if no bytes could be read for backup --stdin
+ Add --ignore-inode option to backup cmd
+ Add config option to set S3 storage class
-------------------------------------------------------------------
Mon Jan 7 14:01:58 UTC 2019 - Aleksa Sarai <asarai@suse.com>
- Update to 0.9.4.
https://github.com/restic/restic/releases/tag/v0.9.4
See installed /usr/share/doc/packages/restic/CHANGELOG.md
-------------------------------------------------------------------
Mon Nov 5 08:44:53 UTC 2018 - Aleksa Sarai <asarai@suse.com>
- Update to 0.9.3. boo#1115498
https://github.com/restic/restic/releases/tag/v0.9.3
See installed /usr/share/doc/packages/restic/CHANGELOG.md
- Update to Go 1.9, and disable Go 1.11 modules since they require internet
access (restic still provides vendor/).
-------------------------------------------------------------------
Wed Aug 8 03:59:46 UTC 2018 - asarai@suse.com
- Update to 0.9.2.
https://github.com/restic/restic/releases/tag/v0.9.2
See installed /usr/share/doc/packages/restic/CHANGELOG.md
- Remove Go 1.8 compatibility patch, now that we have newer Go versions in
older Leap releases.
- restic-switch-to-pre-1.8-sort.Stable-API.patch
-------------------------------------------------------------------
Sat Jul 28 18:27:51 UTC 2018 - jengelh@inai.de
- Substantiate program attribute claims in descriptions.
-------------------------------------------------------------------
Fri Jun 22 13:33:00 UTC 2018 - asarai@suse.com
- Update to 0.9.1.
https://github.com/restic/restic/releases/tag/v0.9.1
See installed /usr/share/doc/packages/restic/CHANGELOG.md
- Switch to building with the new "go" metapkg.
- Switch to new %license macro.
-------------------------------------------------------------------
Fri Jun 22 13:29:22 UTC 2018 - asarai@suse.com
- Fix up restic-*-completion subpackages to use Supplements (to avoid
installing shells on people's machines when they don't expect it).
-------------------------------------------------------------------
Thu Jun 21 21:00:07 UTC 2018 - mardnh@gmx.de
- Add subpackages for command line completions for bash and
zsh shells
-------------------------------------------------------------------
Thu Mar 1 01:11:07 UTC 2018 - asarai@suse.com
- Update to 0.8.3.
https://github.com/restic/restic/releases/tag/v0.8.3
See installed /usr/share/doc/packages/restic/CHANGELOG.md
-------------------------------------------------------------------
Sat Jan 13 16:20:36 UTC 2018 - asarai@suse.com
- Switch away from using build.go, and instead manually build with "go". This
allows us to build with the older Go compilers present in Leap, as well as to
build the binary as PIC and dynamic.
- Add generated man pages.
- In order to build with older Go compilers, add a patch.
+ restic-switch-to-pre-1.8-sort.Stable-API.patch
-------------------------------------------------------------------
Wed Jan 10 12:05:43 UTC 2018 - asarai@suse.com
- Update to 0.8.1.
https://github.com/restic/restic/releases/tag/v0.8.1
See installed /usr/share/doc/packages/restic/CHANGELOG.md
-------------------------------------------------------------------
Wed Jan 10 12:01:29 UTC 2018 - asarai@suse.com
- Add GPG verification of source as well as links to the source.
-------------------------------------------------------------------
Sun Dec 24 23:51:26 UTC 2017 - mrueckert@suse.de
- Update to 0.8.0. This is a security release.
https://github.com/restic/restic/releases/tag/v0.8.0
See installed /usr/share/doc/packages/restic/CHANGELOG.md
-------------------------------------------------------------------
Thu Oct 5 09:46:23 UTC 2017 - mrueckert@suse.de
- Update to 0.7.3.
https://github.com/restic/restic/releases/tag/v0.7.3
See installed /usr/share/doc/packages/restic/CHANGELOG.md
-------------------------------------------------------------------
Wed Aug 23 16:40:17 UTC 2017 - mrueckert@suse.de
- should really be in _bindir of course
-------------------------------------------------------------------
Wed Aug 23 14:35:53 UTC 2017 - mrueckert@suse.de
- update to package

69
restic.keyring Normal file
View File

@ -0,0 +1,69 @@
pub rsa4096 2014-11-01 [SC]
CF8F18F2844575973F79D4E191A6868BD3F7A907
uid [ unknown] Alexander Neumann <alexander@bumpern.de>
uid [ revoked] Alexander Neumann <alexander@debian.org>
sub rsa4096 2014-11-01 [E]
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
JPO/wKqyIDcKxEZq978lxWDmCwGc
=SIvp
-----END PGP PUBLIC KEY BLOCK-----

103
restic.spec Normal file
View File

@ -0,0 +1,103 @@
#
# spec file for package restic
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# nodebuginfo
%define import_path github.com/restic/restic
Name: restic
Version: 0.16.5
Release: 0
Summary: Backup program with deduplication and encryption
License: BSD-2-Clause
Group: Productivity/Archiving/Backup
URL: https://restic.net
Source0: https://github.com/restic/restic/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: https://github.com/restic/restic/releases/download/v%{version}/%{name}-%{version}.tar.gz.asc
Source2: %{name}.keyring
Source3: vendor.tar.gz
Patch0: disable-selfupdate.patch
BuildRequires: bash-completion
BuildRequires: golang-packaging
BuildRequires: zsh
BuildRequires: golang(API) >= 1.18
%description
restic is a backup program. It supports verification, encryption,
snapshots and deduplication.
%package bash-completion
Summary: Bash Completion for %{name}
Group: System/Shells
Requires: %{name} = %{version}
Supplements: (restic and bash-completion)
BuildArch: noarch
%description bash-completion
Bash command line completion support for %{name}.
%package zsh-completion
Summary: Zsh Completion for %{name}
Group: System/Shells
Requires: %{name} = %{version}
Supplements: (restic and zsh)
BuildArch: noarch
%description zsh-completion
Zsh command line completion support for %{name}.
%prep
%autosetup -p 1 -a 3
%build
# Set up GOPATH.
export GOPATH="$GOPATH:$HOME/go"
mkdir -p $HOME/go/src/%{import_path}
cp -rT $PWD $HOME/go/src/%{import_path}
# Build restic. We don't use build.go because it builds statically, uses go
# modules, and also restricts the Go version in cases where it's not actually
# necessary. We disable go modules because restic still provides a vendor/.
GO111MODULE=off go build -o %{name} \
%ifnarch ppc64 s390x
-buildmode=pie \
%endif
-ldflags "-s -w -X main.version=%{version}" \
%{import_path}/cmd/restic
%install
install -D -m0755 %{name} %{buildroot}%{_bindir}/%{name}
install -d %{buildroot}%{_mandir}/man1
./%{name} generate --man %{buildroot}%{_mandir}/man1
install -Dm0644 doc/bash-completion.sh %{buildroot}%{_datadir}/bash-completion/completions/%{name}
install -Dm0644 doc/zsh-completion.zsh %{buildroot}%{_sysconfdir}/zsh_completion.d/%{name}
%files
%defattr(-,root,root)
%doc *.md
%doc doc/
%license LICENSE
%{_bindir}/restic
%{_mandir}/man1/restic*.1*
%files bash-completion
%{_datadir}/bash-completion/completions/%{name}
%files zsh-completion
%config %{_sysconfdir}/zsh_completion.d/%{name}
%changelog

3
vendor.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dd60a4b2f5e67f3b2a540fbace913fbf014d05625f1c3cc2211cffd9fce71e8b
size 6308756