]> git.proxmox.com Git - proxmox-backup.git/blob - Cargo.toml
d/control fixup and zstd simplify zstd version
[proxmox-backup.git] / Cargo.toml
1 [workspace.package]
2 version = "3.0.1"
3 authors = [
4 "Dietmar Maurer <dietmar@proxmox.com>",
5 "Dominik Csapak <d.csapak@proxmox.com>",
6 "Christian Ebner <c.ebner@proxmox.com>",
7 "Fabian Grünbichler <f.gruenbichler@proxmox.com>",
8 "Stefan Reiter <s.reiter@proxmox.com>",
9 "Thomas Lamprecht <t.lamprecht@proxmox.com>",
10 "Wolfgang Bumiller <w.bumiller@proxmox.com>",
11 "Proxmox Support Team <support@proxmox.com>",
12 ]
13 edition = "2021"
14 license = "AGPL-3"
15 repository = "https://git.proxmox.com/?p=proxmox-backup.git"
16
17 [package]
18 name = "proxmox-backup"
19 description = "Proxmox Backup"
20 homepage = "https://www.proxmox.com"
21
22 version.workspace = true
23 edition.workspace = true
24 license.workspace = true
25 repository.workspace = true
26
27 exclude = [ "build", "debian", "tests/catar_data/test_symlink/symlink1"]
28
29 [workspace]
30 members = [
31 "pbs-api-types",
32 "pbs-buildcfg",
33 "pbs-client",
34 "pbs-config",
35 "pbs-datastore",
36 "pbs-fuse-loop",
37 "pbs-key-config",
38 "pbs-pxar-fuse",
39 "pbs-tape",
40 "pbs-tools",
41
42 "proxmox-backup-banner",
43 "proxmox-backup-client",
44 "proxmox-file-restore",
45 "proxmox-restore-daemon",
46 "proxmox-rrd",
47
48 "pxar-bin",
49 ]
50
51 [lib]
52 name = "proxmox_backup"
53 path = "src/lib.rs"
54
55 [workspace.dependencies]
56 # proxmox workspace
57 proxmox-async = "0.4"
58 proxmox-auth-api = "0.3"
59 proxmox-borrow = "1"
60 proxmox-compression = "0.2"
61 proxmox-fuse = "0.1.3"
62 proxmox-http = { version = "0.9.0", features = [ "client", "http-helpers", "websocket" ] } # see below
63 proxmox-human-byte = "0.1"
64 proxmox-io = "1.0.1" # tools and client use "tokio" feature
65 proxmox-lang = "1.1"
66 proxmox-ldap = "0.2"
67 proxmox-metrics = "0.3"
68 proxmox-rest-server = { version = "0.4.1", features = [ "templates" ] }
69 # some use "cli", some use "cli" and "server", pbs-config uses nothing
70 proxmox-router = { version = "1.3.1", default_features = false }
71 # everything but pbs-config and pbs-client ues "api-macro"
72 proxmox-schema = "1.3.6"
73 proxmox-section-config = "1"
74 proxmox-serde = "0.1.1"
75 proxmox-shared-memory = "0.3.0"
76 proxmox-sortable-macro = "0.1.2"
77 proxmox-subscription = { version = "0.4", features = [ "api-types" ] }
78 proxmox-sys = "0.5.0"
79 proxmox-tfa = { version = "4.0.4", features = [ "api", "api-types" ] }
80 proxmox-time = "1.1.2"
81 proxmox-uuid = "1"
82
83 # other proxmox crates
84 pathpatterns = "0.1.2"
85 proxmox-acme-rs = "0.4"
86 proxmox-apt = "0.10.2"
87 proxmox-openid = "0.10.0"
88 pxar = "0.10.2"
89
90 # PBS workspace
91 pbs-api-types = { path = "pbs-api-types" }
92 pbs-buildcfg = { path = "pbs-buildcfg" }
93 pbs-client = { path = "pbs-client" }
94 pbs-config = { path = "pbs-config" }
95 pbs-datastore = { path = "pbs-datastore" }
96 pbs-fuse-loop = { path = "pbs-fuse-loop" }
97 pbs-key-config = { path = "pbs-key-config" }
98 pbs-pxar-fuse = { path = "pbs-pxar-fuse" }
99 pbs-tape = { path = "pbs-tape" }
100 pbs-tools = { path = "pbs-tools" }
101 proxmox-rrd = { path = "proxmox-rrd" }
102
103 # regular crates
104 anyhow = "1.0"
105 apt-pkg-native = "0.3.2"
106 base64 = "0.13"
107 bitflags = "1.2.1"
108 bytes = "1.0"
109 cidr = "0.2.1"
110 crc32fast = "1"
111 crossbeam-channel = "0.5"
112 endian_trait = { version = "0.6", features = ["arrays"] }
113 env_logger = "0.9"
114 flate2 = "1.0"
115 foreign-types = "0.3"
116 futures = "0.3"
117 h2 = { version = "0.3", features = [ "stream" ] }
118 handlebars = "3.0"
119 hex = "0.4.3"
120 http = "0.2"
121 hyper = { version = "0.14", features = [ "full" ] }
122 lazy_static = "1.4"
123 libc = "0.2"
124 log = "0.4.17"
125 nix = "0.26.1"
126 nom = "7"
127 num-traits = "0.2"
128 once_cell = "1.3.1"
129 openssl = "0.10.40"
130 percent-encoding = "2.1"
131 pin-project-lite = "0.2"
132 regex = "1.5.5"
133 rustyline = "9"
134 serde = { version = "1.0", features = ["derive"] }
135 serde_cbor = "0.11.1"
136 serde_json = "1.0"
137 serde_plain = "1"
138 siphasher = "0.3"
139 syslog = "6"
140 tar = "0.4"
141 termcolor = "1.1.2"
142 thiserror = "1.0"
143 tokio = "1.6"
144 tokio-openssl = "0.6.1"
145 tokio-stream = "0.1.0"
146 tokio-util = { version = "0.7", features = [ "io" ] }
147 tower-service = "0.3.0"
148 udev = "0.4"
149 url = "2.1"
150 walkdir = "2"
151 xdg = "2.2"
152 zstd = { version = "0.12", features = [ "bindgen" ] }
153
154 [dependencies]
155 anyhow.workspace = true
156 apt-pkg-native.workspace = true
157 base64.workspace = true
158 bitflags.workspace = true
159 bytes.workspace = true
160 cidr.workspace = true
161 crc32fast.workspace = true
162 crossbeam-channel.workspace = true
163 endian_trait.workspace = true
164 flate2.workspace = true
165 futures.workspace = true
166 h2.workspace = true
167 handlebars.workspace = true
168 hex.workspace = true
169 http.workspace = true
170 hyper.workspace = true
171 lazy_static.workspace = true
172 libc.workspace = true
173 log.workspace = true
174 nix.workspace = true
175 nom.workspace = true
176 num-traits.workspace = true
177 once_cell.workspace = true
178 openssl.workspace = true
179 percent-encoding.workspace = true
180 regex.workspace = true
181 rustyline.workspace = true
182 serde.workspace = true
183 serde_json.workspace = true
184 siphasher.workspace = true
185 syslog.workspace = true
186 termcolor.workspace = true
187 thiserror.workspace = true
188 tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
189 tokio-openssl.workspace = true
190 tokio-stream.workspace = true
191 tokio-util = { workspace = true, features = [ "codec" ] }
192 tower-service.workspace = true
193 udev.workspace = true
194 url.workspace = true
195 walkdir.workspace = true
196 xdg.workspace = true
197 zstd.workspace = true
198
199 #valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
200
201 proxmox-async.workspace = true
202 proxmox-auth-api = { workspace = true, features = [ "api", "pam-authenticator" ] }
203 proxmox-compression.workspace = true
204 proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async", "rate-limited-stream" ] } # pbs-client doesn't use these
205 proxmox-human-byte.workspace = true
206 proxmox-io.workspace = true
207 proxmox-lang.workspace = true
208 proxmox-ldap.workspace = true
209 proxmox-metrics.workspace = true
210 proxmox-rest-server = { workspace = true, features = [ "rate-limited-stream" ] }
211 proxmox-router = { workspace = true, features = [ "cli", "server"] }
212 proxmox-schema = { workspace = true, features = [ "api-macro" ] }
213 proxmox-section-config.workspace = true
214 proxmox-serde = { workspace = true, features = [ "serde_json" ] }
215 proxmox-shared-memory.workspace = true
216 proxmox-sortable-macro.workspace = true
217 proxmox-subscription.workspace = true
218 proxmox-sys = { workspace = true, features = [ "timer" ] }
219 proxmox-tfa.workspace = true
220 proxmox-time.workspace = true
221 proxmox-uuid.workspace = true
222
223 pathpatterns.workspace = true
224 proxmox-acme-rs.workspace = true
225 proxmox-apt.workspace = true
226 proxmox-openid.workspace = true
227 pxar.workspace = true
228
229 pbs-api-types.workspace = true
230 pbs-buildcfg.workspace = true
231 pbs-client.workspace = true
232 pbs-config.workspace = true
233 pbs-datastore.workspace = true
234 pbs-key-config.workspace = true
235 pbs-tape.workspace = true
236 pbs-tools.workspace = true
237 proxmox-rrd.workspace = true
238
239 # Local path overrides
240 # NOTE: You must run `cargo update` after changing this for it to take effect!
241 [patch.crates-io]
242 #proxmox-acme-rs = { path = "../proxmox-acme-rs" }
243 #proxmox-async = { path = "../proxmox/proxmox-async" }
244 #proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" }
245 #proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
246 #proxmox-compression = { path = "../proxmox/proxmox-compression" }
247 #proxmox-fuse = { path = "../proxmox-fuse" }
248 #proxmox-http = { path = "../proxmox/proxmox-http" }
249 #proxmox-io = { path = "../proxmox/proxmox-io" }
250 #proxmox-lang = { path = "../proxmox/proxmox-lang" }
251 #proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" }
252 #proxmox-router = { path = "../proxmox/proxmox-router" }
253 #proxmox-schema = { path = "../proxmox/proxmox-schema" }
254 #proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
255 #proxmox-serde = { path = "../proxmox/proxmox-serde" }
256 #proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" }
257 #proxmox-subscription = { path = "../proxmox/proxmox-subscription" }
258 #proxmox-sys = { path = "../proxmox/proxmox-sys" }
259 #proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
260 #proxmox-time = { path = "../proxmox/proxmox-time" }
261 #proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
262
263 #proxmox-apt = { path = "../proxmox-apt" }
264 #proxmox-openid = { path = "../proxmox-openid-rs" }
265
266 #pxar = { path = "../pxar" }
267
268 [features]
269 default = []
270 #valgrind = ["valgrind_request"]