-
-
Notifications
You must be signed in to change notification settings - Fork 70
/
Cargo.toml
115 lines (104 loc) · 4.59 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
112
113
114
[package]
# Note: some of these values are also used when building Debian packages below.
name = "routinator"
version = "0.14.1-dev"
edition = "2021"
rust-version = "1.70"
authors = ["NLnet Labs <[email protected]>"]
description = "An RPKI relying party software."
repository = "https://github.com/NLnetLabs/routinator"
keywords = ["rpki", "routing-security", "bgp"]
categories = ["command-line-utilities"]
license = "BSD-3-Clause"
readme = "README.md"
exclude = [ ".github", "doc/manual", "Dockerfile", ".dockerignore", ".readthedocs.yaml", ".gitignore" ]
[dependencies]
arbitrary = { version = "1", optional = true, features = ["derive"] }
bytes = "1.0.0"
chrono = "0.4.35"
clap = { version = "~4.4", features = [ "wrap_help", "cargo", "derive" ] }
crossbeam-queue = "0.3.1"
dirs = "5"
form_urlencoded = "1.0"
futures = "0.3.4"
http-body-util = "0.1"
hyper = { version = "1.2", features = [ "server" ] }
hyper-util = { version = "0.1", features = [ "server" ] }
listenfd = "1"
log = "0.4.8"
pin-project-lite = "0.2.4"
rand = "0.8.1"
reqwest = { version = "0.12.4", default-features = false, features = ["blocking", "rustls-tls" ] }
ring = "0.17"
rpki = { version = "0.18.3", features = [ "repository", "rrdp", "rtr", "serde", "slurm" ] }
rustls-pemfile = "2.1.2"
serde = { version = "1.0.95", features = [ "derive" ] }
serde_json = "1.0.57"
siphasher = "0.3.10"
tempfile = "3.1.0"
tokio = { version = "1.24", features = [ "io-util", "macros", "process", "rt", "rt-multi-thread", "signal", "sync" ] }
tokio-rustls = { version = "0.25.0", default-features = false, features = [ "ring", "logging", "tls12" ] }
toml_edit = "0.22.14"
uuid = "1.1"
[target.'cfg(unix)'.dependencies]
nix = { version = "0.27.1", features = ["fs", "mman", "net", "process", "socket", "user"] }
syslog = "6"
[features]
default = [ "socks", "ui"]
arbitrary = [ "dep:arbitrary", "chrono/arbitrary", "rpki/arbitrary" ]
aspa = []
native-tls = [ "reqwest/native-tls" ]
rta = []
socks = [ "reqwest/socks" ]
ui = []
[profile.release]
panic = "abort"
[package.metadata.docs.rs]
# Building the UI breaks docs.rs, so let’s not.
no-default-features = true
features = [ "socks" ]
[package.metadata.deb]
name = "routinator"
maintainer = "The NLnet Labs RPKI Team <[email protected]>"
license-file = ["LICENSE", "0"]
extended-description = """\
The Resource Public Key Infrastructure provides cryptographically signed \
statements about the association of Internet routing resources. \
In particular, it allows the holder of an IP address prefix to publish which \
AS number will be the origin of BGP route announcements for it. \
Routinator is a RPKI relying party software written in Rust. """
# ensure that the useradd and rsync tools are present by installing their respective packages
depends = "$auto, passwd, rsync"
section = "net"
priority = "optional"
assets = [
["target/release/routinator", "usr/bin/", "755"],
["README.md", "usr/share/doc/routinator/", "644"],
["doc/routinator.1", "usr/share/man/man1/routinator.1", "644"],
["etc/routinator.conf.system-service", "etc/routinator/routinator.conf", "644"]
]
maintainer-scripts = "pkg/debian"
changelog = "target/debian/changelog" # this will be generated by the pkg workflow
copyright = "Copyright (c) 2020, NLnet Labs. All rights reserved."
conf-files = ["/etc/routinator/routinator.conf"]
systemd-units = { unit-name = "routinator", unit-scripts = "pkg/common", enable = true }
[package.metadata.deb.variants.minimal]
[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/routinator", dest = "/usr/bin/routinator", mode = "755" },
{ source = "target/rpm/routinator.service", dest = "/lib/systemd/system/routinator.service", mode = "644" },
{ source = "doc/routinator.1", dest = "/usr/share/man/man1/routinator.1", mode = "644", doc = true },
{ source = "etc/routinator.conf.system-service", dest = "/etc/routinator/routinator.conf", mode = "644", config = true }
]
# 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 and rsync tools are present by installing their respective packages
[package.metadata.generate-rpm.requires]
shadow-utils = "*"
rsync = "*"