Files
NLnetLabs-dnst/Cargo.toml
T
Jannik PetersandGitHub 9c1d36a3af Separate ldns replacement package (#145)
* 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
2026-03-05 13:11:30 +01:00

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 },
]