summaryrefslogtreecommitdiff
path: root/opt/aardvark-dns
diff options
context:
space:
mode:
Diffstat (limited to 'opt/aardvark-dns')
-rw-r--r--opt/aardvark-dns/.footprint4
-rw-r--r--opt/aardvark-dns/.signature8
-rw-r--r--opt/aardvark-dns/MAKEPKG42
-rw-r--r--opt/aardvark-dns/close_range-musl.patch16
4 files changed, 70 insertions, 0 deletions
diff --git a/opt/aardvark-dns/.footprint b/opt/aardvark-dns/.footprint
new file mode 100644
index 0000000..99cbe4d
--- /dev/null
+++ b/opt/aardvark-dns/.footprint
@@ -0,0 +1,4 @@
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/libexec/
+drwxr-xr-x root/root usr/libexec/podman/
+-rwxr-xr-x root/root usr/libexec/podman/aardvark-dns
diff --git a/opt/aardvark-dns/.signature b/opt/aardvark-dns/.signature
new file mode 100644
index 0000000..2410e85
--- /dev/null
+++ b/opt/aardvark-dns/.signature
@@ -0,0 +1,8 @@
+RWTZ9IduCSQ/mJU6LAw7DApYg4fAs/3SmPNCZ1SyU/I4X9bPHlNhlIZN2XtRTlCZ3hm4P3u1bVG92qvQIIAGdED4f4LMSxOoewc=
+
+SHA256 (MAKEPKG) = 9e5bcd8f2a8a832b5d5c8d53896ac0de5b05ed43db39a216f2fcc016a944fcd4
+SHA256 (.footprint) = f99f7da5210af0ac920cf93f2e5c78b8202d4c0dba49205d9c4adf45d8f53995
+SHA256 (v2.1.0.tar.gz) = daf871488603e659b0501224cf0731ac317809b1d1701fc061cb4f6ae39a894f
+SHA256 (aardvark-dns-v2.1.0-vendor.tar.gz) = 6e6366828d4cd2ccf3cfe07657d8aba083045605696b4f74967c2c8340f51500
+SHA256 (close_range-musl.patch) = abdfd2d7cafe9a39ab3d55cd67e39bc82fcf4713cd8be37ad4d5c891dce2c82e
+SHA256 (aardvark-dns#2.1.0-2.pkg.tar.gz) = 8529027ea469c16366ea709df7ab907f1e9627d67d370b8fe738450096395409
diff --git a/opt/aardvark-dns/MAKEPKG b/opt/aardvark-dns/MAKEPKG
new file mode 100644
index 0000000..8fb1e92
--- /dev/null
+++ b/opt/aardvark-dns/MAKEPKG
@@ -0,0 +1,42 @@
+#!/bin/mkpkg
+# description: Authoritative DNS server for container records
+# url: https://github.com/containers/aardvark-dns
+
+name=aardvark-dns
+version=2.1.0
+release=2
+depends=()
+makedeps=(rust cargo-audit)
+source=(https://github.com/containers/$name/archive/refs/tags/v$version.tar.gz
+ https://github.com/containers/$name/releases/download/v$version/$name-v$version-vendor.tar.gz
+ close_range-musl.patch)
+
+sha256sums=(
+ "daf871488603e659b0501224cf0731ac317809b1d1701fc061cb4f6ae39a894f"
+ "6e6366828d4cd2ccf3cfe07657d8aba083045605696b4f74967c2c8340f51500"
+ "abdfd2d7cafe9a39ab3d55cd67e39bc82fcf4713cd8be37ad4d5c891dce2c82e"
+)
+
+build() {
+ cd $name-$version
+ patch -p1 < $SRC/close_range-musl.patch
+ mv $SRC/vendor .
+ mkdir -p .cargo
+ cat > .cargo/config.toml <<- EOF
+ [source.crates-io]
+ replace-with = "vendored-sources"
+ [source.vendored-sources]
+ directory = "vendor"
+ EOF
+ cargo audit
+ make PREFIX=/usr build
+ install -Dm755 bin/aardvark-dns $PKG/usr/libexec/podman/aardvark-dns
+}
+
+signify() {
+ untrusted comment: public key
+ RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
+}
+
+# vim: filetype=sh
+
diff --git a/opt/aardvark-dns/close_range-musl.patch b/opt/aardvark-dns/close_range-musl.patch
new file mode 100644
index 0000000..e853b28
--- /dev/null
+++ b/opt/aardvark-dns/close_range-musl.patch
@@ -0,0 +1,16 @@
+--- a/src/main.rs
++++ b/src/main.rs
+@@ -34,7 +34,13 @@
+
+ fn main() {
+ // Close all fds we inherited from our parent process, we only need stdio.
++ // musl's libc crate exposes SYS_close_range but not the safe
++ // wrapper (only defined for target_env = "gnu" upstream), so fall
++ // back to the raw syscall there.
++ #[cfg(target_env = "gnu")]
+ let _ = unsafe { libc::close_range(3, libc::c_uint::MAX, 0) };
++ #[cfg(not(target_env = "gnu"))]
++ let _ = unsafe { libc::syscall(libc::SYS_close_range, 3u32, libc::c_uint::MAX, 0u32) };
+
+ let formatter = Formatter3164 {
+ facility: Facility::LOG_USER,