[workspace.package]
-version = "2.3.1"
+version = "2.3.2"
authors = [
"Dietmar Maurer <dietmar@proxmox.com>",
"Dominik Csapak <d.csapak@proxmox.com>",
[workspace]
members = [
+ "pbs-api-types",
"pbs-buildcfg",
"pbs-client",
"pbs-config",
"pbs-datastore",
"pbs-fuse-loop",
+ "pbs-key-config",
"pbs-pxar-fuse",
"pbs-tape",
+ "pbs-ticket",
"pbs-tools",
"proxmox-backup-banner",
name = "proxmox_backup"
path = "src/lib.rs"
-[dependencies]
+[workspace.dependencies]
+# proxmox workspace
+proxmox-async = "0.4"
+proxmox-borrow = "1"
+proxmox-compression = "0.1.1"
+proxmox-fuse = "0.1.3"
+proxmox-http = { version = "0.7", features = [ "client", "http-helpers", "websocket" ] } # see below
+proxmox-io = "1.0.1" # tools and client use "tokio" feature
+proxmox-lang = "1.1"
+proxmox-metrics = "0.2"
+proxmox-rest-server = "0.2"
+# some use "cli", some use "cli" and "server", pbs-config uses nothing
+proxmox-router = { version = "1.3.0", default_features = false }
+# everything but pbs-config and pbs-client ues "api-macro"
+proxmox-schema = "1.3.1"
+proxmox-section-config = "1"
+proxmox-serde = "0.1.1"
+proxmox-shared-memory = "0.2"
+proxmox-subscription = { version = "0.3", features = [ "api-types" ] }
+proxmox-sys = "0.4.1"
+proxmox-tfa = { version = "2.1", features = [ "api", "api-types" ] }
+proxmox-time = "1.1.2"
+proxmox-uuid = "1"
+
+# other proxmox crates
+pathpatterns = "0.1.2"
+proxmox-acme-rs = "0.4"
+proxmox-apt = "0.9.0"
+proxmox-openid = "0.9.0"
+pxar = "0.10.2"
+
+# PBS workspace
+pbs-api-types = { path = "pbs-api-types" }
+pbs-buildcfg = { path = "pbs-buildcfg" }
+pbs-client = { path = "pbs-client" }
+pbs-config = { path = "pbs-config" }
+pbs-datastore = { path = "pbs-datastore" }
+pbs-fuse-loop = { path = "pbs-fuse-loop" }
+pbs-key-config = { path = "pbs-key-config" }
+pbs-pxar-fuse = { path = "pbs-pxar-fuse" }
+pbs-tape = { path = "pbs-tape" }
+pbs-ticket = { path = "pbs-ticket" }
+pbs-tools = { path = "pbs-tools" }
+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"
cidr = "0.2.1"
crc32fast = "1"
+crossbeam-channel = "0.5"
endian_trait = { version = "0.6", features = ["arrays"] }
+env_logger = "0.9"
flate2 = "1.0"
-anyhow = "1.0"
-thiserror = "1.0"
+foreign-types = "0.3"
futures = "0.3"
h2 = { version = "0.3", features = [ "stream" ] }
handlebars = "3.0"
libc = "0.2"
log = "0.4.17"
nix = "0.24"
+nom = "7"
num-traits = "0.2"
once_cell = "1.3.1"
-openssl = "0.10.38" # currently patched!
+openssl = "0.10.40"
pam = "0.7"
pam-sys = "0.5"
percent-encoding = "2.1"
+pin-project-lite = "0.2"
regex = "1.5.5"
rustyline = "9"
serde = { version = "1.0", features = ["derive"] }
+serde_cbor = "0.11.1"
serde_json = "1.0"
+serde_plain = "1"
siphasher = "0.3"
syslog = "4.0"
+tar = "0.4"
termcolor = "1.1.2"
-tokio = { version = "1.6", features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
+thiserror = "1.0"
+tokio = "1.6"
tokio-openssl = "0.6.1"
tokio-stream = "0.1.0"
-tokio-util = { version = "0.7", features = [ "codec", "io" ] }
+tokio-util = { version = "0.7", features = [ "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 = "7"
-crossbeam-channel = "0.5"
-
-# Used only by examples currently:
zstd = { version = "0.6", features = [ "bindgen" ] }
-pathpatterns = "0.1.2"
-pxar = { version = "0.10.2", features = [ "tokio-io" ] }
+[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
-proxmox-http = { version = "0.7", features = [ "client", "client-trait", "http-helpers", "proxmox-async", "websocket" ] }
-proxmox-io = "1"
-proxmox-lang = "1.1"
-proxmox-metrics = "0.2"
-proxmox-router = { version = "1.3.0", features = [ "cli" ] }
-proxmox-schema = { version = "1.3.1", features = [ "api-macro" ] }
-proxmox-section-config = "1"
-proxmox-tfa = { version = "2.1", features = [ "api", "api-types" ] }
-proxmox-time = "1.1.2"
-proxmox-uuid = "1"
-proxmox-serde = { version = "0.1.1", features = [ "serde_json" ] }
-proxmox-shared-memory = "0.2"
-proxmox-subscription = { version = "0.3", features = [ "api-types" ] }
-proxmox-sys = { version = "0.4.1", features = [ "sortable-macro", "timer" ] }
-proxmox-compression = "0.1"
-proxmox-rest-server = "0.2"
+#valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
+proxmox-async.workspace = true
+proxmox-compression.workspace = true
+proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async" ] } # pbs-client doesn't use these
+proxmox-io.workspace = true
+proxmox-lang.workspace = true
+proxmox-metrics.workspace = true
+proxmox-rest-server.workspace = true
+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-subscription.workspace = true
+proxmox-sys = { workspace = true, features = [ "sortable-macro", "timer" ] }
+proxmox-tfa.workspace = true
+proxmox-time.workspace = true
+proxmox-uuid.workspace = true
-proxmox-acme-rs = "0.4"
-proxmox-apt = "0.9.0"
-proxmox-async = "0.4"
-proxmox-openid = "0.9.0"
+pathpatterns.workspace = true
+proxmox-acme-rs.workspace = true
+proxmox-apt.workspace = true
+proxmox-openid.workspace = true
+pxar.workspace = true
-pbs-api-types = { path = "pbs-api-types" }
-pbs-buildcfg = { path = "pbs-buildcfg" }
-pbs-client = { path = "pbs-client" }
-pbs-config = { path = "pbs-config" }
-pbs-datastore = { path = "pbs-datastore" }
-proxmox-rrd = { path = "proxmox-rrd" }
-pbs-tools = { path = "pbs-tools" }
-pbs-tape = { path = "pbs-tape" }
+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-ticket.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!