summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO2
-rw-r--r--.gitignore1
-rw-r--r--Makefile2
-rw-r--r--PKGBUILD6
-rwxr-xr-xgenerate-pkgbuild.sh50
5 files changed, 58 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b8fd8e18928e..47710ceed755 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = cloudflare-dynamic-dns
pkgdesc = Updates AAAA records at Cloudflare according to the current IPv6 address
pkgver = 2.0.0
- pkgrel = 2
+ pkgrel = 3
url = https://github.com/Zebradil/cloudflare-dynamic-dns
arch = any
license = MIT
diff --git a/.gitignore b/.gitignore
index 02f93e9637ab..9b4b1035243b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
!.gitignore
!Makefile
!PKGBUILD
+!generate-pkgbuild.sh
diff --git a/Makefile b/Makefile
index 51132ebe0d2a..72663fbcda50 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,6 @@
update::
+ ./generate-pkgbuild.sh > PKGBUILD
+ updpkgsums
makepkg --printsrcinfo > .SRCINFO
install::
diff --git a/PKGBUILD b/PKGBUILD
index 23fa250944da..c59a03f993ca 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,8 @@
-pkgname=cloudflare-dynamic-dns
+# Maintainer: German Lashevich <german.lashevich@gmail.com>
+
pkgver=2.0.0
-pkgrel=2
+pkgname=cloudflare-dynamic-dns
+pkgrel=3
pkgdesc='Updates AAAA records at Cloudflare according to the current IPv6 address'
arch=('any')
url='https://github.com/Zebradil/cloudflare-dynamic-dns'
diff --git a/generate-pkgbuild.sh b/generate-pkgbuild.sh
new file mode 100755
index 000000000000..53b3dfec5b36
--- /dev/null
+++ b/generate-pkgbuild.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+pkgver="$(curl -fsSL https://api.github.com/repos/zebradil/cloudflare-dynamic-dns/releases/latest | jq -r '.tag_name')"
+
+cat <<EOF
+# Maintainer: German Lashevich <german.lashevich@gmail.com>
+
+pkgver=${pkgver:?}
+EOF
+
+cat <<'EOF'
+pkgname=cloudflare-dynamic-dns
+pkgrel=3
+pkgdesc='Updates AAAA records at Cloudflare according to the current IPv6 address'
+arch=('any')
+url='https://github.com/Zebradil/cloudflare-dynamic-dns'
+license=('MIT')
+makedepends=('go')
+source=("${pkgname}-${pkgver}::https://github.com/zebradil/${pkgname}/archive/${pkgver}.tar.gz")
+sha256sums=('e1af4b7f941c13b478a8285343de8c05455600a2e0709281253e7ec1b5708fe3')
+
+prepare() {
+ cd "$pkgname-$pkgver"
+ mkdir -p build/
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+ export CGO_CPPFLAGS="${CPPFLAGS}"
+ export CGO_CFLAGS="${CFLAGS}"
+ export CGO_CXXFLAGS="${CXXFLAGS}"
+ export CGO_LDFLAGS="${LDFLAGS}"
+ export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
+ go build -o build/$pkgname main.go
+}
+
+check() {
+ cd "$pkgname-$pkgver"
+ go test ./...
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+ install -Dm755 build/$pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm644 systemd/* -t "$pkgdir"/usr/lib/systemd/system
+ install -m700 -d "$pkgdir"/etc/cloudflare-dynamic-dns/config.d
+}
+EOF