diff options
7 files changed, 981 insertions, 468 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f6edb2eaf1cdc..3215b639d1747 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2757,6 +2757,15 @@ githubId = 2245737; name = "Christopher Mark Poole"; }; + christoph-heiss = { + email = "christoph@c8h4.io"; + github = "christoph-heiss"; + githubId = 7571069; + name = "Christoph Heiss"; + keys = [{ + fingerprint = "9C56 1D64 30B2 8D6B DCBC 9CEB 73D5 E7FD EE3D E49A"; + }]; + }; chuahou = { email = "human+github@chuahou.dev"; github = "chuahou"; diff --git a/pkgs/applications/backup/proxmox-backup-client/0001-re-route-dependencies-not-available-on-crates.io-to-.patch b/pkgs/applications/backup/proxmox-backup-client/0001-re-route-dependencies-not-available-on-crates.io-to-.patch new file mode 100644 index 0000000000000..5f1d234e8c6ab --- /dev/null +++ b/pkgs/applications/backup/proxmox-backup-client/0001-re-route-dependencies-not-available-on-crates.io-to-.patch @@ -0,0 +1,182 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Thomas Lamprecht <thomas@lamprecht.org> +Date: Wed, 18 May 2022 08:41:14 +0200 +Subject: [PATCH] re-route dependencies not available on crates.io to git repos + +Signed-off-by: Thomas Lamprecht <thomas@lamprecht.org> +--- + Cargo.toml | 130 +++++++++-------------------------------------------- + 1 file changed, 21 insertions(+), 109 deletions(-) + +diff --git a/Cargo.toml b/Cargo.toml +index 0c86cd1b..7d5c282b 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -41,9 +41,6 @@ members = [ + + "proxmox-backup-banner", + "proxmox-backup-client", +- "proxmox-file-restore", +- "proxmox-restore-daemon", +- "proxmox-rrd", + + "pxar-bin", + ] +@@ -101,7 +98,6 @@ proxmox-rrd = { path = "proxmox-rrd" } + + # regular crates + anyhow = "1.0" +-apt-pkg-native = "0.3.2" + base64 = "0.13" + bitflags = "1.2.1" + bytes = "1.0" +@@ -114,7 +110,6 @@ flate2 = "1.0" + foreign-types = "0.3" + futures = "0.3" + h2 = { version = "0.3", features = [ "stream" ] } +-handlebars = "3.0" + hex = "0.4.3" + http = "0.2" + hyper = { version = "0.14", features = [ "full" ] } +@@ -152,120 +147,37 @@ walkdir = "2" + xdg = "2.2" + zstd = { version = "0.6", features = [ "bindgen" ] } + +-[dependencies] +-anyhow.workspace = true +-apt-pkg-native.workspace = true +-base64.workspace = true +-bitflags.workspace = true +-bytes.workspace = true +-cidr.workspace = true +-crc32fast.workspace = true +-crossbeam-channel.workspace = true +-endian_trait.workspace = true +-flate2.workspace = true +-futures.workspace = true +-h2.workspace = true +-handlebars.workspace = true +-hex.workspace = true +-http.workspace = true +-hyper.workspace = true +-lazy_static.workspace = true +-libc.workspace = true +-log.workspace = true +-nix.workspace = true +-nom.workspace = true +-num-traits.workspace = true +-once_cell.workspace = true +-openssl.workspace = true +-pam-sys.workspace = true +-pam.workspace = true +-percent-encoding.workspace = true +-regex.workspace = true +-rustyline.workspace = true +-serde.workspace = true +-serde_json.workspace = true +-siphasher.workspace = true +-syslog.workspace = true +-termcolor.workspace = true +-thiserror.workspace = true +-tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] } +-tokio-openssl.workspace = true +-tokio-stream.workspace = true +-tokio-util = { workspace = true, features = [ "codec" ] } +-tower-service.workspace = true +-udev.workspace = true +-url.workspace = true +-walkdir.workspace = true +-xdg.workspace = true +-zstd.workspace = true +- + #valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true } + +-proxmox-async.workspace = true +-proxmox-auth-api = { workspace = true, features = [ "api", "pam-authenticator" ] } +-proxmox-compression.workspace = true +-proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async", "rate-limited-stream" ] } # pbs-client doesn't use these +-proxmox-io.workspace = true +-proxmox-lang.workspace = true +-proxmox-ldap.workspace = true +-proxmox-metrics.workspace = true +-proxmox-rest-server = { workspace = true, features = [ "rate-limited-stream" ] } +-proxmox-router = { workspace = true, features = [ "cli", "server"] } +-proxmox-schema = { workspace = true, features = [ "api-macro" ] } +-proxmox-section-config.workspace = true +-proxmox-serde = { workspace = true, features = [ "serde_json" ] } +-proxmox-shared-memory.workspace = true +-proxmox-sortable-macro.workspace = true +-proxmox-subscription.workspace = true +-proxmox-sys = { workspace = true, features = [ "timer" ] } +-proxmox-tfa.workspace = true +-proxmox-time.workspace = true +-proxmox-uuid.workspace = true +- +-pathpatterns.workspace = true +-proxmox-acme-rs.workspace = true +-proxmox-apt.workspace = true +-proxmox-openid.workspace = true +-pxar.workspace = true +- +-pbs-api-types.workspace = true +-pbs-buildcfg.workspace = true +-pbs-client.workspace = true +-pbs-config.workspace = true +-pbs-datastore.workspace = true +-pbs-key-config.workspace = true +-pbs-tape.workspace = true +-pbs-tools.workspace = true +-proxmox-rrd.workspace = true +- + # Local path overrides + # NOTE: You must run `cargo update` after changing this for it to take effect! + [patch.crates-io] + #proxmox-acme-rs = { path = "../proxmox-acme-rs" } +-#proxmox-async = { path = "../proxmox/proxmox-async" } +-#proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" } +-#proxmox-borrow = { path = "../proxmox/proxmox-borrow" } +-#proxmox-compression = { path = "../proxmox/proxmox-compression" } +-#proxmox-fuse = { path = "../proxmox-fuse" } +-#proxmox-http = { path = "../proxmox/proxmox-http" } +-#proxmox-io = { path = "../proxmox/proxmox-io" } +-#proxmox-lang = { path = "../proxmox/proxmox-lang" } +-#proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" } +-#proxmox-router = { path = "../proxmox/proxmox-router" } +-#proxmox-schema = { path = "../proxmox/proxmox-schema" } +-#proxmox-section-config = { path = "../proxmox/proxmox-section-config" } +-#proxmox-serde = { path = "../proxmox/proxmox-serde" } +-#proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } +-#proxmox-subscription = { path = "../proxmox/proxmox-subscription" } +-#proxmox-sys = { path = "../proxmox/proxmox-sys" } +-#proxmox-tfa = { path = "../proxmox/proxmox-tfa" } +-#proxmox-time = { path = "../proxmox/proxmox-time" } +-#proxmox-uuid = { path = "../proxmox/proxmox-uuid" } ++proxmox-async = { path = "../proxmox/proxmox-async" } ++proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" } ++proxmox-borrow = { path = "../proxmox/proxmox-borrow" } ++proxmox-compression = { path = "../proxmox/proxmox-compression" } ++proxmox-fuse = { path = "../proxmox-fuse" } ++proxmox-http = { path = "../proxmox/proxmox-http" } ++proxmox-io = { path = "../proxmox/proxmox-io" } ++proxmox-lang = { path = "../proxmox/proxmox-lang" } ++proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" } ++proxmox-router = { path = "../proxmox/proxmox-router" } ++proxmox-schema = { path = "../proxmox/proxmox-schema" } ++proxmox-section-config = { path = "../proxmox/proxmox-section-config" } ++proxmox-serde = { path = "../proxmox/proxmox-serde" } ++proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } ++proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" } ++proxmox-subscription = { path = "../proxmox/proxmox-subscription" } ++proxmox-sys = { path = "../proxmox/proxmox-sys" } ++proxmox-tfa = { path = "../proxmox/proxmox-tfa" } ++proxmox-time = { path = "../proxmox/proxmox-time" } ++proxmox-uuid = { path = "../proxmox/proxmox-uuid" } + + #proxmox-apt = { path = "../proxmox-apt" } + #proxmox-openid = { path = "../proxmox-openid-rs" } + +-#pxar = { path = "../pxar" } ++pxar = { path = "../pxar" } + + [features] + default = [] diff --git a/pkgs/applications/backup/proxmox-backup-client/0002-docs-drop-all-but-client-man-pages.patch b/pkgs/applications/backup/proxmox-backup-client/0002-docs-drop-all-but-client-man-pages.patch new file mode 100644 index 0000000000000..da83e14988cdd --- /dev/null +++ b/pkgs/applications/backup/proxmox-backup-client/0002-docs-drop-all-but-client-man-pages.patch @@ -0,0 +1,72 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Thomas Lamprecht <thomas@lamprecht.org> +Date: Tue, 29 Nov 2022 17:20:28 +0100 +Subject: [PATCH] docs: drop all but client man pages + +Signed-off-by: Thomas Lamprecht <thomas@lamprecht.org> +--- + docs/Makefile | 16 ---------------- + docs/conf.py | 19 ------------------- + 2 files changed, 35 deletions(-) + +diff --git a/docs/Makefile b/docs/Makefile +index b06badff..94130228 100644 +--- a/docs/Makefile ++++ b/docs/Makefile +@@ -1,25 +1,9 @@ + include ../defines.mk + + GENERATED_SYNOPSIS := \ +- proxmox-tape/synopsis.rst \ + proxmox-backup-client/synopsis.rst \ + proxmox-backup-client/catalog-shell-synopsis.rst \ +- proxmox-backup-manager/synopsis.rst \ +- proxmox-backup-debug/synopsis.rst \ +- proxmox-file-restore/synopsis.rst \ + pxar/synopsis.rst \ +- pmtx/synopsis.rst \ +- pmt/synopsis.rst \ +- config/media-pool/config.rst \ +- config/tape/config.rst \ +- config/tape-job/config.rst \ +- config/user/config.rst \ +- config/remote/config.rst \ +- config/sync/config.rst \ +- config/verification/config.rst \ +- config/acl/roles.rst \ +- config/datastore/config.rst \ +- config/domains/config.rst + + MAN1_PAGES := \ + pxar.1 \ +diff --git a/docs/conf.py b/docs/conf.py +index 8944926e..deeb63bf 100644 +--- a/docs/conf.py ++++ b/docs/conf.py +@@ -93,26 +93,7 @@ rst_epilog += f"\n.. |pbs-copyright| replace:: Copyright (C) {copyright}" + man_pages = [ + # CLI + ('proxmox-backup-client/man1', 'proxmox-backup-client', 'Command line tool for Backup and Restore', [author], 1), +- ('proxmox-backup-manager/man1', 'proxmox-backup-manager', 'Command line tool to manage and configure the backup server.', [author], 1), +- ('proxmox-backup-debug/man1', 'proxmox-backup-debug', 'Debugging command line tool for Backup and Restore', [author], 1), +- ('proxmox-backup-proxy/man1', 'proxmox-backup-proxy', 'Proxmox Backup Public API Server', [author], 1), +- ('proxmox-backup/man1', 'proxmox-backup', 'Proxmox Backup Local API Server', [author], 1), +- ('proxmox-file-restore/man1', 'proxmox-file-restore', 'CLI tool for restoring files and directories from Proxmox Backup Server archives', [author], 1), +- ('proxmox-tape/man1', 'proxmox-tape', 'Proxmox Tape Backup CLI Tool', [author], 1), + ('pxar/man1', 'pxar', 'Proxmox File Archive CLI Tool', [author], 1), +- ('pmt/man1', 'pmt', 'Control Linux Tape Devices', [author], 1), +- ('pmtx/man1', 'pmtx', 'Control SCSI media changer devices (tape autoloaders)', [author], 1), +- # configs +- ('config/acl/man5', 'acl.cfg', 'Access Control Configuration', [author], 5), +- ('config/datastore/man5', 'datastore.cfg', 'Datastore Configuration', [author], 5), +- ('config/domains/man5', 'domains.cfg', 'Realm Configuration', [author], 5), +- ('config/media-pool/man5', 'media-pool.cfg', 'Media Pool Configuration', [author], 5), +- ('config/remote/man5', 'remote.cfg', 'Remote Server Configuration', [author], 5), +- ('config/sync/man5', 'sync.cfg', 'Synchronization Job Configuration', [author], 5), +- ('config/tape-job/man5', 'tape-job.cfg', 'Tape Job Configuration', [author], 5), +- ('config/tape/man5', 'tape.cfg', 'Tape Drive and Changer Configuration', [author], 5), +- ('config/user/man5', 'user.cfg', 'User Configuration', [author], 5), +- ('config/verification/man5', 'verification.cfg', 'Verification Job Configuration', [author], 5), + ] + + diff --git a/pkgs/applications/backup/proxmox-backup-client/0003-docs-Add-target-path-fixup-variable.patch b/pkgs/applications/backup/proxmox-backup-client/0003-docs-Add-target-path-fixup-variable.patch new file mode 100644 index 0000000000000..1999461ade5a2 --- /dev/null +++ b/pkgs/applications/backup/proxmox-backup-client/0003-docs-Add-target-path-fixup-variable.patch @@ -0,0 +1,33 @@ +From f8c26751c51c1618278689d8b3ce94496c579064 Mon Sep 17 00:00:00 2001 +From: Christoph Heiss <christoph@c8h4.io> +Date: Fri, 10 Feb 2023 23:54:41 +0100 +Subject: [PATCH] docs: Add target path fixup variable + +Signed-off-by: Christoph Heiss <christoph@c8h4.io> +--- + docs/Makefile | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/docs/Makefile b/docs/Makefile +index 94130228..f4766a64 100644 +--- a/docs/Makefile ++++ b/docs/Makefile +@@ -67,12 +67,13 @@ API_VIEWER_FILES := \ + SPHINXOPTS = + SPHINXBUILD = sphinx-build + BUILDDIR = output ++RUSTC_TARGET ?= + + ifeq ($(BUILD_MODE), release) +-COMPILEDIR := ../target/release ++COMPILEDIR := ../target/$(RUSTC_TARGET)/release + SPHINXOPTS += -t release + else +-COMPILEDIR := ../target/debug ++COMPILEDIR := ../target/$(RUSTC_TARGET)/debug + SPHINXOPTS += -t devbuild + endif + +-- +2.40.0 + diff --git a/pkgs/applications/backup/proxmox-backup-client/Cargo.lock b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock index 213f1ed497250..bd178094e6cea 100644 --- a/pkgs/applications/backup/proxmox-backup-client/Cargo.lock +++ b/pkgs/applications/backup/proxmox-backup-client/Cargo.lock @@ -9,10 +9,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" dependencies = [ "memchr", ] @@ -28,15 +39,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26fa4d7e3f2eebadf743988fc8aec9fa9a9e82611acafd77c1462ed6262440a" - -[[package]] -name = "arrayvec" -version = "0.5.2" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" [[package]] name = "atty" @@ -44,7 +49,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ - "hermit-abi", + "hermit-abi 0.1.19", "libc", "winapi", ] @@ -57,9 +62,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "bindgen" @@ -71,13 +76,13 @@ dependencies = [ "cexpr", "clang-sys", "clap", - "env_logger", + "env_logger 0.8.4", "lazy_static", "lazycell", "log", "peeking_take_while", - "proc-macro2 1.0.43", - "quote 1.0.21", + "proc-macro2 1.0.54", + "quote 1.0.26", "regex", "rustc-hash", "shlex", @@ -92,21 +97,21 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bumpalo" -version = "3.11.0" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" [[package]] name = "bytes" -version = "1.2.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cc" -version = "1.0.73" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" dependencies = [ "jobserver", ] @@ -117,7 +122,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" dependencies = [ - "nom", + "nom 5.1.2", ] [[package]] @@ -128,9 +133,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clang-sys" -version = "1.3.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" +checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" dependencies = [ "glob", "libc", @@ -147,12 +152,23 @@ dependencies = [ "atty", "bitflags", "strsim", - "textwrap", + "textwrap 0.11.0", "unicode-width", "vec_map", ] [[package]] +name = "clipboard-win" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +dependencies = [ + "error-code", + "str-buf", + "winapi", +] + +[[package]] name = "crc32fast" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -203,6 +219,12 @@ dependencies = [ ] [[package]] +name = "endian-type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" + +[[package]] name = "endian_trait" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -235,10 +257,65 @@ dependencies = [ ] [[package]] +name = "env_logger" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "error-code" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" +dependencies = [ + "libc", + "str-buf", +] + +[[package]] +name = "fd-lock" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9799aefb4a2e4a01cc47610b1dd47c18ab13d991f27bbcaed9296f5a53d5cbad" +dependencies = [ + "cfg-if", + "rustix", + "windows-sys", +] + +[[package]] name = "filetime" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c" +checksum = "8a3de6e8d11b22ff9edc6d916f890800597d60f8b2da1caf2955c274638d6412" dependencies = [ "cfg-if", "libc", @@ -248,9 +325,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" dependencies = [ "crc32fast", "miniz_oxide", @@ -279,29 +356,18 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", "percent-encoding", ] [[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] name = "futures" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" +checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549" dependencies = [ "futures-channel", "futures-core", @@ -314,9 +380,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" +checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" dependencies = [ "futures-core", "futures-sink", @@ -324,15 +390,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" +checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" [[package]] name = "futures-executor" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" +checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" dependencies = [ "futures-core", "futures-task", @@ -341,38 +407,38 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" +checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" [[package]] name = "futures-macro" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" +checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] name = "futures-sink" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" +checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" [[package]] name = "futures-task" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" +checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" [[package]] name = "futures-util" -version = "0.3.24" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" +checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" dependencies = [ "futures-channel", "futures-core", @@ -388,9 +454,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", "libc", @@ -399,15 +465,15 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "h2" -version = "0.3.14" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" dependencies = [ "bytes", "fnv", @@ -418,7 +484,7 @@ dependencies = [ "indexmap", "slab", "tokio", - "tokio-util 0.7.3", + "tokio-util", "tracing", ] @@ -427,6 +493,9 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] [[package]] name = "hermit-abi" @@ -438,6 +507,21 @@ dependencies = [ ] [[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] name = "hex" version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -448,9 +532,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -488,9 +572,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.20" +version = "0.14.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" +checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" dependencies = [ "bytes", "futures-channel", @@ -512,45 +596,55 @@ dependencies = [ [[package]] name = "idna" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] [[package]] name = "indexmap" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown", ] [[package]] +name = "io-lifetimes" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" +dependencies = [ + "hermit-abi 0.3.1", + "libc", + "windows-sys", +] + +[[package]] name = "itoa" -version = "1.0.3" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" [[package]] name = "jobserver" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.59" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" dependencies = [ "wasm-bindgen", ] @@ -568,35 +662,38 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] -name = "lexical-core" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" -dependencies = [ - "arrayvec", - "bitflags", - "cfg-if", - "ryu", - "static_assertions", -] - -[[package]] name = "libc" -version = "0.2.132" +version = "0.2.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" +checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" [[package]] name = "libloading" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if", "winapi", ] [[package]] +name = "libudev-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "linux-raw-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd550e73688e6d578f0ac2119e32b797a327631a42f9433e59d02e139c8df60d" + +[[package]] name = "log" version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -606,31 +703,49 @@ dependencies = [ ] [[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - -[[package]] name = "memchr" version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] name = "miniz_oxide" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" dependencies = [ "libc", "log", @@ -639,15 +754,39 @@ dependencies = [ ] [[package]] +name = "nibble_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +dependencies = [ + "smallvec", +] + +[[package]] name = "nix" -version = "0.19.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2" +checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" dependencies = [ "bitflags", "cc", "cfg-if", "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", ] [[package]] @@ -656,32 +795,41 @@ version = "5.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" dependencies = [ - "lexical-core", "memchr", "version_check", ] [[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] name = "num_cpus" -version = "1.13.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi", + "hermit-abi 0.2.6", "libc", ] [[package]] name = "once_cell" -version = "1.13.1" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "openssl" -version = "0.10.41" +version = "0.10.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" +checksum = "518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2" dependencies = [ "bitflags", "cfg-if", @@ -698,16 +846,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] name = "openssl-sys" -version = "0.9.75" +version = "0.9.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" +checksum = "666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b" dependencies = [ "autocfg", "cc", @@ -734,6 +882,7 @@ dependencies = [ "hex", "lazy_static", "percent-encoding", + "proxmox-auth-api", "proxmox-lang", "proxmox-schema", "proxmox-serde", @@ -746,7 +895,7 @@ dependencies = [ [[package]] name = "pbs-buildcfg" -version = "2.2.1" +version = "2.4.1" [[package]] name = "pbs-client" @@ -762,7 +911,8 @@ dependencies = [ "hyper", "lazy_static", "libc", - "nix", + "log", + "nix 0.26.2", "openssl", "pathpatterns", "pbs-api-types", @@ -772,8 +922,8 @@ dependencies = [ "percent-encoding", "pin-project-lite", "proxmox-async", + "proxmox-auth-api", "proxmox-compression", - "proxmox-fuse", "proxmox-http", "proxmox-io", "proxmox-lang", @@ -801,17 +951,14 @@ dependencies = [ "hex", "lazy_static", "libc", - "nix", + "nix 0.26.2", "once_cell", "openssl", "pbs-api-types", "pbs-buildcfg", - "pbs-tools", - "proxmox-lang", "proxmox-router", "proxmox-schema", "proxmox-section-config", - "proxmox-serde", "proxmox-shared-memory", "proxmox-sys", "proxmox-time", @@ -833,17 +980,19 @@ dependencies = [ "lazy_static", "libc", "log", - "nix", + "nix 0.26.2", "openssl", "pathpatterns", "pbs-api-types", "pbs-buildcfg", "pbs-config", + "pbs-key-config", "pbs-tools", "proxmox-borrow", "proxmox-io", "proxmox-lang", "proxmox-schema", + "proxmox-serde", "proxmox-sys", "proxmox-time", "proxmox-uuid", @@ -863,7 +1012,8 @@ dependencies = [ "futures", "lazy_static", "libc", - "nix", + "log", + "nix 0.26.2", "proxmox-fuse", "proxmox-sys", "proxmox-time", @@ -872,6 +1022,67 @@ dependencies = [ ] [[package]] +name = "pbs-key-config" +version = "0.1.0" +dependencies = [ + "anyhow", + "nix 0.26.2", + "openssl", + "pbs-api-types", + "pbs-tools", + "proxmox-lang", + "proxmox-serde", + "proxmox-sys", + "proxmox-time", + "serde", + "serde_json", +] + +[[package]] +name = "pbs-pxar-fuse" +version = "0.1.0" +dependencies = [ + "anyhow", + "futures", + "libc", + "log", + "proxmox-fuse", + "proxmox-io", + "proxmox-lang", + "proxmox-sys", + "pxar", + "tokio", +] + +[[package]] +name = "pbs-tape" +version = "0.1.0" +dependencies = [ + "anyhow", + "bitflags", + "endian_trait", + "hex", + "lazy_static", + "libc", + "log", + "nix 0.26.2", + "pbs-api-types", + "pbs-config", + "proxmox-io", + "proxmox-lang", + "proxmox-router", + "proxmox-schema", + "proxmox-sys", + "proxmox-time", + "proxmox-uuid", + "regex", + "serde", + "serde_json", + "thiserror", + "udev", +] + +[[package]] name = "pbs-tools" version = "0.1.0" dependencies = [ @@ -887,20 +1098,17 @@ dependencies = [ "lazy_static", "libc", "log", - "nix", - "nom", + "nix 0.26.2", + "nom 7.1.3", "openssl", "pbs-api-types", "pbs-buildcfg", - "percent-encoding", "proxmox-async", - "proxmox-borrow", "proxmox-io", "proxmox-lang", "proxmox-sys", "proxmox-time", "regex", - "serde", "serde_json", "tokio", "url", @@ -916,9 +1124,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pin-project-lite" @@ -934,9 +1142,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "proc-macro2" @@ -949,21 +1157,21 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.43" +version = "1.0.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534" dependencies = [ "unicode-ident", ] [[package]] name = "proxmox-api-macro" -version = "1.0.2" +version = "1.0.4" dependencies = [ "anyhow", - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] @@ -980,8 +1188,28 @@ dependencies = [ ] [[package]] +name = "proxmox-auth-api" +version = "0.1.0" +dependencies = [ + "anyhow", + "lazy_static", + "proxmox-schema", + "regex", + "serde", + "serde_plain", +] + +[[package]] name = "proxmox-backup" -version = "2.2.1" +version = "2.4.1" + +[[package]] +name = "proxmox-backup-banner" +version = "0.1.0" +dependencies = [ + "anyhow", + "nix 0.26.2", +] [[package]] name = "proxmox-backup-client" @@ -991,7 +1219,8 @@ dependencies = [ "futures", "hyper", "libc", - "nix", + "log", + "nix 0.26.2", "openssl", "pathpatterns", "pbs-api-types", @@ -1000,11 +1229,15 @@ dependencies = [ "pbs-config", "pbs-datastore", "pbs-fuse-loop", + "pbs-key-config", + "pbs-pxar-fuse", "pbs-tools", "proxmox-async", + "proxmox-fuse", "proxmox-io", "proxmox-router", "proxmox-schema", + "proxmox-sortable-macro", "proxmox-sys", "proxmox-time", "pxar", @@ -1012,7 +1245,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tokio-util 0.6.10", + "tokio-util", "xdg", "zstd", ] @@ -1023,7 +1256,7 @@ version = "1.0.1" [[package]] name = "proxmox-compression" -version = "0.1.1" +version = "0.1.2" dependencies = [ "anyhow", "bytes", @@ -1031,6 +1264,7 @@ dependencies = [ "endian_trait", "flate2", "futures", + "libc", "proxmox-io", "proxmox-lang", "proxmox-time", @@ -1042,7 +1276,7 @@ dependencies = [ [[package]] name = "proxmox-fuse" -version = "0.1.3" +version = "0.1.4" dependencies = [ "anyhow", "futures", @@ -1053,7 +1287,7 @@ dependencies = [ [[package]] name = "proxmox-http" -version = "0.6.1" +version = "0.8.0" dependencies = [ "anyhow", "base64", @@ -1064,8 +1298,10 @@ dependencies = [ "proxmox-io", "proxmox-lang", "proxmox-sys", + "serde_json", "tokio", "tokio-openssl", + "url", ] [[package]] @@ -1082,13 +1318,14 @@ version = "1.1.0" [[package]] name = "proxmox-router" -version = "1.2.2" +version = "1.3.1" dependencies = [ "anyhow", + "env_logger 0.9.3", "http", "hyper", "libc", - "nix", + "nix 0.26.2", "percent-encoding", "proxmox-async", "proxmox-lang", @@ -1102,7 +1339,7 @@ dependencies = [ [[package]] name = "proxmox-schema" -version = "1.3.1" +version = "1.3.7" dependencies = [ "anyhow", "lazy_static", @@ -1110,12 +1347,12 @@ dependencies = [ "regex", "serde", "serde_json", - "textwrap", + "textwrap 0.16.0", ] [[package]] name = "proxmox-section-config" -version = "1.0.0" +version = "1.0.2" dependencies = [ "anyhow", "hex", @@ -1127,7 +1364,7 @@ dependencies = [ [[package]] name = "proxmox-serde" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "base64", @@ -1138,11 +1375,11 @@ dependencies = [ [[package]] name = "proxmox-shared-memory" -version = "0.2.0" +version = "0.2.3" dependencies = [ "anyhow", "libc", - "nix", + "nix 0.26.2", "proxmox-sys", ] @@ -1150,47 +1387,44 @@ dependencies = [ name = "proxmox-sortable-macro" version = "0.1.2" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", ] [[package]] name = "proxmox-sys" -version = "0.2.2" +version = "0.4.2" dependencies = [ "anyhow", "base64", "lazy_static", "libc", "log", - "nix", - "proxmox-borrow", + "nix 0.26.2", "proxmox-io", "proxmox-lang", - "proxmox-sortable-macro", "proxmox-time", "regex", "serde", "serde_json", - "zstd", ] [[package]] name = "proxmox-time" -version = "1.1.2" +version = "1.1.5" dependencies = [ "anyhow", "bitflags", "js-sys", "lazy_static", "libc", - "nom", + "nom 7.1.3", ] [[package]] name = "proxmox-uuid" -version = "1.0.1" +version = "1.0.2" dependencies = [ "js-sys", "libc", @@ -1199,7 +1433,7 @@ dependencies = [ [[package]] name = "pxar" -version = "0.10.1" +version = "0.10.2" dependencies = [ "bitflags", "endian_trait", @@ -1214,9 +1448,11 @@ version = "0.1.0" dependencies = [ "anyhow", "futures", - "nix", + "log", + "nix 0.26.2", "pathpatterns", "pbs-client", + "pbs-pxar-fuse", "pbs-tools", "proxmox-async", "proxmox-router", @@ -1238,11 +1474,21 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.21" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" dependencies = [ - "proc-macro2 1.0.43", + "proc-macro2 1.0.54", +] + +[[package]] +name = "radix_trie" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +dependencies = [ + "endian-type", + "nibble_vec", ] [[package]] @@ -1267,9 +1513,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d" dependencies = [ "aho-corasick", "memchr", @@ -1278,9 +1524,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "rustc-hash" @@ -1289,20 +1535,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] +name = "rustix" +version = "0.37.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c348b5dc624ecee40108aa2922fed8bad89d7fcc2b9f8cb18f632898ac4a37f9" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] name = "rustyline" -version = "7.1.0" +version = "9.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8227301bfc717136f0ecbd3d064ba8199e44497a0bdd46bb01ede4387cfd2cec" +checksum = "db7826789c0e25614b03e5a54a0717a86f9ff6e6e5247f92b369472869320039" dependencies = [ "bitflags", "cfg-if", + "clipboard-win", "dirs-next", - "fs2", + "fd-lock", "libc", "log", "memchr", - "nix", + "nix 0.23.2", + "radix_trie", "scopeguard", + "smallvec", "unicode-segmentation", "unicode-width", "utf8parse", @@ -1311,9 +1574,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" [[package]] name = "same-file" @@ -1332,29 +1595,29 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "serde" -version = "1.0.144" +version = "1.0.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" +checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.144" +version = "1.0.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" +checksum = "4c614d17805b093df4b147b51339e7e44bf05ef59fba1e45d83500bcfb4d8585" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.11", ] [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" dependencies = [ "itoa", "ryu", @@ -1363,9 +1626,9 @@ dependencies = [ [[package]] name = "serde_plain" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95455e7e29fada2052e72170af226fbe368a4ca33dee847875325d9fdb133858" +checksum = "d6018081315db179d0ce57b1fe4b62a12a0028c9cf9bbef868c9cf477b3c34ae" dependencies = [ "serde", ] @@ -1378,9 +1641,9 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] name = "signal-hook-registry" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" dependencies = [ "libc", ] @@ -1393,18 +1656,30 @@ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" [[package]] name = "slab" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" dependencies = [ "autocfg", ] [[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "smawk" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" + +[[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", @@ -1417,6 +1692,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] +name = "str-buf" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" + +[[package]] name = "strsim" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1435,12 +1716,23 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.99" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2 1.0.54", + "quote 1.0.26", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +checksum = "21e3787bb71465627110e7d87ed4faaa36c1f61042ee67badb9e2ef173accc40" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", + "proc-macro2 1.0.54", + "quote 1.0.26", "unicode-ident", ] @@ -1457,9 +1749,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" dependencies = [ "winapi-util", ] @@ -1474,23 +1766,34 @@ dependencies = [ ] [[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width", +] + +[[package]] name = "thiserror" -version = "1.0.33" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0a539a918745651435ac7db7a18761589a94cd7e94cd56999f828bf73c8a57" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.33" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c251e90f708e16c49a16f4917dc2131e75222b72edfa9cb7f7c58ae56aae0c09" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.11", ] [[package]] @@ -1504,39 +1807,37 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.20.1" +version = "1.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581" +checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" dependencies = [ "autocfg", "bytes", "libc", - "memchr", "mio", "num_cpus", - "once_cell", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "winapi", + "windows-sys", ] [[package]] name = "tokio-macros" -version = "1.8.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" +checksum = "61a573bdc87985e9d6ddeed1b3d864e8a302c847e40d647746df2f1de209d1ce" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 2.0.11", ] [[package]] @@ -1553,9 +1854,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.9" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" dependencies = [ "futures-core", "pin-project-lite", @@ -1564,23 +1865,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.10" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" dependencies = [ "bytes", "futures-core", @@ -1598,9 +1885,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.36" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", "pin-project-lite", @@ -1609,51 +1896,71 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ "once_cell", ] [[package]] name = "try-lock" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "udev" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24953d50a3bce0f5f5a9a2766567072dc9af8096f8c40ea81815da651066bc9f" +dependencies = [ + "libc", + "libudev-sys", +] [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.3" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "unicode-linebreak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137" +dependencies = [ + "hashbrown", + "regex", +] [[package]] name = "unicode-normalization" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "unicode-xid" @@ -1663,21 +1970,20 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", "idna", - "matches", "percent-encoding", ] [[package]] name = "utf8parse" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "vcpkg" @@ -1699,12 +2005,11 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi", "winapi-util", ] @@ -1726,9 +2031,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.82" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1736,47 +2041,47 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.82" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.82" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" dependencies = [ - "quote 1.0.21", + "quote 1.0.26", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.82" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" dependencies = [ - "proc-macro2 1.0.43", - "quote 1.0.21", - "syn 1.0.99", + "proc-macro2 1.0.54", + "quote 1.0.26", + "syn 1.0.109", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.82" +version = "0.2.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" [[package]] name = "which" @@ -1820,46 +2125,69 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-sys" -version = "0.36.1" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ + "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", "windows_i686_msvc", "windows_x86_64_gnu", + "windows_x86_64_gnullvm", "windows_x86_64_msvc", ] [[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] name = "windows_aarch64_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_i686_gnu" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "xattr" @@ -1908,3 +2236,15 @@ dependencies = [ "cc", "libc", ] + +[[patch.unused]] +name = "proxmox-rest-server" +version = "0.3.0" + +[[patch.unused]] +name = "proxmox-subscription" +version = "0.3.1" + +[[patch.unused]] +name = "proxmox-tfa" +version = "3.0.0" diff --git a/pkgs/applications/backup/proxmox-backup-client/default.nix b/pkgs/applications/backup/proxmox-backup-client/default.nix index 7c6cf6408a51a..48d4c626eafaa 100644 --- a/pkgs/applications/backup/proxmox-backup-client/default.nix +++ b/pkgs/applications/backup/proxmox-backup-client/default.nix @@ -1,40 +1,45 @@ -{ lib, fetchgit, rustPlatform, pkg-config, openssl, fuse3, libuuid, acl, libxcrypt }: +{ + lib, fetchgit, rustPlatform, pkg-config, openssl, fuse3, libuuid, acl, + libxcrypt, git, installShellFiles, sphinx, stdenv, +}: rustPlatform.buildRustPackage rec { pname = "proxmox-backup-client"; - version = "2.2.1"; + version = "2.4.1"; srcs = [ (fetchgit { url = "git://git.proxmox.com/git/proxmox-backup.git"; rev = "v${version}"; - name = pname; - hash = "sha256-uOKQe/BzO69f/ggEPoZQ2Rn3quytQrUeH7be19QV3KI="; + name = "proxmox-backup"; + hash = "sha256-DWzNRi675ZP9HGc/uPvnV/FBTJUNZ4K5RtU9NFRQCcA="; }) (fetchgit { url = "git://git.proxmox.com/git/proxmox.git"; - rev = "43b4440ef015d846161657490b18cf6ac7600fc4"; + rev = "5df815f660e4f3793e974eb8130224538350bb12"; name = "proxmox"; - hash = "sha256-05Z+IRRIioFGn+iAYG04DyNsgw9gQrJ6qAArpCwoIb0="; + hash = "sha256-Vn1poqkIWcR2rNiAr+ENLNthgk3pMCivzXnUX9hvZBw="; }) (fetchgit { url = "git://git.proxmox.com/git/proxmox-fuse.git"; - rev = "d162ef9039878b871e2aa11b7d9a373ae512e2d1"; + rev = "93099f76b6bbbc8a0bbaca9b459a1ce4dc5e0a79"; name = "proxmox-fuse"; - hash = "sha256-w33ViWpBkCkMAhZVXiOdqnGOn/tddNRgzn71WioTnBU="; + hash = "sha256-3l0lAZVFQC0MYaqZvB+S+ihb1fTkEgs5i9q463+cbvQ="; }) (fetchgit { url = "git://git.proxmox.com/git/pxar.git"; - rev = "6f3f889e98c5f4e60c3b2c6bce73bd506b548c21"; + rev = "6ad046f9f92b40413f59cc5f4c23d2bafdf141f2"; name = "pxar"; - hash = "sha256-GtNq6+O1xnxuR7b4TTWLFxcsejRyadSlk85H8C+yUGA="; + hash = "sha256-I9kk27oN9BDQpnLDWltjZMrh2yJitCpcD/XAhkmtJUg="; }) ]; - sourceRoot = pname; + sourceRoot = "proxmox-backup"; cargoPatches = [ - ./re-route-dependencies.patch + ./0001-re-route-dependencies-not-available-on-crates.io-to-.patch + ./0002-docs-drop-all-but-client-man-pages.patch + ./0003-docs-Add-target-path-fixup-variable.patch ]; postPatch = '' @@ -42,6 +47,26 @@ rustPlatform.buildRustPackage rec { rm .cargo/config ''; + postBuild = '' + make -C docs \ + DEB_VERSION=${version} DEB_VERSION_UPSTREAM=${version} \ + RUSTC_TARGET=${stdenv.targetPlatform.config} \ + BUILD_MODE=release \ + proxmox-backup-client.1 pxar.1 + ''; + + postInstall = '' + installManPage docs/output/man/proxmox-backup-client.1 + installShellCompletion --cmd proxmox-backup-client \ + --bash debian/proxmox-backup-client.bc \ + --zsh zsh-completions/_proxmox-backup-client + + installManPage docs/output/man/pxar.1 + installShellCompletion --cmd pxar \ + --bash debian/pxar.bc \ + --zsh zsh-completions/_pxar + ''; + cargoLock = { lockFileContents = builtins.readFile ./Cargo.lock; }; @@ -50,21 +75,21 @@ rustPlatform.buildRustPackage rec { "--package=proxmox-backup-client" "--bin=proxmox-backup-client" "--bin=dump-catalog-shell-cli" - "--package=pxar-bin" "--bin=pxar" ]; doCheck = false; - nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ]; + nativeBuildInputs = [ git pkg-config rustPlatform.bindgenHook installShellFiles sphinx ]; buildInputs = [ openssl fuse3 libuuid acl libxcrypt ]; meta = with lib; { description = "The command line client for Proxmox Backup Server"; homepage = "https://pbs.proxmox.com/docs/backup-client.html"; license = licenses.agpl3Only; - maintainers = with maintainers; [ cofob ]; + maintainers = with maintainers; [ cofob christoph-heiss ]; platforms = platforms.linux; + mainProgram = pname; }; } diff --git a/pkgs/applications/backup/proxmox-backup-client/re-route-dependencies.patch b/pkgs/applications/backup/proxmox-backup-client/re-route-dependencies.patch deleted file mode 100644 index a4d053f274e74..0000000000000 --- a/pkgs/applications/backup/proxmox-backup-client/re-route-dependencies.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Thomas Lamprecht <thomas@lamprecht.org> -Date: Wed, 18 May 2022 08:41:14 +0200 -Subject: [PATCH] re-route dependencies not available on crates.io to git repos - -Signed-off-by: Thomas Lamprecht <thomas@lamprecht.org> ---- - Cargo.toml | 112 +++++++------------------------------------------- - 1 file changed, 15 insertions(+), 97 deletions(-) - -diff --git a/Cargo.toml b/Cargo.toml -index 41980292..e7daaad5 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -25,94 +25,12 @@ members = [ - "pbs-config", - "pbs-datastore", - "pbs-fuse-loop", -- "proxmox-rest-server", -- "proxmox-rrd", -- "pbs-tape", - "pbs-tools", - -- "proxmox-backup-banner", - "proxmox-backup-client", -- "proxmox-file-restore", -- "proxmox-restore-daemon", - "pxar-bin", - ] - --[lib] --name = "proxmox_backup" --path = "src/lib.rs" -- --[dependencies] --apt-pkg-native = "0.3.2" --base64 = "0.13" --bitflags = "1.2.1" --bytes = "1.0" --cidr = "0.2.1" --crc32fast = "1" --endian_trait = { version = "0.6", features = ["arrays"] } --flate2 = "1.0" --anyhow = "1.0" --thiserror = "1.0" --futures = "0.3" --h2 = { version = "0.3", features = [ "stream" ] } --handlebars = "3.0" --hex = "0.4.3" --http = "0.2" --hyper = { version = "0.14", features = [ "full" ] } --lazy_static = "1.4" --libc = "0.2" --log = "0.4.17" --nix = "0.19.1" --num-traits = "0.2" --once_cell = "1.3.1" --openssl = "0.10.38" # currently patched! --pam = "0.7" --pam-sys = "0.5" --percent-encoding = "2.1" --regex = "1.5.5" --rustyline = "7" --serde = { version = "1.0", features = ["derive"] } --serde_json = "1.0" --siphasher = "0.3" --syslog = "4.0" --tokio = { version = "1.6", features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] } --tokio-openssl = "0.6.1" --tokio-stream = "0.1.0" --tokio-util = { version = "0.6", features = [ "codec", "io" ] } --tower-service = "0.3.0" --udev = "0.4" --url = "2.1" --#valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true } --walkdir = "2" --xdg = "2.2" --nom = "5.1" --crossbeam-channel = "0.5" -- --# Used only by examples currently: --zstd = { version = "0.6", features = [ "bindgen" ] } -- --pathpatterns = "0.1.2" --pxar = { version = "0.10.1", features = [ "tokio-io" ] } -- --proxmox-http = { version = "0.6.1", features = [ "client", "http-helpers", "websocket" ] } --proxmox-io = "1" --proxmox-lang = "1.1" --proxmox-router = { version = "1.2.2", features = [ "cli" ] } --proxmox-schema = { version = "1.3.1", features = [ "api-macro" ] } --proxmox-section-config = "1" --proxmox-tfa = { version = "2", features = [ "api", "api-types" ] } --proxmox-time = "1.1.2" --proxmox-uuid = "1" --proxmox-serde = "0.1" --proxmox-shared-memory = "0.2" --proxmox-sys = { version = "0.2", features = [ "sortable-macro" ] } --proxmox-compression = "0.1" -- -- --proxmox-acme-rs = "0.4" --proxmox-apt = "0.8.0" --proxmox-async = "0.4" --proxmox-openid = "0.9.0" -- - pbs-api-types = { path = "pbs-api-types" } - pbs-buildcfg = { path = "pbs-buildcfg" } - pbs-client = { path = "pbs-client" } -@@ -126,22 +44,23 @@ pbs-tape = { path = "pbs-tape" } - # Local path overrides - # NOTE: You must run `cargo update` after changing this for it to take effect! - [patch.crates-io] --#proxmox = { path = "../proxmox/proxmox" } --#proxmox-async = { path = "../proxmox/proxmox-async" } --#proxmox-borrow = { path = "../proxmox/proxmox-borrow" } --#proxmox-fuse = { path = "../proxmox-fuse" } --#proxmox-http = { path = "../proxmox/proxmox-http" } --#proxmox-io = { path = "../proxmox/proxmox-io" } --#proxmox-lang = { path = "../proxmox/proxmox-lang" } --#proxmox-router = { path = "../proxmox/proxmox-router" } --#proxmox-schema = { path = "../proxmox/proxmox-schema" } --#proxmox-section-config = { path = "../proxmox/proxmox-section-config" } --#proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } --#proxmox-sys = { path = "../proxmox/proxmox-sys" } -+proxmox-async = { path = "../proxmox/proxmox-async" } -+proxmox-compression = { path = "../proxmox/proxmox-compression" } -+proxmox-borrow = { path = "../proxmox/proxmox-borrow" } -+proxmox-fuse = { path = "../proxmox-fuse" } -+proxmox-http = { path = "../proxmox/proxmox-http" } -+proxmox-io = { path = "../proxmox/proxmox-io" } -+proxmox-lang = { path = "../proxmox/proxmox-lang" } -+proxmox-router = { path = "../proxmox/proxmox-router" } -+proxmox-schema = { path = "../proxmox/proxmox-schema" } -+proxmox-section-config = { path = "../proxmox/proxmox-section-config" } -+proxmox-serde = { path = "../proxmox/proxmox-serde" } -+proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } -+proxmox-sys = { path = "../proxmox/proxmox-sys" } - #proxmox-tfa = { path = "../proxmox/proxmox-tfa" } --#proxmox-time = { path = "../proxmox/proxmox-time" } --#proxmox-uuid = { path = "../proxmox/proxmox-uuid" } --#pxar = { path = "../pxar" } -+proxmox-time = { path = "../proxmox/proxmox-time" } -+proxmox-uuid = { path = "../proxmox/proxmox-uuid" } -+pxar = { path = "../pxar" } - - [features] - default = [] |