mirror of
https://github.com/NLnetLabs/dnst.git
synced 2026-08-17 21:25:51 +02:00
* Move ldns obsoletion to separate package * Remove proposed channel from pkg-test The packages published in proposed are so outdated, they fail pkg-test anyway. * Remove EOL versions from build targets * Update Dockerfile base image to alpine 2.23 * Remove systemd macros from scriptlets * Change version to 0.2.0-alpha1
121 lines
4.8 KiB
TOML
121 lines
4.8 KiB
TOML
[package]
|
|
name = "dnst"
|
|
version = "0.2.0-alpha1"
|
|
edition = "2021"
|
|
default-run = "dnst"
|
|
readme = "README.md"
|
|
repository = "https://github.com/nlnetlabs/dnst/"
|
|
authors = ["NLnet Labs <dns-team@nlnetlabs.nl>"]
|
|
description = "Rust reimplementation of important ldns programs."
|
|
categories = ["command-line-utilities"]
|
|
license = "BSD-3-Clause"
|
|
keywords = ["DNS", "domain", "ldns"]
|
|
rust-version = "1.88"
|
|
|
|
[[bin]]
|
|
name = "ldns"
|
|
path = "src/bin/ldns.rs"
|
|
|
|
[features]
|
|
default = ["kmip", "openssl", "ring"]
|
|
|
|
# Cryptographic backends
|
|
kmip = ["domain-kmip", "dep:indenter", "dep:rand"]
|
|
openssl = ["domain/openssl"]
|
|
ring = ["domain/ring"]
|
|
|
|
# For building in a cargo cross container that lacks openssl-dev so cannot
|
|
# successfully compile the Rust OpenSSL crate.
|
|
static-openssl = ["openssl/vendored"]
|
|
|
|
[dependencies]
|
|
bytes = "1.8.0"
|
|
chrono = "0.4.38"
|
|
clap = { version = "4.3.4", features = ["cargo", "derive", "wrap_help"] }
|
|
domain = { git = "https://github.com/NLnetLabs/domain.git", branch = "main", features = [
|
|
"bytes",
|
|
"net",
|
|
"resolv",
|
|
"tokio-stream",
|
|
"tsig",
|
|
"unstable-client-transport",
|
|
"unstable-sign",
|
|
"unstable-validator",
|
|
"unstable-zonetree"
|
|
] }
|
|
domain-kmip = { git = "https://github.com/NLnetLabs/domain-kmip.git", branch = "main", optional = true, features = [
|
|
] }
|
|
indenter = { version = "0.3.4", optional = true }
|
|
lexopt = "0.3.0"
|
|
rayon = "1.10.0"
|
|
octseq = "0.5.2"
|
|
rand = { version = "0.9.2", optional = true }
|
|
ring = "0.17.8"
|
|
tokio = "1.40.0"
|
|
openssl = { version = "*", features = ["vendored"], optional = true }
|
|
|
|
# LDNS-xxx mode specific dependencies.
|
|
# TODO: put these behind a feature gate?
|
|
jiff = { version = "0.2", default-features = false, features = ["alloc", "std"] }
|
|
|
|
# This is a workaround. lazy_static 1.0.0 fails to compile, but sharded-slab
|
|
# still uses it. And sharded-slab is used by tracing-subscriber, which is
|
|
# used by domain, which is used by us.
|
|
_unused_lazy_static = { package = "lazy_static", version = "1.0.2" }
|
|
serde_json = "1.0.137"
|
|
serde = "1.0.217"
|
|
tracing = "0.1.41"
|
|
tracing-subscriber = "0.3.19"
|
|
url = "2.5.4"
|
|
futures = "0.3.31"
|
|
fs2 = "0.4.3"
|
|
same-file = "1.0.6"
|
|
supports-color = "3.0.2"
|
|
|
|
[dev-dependencies]
|
|
const_format = " 0.2.33"
|
|
test_bin = "0.4.0"
|
|
tempfile = "3.20.0"
|
|
regex = "1.11.1"
|
|
domain = { git = "https://github.com/NLnetLabs/domain.git", branch = "main", features = [
|
|
"unstable-stelline",
|
|
] }
|
|
pretty_assertions = "1.4.1"
|
|
|
|
# Related reading: https://wiki.debian.org/Teams/RustPackaging/Policy
|
|
[package.metadata.deb]
|
|
depends = "$auto"
|
|
section = "net"
|
|
priority = "optional"
|
|
assets = [
|
|
["target/release/dnst", "usr/bin/", "755"],
|
|
["README.md", "usr/share/doc/dnst/", "644"],
|
|
# TODO: Extend Ploutos to generate the man pages from sources.
|
|
["doc/manual/build/man/dnst.1", "/usr/share/man/man1/dnst.1", "644"],
|
|
["doc/manual/build/man/dnst-key2ds.1", "/usr/share/man/man1/dnst-key2ds.1", "644"],
|
|
["doc/manual/build/man/dnst-keygen.1", "/usr/share/man/man1/dnst-keygen.1", "644"],
|
|
["doc/manual/build/man/dnst-keyset.1", "/usr/share/man/man1/dnst-keyset.1", "644"],
|
|
["doc/manual/build/man/dnst-notify.1", "/usr/share/man/man1/dnst-notify.1", "644"],
|
|
["doc/manual/build/man/dnst-nsec3-hash.1", "/usr/share/man/man1/dnst-nsec3-hash.1", "644"],
|
|
["doc/manual/build/man/dnst-signzone.1", "/usr/share/man/man1/dnst-signzone.1", "644"],
|
|
["doc/manual/build/man/dnst-update.1", "/usr/share/man/man1/dnst-update.1", "644"],
|
|
]
|
|
changelog = "target/debian/changelog" # this will be generated by the pkg workflow
|
|
copyright = "Copyright (c) 2024, NLnet Labs. All rights reserved."
|
|
maintainer-scripts = "pkg/debian"
|
|
|
|
# Related reading: https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/
|
|
[package.metadata.generate-rpm]
|
|
assets = [
|
|
{ source = "target/release/dnst", dest = "/usr/bin/dnst", mode = "755" },
|
|
# TODO: Extend Ploutos to generate the man pages from sources.
|
|
{ source = "doc/manual/build/man/dnst.1", dest = "/usr/share/man/man1/dnst.1", mode = "644", doc = true },
|
|
{ source = "doc/manual/build/man/dnst-key2ds.1", dest = "/usr/share/man/man1/dnst-key2ds.1", mode = "644", doc = true },
|
|
{ source = "doc/manual/build/man/dnst-keygen.1", dest = "/usr/share/man/man1/dnst-keygen.1", mode = "644", doc = true },
|
|
{ source = "doc/manual/build/man/dnst-keyset.1", dest = "/usr/share/man/man1/dnst-keyset.1", mode = "644", doc = true },
|
|
{ source = "doc/manual/build/man/dnst-notify.1", dest = "/usr/share/man/man1/dnst-notify.1", mode = "644", doc = true },
|
|
{ source = "doc/manual/build/man/dnst-nsec3-hash.1", dest = "/usr/share/man/man1/dnst-nsec3-hash.1", mode = "644", doc = true },
|
|
{ source = "doc/manual/build/man/dnst-signzone.1", dest = "/usr/share/man/man1/dnst-signzone.1", mode = "644", doc = true },
|
|
{ source = "doc/manual/build/man/dnst-update.1", dest = "/usr/share/man/man1/dnst-update.1", mode = "644", doc = true },
|
|
]
|