summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoryuannan2023-04-11 12:54:01 +0100
committeryuannan2023-04-11 12:54:01 +0100
commit45711fd05d641d33d8e4ef881704316d5665e248 (patch)
treecf5c9791ef0f712bd867c98828732a3aa0037868
parent0d295a92fe9a4c9cebb65edaeafc96b20992992a (diff)
downloadaur-45711fd05d641d33d8e4ef881704316d5665e248.tar.gz
added service and timers
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD17
-rw-r--r--yamr.conf6
-rw-r--r--yamr.service41
-rw-r--r--yamr.timer9
5 files changed, 77 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2eb81a7d7dc7..f1efaf024c85 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,12 +1,18 @@
pkgbase = yamr
pkgdesc = Yet Another Mirror Ranker. The fastest mirror ranker!⁺ A fast mirrorlist in seconds!
pkgver = 0.0.0.1
- pkgrel = 2
+ pkgrel = 3
url = https://gitlab.com/yuannan/yamr
arch = any
license = GPL3
depends = geoip
source = git+https://gitlab.com/yuannan/yamr
+ source = yamr.service
+ source = yamr.timer
+ source = yamr.conf
sha256sums = SKIP
+ sha256sums = b3d16cd45b686caf6c583c4b9627fc5c0ff49b15c101b58d5deed8bc86ace835
+ sha256sums = ee0e13937fefac4645a10806f22cd632e7b94b56b018c5b6887d2b5ae423c0c7
+ sha256sums = cfa7ba87d9f6e50383f535e0af9ac7b5f3b41623559d9d8cb659c26b1f038dd9
pkgname = yamr
diff --git a/PKGBUILD b/PKGBUILD
index 2d8d574cb460..491df28d6fa4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,15 +2,23 @@
pkgname=yamr
pkgver=0.0.0.1
-pkgrel=2
+pkgrel=3
pkgdesc='Yet Another Mirror Ranker. The fastest mirror ranker!⁺ A fast mirrorlist in seconds!'
arch=('any')
url='https://gitlab.com/yuannan/yamr'
license=('GPL3')
depends=('geoip')
conflicts=()
-source=("git+https://gitlab.com/yuannan/yamr")
-sha256sums=('SKIP')
+source=("git+https://gitlab.com/yuannan/yamr"
+ "$pkgname.service"
+ "$pkgname.timer"
+ "$pkgname.conf"
+ )
+sha256sums=("SKIP"
+ "b3d16cd45b686caf6c583c4b9627fc5c0ff49b15c101b58d5deed8bc86ace835"
+ "ee0e13937fefac4645a10806f22cd632e7b94b56b018c5b6887d2b5ae423c0c7"
+ "cfa7ba87d9f6e50383f535e0af9ac7b5f3b41623559d9d8cb659c26b1f038dd9"
+)
build() {
cd yamr
@@ -31,4 +39,7 @@ check() {
package() {
install -Dm 755 "$srcdir/$pkgname/build/yamr" "$pkgdir/usr/bin/$pkgname"
+ install -Dm 644 "$srcdir/$pkgname.service" "$pkgdir/usr/lib/systemd/system/$pkgname.service"
+ install -Dm 644 "$srcdir/$pkgname.timer" "$pkgdir/usr/lib/systemd/system/$pkgname.timer"
+ install -Dm 644 "$srcdir/$pkgname.conf" "$pkgdir/etc/$pkgname.conf"
}
diff --git a/yamr.conf b/yamr.conf
new file mode 100644
index 000000000000..f7bc7b4181be
--- /dev/null
+++ b/yamr.conf
@@ -0,0 +1,6 @@
+# yamr https://gitlab.com/yuannan/yamr
+# note: this is *ONLY* for the systemd service, not a global config
+# load command arguments into this file
+
+# verbose mode
+-V
diff --git a/yamr.service b/yamr.service
new file mode 100644
index 000000000000..417bdbd0bd9c
--- /dev/null
+++ b/yamr.service
@@ -0,0 +1,41 @@
+[Unit]
+Description=Refresh Pacman mirrorlist with yamr.
+Documentation=https://gitlab.com/yuannan/yamr
+Wants=network-online.target
+After=network-online.target nss-lookup.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/xargs -a /etc/yamr.conf yamr
+CacheDirectory=yamr
+# CapabilityBoundingSet=~CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_CHOWN CAP_FSETID CAP_SETFCAP CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_IPC_OWNER CAP_NET_ADMIN CAP_SYS_TIME CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE CAP_KILL CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SYS_NICE CAP_SYS_RESOURCE CAP_MAC_ADMIN CAP_MAC_OVERRIDE CAP_SYS_BOOT CAP_LINUX_IMMUTABLE CAP_IPC_LOCK CAP_SYS_CHROOT CAP_BLOCK_SUSPEND CAP_LEASE CAP_SYS_PACCT CAP_SYS_TTY_CONFIG CAP_WAKE_ALARM
+CapabilityBoundingSet=
+Environment=XDG_CACHE_HOME=/var/cache/yamr
+LockPersonality=true
+MemoryDenyWriteExecute=true
+NoNewPrivileges=true
+PrivateDevices=true
+PrivateTmp=true
+PrivateUsers=true
+ProtectClock=true
+ProtectControlGroups=true
+ProtectHome=true
+ProtectHostname=true
+ProtectKernelTunables=true
+ProtectKernelLogs=true
+ProtectKernelModules=true
+ProtectSystem=strict
+ReadOnlyPaths=/etc/yamr.conf
+ReadWritePaths=/etc/pacman.d/mirrorlist
+RemoveIPC=true
+RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
+RestrictNamespaces=true
+RestrictRealtime=true
+RestrictSUIDSGID=true
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+SystemCallFilter=~@resources @privileged
+UMask=177
+
+[Install]
+WantedBy=multi-user.target
diff --git a/yamr.timer b/yamr.timer
new file mode 100644
index 000000000000..bbdcab03a6bd
--- /dev/null
+++ b/yamr.timer
@@ -0,0 +1,9 @@
+[Unit]
+Description=Refresh Pacman mirrorlist hourly with yamr
+
+[Timer]
+OnBootSec=15min
+OnUnitActiveSec=1h
+
+[Install]
+WantedBy=timers.target