dogdns

LOW
maintainer l1a 0 votes scanned 2026-10-07 06:05:09.924014
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: Ken Tobias <kentobias@gmail.com>
2#
3# Generated by scripts/render_packaging.py from packaging/aur/PKGBUILD.in in
4# https://github.com/l1a/dog. Change the template there, not this file. The version and the source
5# checksum are the only release-specific values: they are supplied when the package is published,
6# from the tag and from the tarball actually downloaded, so nothing in the repository records a
7# release and nothing can drift from one.
8
9pkgname=dogdns
10pkgver=0.7.12
11pkgrel=1
12pkgdesc="Command-line DNS client with colourful output, DoT, DoH and JSON"
13arch=('x86_64' 'aarch64')
14url="https://github.com/l1a/dog"
15license=('GPL-3.0-or-later')
16depends=('gcc-libs')
17# `cargo` is provided by the `rust` package. The man page is Markdown in the tree and is
18# rendered here rather than committed.
19makedepends=('cargo' 'pandoc')
20# ring (via rustls) compiles C and assembly through the `cc` crate. makepkg's default LTO flags make
21# that C code GCC LTO bytecode, which Rust's linker cannot read, and the build fails with
22# `undefined symbol: ring_core_*` at the final link. Rust packages with C dependencies disable LTO.
23options=('!lto')
24# The installed binary is `dog`, which is also what the official `dog` package ships (the
25# unmaintained upstream tool), so the two cannot be installed together.
26provides=('dog')
27conflicts=('dog')
28# The GitHub tag tarball unpacks to dog-$pkgver/ (the repository is `dog`, the package `dogdns`).
29source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
30sha256sums=('c9f7a3a046f9e5862454e5e48ada70aa812a9d82ef16f296e605238b3eab2e34')
31
32prepare() {
33 cd "dog-$pkgver"
34 export RUSTUP_TOOLCHAIN=stable
35 # Fetch now so the build can run with --frozen (offline, and pinned by Cargo.lock).
36 cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
37}
38
39build() {
40 cd "dog-$pkgver"
41 export RUSTUP_TOOLCHAIN=stable
42 export CARGO_TARGET_DIR=target
43 cargo build --frozen --release
44
45 # The same substitution `just man` does; man/dog.1.md carries a literal VERSION placeholder.
46 sed "s/{{VERSION}}/$pkgver/g" man/dog.1.md | pandoc --standalone -f markdown -t man > "$srcdir/dog.1"
47
48 # Generated by the binary just built, so they cannot disagree with its actual CLI.
49 ./target/release/dog --completions bash > "$srcdir/dog.bash"
50 ./target/release/dog --completions zsh > "$srcdir/_dog"
51 ./target/release/dog --completions fish > "$srcdir/dog.fish"
52}
53
54check() {
55 cd "dog-$pkgver"
56 export RUSTUP_TOOLCHAIN=stable
57 # Hermetic: the suite parses arguments and renders output; it makes no DNS queries.
58 cargo test --frozen
59}
60
61package() {
62 cd "dog-$pkgver"
63 install -Dm755 target/release/dog "$pkgdir/usr/bin/dog"
64 install -Dm644 "$srcdir/dog.1" "$pkgdir/usr/share/man/man1/dog.1"
65 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
66 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
67
68 install -Dm644 "$srcdir/dog.bash" "$pkgdir/usr/share/bash-completion/completions/dog"
69 install -Dm644 "$srcdir/_dog" "$pkgdir/usr/share/zsh/site-functions/_dog"
70 install -Dm644 "$srcdir/dog.fish" "$pkgdir/usr/share/fish/vendor_completions.d/dog.fish"
71}
72

Scan history

Scanned at (UTC)SeverityRules
2026-10-07 06:05:09 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion