diff options
author | Diab Neiroukh | 2020-04-30 17:22:52 +0100 |
---|---|---|
committer | Diab Neiroukh | 2020-04-30 18:33:34 +0100 |
commit | 62d646cc958ca621bfe989520b6b98e9bea385e4 (patch) | |
tree | ca2ec777318f79ca0f867be6cbe80528f5c4bd30 | |
download | aur-62d646cc958ca621bfe989520b6b98e9bea385e4.tar.gz |
🔥
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | PKGBUILD | 91 | ||||
-rw-r--r-- | keydb-5.0-use-system-jemalloc.patch | 15 | ||||
-rw-r--r-- | keydb.conf-sane-defaults.patch | 11 | ||||
-rw-r--r-- | keydb.logrotate | 5 | ||||
-rw-r--r-- | keydb.service | 22 | ||||
-rw-r--r-- | keydb.sysusers | 1 | ||||
-rw-r--r-- | keydb.tmpfiles | 1 |
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 |