rtrtr 0.2.2

A versatile tool for managing route filters
Documentation
[package]
name = "rtrtr"
version = "0.2.2"
edition = "2018"
authors = ["The NLnet Labs RPKI Team <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]
arc-swap        = "1.0"
chrono          = "0.4.11"
clap            = { version = "3.0", features = [ "cargo" ] }
crossbeam-utils = "0.8.4"
fern            = "0.6.0"
futures         = "0.3"
hyper           = { version = "0.14.8", features = [ "server", "stream" ] }
log             = "0.4"
log-reroute     = "0.1.5"
pin-project-lite = "0.2.4"
rand            = "0.8.3"
reqwest         = { version = "0.11.3", default-features = false, features = ["blocking", "rustls-tls"] }
routecore       = "0.1.1"
rpki            = { version = "0.14.2", features = ["rtr", "slurm"] }
rustls-pemfile  = "1.0"
serde           = { version = "1.0", features = ["derive"] }
serde_json      = "1.0"
slab            = "0.4.2"
tokio           = { version = "1.6", features = ["io-util", "macros", "net", "rt", "rt-multi-thread", "sync", "time"]}
tokio-rustls    = "0.23.2"
tokio-stream    = { version = "0.1", features = ["net"] }
toml            = "0.5.6"
url             = { version = "2.2", features = ["serde"] }
webpki-roots    = "0.22.3"

[target.'cfg(unix)'.dependencies]
syslog          = "6.0"

[dev-dependencies]
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" },
    { 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" },
    { source = "pkg/rpm/postinst", dest = "/usr/share/rtrtr/rpm/postinst", mode = "755" },
]
post_install_script = "/usr/share/rtrtr/rpm/postinst $*"

# ensure that the useradd tool is present by depending on its package
[package.metadata.generate-rpm.requires]
shadow-utils = "*"