-
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Cargo.toml
111 lines (100 loc) · 4.46 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
[package]
name = "rtrtr"
version = "0.3.1-dev"
edition = "2021"
rust-version = "1.70"
authors = ["NLnet Labs <rpki-team@nlnetlabs.nl>"]
description = "A versatile tool for managing route filters"
repository = "https://github.com/NLnetLabs/rtrtr"
keywords = ["rpki", "routing-security", "bgp"]
license = "BSD-3-Clause"
readme = "README.md"
[dependencies]
arbitrary = { version = "1", optional = true, features = ["derive"] }
arc-swap = "1"
bytes = "1"
chrono = "0.4.31"
clap = { version = "4.4", features = [ "cargo", "derive" ] }
crossbeam-utils = "0.8.4"
daemonbase = "0.1.2"
futures-util = "0.3"
http-body-util = "0.1"
hyper = { version = "1.3.1", features = [ "server" ] }
hyper-util = { version = "0.1", features = [ "server", "server-auto", "tokio" ] }
log = "0.4"
pin-project-lite = "0.2.4"
rand = "0.8.3"
reqwest = { version = "0.12.5", default-features = false, features = ["blocking", "rustls-tls"] }
rpki = { version = "0.18.2", features = ["crypto", "rtr", "slurm"] }
rustls-pemfile = "2.1.2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
slab = "0.4.2"
tokio = { version = "1.6", features = ["fs", "io-util", "macros", "net", "rt", "rt-multi-thread", "sync", "time"]}
tokio-rustls = { version = "0.26.0", default-features = false, features = [ "ring", "logging", "tls12" ] }
toml = "0.8.12"
url = { version = "2.2", features = ["serde"] }
webpki-roots = "0.26.3"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.27.1", features = ["fs", "mman", "net", "process", "socket", "user"] }
[features]
default = [ "socks" ]
arbitrary = [ "dep:arbitrary", "chrono/arbitrary", "rpki/arbitrary" ]
socks = [ "reqwest/socks" ]
[dev-dependencies]
stderrlog = "0.6"
rand_pcg = "0.3"
[profile.release]
panic = "abort"
[package.metadata.deb]
name = "rtrtr"
maintainer = "The NLnet Labs RPKI Team <rpki@nlnetlabs.nl>"
license-file = ["LICENSE", "0"]
extended-description = """\
RTRTR is an RPKI data proxy, designed to collect Validated ROA Payloads \
from one or more sources in multiple formats and dispatch it onwards. It \
provides the means to implement multiple distribution architectures for RPKI \
such as centralised RPKI validators that dispatch data to local caching RTR \
servers. """
depends = "$auto, passwd"
section = "net"
priority = "optional"
assets = [
["target/release/rtrtr", "usr/bin/", "755"],
["README.md", "usr/share/doc/rtrtr/", "644"],
["doc/rtrtr.1", "usr/share/man/man1/rtrtr.1", "644"],
["etc/rtrtr.conf.system-service", "etc/rtrtr.conf", "644"],
["pkg/common/service.preset", "/lib/systemd/system-preset/50-rtrtr.preset", "644"],
]
maintainer-scripts = "pkg/debian"
changelog = "target/debian/changelog" # this will be generated by the pkg workflow
copyright = "Copyright (c) 2021, NLnet Labs. All rights reserved."
conf-files = ["/etc/rtrtr.conf"]
systemd-units = { unit-name = "rtrtr", unit-scripts = "pkg/common", enable = false }
[package.metadata.deb.variants.minimal]
# Cross compilation variants:
# Note: we have to specifiy dependencies manually because we don't run cargo-deb
# on the target platform and so it cannot determine the dependencies correctly
# for us.
[package.metadata.deb.variants.minimal-cross]
depends = "adduser, passwd"
[package.metadata.generate-rpm]
# "BSD" alone is the 3-clause license. Inheriting "license" from above causes rpmlint to
# complain with "invalid-license".
# See: https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing
license = "BSD"
assets = [
{ source = "target/release/rtrtr", dest = "/usr/bin/rtrtr", mode = "755" },
{ source = "target/rpm/rtrtr.service", dest = "/lib/systemd/system/rtrtr.service", mode = "644" },
{ source = "README.md", dest = "/usr/share/doc/rtrtr/README.md", mode = "644", doc = true },
{ source = "doc/rtrtr.1", dest = "/usr/share/man/man1/rtrtr.1", mode = "644", doc = true },
{ source = "etc/rtrtr.conf.system-service", dest = "/etc/rtrtr.conf", mode = "644", config = true },
{ source = "pkg/common/service.preset", dest = "/lib/systemd/system-preset/50-rtrtr.preset", mode = "644" },
]
# These get set using cargo-generate-rpm --set-metadata at package build time.
#post_install_script = ...
#pre_uninstall_script = ...
#post_uninstall_script = ...
# ensure that the useradd tool is present by depending on its package
[package.metadata.generate-rpm.requires]
shadow-utils = "*"