]> git.proxmox.com Git - proxmox-backup.git/blobdiff - Cargo.toml
bump proxmox-rrd to 0.2 and proxmox-time to 2.0
[proxmox-backup.git] / Cargo.toml
index 9c42dca3c09e784c72f83ab4b48a9b8b5deb6161..cac2d79194d84d801ed570afeba8b4dd15850ce5 100644 (file)
@@ -1,6 +1,5 @@
-[package]
-name = "proxmox-backup"
-version = "2.2.5"
+[workspace.package]
+version = "3.2.6"
 authors = [
     "Dietmar Maurer <dietmar@proxmox.com>",
     "Dominik Csapak <d.csapak@proxmox.com>",
@@ -11,22 +10,32 @@ authors = [
     "Wolfgang Bumiller <w.bumiller@proxmox.com>",
     "Proxmox Support Team <support@proxmox.com>",
 ]
-edition = "2018"
+edition = "2021"
 license = "AGPL-3"
+repository = "https://git.proxmox.com/?p=proxmox-backup.git"
+
+[package]
+name = "proxmox-backup"
 description = "Proxmox Backup"
 homepage = "https://www.proxmox.com"
 
+version.workspace = true
+edition.workspace = true
+license.workspace = true
+repository.workspace = true
+
 exclude = [ "build", "debian", "tests/catar_data/test_symlink/symlink1"]
 
 [workspace]
 members = [
+    "pbs-api-types",
     "pbs-buildcfg",
     "pbs-client",
     "pbs-config",
     "pbs-datastore",
     "pbs-fuse-loop",
-    "proxmox-rest-server",
-    "proxmox-rrd",
+    "pbs-key-config",
+    "pbs-pxar-fuse",
     "pbs-tape",
     "pbs-tools",
 
@@ -34,6 +43,7 @@ members = [
     "proxmox-backup-client",
     "proxmox-file-restore",
     "proxmox-restore-daemon",
+
     "pxar-bin",
 ]
 
@@ -41,17 +51,70 @@ members = [
 name = "proxmox_backup"
 path = "src/lib.rs"
 
-[dependencies]
+[workspace.dependencies]
+# proxmox workspace
+proxmox-apt = "0.10.5"
+proxmox-async = "0.4"
+proxmox-auth-api = "0.4"
+proxmox-borrow = "1"
+proxmox-compression = "0.2"
+proxmox-fuse = "0.1.3"
+proxmox-http = { version = "0.9.0", features = [ "client", "http-helpers", "websocket" ] } # see below
+proxmox-human-byte = "0.1"
+proxmox-io = "1.0.1" # tools and client use "tokio" feature
+proxmox-lang = "1.1"
+proxmox-ldap = "0.2.1"
+proxmox-metrics = "0.3.1"
+proxmox-notify = "0.4"
+proxmox-openid = "0.10.0"
+proxmox-rest-server = { version = "0.5.1", features = [ "templates" ] }
+# some use "cli", some use "cli" and "server", pbs-config uses nothing
+proxmox-router = { version = "2.0.0", default-features = false }
+proxmox-rrd = { version = "0.2" }
+# everything but pbs-config and pbs-client use "api-macro"
+proxmox-schema = "3"
+proxmox-section-config = "2"
+proxmox-serde = "0.1.1"
+proxmox-shared-memory = "0.3.0"
+proxmox-sortable-macro = "0.1.2"
+proxmox-subscription = { version = "0.4.2", features = [ "api-types" ] }
+proxmox-sys = "0.5.7"
+proxmox-tfa = { version = "4.0.4", features = [ "api", "api-types" ] }
+proxmox-time = "2"
+proxmox-uuid = "1"
+
+# other proxmox crates
+pathpatterns = "0.3"
+proxmox-acme = "0.5"
+pxar = "0.12"
+
+# 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-tools = { path = "pbs-tools" }
+
+# regular crates
+anyhow = "1.0"
+async-trait = "0.1.56"
 apt-pkg-native = "0.3.2"
 base64 = "0.13"
-bitflags = "1.2.1"
+bitflags = "2.4"
 bytes = "1.0"
 cidr = "0.2.1"
 crc32fast = "1"
+const_format = "0.2"
+crossbeam-channel = "0.5"
 endian_trait = { version = "0.6", features = ["arrays"] }
+env_logger = "0.10"
 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"
@@ -61,92 +124,159 @@ hyper = { version = "0.14", features = [ "full" ] }
 lazy_static = "1.4"
 libc = "0.2"
 log = "0.4.17"
-nix = "0.24"
+nix = "0.26.1"
+nom = "7"
 num-traits = "0.2"
 once_cell = "1.3.1"
-openssl = "0.10.38" # currently patched!
-pam = "0.7"
-pam-sys = "0.5"
+openssl = "0.10.40"
 percent-encoding = "2.1"
+pin-project-lite = "0.2"
 regex = "1.5.5"
 rustyline = "9"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
+serde_plain = "1"
 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" ] }
+syslog = "6"
+tar = "0.4"
+termcolor = "1.1.2"
+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 = "5.1"
-crossbeam-channel = "0.5"
+zstd = { version = "0.12", features = [ "bindgen" ] }
 
-# Used only by examples currently:
-zstd = { version = "0.6", features = [ "bindgen" ] }
+[dependencies]
+anyhow.workspace = true
+async-trait.workspace = true
+apt-pkg-native.workspace = true
+base64.workspace = true
+bitflags.workspace = true
+bytes.workspace = true
+cidr.workspace = true
+const_format.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
+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
 
-pathpatterns = "0.1.2"
-pxar = { version = "0.10.1", features = [ "tokio-io" ] }
+#valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
 
-proxmox-http = { version = "0.6.4", features = [ "client", "client-trait", "http-helpers", "proxmox-async", "websocket" ] }
-proxmox-io = "1"
-proxmox-lang = "1.1"
-proxmox-metrics = "0.2"
-proxmox-router = { version = "1.2.4", 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 = { version = "0.1.1", features = [ "serde_json" ] }
-proxmox-shared-memory = "0.2"
-proxmox-subscription = { version = "0.2", features = [ "api-types" ] }
-proxmox-sys = { version = "0.3.1", features = [ "sortable-macro" ] }
-proxmox-compression = "0.1"
+# proxmox workspace
+proxmox-apt.workspace = 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-human-byte.workspace = true
+proxmox-io.workspace = true
+proxmox-lang.workspace = true
+proxmox-ldap.workspace = true
+proxmox-metrics.workspace = true
+proxmox-notify = { workspace = true, features = [ "pbs-context" ] }
+proxmox-openid.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
 
+# in their respective repo
+pathpatterns.workspace = true
+proxmox-acme.workspace = true
+pxar.workspace = true
 
-proxmox-acme-rs = "0.4"
-proxmox-apt = "0.9.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" }
-pbs-config = { path = "pbs-config" }
-pbs-datastore = { path = "pbs-datastore" }
-proxmox-rest-server = { path = "proxmox-rest-server" }
-proxmox-rrd = { path = "proxmox-rrd" }
-pbs-tools = { path = "pbs-tools" }
-pbs-tape = { path = "pbs-tape" }
+# proxmox-backup workspace/internal crates
+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-apt = { path = "../proxmox-apt" }
+
+#proxmox-apt = { path = "../proxmox/proxmox-apt" }
 #proxmox-async = { path = "../proxmox/proxmox-async" }
-#proxmox-compression = { path = "../proxmox/proxmox-compression" }
+#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-human-byte = { path = "../proxmox/proxmox-human-byte" }
 #proxmox-io = { path = "../proxmox/proxmox-io" }
 #proxmox-lang = { path = "../proxmox/proxmox-lang" }
-#proxmox-openid = { path = "../proxmox-openid-rs" }
+#proxmox-ldap = { path = "../proxmox/proxmox-ldap" }
+#proxmox-metrics = { path = "../proxmox/proxmox-metrics" }
+#proxmox-notify = { path = "../proxmox/proxmox-notify" }
+#proxmox-openid = { path = "../proxmox/proxmox-openid" }
+#proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" }
 #proxmox-router = { path = "../proxmox/proxmox-router" }
+#proxmox-rrd = { path = "../proxmox/proxmox-rrd" }
 #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-serde = { path = "../proxmox/proxmox-serde" }
 #proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
 #proxmox-time = { path = "../proxmox/proxmox-time" }
 #proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
+
+#proxmox-acme = { path = "../proxmox/proxmox-acme" }
+#pathpatterns = {path = "../pathpatterns" }
 #pxar = { path = "../pxar" }
 
 [features]