]> git.proxmox.com Git - proxmox-backup.git/blob - Cargo.toml
make main crate dependencies workspace dependencies
[proxmox-backup.git] / Cargo.toml
1 [workspace.package]
2 version = "2.3.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-pxar-fuse",
38 "pbs-tape",
39 "pbs-tools",
40
41 "proxmox-backup-banner",
42 "proxmox-backup-client",
43 "proxmox-file-restore",
44 "proxmox-restore-daemon",
45 "proxmox-rrd",
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-async = "0.4"
57 proxmox-borrow = "1"
58 proxmox-compression = "0.1.1"
59 proxmox-fuse = "0.1.3"
60 proxmox-http = { version = "0.7", features = [ "client", "http-helpers", "websocket" ] } # see below
61 proxmox-io = "1.0.1" # tools and client use "tokio" feature
62 proxmox-lang = "1.1"
63 proxmox-metrics = "0.2"
64 proxmox-rest-server = "0.2"
65 # some use "cli", some use "cli" and "server", pbs-config uses nothing
66 proxmox-router = { version = "1.3.0", default_features = false }
67 # everything but pbs-config and pbs-client ues "api-macro"
68 proxmox-schema = "1.3.1"
69 proxmox-section-config = "1"
70 proxmox-serde = "0.1.1"
71 proxmox-shared-memory = "0.2"
72 proxmox-subscription = { version = "0.3", features = [ "api-types" ] }
73 proxmox-sys = "0.4.1"
74 proxmox-tfa = { version = "2.1", features = [ "api", "api-types" ] }
75 proxmox-time = "1.1.2"
76 proxmox-uuid = "1"
77
78 # other proxmox crates
79 pathpatterns = "0.1.2"
80 proxmox-acme-rs = "0.4"
81 proxmox-apt = "0.9.0"
82 proxmox-openid = "0.9.0"
83 pxar = "0.10.2"
84
85 # PBS workspace
86 pbs-api-types = { path = "pbs-api-types" }
87 pbs-buildcfg = { path = "pbs-buildcfg" }
88 pbs-client = { path = "pbs-client" }
89 pbs-config = { path = "pbs-config" }
90 pbs-datastore = { path = "pbs-datastore" }
91 pbs-fuse-loop = { path = "pbs-fuse-loop" }
92 pbs-pxar-fuse = { path = "pbs-pxar-fuse" }
93 pbs-tape = { path = "pbs-tape" }
94 pbs-tools = { path = "pbs-tools" }
95 proxmox-rrd = { path = "proxmox-rrd" }
96
97 # regular crates
98 anyhow = "1.0"
99 apt-pkg-native = "0.3.2"
100 base64 = "0.13"
101 bitflags = "1.2.1"
102 bytes = "1.0"
103 cidr = "0.2.1"
104 crc32fast = "1"
105 crossbeam-channel = "0.5"
106 endian_trait = { version = "0.6", features = ["arrays"] }
107 flate2 = "1.0"
108 futures = "0.3"
109 h2 = { version = "0.3", features = [ "stream" ] }
110 handlebars = "3.0"
111 hex = "0.4.3"
112 http = "0.2"
113 hyper = { version = "0.14", features = [ "full" ] }
114 lazy_static = "1.4"
115 libc = "0.2"
116 log = "0.4.17"
117 nix = "0.24"
118 nom = "7"
119 num-traits = "0.2"
120 once_cell = "1.3.1"
121 openssl = "0.10.40"
122 pam = "0.7"
123 pam-sys = "0.5"
124 percent-encoding = "2.1"
125 regex = "1.5.5"
126 rustyline = "9"
127 serde = { version = "1.0", features = ["derive"] }
128 serde_json = "1.0"
129 siphasher = "0.3"
130 syslog = "4.0"
131 termcolor = "1.1.2"
132 thiserror = "1.0"
133 tokio = "1.6"
134 tokio-openssl = "0.6.1"
135 tokio-stream = "0.1.0"
136 tokio-util = { version = "0.7", features = [ "io" ] }
137 tower-service = "0.3.0"
138 udev = "0.4"
139 url = "2.1"
140 walkdir = "2"
141 xdg = "2.2"
142 zstd = { version = "0.6", features = [ "bindgen" ] }
143
144 [dependencies]
145 anyhow.workspace = true
146 apt-pkg-native.workspace = true
147 base64.workspace = true
148 bitflags.workspace = true
149 bytes.workspace = true
150 cidr.workspace = true
151 crc32fast.workspace = true
152 crossbeam-channel.workspace = true
153 endian_trait.workspace = true
154 flate2.workspace = true
155 thiserror.workspace = true
156 futures.workspace = true
157 h2.workspace = true
158 handlebars.workspace = true
159 hex.workspace = true
160 http.workspace = true
161 hyper.workspace = true
162 lazy_static.workspace = true
163 libc.workspace = true
164 log.workspace = true
165 nix.workspace = true
166 nom.workspace = true
167 num-traits.workspace = true
168 once_cell.workspace = true
169 openssl.workspace = true
170 pam.workspace = true
171 pam-sys.workspace = true
172 percent-encoding.workspace = true
173 regex.workspace = true
174 rustyline.workspace = true
175 serde.workspace = true
176 serde_json.workspace = true
177 siphasher.workspace = true
178 syslog.workspace = true
179 termcolor.workspace = true
180 tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
181 tokio-openssl.workspace = true
182 tokio-stream.workspace = true
183 tokio-util = { workspace = true, features = [ "codec" ] }
184 tower-service.workspace = true
185 udev.workspace = true
186 url.workspace = true
187 walkdir.workspace = true
188 xdg.workspace = true
189 zstd.workspace = true
190
191 #valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
192
193
194 proxmox-async.workspace = true
195 proxmox-compression.workspace = true
196 proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async" ] } # pbs-client doesn't use these
197 proxmox-io.workspace = true
198 proxmox-lang.workspace = true
199 proxmox-metrics.workspace = true
200 proxmox-rest-server.workspace = true
201 proxmox-router = { workspace = true, features = [ "cli", "server"] }
202 proxmox-schema = { workspace = true, features = [ "api-macro" ] }
203 proxmox-section-config.workspace = true
204 proxmox-serde = { workspace = true, features = [ "serde_json" ] }
205 proxmox-shared-memory.workspace = true
206 proxmox-subscription.workspace = true
207 proxmox-sys = { workspace = true, features = [ "sortable-macro", "timer" ] }
208 proxmox-tfa.workspace = true
209 proxmox-time.workspace = true
210 proxmox-uuid.workspace = true
211
212 pathpatterns.workspace = true
213 proxmox-acme-rs.workspace = true
214 proxmox-apt.workspace = true
215 proxmox-openid.workspace = true
216 pxar.workspace = true
217
218 pbs-api-types.workspace = true
219 pbs-buildcfg.workspace = true
220 pbs-client.workspace = true
221 pbs-config.workspace = true
222 pbs-datastore.workspace = true
223 proxmox-rrd.workspace = true
224 pbs-tools.workspace = true
225 pbs-tape.workspace = true
226
227 # Local path overrides
228 # NOTE: You must run `cargo update` after changing this for it to take effect!
229 [patch.crates-io]
230 #proxmox-acme-rs = { path = "../proxmox-acme-rs" }
231 #proxmox-apt = { path = "../proxmox-apt" }
232 #proxmox-async = { path = "../proxmox/proxmox-async" }
233 #proxmox-compression = { path = "../proxmox/proxmox-compression" }
234 #proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
235 #proxmox-fuse = { path = "../proxmox-fuse" }
236 #proxmox-http = { path = "../proxmox/proxmox-http" }
237 #proxmox-io = { path = "../proxmox/proxmox-io" }
238 #proxmox-lang = { path = "../proxmox/proxmox-lang" }
239 #proxmox-openid = { path = "../proxmox-openid-rs" }
240 #proxmox-router = { path = "../proxmox/proxmox-rest-server" }
241 #proxmox-router = { path = "../proxmox/proxmox-router" }
242 #proxmox-schema = { path = "../proxmox/proxmox-schema" }
243 #proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
244 #proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" }
245 #proxmox-sys = { path = "../proxmox/proxmox-sys" }
246 #proxmox-serde = { path = "../proxmox/proxmox-serde" }
247 #proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
248 #proxmox-time = { path = "../proxmox/proxmox-time" }
249 #proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
250 #pxar = { path = "../pxar" }
251
252 [features]
253 default = []
254 #valgrind = ["valgrind_request"]