| 1 | # Contributor: Christopher Mosetick <[email protected]> |
| 2 | # Maintainer: Christopher Mosetick <[email protected]> |
| 3 | maintainer="Christopher Mosetick <[email protected]>" |
| 4 | pkgname=rcvd |
| 5 | pkgver=0.3.1 |
| 6 | pkgrel=0 |
| 7 | pkgdesc="Privacy-first encrypted DNS engine (DoQ/DoT/DoH, no cleartext fallback)" |
| 8 | url="https://rcvd.net" |
| 9 | arch="all" |
| 10 | license="MIT" |
| 11 | depends="ca-certificates" |
| 12 | makedepends="go" |
| 13 | install="$pkgname.pre-install" |
| 14 | pkgusers=rcvd |
| 15 | pkggroups=rcvd |
| 16 | subpackages="$pkgname-doc $pkgname-openrc" |
| 17 | source="$pkgname-$pkgver.tar.gz::https://github.com/rcvd-dns/rcvd/archive/refs/tags/v$pkgver.tar.gz |
| 18 | $pkgname.initd |
| 19 | $pkgname.confd |
| 20 | $pkgname.sysctl.conf |
| 21 | " |
| 22 | options="net" # go modules |
| 23 | |
| 24 | build() { |
| 25 | # Stamp version/date/source (matches rcvd's release recipe). Derive the |
| 26 | # build date from SOURCE_DATE_EPOCH so the build stays reproducible; the |
| 27 | # git commit stays "unknown" (no .git in the release tarball, by design). |
| 28 | local _date |
| 29 | _date="$(date -u -d "@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y-%m-%dT%H:%M:%SZ)" |
| 30 | go build -v -o output/rcvd \ |
| 31 | -ldflags "-s -w \ |
| 32 | -X main.version=$pkgver \ |
| 33 | -X main.buildDate=$_date \ |
| 34 | -X main.buildSource=alpine" \ |
| 35 | ./cmd/rcvd |
| 36 | } |
| 37 | |
| 38 | check() { |
| 39 | ./output/rcvd -version |
| 40 | } |
| 41 | |
| 42 | package() { |
| 43 | install -dvm0755 -o "$pkgusers" -g "$pkggroups" \ |
| 44 | "$pkgdir"/etc/$pkgname \ |
| 45 | "$pkgdir"/var/log/$pkgname |
| 46 | |
| 47 | install -Dvm0755 output/rcvd -t "$pkgdir"/usr/bin/ |
| 48 | |
| 49 | # ship the encrypted-forwarder profile as the default config |
| 50 | install -Dvm0644 etc/mode1-forwarder-3providers.toml \ |
| 51 | "$pkgdir"/etc/$pkgname/rcvd.toml |
| 52 | |
| 53 | install -Dvm0755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname |
| 54 | install -Dvm0644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname |
| 55 | install -Dvm0644 "$srcdir"/$pkgname.sysctl.conf \ |
| 56 | "$pkgdir"/etc/sysctl.d/$pkgname.conf |
| 57 | |
| 58 | # additional example profiles as documentation |
| 59 | install -Dvm0644 etc/*.toml -t "$pkgdir"/usr/share/doc/$pkgname/examples/ |
| 60 | install -Dvm0644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/ |
| 61 | |
| 62 | install -Dvm0644 man/rcvd.1 "$pkgdir"/usr/share/man/man1/rcvd.1 |
| 63 | } |
| 64 | |
| 65 | sha512sums=" |
| 66 | 711167f18fd37c2aba222cad2742c07d7dc9bfb5d45ba3db5215d00c1c91f7815a1a0192c6cc7050f62eba610182ba22a23a88ceb97bb2c5c32fbaf90733de84 rcvd-0.3.1.tar.gz |
| 67 | b34508be64b7e019102f92ac953af8a473f6df0b589bf52060b5ea2ee11ed70c31014730ec715961f4b5b097ae24c4d3bc6f7abefcd9882893d571e13c8fa300 rcvd.initd |
| 68 | 74550af3a26ea243521e14956e319ae440da64f19f32ffe252d75cc282bdb5ddd1e4be94380cc29f69012f23de9757e041c5f39f3a7eb130537c220381e40bc0 rcvd.confd |
| 69 | a4bc7a59307803b68745c643345cdf0299ac8adbf3d0bc0476a8eaa35ec736f7ba455ed2b1c04f113fde4aa0ed8f5ddc69325fa6f9906349610ad72ea27192aa rcvd.sysctl.conf |
| 70 | " |