summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig)2021-06-20 00:28:16 +0200
committerJan Alexander Steffens (heftig)2021-06-20 00:28:16 +0200
commitcd2d6d2cbcfa22dab2b6590a5218591f322270a4 (patch)
tree78d7bb42323d223871ea067bfa45a901b75e9672
parent99337a988efc63ebc5e1cdea12b4446a05d587f1 (diff)
downloadaur-cd2d6d2cbcfa22dab2b6590a5218591f322270a4.tar.gz
2021.05.24.00-1: Supervise using systemd
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD43
-rw-r--r--watchman.install16
3 files changed, 60 insertions, 11 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8f2ad2210cfc..193e77001562 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,19 +1,19 @@
pkgbase = watchman-bin
pkgdesc = An inotify-based file watching and job triggering command line utility
- pkgver = 2021.05.10.00
- pkgrel = 3
+ pkgver = 2021.05.24.00
+ pkgrel = 1
url = https://facebook.github.io/watchman/
+ install = watchman.install
arch = x86_64
license = Apache
makedepends = patchelf
makedepends = python
depends = openssl
depends = gcc-libs
- provides = watchman=2021.05.10.00
+ provides = watchman=2021.05.24.00
conflicts = watchman
options = !strip
- source = https://github.com/facebook/watchman/releases/download/v2021.05.10.00/watchman-v2021.05.10.00-linux.zip
- sha256sums = dd286b57b2f3c837aeea0ff67b646f247cd8e4c13c2199f321964a1cc7359355
+ source = https://github.com/facebook/watchman/releases/download/v2021.05.24.00/watchman-v2021.05.24.00-linux.zip
+ sha256sums = 75e63ac81703f06815db99a4e33d23b0ad87f907bd592796d7eef679e9123e81
pkgname = watchman-bin
-
diff --git a/PKGBUILD b/PKGBUILD
index da0a1e69929f..ae2843e5b5d0 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,6 @@
pkgname=watchman-bin
-pkgver=2021.05.10.00
-pkgrel=3
+pkgver=2021.05.24.00
+pkgrel=1
pkgdesc="An inotify-based file watching and job triggering command line utility"
url="https://facebook.github.io/watchman/"
arch=(x86_64)
@@ -10,9 +10,11 @@ makedepends=(patchelf python)
provides=("watchman=$pkgver")
conflicts=(watchman)
options=(!strip)
+install=watchman.install
+
# https://github.com/facebook/watchman/releases
source=("https://github.com/facebook/watchman/releases/download/v$pkgver/watchman-v$pkgver-linux.zip")
-sha256sums=('dd286b57b2f3c837aeea0ff67b646f247cd8e4c13c2199f321964a1cc7359355')
+sha256sums=('75e63ac81703f06815db99a4e33d23b0ad87f907bd592796d7eef679e9123e81')
prepare() {
cd watchman-v$pkgver-linux
@@ -45,11 +47,42 @@ package() {
install -Dt "$pkgdir/usr/bin" bin/*
install -Dt "$pkgdir/usr/lib/watchman" lib/*
- install -Dm644 /dev/stdin "$pkgdir"/usr/lib/tmpfiles.d/watchman.conf <<END
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/tmpfiles.d/watchman.conf" <<END
d /run/watchman 1777 root root
END
- echo '{}' | install -Dm644 /dev/stdin "$pkgdir"/etc/watchman.json.default
+ echo '{}' | install -Dm644 /dev/stdin "$pkgdir/etc/watchman.json.default"
+
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/user/watchman.socket" <<END
+[Unit]
+Description=File watching service socket
+Documentation=$url
+
+[Socket]
+ListenStream=/run/watchman/%u-state/sock
+SocketMode=0600
+DirectoryMode=0700
+
+[Install]
+WantedBy=sockets.target
+END
+
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/systemd/user/watchman.service" <<END
+[Unit]
+Description=File watching service
+Documentation=$url
+Requires=watchman.socket
+
+[Service]
+ExecStart=/usr/bin/watchman --foreground --inetd --logfile=/
+Restart=on-failure
+StandardInput=socket
+StandardOutput=journal
+StandardError=inherit
+
+[Install]
+WantedBy=default.target
+END
}
# vim:set sw=2 et:
diff --git a/watchman.install b/watchman.install
new file mode 100644
index 000000000000..12699ca74f3b
--- /dev/null
+++ b/watchman.install
@@ -0,0 +1,16 @@
+post_install() {
+ # Enable socket by default
+ systemctl --global enable watchman.socket
+}
+
+post_upgrade() {
+ if (( $(vercmp $2 2021.05.24.00-1) < 0)); then
+ systemctl --global enable watchman.socket
+ fi
+}
+
+pre_remove() {
+ systemctl --global disable watchman.socket
+}
+
+# vim:set sw=2 et: