summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiab Neiroukh2020-04-30 17:22:52 +0100
committerDiab Neiroukh2020-04-30 18:33:34 +0100
commit62d646cc958ca621bfe989520b6b98e9bea385e4 (patch)
treeca2ec777318f79ca0f867be6cbe80528f5c4bd30
downloadaur-62d646cc958ca621bfe989520b6b98e9bea385e4.tar.gz
🔥
-rw-r--r--.SRCINFO35
-rw-r--r--PKGBUILD91
-rw-r--r--keydb-5.0-use-system-jemalloc.patch15
-rw-r--r--keydb.conf-sane-defaults.patch11
-rw-r--r--keydb.logrotate5
-rw-r--r--keydb.service22
-rw-r--r--keydb.sysusers1
-rw-r--r--keydb.tmpfiles1
8 files changed, 181 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..450cf9449c43
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,35 @@
+pkgbase = keydb
+ pkgdesc = A Multithreaded Fork of Redis
+ pkgver = 5.3.3
+ pkgrel = 1
+ url = https://keydb.dev
+ arch = i686
+ arch = x86_64
+ license = BSD
+ makedepends = curl
+ makedepends = git
+ makedepends = nasm
+ makedepends = tcl
+ depends = jemalloc
+ depends = libatomic_ops
+ depends = numactl
+ provides = redis
+ backup = etc/logrotate.d/keydb
+ backup = etc/keydb.conf
+ source = https://github.com/JohnSully/KeyDB/archive/v5.3.3.tar.gz
+ source = keydb-5.0-use-system-jemalloc.patch
+ source = keydb.conf-sane-defaults.patch
+ source = keydb.logrotate
+ source = keydb.service
+ source = keydb.sysusers
+ source = keydb.tmpfiles
+ b2sums = SKIP
+ b2sums = 3a988f7c0ec1c1f0fbbf2ff706e249152c729dd8f3a2dea93a51a3d119d13705a7e76bef26a85f843da9c811a1f97d0dc166d4a665759d66a2629779ab68096b
+ b2sums = be5d54cf71722583bca64e99fab8d25266bde471b062aaa1efc8fc326d1a0560f1baed42b9b7aad2f8dc7fab83a05a23e86995741c7f6fc4386fa8283ec583b4
+ b2sums = 1c1f033380b97582319ae1c40def456908fc5416680a59061be9f88b213501f15b4e120dbde2c8013a4abb44ccd00668328c72d65802025b4373f311dcaeb50f
+ b2sums = afc40d2444e823beb2ebe612c928a26b803602bb24ee3a14597c1b9238b8af7c949a2aea513137e2d83b302746056846d9363484590d3406e8653cd99981be57
+ b2sums = 1928beb72b05776bc78150e1bdc4786a3ce9591780af4a06ff2dd120136bd9702b8b72171dd0aa5d99f1006611d04c3ae9e95ffbe3e05f42ae7efbaa0ab785e6
+ b2sums = d93a88d286698163e9f29fe77a15eb60c0afc028b5343b6bf195da0a123857463c36496a1a378c87fa263f7e901b73db07bf7e47f57a2172b50f0e8502de6fbd
+
+pkgname = keydb
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c87c53e2ae87
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,91 @@
+# Maintainer: Diab Neiroukh <officiallazerl0rd@gmail.com>
+
+pkgname="keydb"
+pkgver=5.3.3
+pkgrel=1
+pkgdesc="A Multithreaded Fork of Redis"
+arch=(
+ "i686"
+ "x86_64"
+)
+url="https://keydb.dev"
+license=(
+ "BSD"
+)
+depends=(
+ "jemalloc"
+ "libatomic_ops"
+ "numactl"
+)
+makedepends=(
+ "curl"
+ "git"
+ "nasm"
+ "tcl"
+)
+provides=(
+ "redis"
+)
+backup=(
+ "etc/logrotate.d/keydb"
+ "etc/keydb.conf"
+)
+source=(
+ "https://github.com/JohnSully/KeyDB/archive/v5.3.3.tar.gz"
+ "keydb-5.0-use-system-jemalloc.patch"
+ "keydb.conf-sane-defaults.patch"
+ "keydb.logrotate"
+ "keydb.service"
+ "keydb.sysusers"
+ "keydb.tmpfiles"
+)
+b2sums=(
+ "SKIP"
+ "3a988f7c0ec1c1f0fbbf2ff706e249152c729dd8f3a2dea93a51a3d119d13705a7e76bef26a85f843da9c811a1f97d0dc166d4a665759d66a2629779ab68096b"
+ "be5d54cf71722583bca64e99fab8d25266bde471b062aaa1efc8fc326d1a0560f1baed42b9b7aad2f8dc7fab83a05a23e86995741c7f6fc4386fa8283ec583b4"
+ "1c1f033380b97582319ae1c40def456908fc5416680a59061be9f88b213501f15b4e120dbde2c8013a4abb44ccd00668328c72d65802025b4373f311dcaeb50f"
+ "afc40d2444e823beb2ebe612c928a26b803602bb24ee3a14597c1b9238b8af7c949a2aea513137e2d83b302746056846d9363484590d3406e8653cd99981be57"
+ "1928beb72b05776bc78150e1bdc4786a3ce9591780af4a06ff2dd120136bd9702b8b72171dd0aa5d99f1006611d04c3ae9e95ffbe3e05f42ae7efbaa0ab785e6"
+ "d93a88d286698163e9f29fe77a15eb60c0afc028b5343b6bf195da0a123857463c36496a1a378c87fa263f7e901b73db07bf7e47f57a2172b50f0e8502de6fbd"
+)
+
+prepare()
+{
+ cd "KeyDB-$pkgver" || exit
+ patch "keydb.conf" < ../keydb.conf-sane-defaults.patch
+ patch "src/Makefile" < ../keydb-5.0-use-system-jemalloc.patch
+}
+
+build()
+{
+ #* Clang nee
+ export LDFLAGS="$LDFLAGS -latomic"
+
+ make BUILD_TLS=yes -C "KeyDB-$pkgver"
+}
+
+check()
+{
+ cd "KeyDB-$pkgver" || exit
+
+ #! The test is currently broken in makepkg's environment
+ #make test
+}
+
+package()
+{
+ cd "KeyDB-$pkgver" || exit
+ make PREFIX="$pkgdir/usr" install
+
+ install -Dm644 "COPYING" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 "keydb.conf" "$pkgdir/etc/keydb.conf"
+ install -Dm644 "../keydb.service" "$pkgdir/usr/lib/systemd/system/keydb.service"
+
+ #* Files kept for compatibility with older installations
+ install -Dm644 "../keydb.logrotate" "$pkgdir/etc/logrotate.d/keydb"
+
+ ln -sf "keydb-server" "$pkgdir/usr/bin/keydb-sentinel"
+
+ install -Dm644 "../keydb.sysusers" "$pkgdir/usr/lib/sysusers.d/keydb.conf"
+ install -Dm644 "../keydb.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/keydb.conf"
+}
diff --git a/keydb-5.0-use-system-jemalloc.patch b/keydb-5.0-use-system-jemalloc.patch
new file mode 100644
index 000000000000..df29d0c31cf3
--- /dev/null
+++ b/keydb-5.0-use-system-jemalloc.patch
@@ -0,0 +1,15 @@
+--- Makefile 2020-03-27 18:36:35.000000000 +0000
++++ Makefile-patched 2020-04-30 17:01:14.406126433 +0100
+@@ -184,9 +184,9 @@
+
+ ifeq ($(MALLOC),jemalloc)
+ DEPENDENCY_TARGETS+= jemalloc
+- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+- FINAL_CXXFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include
+- FINAL_LIBS := ../deps/jemalloc/lib/libjemalloc.a $(FINAL_LIBS)
++ FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc
++ FINAL_CXXFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE -I/usr/include/jemalloc
++ FINAL_LIBS := -ljemalloc $(FINAL_LIBS)
+ endif
+
+ ifeq ($(MALLOC),memkind)
diff --git a/keydb.conf-sane-defaults.patch b/keydb.conf-sane-defaults.patch
new file mode 100644
index 000000000000..97fc6b1f396f
--- /dev/null
+++ b/keydb.conf-sane-defaults.patch
@@ -0,0 +1,11 @@
+--- keydb.conf 2020-03-27 18:36:35.000000000 +0000
++++ keydb-patched.conf 2020-04-30 17:04:50.816129674 +0100
+@@ -260,7 +260,7 @@
+ # The Append Only File will also be created inside this directory.
+ #
+ # Note that you must specify a directory here, not a file name.
+-dir ./
++dir /var/lib/keydb/
+
+ ################################# REPLICATION #################################
+
diff --git a/keydb.logrotate b/keydb.logrotate
new file mode 100644
index 000000000000..63e474877ac4
--- /dev/null
+++ b/keydb.logrotate
@@ -0,0 +1,5 @@
+/var/log/keydb.log {
+ notifempty
+ copytruncate
+ missingok
+}
diff --git a/keydb.service b/keydb.service
new file mode 100644
index 000000000000..a55cee96ebeb
--- /dev/null
+++ b/keydb.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=Advanced key-value store
+After=network.target
+
+[Service]
+Type=simple
+User=keydb
+Group=keydb
+ExecStart=/usr/bin/keydb-server /etc/keydb.conf
+ExecStop=/usr/bin/keydb-cli shutdown
+CapabilityBoundingSet=
+PrivateTmp=true
+PrivateDevices=true
+ProtectSystem=full
+ProtectHome=true
+NoNewPrivileges=true
+RuntimeDirectory=keydb
+RuntimeDirectoryMode=755
+LimitNOFILE=10032
+
+[Install]
+WantedBy=multi-user.target
diff --git a/keydb.sysusers b/keydb.sysusers
new file mode 100644
index 000000000000..237e3a1a729e
--- /dev/null
+++ b/keydb.sysusers
@@ -0,0 +1 @@
+u keydb - "KeyDB in-memory data structure store" /var/lib/keydb
diff --git a/keydb.tmpfiles b/keydb.tmpfiles
new file mode 100644
index 000000000000..0b82ac4611a2
--- /dev/null
+++ b/keydb.tmpfiles
@@ -0,0 +1 @@
+d /var/lib/keydb 0700 keydb keydb