Package Details: ddns-updater 2.4.1-1

Git Clone URL: https://aur.archlinux.org/ddns-updater.git (read-only, click to copy)
Package Base: ddns-updater
Description: Lightweight scratch container updating DNS A records periodically for GoDaddy, Namecheap and DuckDNS
Upstream URL: https://github.com/qdm12/ddns-updater
Licenses: MIT
Submitter: simon04
Maintainer: None
Last Packager: simon04
Votes: 1
Popularity: 0.000000
First Submitted: 2020-04-08 06:18 (UTC)
Last Updated: 2021-09-22 05:13 (UTC)

Dependencies (2)

Required by (0)

Sources (1)

Latest Comments

marcool04 commented on 2024-05-23 20:51 (UTC) (edited on 2024-05-23 20:52 (UTC) by marcool04)

Here are a few proposed improvements to the package:

diff --git a/PKGBUILD b/PKGBUILD
index eb0e86d..141c5ff 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,32 +1,60 @@
 # Maintainer: Simon Legner <Simon.Legner@gmail.com>
 pkgname=ddns-updater
-pkgver=2.4.1
+pkgver=2.6.0
 pkgrel=1
-pkgdesc="Lightweight scratch container updating DNS A records periodically for GoDaddy, Namecheap and DuckDNS"
+pkgdesc="Dynamic DNS updater daemon (multiple providers)"
 arch=('x86_64')
 url="https://github.com/qdm12/ddns-updater"
 license=('MIT')
-makedepends=('git' 'go')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/qdm12/ddns-updater/archive/v$pkgver.tar.gz")
+makedepends=(
+  'git'
+  'go'
+)
+depends=(
+  'gcc-libs'
+  'glibc'
+)
+source=(
+  "$pkgname-$pkgver.tar.gz::${url}/archive/v$pkgver.tar.gz"
+  "${pkgname}.service"
+  "${pkgname}.sysusers"
+  "${pkgname}.tmpfiles"
+)
+sha256sums=('da23b5cedd99aa98176240d3a0e0c76dedc3d888b117fbcc75828b683cab21eb'
+            '9c2e723dd7daef50b8c22a52c5a60235daf84d41466d55f3f5b54e7e5d72b52d'
+            '309f261d420190eb08846e133a7bcc039b26ee99b5b96f6645532d9ad31ef741'
+            'e8f1855a9147bc23148c058fa28ef7483b883d216fc2ee23a4e33eb30f156477')

 prepare() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd "${srcdir}/${pkgname}-$pkgver"
   go mod download
 }

 build() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd "${srcdir}/${pkgname}-$pkgver"
   cd cmd/updater
+  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 \
+    -trimpath \
+    -buildmode=pie \
+    -mod=readonly \
+    -modcacherw \
+    -ldflags "-linkmode external -extldflags \"${LDFLAGS}\"" \
     -gcflags "all=-trimpath=${srcdir}" \
     -asmflags "all=-trimpath=${srcdir}" \
-    -ldflags "-extldflags ${LDFLAGS}"
+    .
 }

 package() {
-  cd "$srcdir/$pkgname-$pkgver"
-  install -D LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-  install -Dm755 cmd/updater/updater "$pkgdir/usr/bin/ddns-updater"
+  cd "${srcdir}/${pkgname}-$pkgver"
+  install -Dv LICENSE "${pkgdir}/usr/share/licenses/$pkgname/LICENSE"
+  install -Dvm 755 cmd/updater/updater "$pkgdir/usr/bin/ddns-updater"
+  install -Dvm 644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
+  install -Dvm 644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+  install -Dvm 644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
 }
-
-sha256sums=('33d8712e27e814810ca25391381150ef344131780c26510d4155c74ecdda9c04')


diff --git a/ddns-updater.service b/ddns-updater.service
new file mode 100644
index 0000000..4c66162
--- /dev/null
+++ b/ddns-updater.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=Dyamic dynamic update daemon
+After=network-online.target
+Wants=network-online.target
+
+
+[Service]
+SyslogIdentifier=ddns-updater
+WorkingDirectory=/var/lib/ddns-updater
+User=ddns-updater
+Environment=DATADIR=/var/lib/ddns-updater/data
+ExecStart=/usr/bin/ddns-updater 
+
+[Install]
+WantedBy=multi-user.target


diff --git a/ddns-updater.sysusers b/ddns-updater.sysusers
new file mode 100644
index 0000000..b4fdbad
--- /dev/null
+++ b/ddns-updater.sysusers
@@ -0,0 +1,2 @@
+# Type Name      ID      GECOS                              Home                    Shell
+u ddns-updater -       "Dynamic dns updater daemon" /var/lib/ddns-updater -


diff --git a/ddns-updater.tmpfiles b/ddns-updater.tmpfiles
new file mode 100644
index 0000000..b22277a
--- /dev/null
+++ b/ddns-updater.tmpfiles
@@ -0,0 +1,3 @@
+# Override this file with a modified version in /etc/tmpfiles.d/
+d /var/lib/ddns-updater 0700 ddns-updater ddns-updater
+