summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyle Westhaus2021-05-24 07:01:54 -0700
committerKyle Westhaus2021-05-24 07:14:42 -0700
commit137b495a0c5cf5b650f81113843363470f4a57eb (patch)
treec4da6f92aa74c72437698e4d0066160e4cd07db5
parent52c0411c763ca6016891abfa0f08a2b2ad8f4473 (diff)
downloadaur-137b495a0c5cf5b650f81113843363470f4a57eb.tar.gz
Switch to using upstream systemd service files
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD23
-rw-r--r--dgraph-bin.install70
-rw-r--r--dgraph-ratel.service15
-rw-r--r--dgraph-zero.service11
-rw-r--r--dgraph.service13
6 files changed, 93 insertions, 56 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 04674cc22893..28b99c719ec8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,9 @@
pkgbase = dgraph-bin
pkgdesc = Fast, transactional, distributed graph database
pkgver = 20.11.2
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/dgraph-io/dgraph
+ install = dgraph-bin.install
arch = x86_64
license = APACHE
license = custom:DCL
@@ -12,15 +13,17 @@ pkgbase = dgraph-bin
source = dgraph-20.11.2.tar.gz::https://github.com/dgraph-io/dgraph/releases/download/v20.11.2/dgraph-linux-amd64.tar.gz
source = dgraph-20.11.2.tar.gz.sha256::https://github.com/dgraph-io/dgraph/releases/download/v20.11.2/dgraph-checksum-linux-amd64.sha256
source = https://raw.githubusercontent.com/dgraph-io/dgraph/v20.11.2/licenses/DCL.txt
- source = dgraph.service
- source = dgraph-zero.service
- source = dgraph-ratel.service
+ source = https://raw.githubusercontent.com/dgraph-io/dgraph/v20.11.2/contrib/systemd/centos/dgraph-alpha.service
+ source = https://raw.githubusercontent.com/dgraph-io/dgraph/v20.11.2/contrib/systemd/centos/dgraph-zero.service
+ source = https://raw.githubusercontent.com/dgraph-io/dgraph/v20.11.2/contrib/systemd/centos/dgraph-ui.service
+ source = https://raw.githubusercontent.com/dgraph-io/dgraph/v20.11.2/contrib/systemd/centos/add_dgraph_account.sh
sha256sums = e67390524f44dd1c09f45ea1da98c80c32cc9b16a2f411e36a9849b1e88820cf
sha256sums = 6e95c6553c193a832f989b8f1f7518ea888008e7cb8fc62d609f6f4cc4772643
sha256sums = bfdc75136567068dd049c2d226049a57de5f4a1871eab7429c022e95952efb0d
- sha256sums = 4ef9bc0e7b2b6d1e6adaef343164f974685bbf2538c9c1ed26ea82d7dddb6974
- sha256sums = 402c5a022615f47d26db47f375f242638d04abbed3bfd22f86067f8f19031f83
- sha256sums = 5e0cefcfa0d86ae896383bc76df46cdf28933aabf06918d89269b3b6b4b0e1db
+ sha256sums = b0436225ea1b65e47cea0e4bc039bcf5c795330f352b6333a99e84f5bd000d23
+ sha256sums = 1d717b444a2bd4a6a5bfe035c8e46bba8319793f9ca211c3d815fa24327dc37f
+ sha256sums = 6403752fc7d99539236c6b6c81763b3a85a8ceb25959feddcd9f66a0adf8a77f
+ sha256sums = cf80944157c7af97d0bcd18a6d4b5f6a4ba14941f47ff8b19977b7477ee2b865
pkgname = dgraph-bin
diff --git a/PKGBUILD b/PKGBUILD
index c1aac8ec18e7..86d33958bf38 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,25 +5,28 @@
pkgname=dgraph-bin
pkgver=20.11.2
-pkgrel=1
+pkgrel=2
pkgdesc='Fast, transactional, distributed graph database'
arch=('x86_64')
url='https://github.com/dgraph-io/dgraph'
license=('APACHE' 'custom:DCL')
provides=('dgraph')
conflicts=('dgraph' 'dgraph-git')
+install=$pkgname.install
source=("dgraph-$pkgver.tar.gz::$url/releases/download/v$pkgver/dgraph-linux-amd64.tar.gz"
"dgraph-$pkgver.tar.gz.sha256::$url/releases/download/v$pkgver/dgraph-checksum-linux-amd64.sha256"
"https://raw.githubusercontent.com/dgraph-io/dgraph/v$pkgver/licenses/DCL.txt"
- 'dgraph.service'
- 'dgraph-zero.service'
- 'dgraph-ratel.service')
+ "https://raw.githubusercontent.com/dgraph-io/dgraph/v$pkgver/contrib/systemd/centos/dgraph-alpha.service"
+ "https://raw.githubusercontent.com/dgraph-io/dgraph/v$pkgver/contrib/systemd/centos/dgraph-zero.service"
+ "https://raw.githubusercontent.com/dgraph-io/dgraph/v$pkgver/contrib/systemd/centos/dgraph-ui.service"
+ "https://raw.githubusercontent.com/dgraph-io/dgraph/v$pkgver/contrib/systemd/centos/add_dgraph_account.sh")
sha256sums=('e67390524f44dd1c09f45ea1da98c80c32cc9b16a2f411e36a9849b1e88820cf'
'6e95c6553c193a832f989b8f1f7518ea888008e7cb8fc62d609f6f4cc4772643'
'bfdc75136567068dd049c2d226049a57de5f4a1871eab7429c022e95952efb0d'
- '4ef9bc0e7b2b6d1e6adaef343164f974685bbf2538c9c1ed26ea82d7dddb6974'
- '402c5a022615f47d26db47f375f242638d04abbed3bfd22f86067f8f19031f83'
- '5e0cefcfa0d86ae896383bc76df46cdf28933aabf06918d89269b3b6b4b0e1db')
+ 'b0436225ea1b65e47cea0e4bc039bcf5c795330f352b6333a99e84f5bd000d23'
+ '1d717b444a2bd4a6a5bfe035c8e46bba8319793f9ca211c3d815fa24327dc37f'
+ '6403752fc7d99539236c6b6c81763b3a85a8ceb25959feddcd9f66a0adf8a77f'
+ 'cf80944157c7af97d0bcd18a6d4b5f6a4ba14941f47ff8b19977b7477ee2b865')
package() {
cd "$srcdir"
@@ -31,10 +34,10 @@ package() {
for binary in dgraph dgraph-ratel badger; do
install -Dm755 $binary "$pkgdir/usr/bin/$binary"
done
- install -Dm644 dgraph.service "$pkgdir/usr/lib/systemd/system/dgraph.service"
+ install -Dm644 dgraph-alpha.service "$pkgdir/usr/lib/systemd/system/dgraph-alpha.service"
install -Dm644 dgraph-zero.service "$pkgdir/usr/lib/systemd/system/dgraph-zero.service"
- install -Dm644 dgraph-ratel.service "$pkgdir/usr/lib/systemd/system/dgraph-ratel.service"
- install -d "$pkgdir/var/lib/dgraph/data"
+ install -Dm644 dgraph-ui.service "$pkgdir/usr/lib/systemd/system/dgraph-ui.service"
+ install -Dm755 add_dgraph_account.sh "$pkgdir/usr/share/dgraph/add_dgraph_account.sh"
}
# vim:set ts=2 sw=2 et:
diff --git a/dgraph-bin.install b/dgraph-bin.install
new file mode 100644
index 000000000000..c8f6559a8311
--- /dev/null
+++ b/dgraph-bin.install
@@ -0,0 +1,70 @@
+_prepare_for_upstream_systemd_services() {
+ # ensure "new" data directories don't already exist before we create
+ # them in order to avoid overwriting data
+ if [ ! -e /var/lib/dgraph/p ] && \
+ [ ! -e /var/lib/dgraph/w ] && \
+ [ ! -e /var/lib/dgraph/zw ]; then
+ # check for existence of "old" data directories from before the
+ # upstream systemd service files were used
+ # (package version <= 20.11.2-1)
+ if [ ! -e /var/lib/dgraph/data/p ] && \
+ [ ! -e /var/lib/dgraph/data/w ] && \
+ [ ! -e /var/lib/dgraph/data/zw ]; then
+ echo ">> Filesystem matches expected CLEAN state, running " \
+ "script to prepare for upstream systemd services"
+ usr/share/dgraph/add_dgraph_account.sh
+ elif [ -d /var/lib/dgraph/data/p ] && \
+ [ -d /var/lib/dgraph/data/w ] && \
+ [ -d /var/lib/dgraph/data/zw ]; then
+ echo ">> Filesystem matches expected OLD state, running script " \
+ "to prepare for upstream systemd services AND moving" \
+ "existing data"
+ usr/share/dgraph/add_dgraph_account.sh
+ mv /var/lib/dgraph/data/{p,w,zw} /var/lib/dgraph/
+ # this will error if other items remain in /var/lib/dgraph/data/
+ rmdir /var/lib/dgraph/data
+ else
+ # at least one of /var/lib/dgraph/data/{p,w,zw} exists but isn't a
+ # directory
+ echo ">> Existing OLD data directories don't match " \
+ "expectations, quitting!"
+ exit 1
+ fi
+ # ensure filesystem matches expectations so binaries can run properly
+ elif [ -d /var/lib/dgraph/p ] && \
+ [ -d /var/lib/dgraph/w ] && \
+ [ -d /var/lib/dgraph/zw ] && \
+ [[ $(stat -c '%U' /var/lib/dgraph/p) == "dgraph" ]] && \
+ [[ $(stat -c '%U' /var/lib/dgraph/w) == "dgraph" ]] && \
+ [[ $(stat -c '%U' /var/lib/dgraph/zw) == "dgraph" ]] && \
+ [[ $(stat -c '%G' /var/lib/dgraph/p) == "dgraph" ]] && \
+ [[ $(stat -c '%G' /var/lib/dgraph/w) == "dgraph" ]] && \
+ [[ $(stat -c '%G' /var/lib/dgraph/zw) == "dgraph" ]]; then
+ echo ">> Filesystem matches expected NEW state, no need to run" \
+ "script to transition to upstream systemd services"
+ else
+ # at least one of /var/lib/dgraph/{p,w,zw} exists but isn't a
+ # directory owned by dgraph:dgraph
+ echo ">> Existing NEW data directories don't match expectations," \
+ "quitting!"
+ exit 2
+ fi
+}
+
+## arg 1: the new package version
+post_install() {
+ _prepare_for_upstream_systemd_services
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ _prepare_for_upstream_systemd_services
+}
+
+post_remove() {
+ echo ">> There are still files related to dgraph-bin at " \
+ "/var/{lib,log}/dgraph, plus a dgraph user and group"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/dgraph-ratel.service b/dgraph-ratel.service
deleted file mode 100644
index 6e4cd469e3e4..000000000000
--- a/dgraph-ratel.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=Dgraph database UI
-Requires=dgraph-zero.service
-Requires=dgraph.service
-After=dgraph-zero.service
-After=dgraph.service
-
-[Service]
-ExecStart=/usr/bin/dgraph-ratel
-Restart=on-failure
-RestartSec=1
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/dgraph-zero.service b/dgraph-zero.service
deleted file mode 100644
index 319ffad67139..000000000000
--- a/dgraph-zero.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Dgraph database controller
-
-[Service]
-ExecStart=/usr/bin/dgraph zero -w /var/lib/dgraph/data/zw
-Restart=on-failure
-RestartSec=1
-
-[Install]
-WantedBy=multi-user.target
-
diff --git a/dgraph.service b/dgraph.service
deleted file mode 100644
index ad38f164698a..000000000000
--- a/dgraph.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Dgraph database
-Requires=dgraph-zero.service
-After=dgraph-zero.service
-
-[Service]
-ExecStart=/usr/bin/dgraph alpha -w /var/lib/dgraph/data/w -p /var/lib/dgraph/data/p --zero localhost:5080
-Restart=on-failure
-RestartSec=1
-
-[Install]
-WantedBy=multi-user.target
-