]> git.proxmox.com Git - proxmox-backup.git/blob - Cargo.toml
tape: cleanup: rename bytes_written to bytes_written_after_sync
[proxmox-backup.git] / Cargo.toml
1 [workspace.package]
2 version = "3.2.2"
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
47 "pxar-bin",
48 ]
49
50 [lib]
51 name = "proxmox_backup"
52 path = "src/lib.rs"
53
54 [workspace.dependencies]
55 # proxmox workspace
56 proxmox-apt = "0.10.5"
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.1"
67 proxmox-metrics = "0.3.1"
68 proxmox-notify = "0.4"
69 proxmox-openid = "0.10.0"
70 proxmox-rest-server = { version = "0.5.1", features = [ "templates" ] }
71 # some use "cli", some use "cli" and "server", pbs-config uses nothing
72 proxmox-router = { version = "2.0.0", default_features = false }
73 proxmox-rrd = { version = "0.1" }
74 # everything but pbs-config and pbs-client use "api-macro"
75 proxmox-schema = "3"
76 proxmox-section-config = "2"
77 proxmox-serde = "0.1.1"
78 proxmox-shared-memory = "0.3.0"
79 proxmox-sortable-macro = "0.1.2"
80 proxmox-subscription = { version = "0.4.2", features = [ "api-types" ] }
81 proxmox-sys = "0.5.4"
82 proxmox-tfa = { version = "4.0.4", features = [ "api", "api-types" ] }
83 proxmox-time = "1.1.6"
84 proxmox-uuid = "1"
85
86 # other proxmox crates
87 pathpatterns = "0.3"
88 proxmox-acme = "0.5"
89 pxar = "0.10.2"
90
91 # PBS workspace
92 pbs-api-types = { path = "pbs-api-types" }
93 pbs-buildcfg = { path = "pbs-buildcfg" }
94 pbs-client = { path = "pbs-client" }
95 pbs-config = { path = "pbs-config" }
96 pbs-datastore = { path = "pbs-datastore" }
97 pbs-fuse-loop = { path = "pbs-fuse-loop" }
98 pbs-key-config = { path = "pbs-key-config" }
99 pbs-pxar-fuse = { path = "pbs-pxar-fuse" }
100 pbs-tape = { path = "pbs-tape" }
101 pbs-tools = { path = "pbs-tools" }
102
103 # regular crates
104 anyhow = "1.0"
105 async-trait = "0.1.56"
106 apt-pkg-native = "0.3.2"
107 base64 = "0.13"
108 bitflags = "1.2.1"
109 bytes = "1.0"
110 cidr = "0.2.1"
111 crc32fast = "1"
112 const_format = "0.2"
113 crossbeam-channel = "0.5"
114 endian_trait = { version = "0.6", features = ["arrays"] }
115 env_logger = "0.10"
116 flate2 = "1.0"
117 foreign-types = "0.3"
118 futures = "0.3"
119 h2 = { version = "0.3", features = [ "stream" ] }
120 handlebars = "3.0"
121 hex = "0.4.3"
122 http = "0.2"
123 hyper = { version = "0.14", features = [ "full" ] }
124 lazy_static = "1.4"
125 libc = "0.2"
126 log = "0.4.17"
127 nix = "0.26.1"
128 nom = "7"
129 num-traits = "0.2"
130 once_cell = "1.3.1"
131 openssl = "0.10.40"
132 percent-encoding = "2.1"
133 pin-project-lite = "0.2"
134 regex = "1.5.5"
135 rustyline = "9"
136 serde = { version = "1.0", features = ["derive"] }
137 serde_json = "1.0"
138 serde_plain = "1"
139 siphasher = "0.3"
140 syslog = "6"
141 tar = "0.4"
142 termcolor = "1.1.2"
143 thiserror = "1.0"
144 tokio = "1.6"
145 tokio-openssl = "0.6.1"
146 tokio-stream = "0.1.0"
147 tokio-util = { version = "0.7", features = [ "io" ] }
148 tower-service = "0.3.0"
149 udev = "0.4"
150 url = "2.1"
151 walkdir = "2"
152 xdg = "2.2"
153 zstd = { version = "0.12", features = [ "bindgen" ] }
154
155 [dependencies]
156 anyhow.workspace = true
157 async-trait.workspace = true
158 apt-pkg-native.workspace = true
159 base64.workspace = true
160 bitflags.workspace = true
161 bytes.workspace = true
162 cidr.workspace = true
163 const_format.workspace = true
164 crc32fast.workspace = true
165 crossbeam-channel.workspace = true
166 endian_trait.workspace = true
167 flate2.workspace = true
168 futures.workspace = true
169 h2.workspace = true
170 handlebars.workspace = true
171 hex.workspace = true
172 http.workspace = true
173 hyper.workspace = true
174 lazy_static.workspace = true
175 libc.workspace = true
176 log.workspace = true
177 nix.workspace = true
178 nom.workspace = true
179 num-traits.workspace = true
180 once_cell.workspace = true
181 openssl.workspace = true
182 percent-encoding.workspace = true
183 regex.workspace = true
184 rustyline.workspace = true
185 serde.workspace = true
186 serde_json.workspace = true
187 siphasher.workspace = true
188 syslog.workspace = true
189 termcolor.workspace = true
190 thiserror.workspace = true
191 tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
192 tokio-openssl.workspace = true
193 tokio-stream.workspace = true
194 tokio-util = { workspace = true, features = [ "codec" ] }
195 tower-service.workspace = true
196 udev.workspace = true
197 url.workspace = true
198 walkdir.workspace = true
199 xdg.workspace = true
200 zstd.workspace = true
201
202 #valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
203
204 # proxmox workspace
205 proxmox-apt.workspace = true
206 proxmox-async.workspace = true
207 proxmox-auth-api = { workspace = true, features = [ "api", "pam-authenticator" ] }
208 proxmox-compression.workspace = true
209 proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async", "rate-limited-stream" ] } # pbs-client doesn't use these
210 proxmox-human-byte.workspace = true
211 proxmox-io.workspace = true
212 proxmox-lang.workspace = true
213 proxmox-ldap.workspace = true
214 proxmox-metrics.workspace = true
215 proxmox-notify = { workspace = true, features = [ "pbs-context" ] }
216 proxmox-openid.workspace = true
217 proxmox-rest-server = { workspace = true, features = [ "rate-limited-stream" ] }
218 proxmox-router = { workspace = true, features = [ "cli", "server"] }
219 proxmox-schema = { workspace = true, features = [ "api-macro" ] }
220 proxmox-section-config.workspace = true
221 proxmox-serde = { workspace = true, features = [ "serde_json" ] }
222 proxmox-shared-memory.workspace = true
223 proxmox-sortable-macro.workspace = true
224 proxmox-subscription.workspace = true
225 proxmox-sys = { workspace = true, features = [ "timer" ] }
226 proxmox-tfa.workspace = true
227 proxmox-time.workspace = true
228 proxmox-uuid.workspace = true
229
230 # in their respective repo
231 pathpatterns.workspace = true
232 proxmox-acme.workspace = true
233 pxar.workspace = true
234
235 # proxmox-backup workspace/internal crates
236 pbs-api-types.workspace = true
237 pbs-buildcfg.workspace = true
238 pbs-client.workspace = true
239 pbs-config.workspace = true
240 pbs-datastore.workspace = true
241 pbs-key-config.workspace = true
242 pbs-tape.workspace = true
243 pbs-tools.workspace = true
244 proxmox-rrd.workspace = true
245
246 # Local path overrides
247 # NOTE: You must run `cargo update` after changing this for it to take effect!
248 [patch.crates-io]
249
250 #proxmox-apt = { path = "../proxmox/proxmox-apt" }
251 #proxmox-async = { path = "../proxmox/proxmox-async" }
252 #proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" }
253 #proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
254 #proxmox-compression = { path = "../proxmox/proxmox-compression" }
255 #proxmox-fuse = { path = "../proxmox-fuse" }
256 #proxmox-http = { path = "../proxmox/proxmox-http" }
257 #proxmox-human-byte = { path = "../proxmox/proxmox-human-byte" }
258 #proxmox-io = { path = "../proxmox/proxmox-io" }
259 #proxmox-lang = { path = "../proxmox/proxmox-lang" }
260 #proxmox-ldap = { path = "../proxmox/proxmox-ldap" }
261 #proxmox-metrics = { path = "../proxmox/proxmox-metrics" }
262 #proxmox-notify = { path = "../proxmox/proxmox-notify" }
263 #proxmox-openid = { path = "../proxmox/proxmox-openid" }
264 #proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" }
265 #proxmox-router = { path = "../proxmox/proxmox-router" }
266 #proxmox-rrd = { path = "../proxmox/proxmox-rrd" }
267 #proxmox-schema = { path = "../proxmox/proxmox-schema" }
268 #proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
269 #proxmox-serde = { path = "../proxmox/proxmox-serde" }
270 #proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" }
271 #proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" }
272 #proxmox-subscription = { path = "../proxmox/proxmox-subscription" }
273 #proxmox-sys = { path = "../proxmox/proxmox-sys" }
274 #proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
275 #proxmox-time = { path = "../proxmox/proxmox-time" }
276 #proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
277
278 #proxmox-acme = { path = "../proxmox/proxmox-acme" }
279 #pathpatterns = {path = "../pathpatterns" }
280 #pxar = { path = "../pxar" }
281
282 [features]
283 default = []
284 #valgrind = ["valgrind_request"]