diff options
author | Kyle Westhaus | 2021-05-24 07:01:54 -0700 |
---|---|---|
committer | Kyle Westhaus | 2021-05-24 07:14:42 -0700 |
commit | 137b495a0c5cf5b650f81113843363470f4a57eb (patch) | |
tree | c4da6f92aa74c72437698e4d0066160e4cd07db5 | |
parent | 52c0411c763ca6016891abfa0f08a2b2ad8f4473 (diff) | |
download | aur-137b495a0c5cf5b650f81113843363470f4a57eb.tar.gz |
Switch to using upstream systemd service files
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | PKGBUILD | 23 | ||||
-rw-r--r-- | dgraph-bin.install | 70 | ||||
-rw-r--r-- | dgraph-ratel.service | 15 | ||||
-rw-r--r-- | dgraph-zero.service | 11 | ||||
-rw-r--r-- | dgraph.service | 13 |
6 files changed, 93 insertions, 56 deletions
@@ -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 @@ -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 - |