[package] # Note: some of these values are also used when building Debian packages below. name = "routinator" version = "0.14.0-dev" edition = "2021" rust-version = "1.70" authors = ["NLnet Labs "] 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.23" clap = { version = "~4.4", features = [ "wrap_help", "cargo", "derive" ] } crossbeam-queue = "0.3.1" dirs = "5" form_urlencoded = "1.0" futures = "0.3.4" hyper = { version = "0.14", features = [ "server", "stream" ] } listenfd = "1" log = "0.4.8" pin-project-lite = "0.2.4" rand = "0.8.1" reqwest = { version = "0.11.0", default-features = false, features = ["blocking", "rustls-tls" ] } ring = "0.17" rpki = { version = "0.18", features = [ "repository", "rrdp", "rtr", "serde", "slurm" ] } rustls-pemfile = "1" 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 = "0.24.1" toml_edit = "0.20" uuid = "1.1" routinator-ui = { version = "0.3.4", optional = true } [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", "tls" ] rta = [] socks = [ "reqwest/socks" ] tls = [] ui = [ "routinator-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 " 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 = "*"