summaryrefslogtreecommitdiff
path: root/dev-db/aerospike-server-community
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-db/aerospike-server-community
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-db/aerospike-server-community')
-rw-r--r--dev-db/aerospike-server-community/Manifest13
-rw-r--r--dev-db/aerospike-server-community/aerospike-server-community-3.13.0.7.ebuild71
-rw-r--r--dev-db/aerospike-server-community/aerospike-server-community-3.14.1.4.ebuild71
-rw-r--r--dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild86
-rw-r--r--dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch63
-rw-r--r--dev-db/aerospike-server-community/files/aerospike.conf70
-rw-r--r--dev-db/aerospike-server-community/files/aerospike.init53
-rw-r--r--dev-db/aerospike-server-community/files/aerospike.logrotate10
-rw-r--r--dev-db/aerospike-server-community/files/aerospike_mesh.conf73
-rw-r--r--dev-db/aerospike-server-community/files/aerospike_ssd.conf68
-rw-r--r--dev-db/aerospike-server-community/metadata.xml10
11 files changed, 588 insertions, 0 deletions
diff --git a/dev-db/aerospike-server-community/Manifest b/dev-db/aerospike-server-community/Manifest
new file mode 100644
index 000000000000..8556176ebac8
--- /dev/null
+++ b/dev-db/aerospike-server-community/Manifest
@@ -0,0 +1,13 @@
+AUX 3.5.8-use-system-libs.patch 1755 SHA256 7aca6ecbffb26a15e43af4f63fc96dcaf5c16d6eac2b9e4082ff6264ed12179d SHA512 9124fc14481bc1390a743d2365aa51723445e90db428607aa76d7d59e2c73bc4236da4d1a57c765d4484895147f06254bb269f80b0ff9f7029fcb2f782a418a4 WHIRLPOOL 32bed32f5cb3b75cfe94b8a3e9acff189e71f8f6ac4802dd87fe8bb3834a0be35758a77b25e02e7b1173628af3cc869563cb32fd8c1ba789855b0ce422a34582
+AUX aerospike.conf 1265 SHA256 546cc602656e4889eb9ad201874d54356fdd3058e821a70bb803637a1c1575e2 SHA512 5d2b2a368bb31e8230d2f88073befbf5f1aa33aecc628b669e5714cfde71e83d53143b28c0ee95b52f13e84027283413927abd97470a97e36946cc05605b15ed WHIRLPOOL c67e134dde02d2c04e2fa9f118a84b448d9a8d2ff01d952283b7f14fad590cc0d10c23d0f6432849b37f313e2b52e6d4a9d6bbcb2824bba4c81f0c0aa0a73f9c
+AUX aerospike.init 1194 SHA256 a4cff03bb6108c083c39e8262d2163619c4059b93f07bf2b0f7b9c8013fa337d SHA512 c8d5db18225aa031d152337981430bef413fc30592d162776fab6c1d1c8ea2876233feba7c73f103fc35091255ef7f31da602c6dcb302d9dcac2ce9a67c97837 WHIRLPOOL 24dc13e15c324928d18f3b7d0de7fdc8c3e1be52bb789f4616385b86cc08f3f79f98e2c0d36585bb0508f1ff00d3e034b9193fa354610f4623aa9e8b7fa91553
+AUX aerospike.logrotate 196 SHA256 77682424acea6680a167d24adb6f35a4a79821bb5fad9e094c950a45f9ce2379 SHA512 2810df72e5a570be0d3118b0c3244fb13ae7bb98684219d681f02a1ec1499191e1f7e3455da818a8ca36d36a7d194cf85ee1985930bf6fe63b1723060af05cba WHIRLPOOL 5dba770825d8944135fcb48c56b4011359435e49dc0f7b3dd1d51300c43fe5b2a2582fce6251aff887ad1a78d54aa9bc9705c6a0be7ed180a3286fef20fa5a3e
+AUX aerospike_mesh.conf 1476 SHA256 27cd3b9304c5af4855ca1edea949b471e209d1402a27a15044b59f7329624572 SHA512 a7d5e52738a3153b649cc81d8a9b635b70fe21335802f5c2f348fe71f3b7087ea85aaf926c4ad3ce71514fa1b479f98bc27aadb95995a5bbb8808219bcbe28c4 WHIRLPOOL 27209abe9aae485e8a540dd6b4563d38c43d8e9a19f2c97e41ca7c995349b7c8f1abcef08e0a92f38431d4fe919838eb6442990201bd3506cc5126e37b92f2d1
+AUX aerospike_ssd.conf 1341 SHA256 11dbbffdea382e30d606c4564a577e0657f3ff87f37156f5169806d52acdb711 SHA512 0382842d4e7b20caaa4c39d999da0cd2b67c24bdd9fad6e5d2d393758b6f788decf0039ae9a262a4db7e89b358cbb9954efd082a15549d12e3e244b2c51675c9 WHIRLPOOL 2aa9230d6d1b477aad21b81f6760a915d15bbd51499512a618a1a0dd24342eb9ed0d46cbe0318885a6c446433bd009641adad5fa5e2fdf34e15138ffcabb1f84
+DIST aerospike-server-community-3.13.0.7-debian7.tgz 10658707 SHA256 29715ff1698f69f29daeca80f0f70125aa2e8e1b798a34e8aa1ba23338552c66 SHA512 1dfe2fc52c7870f6c4bfbe26cb718cad7725c1362886c4ed30fed04ac40a692eedab47f03ce70fd2a4bc52a9df92ec08683eec24a1fa62a5674530272c705409 WHIRLPOOL 3780f47eecab4081359c2c41f3ec2fe28045bf55de0fb0889f15e0327522ff7ecdf401a8973a58d65efe575caaad6216e43dc8de695de21fbd71113cb2178a29
+DIST aerospike-server-community-3.14.1.4-debian7.tgz 10451324 SHA256 a7189f7d802b5d805d5d6e432b58de86c4db97bde482be255e58e61ef688362c SHA512 737c8e2e64d4738d97f1abe4199c4fbc5c00f4c967da3cf6ebbe6e77e416d40ec4c431cf3aec1b9dd4d6388efc0268220b5717924c7083631582899a2d3b6402 WHIRLPOOL dd46cabb8c7b6a8b77085d702538c037cb446327be335cef1cacbfa542613341af84ea6acac6038eb2ce7aee822f31bb8dbe0afb8e223212bf77237c28040e1e
+EBUILD aerospike-server-community-3.13.0.7.ebuild 1634 SHA256 954a8f13463c378210c9e0f72b283db37de9826d66f7cc9389055bfbe4a4fb29 SHA512 2d2dcc4f31b77e9c47b8a55e3657907f5b45567d2f44724aad4d8ebec4650a1f8d5bd73cddb916c8fb05489ec4f630f984b5c9c9499cab9e855f4d43e7f47cfd WHIRLPOOL 7ec1c880dd21a8f10fb5b1d0291b59ba04330aa9443d0e447d4c0c24ea541b98af7125667fb4ee4ea24d78f310685b3e0efa220a3fd4ce69c0e8f40f8865cbab
+EBUILD aerospike-server-community-3.14.1.4.ebuild 1634 SHA256 954a8f13463c378210c9e0f72b283db37de9826d66f7cc9389055bfbe4a4fb29 SHA512 2d2dcc4f31b77e9c47b8a55e3657907f5b45567d2f44724aad4d8ebec4650a1f8d5bd73cddb916c8fb05489ec4f630f984b5c9c9499cab9e855f4d43e7f47cfd WHIRLPOOL 7ec1c880dd21a8f10fb5b1d0291b59ba04330aa9443d0e447d4c0c24ea541b98af7125667fb4ee4ea24d78f310685b3e0efa220a3fd4ce69c0e8f40f8865cbab
+EBUILD aerospike-server-community-9999.ebuild 1948 SHA256 849b2a73933091c40e642c3874fb860a9d8d962f20a4e454b5afb131e852a679 SHA512 35a88f0e3a71ee4389604dfcab274de8a7659637fc04b6926e47a410252842b672924ef6775c0eb3329c23131513fbf1cf87a8555c5463d972d45ae965d51fb7 WHIRLPOOL a1c58ed03c7e98d8a2cd3e8e5ef4b7e85ccf74154a3ad505fa720cee0d3173e0b270b398801fd4133cee1906fd35c66be464f50b96c6a71289df61b4d1d64842
+MISC ChangeLog 4364 SHA256 90bbf78c11449834a0fe0c74d0d2c993dae1effe4b6d400cf02a5a18fb8853e3 SHA512 74598ced1aefd88bb382e9baf8dc270fd29d64f6cbbfc822ef01cce878bad64811f46c279fa5f285ff7a3bba2f7c3cf396ece0ff6cf0bba7d929ed65d08c8992 WHIRLPOOL 521f423156fab6e666c27aebb4a38cd227e33d340e18dc9796b3dc4069d32636d0bfd7e33edc27f63bcf9ed09c08eba01828dc3a02282243aa9f35d45950cdf1
+MISC metadata.xml 281 SHA256 c5f4069c93aa8e06d87ed6375692bcbef3e1bb5e4bdc51f781164f58d54ca4b4 SHA512 d3a33c339bb7409528ddca6187790b842150e273bd7630a610c0be08be50e26278ed7b4d42305bfd1a796544c6be251301c938b15d70e609b9d91bd22161aee6 WHIRLPOOL 171454c2084c7dd11595a8535b505410ef93f18f271de22db329b9ef24a567c13443c17359c72a17eb8ccabe7100091ecccf337c9817c3dd45af2f05fd9f73d5
diff --git a/dev-db/aerospike-server-community/aerospike-server-community-3.13.0.7.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-3.13.0.7.ebuild
new file mode 100644
index 000000000000..b7e20d5ad8b6
--- /dev/null
+++ b/dev-db/aerospike-server-community/aerospike-server-community-3.13.0.7.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Flash-optimized, in-memory, nosql database"
+HOMEPAGE="http://www.aerospike.com"
+SRC_URI="http://www.aerospike.com/artifacts/${PN}/${PV}/${P}-debian7.tgz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="sys-libs/readline
+ sys-libs/zlib
+ dev-libs/openssl
+ "
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${P}-debian7"
+
+pkg_setup() {
+ enewgroup aerospike
+ enewuser aerospike -1 /bin/bash /opt/aerospike aerospike
+}
+
+src_prepare() {
+ local server_deb="${P}.debian7.x86_64.deb"
+ local tools_deb="aerospike-tools-3.13.0.1.debian7.x86_64.deb"
+
+ ar x "${server_deb}" || die
+ tar xzf data.tar.gz && rm data.tar.gz || die
+
+ ar x "${tools_deb}" || die
+ tar xzf data.tar.gz && rm data.tar.gz || die
+
+ rm *.deb asinstall control.tar.gz debian-binary LICENSE SHA256SUMS
+ rm usr/bin/{asfixownership,asmigrate2to3}
+}
+
+src_install() {
+ insinto /opt/
+ doins -r opt/aerospike
+
+ fperms +x -R /opt/aerospike/bin/
+ fperms +x -R /opt/aerospike/lib/python/
+
+ for dir in '/etc' '/var/log'; do
+ keepdir "${dir}/aerospike"
+ done
+
+ insinto /etc/aerospike
+ for conf in 'aerospike.conf' 'aerospike_mesh.conf' 'aerospike_ssd.conf'; do
+ doins "${FILESDIR}/${conf}"
+ done
+
+ insinto /usr/bin
+ doins usr/bin/*
+ fperms +x -R /usr/bin/asd
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/aerospike.logrotate aerospike
+
+ newinitd "${FILESDIR}"/aerospike.init aerospike
+
+ fowners -R aerospike:aerospike /opt/aerospike/
+ fowners aerospike:aerospike /usr/bin/asd
+ fowners -R aerospike:aerospike /var/log/aerospike
+}
diff --git a/dev-db/aerospike-server-community/aerospike-server-community-3.14.1.4.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-3.14.1.4.ebuild
new file mode 100644
index 000000000000..b7e20d5ad8b6
--- /dev/null
+++ b/dev-db/aerospike-server-community/aerospike-server-community-3.14.1.4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Flash-optimized, in-memory, nosql database"
+HOMEPAGE="http://www.aerospike.com"
+SRC_URI="http://www.aerospike.com/artifacts/${PN}/${PV}/${P}-debian7.tgz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="sys-libs/readline
+ sys-libs/zlib
+ dev-libs/openssl
+ "
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${P}-debian7"
+
+pkg_setup() {
+ enewgroup aerospike
+ enewuser aerospike -1 /bin/bash /opt/aerospike aerospike
+}
+
+src_prepare() {
+ local server_deb="${P}.debian7.x86_64.deb"
+ local tools_deb="aerospike-tools-3.13.0.1.debian7.x86_64.deb"
+
+ ar x "${server_deb}" || die
+ tar xzf data.tar.gz && rm data.tar.gz || die
+
+ ar x "${tools_deb}" || die
+ tar xzf data.tar.gz && rm data.tar.gz || die
+
+ rm *.deb asinstall control.tar.gz debian-binary LICENSE SHA256SUMS
+ rm usr/bin/{asfixownership,asmigrate2to3}
+}
+
+src_install() {
+ insinto /opt/
+ doins -r opt/aerospike
+
+ fperms +x -R /opt/aerospike/bin/
+ fperms +x -R /opt/aerospike/lib/python/
+
+ for dir in '/etc' '/var/log'; do
+ keepdir "${dir}/aerospike"
+ done
+
+ insinto /etc/aerospike
+ for conf in 'aerospike.conf' 'aerospike_mesh.conf' 'aerospike_ssd.conf'; do
+ doins "${FILESDIR}/${conf}"
+ done
+
+ insinto /usr/bin
+ doins usr/bin/*
+ fperms +x -R /usr/bin/asd
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/aerospike.logrotate aerospike
+
+ newinitd "${FILESDIR}"/aerospike.init aerospike
+
+ fowners -R aerospike:aerospike /opt/aerospike/
+ fowners aerospike:aerospike /usr/bin/asd
+ fowners -R aerospike:aerospike /var/log/aerospike
+}
diff --git a/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild
new file mode 100644
index 000000000000..5010144ae241
--- /dev/null
+++ b/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+EGIT_REPO_URI="https://github.com/aerospike/aerospike-server.git"
+
+inherit git-2 systemd user
+
+DESCRIPTION="Flash-optimized, in-memory, nosql database"
+HOMEPAGE="http://www.aerospike.com"
+SRC_URI=""
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="+tools"
+
+RDEPEND="app-crypt/gcr
+ dev-libs/jansson
+ dev-libs/jemalloc"
+DEPEND="${RDEPEND}"
+
+DOCS=(
+ README.md
+)
+
+PATCHES=(
+ "${FILESDIR}"/3.5.8-use-system-libs.patch
+)
+
+pkg_setup() {
+ enewgroup aerospike
+ enewuser aerospike -1 /bin/bash /opt/aerospike aerospike
+}
+
+src_prepare() {
+ base_src_prepare
+
+ git submodule update --init
+
+ sed \
+ -e 's/USE_SYSTEM_JEM = 0/USE_SYSTEM_JEM = 1/g' \
+ -e 's/USE_SYSTEM_JANSSON = 0/USE_SYSTEM_JANSSON = 1/g' \
+ -e 's/LD_CRYPTO = static/LD_CRYPTO = dynamic/g' \
+ -e 's/LD_JANSSON = static/LD_JANSSON = dynamic/g' \
+ -e 's/LD_JEM = static/LD_JEM = dynamic/g' \
+ -i make_in/Makefile.vars || die
+
+ rm -rf modules/jansson
+ rm -rf modules/jemalloc
+}
+
+src_install() {
+ base_src_install_docs
+
+ dobin target/Linux-x86_64/bin/asd
+
+ insinto /opt/aerospike/sys/udf/lua
+ doins -r modules/lua-core/src/*
+
+ if use tools; then
+ insinto /opt/aerospike/bin
+ doins tools/afterburner/afterburner.sh
+ fperms +x /opt/aerospike/bin/afterburner.sh
+ fi
+
+ keepdir /opt/aerospike/usr/udf/lua
+ keepdir /var/log/aerospike
+
+ insinto /etc/aerospike
+ for conf in aerospike.conf aerospike_mesh.conf aerospike_ssd.conf; do
+ sed -e "s@/var/run/aerospike/asd.pid@/run/aerospike/aerospike.pid@g" -i as/etc/"${conf}" || die
+ doins as/etc/"${conf}"
+ done
+
+ insinto /etc/logrotate.d
+ newins as/etc/logrotate_asd aerospike
+
+ newinitd "${FILESDIR}"/aerospike.init aerospike
+ systemd_newunit as/etc/aerospike-server.service aerospike.service
+
+ fowners -R aerospike:aerospike /opt/aerospike/
+ fowners aerospike:aerospike /usr/bin/asd
+ fowners -R aerospike:aerospike /var/log/aerospike
+}
diff --git a/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch b/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch
new file mode 100644
index 000000000000..eb69f5ff2e51
--- /dev/null
+++ b/dev-db/aerospike-server-community/files/3.5.8-use-system-libs.patch
@@ -0,0 +1,63 @@
+diff --git a/Makefile b/Makefile
+index d4ce8ac..26271fd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -54,12 +54,16 @@ ifeq ($(USE_ASM),1)
+ $(MAKE) -C $(ASMALLOC) jem SRCDIR=src
+ endif
+ ifeq ($(USE_JEM),1)
++ifeq ($(USE_SYSTEM_JEM),0)
+ $(MAKE) -C $(JEMALLOC)
+ endif
++endif
+ ifeq ($(USE_LUAJIT),1)
+ $(MAKE) -C $(LUAJIT) Q= TARGET_SONAME=libluajit.so CCDEBUG=-g
+ endif
++ifeq ($(USE_SYSTEM_JANSSON),0)
+ $(MAKE) -C $(JANSSON)
++endif
+ $(MAKE) -C $(COMMON) CF=$(CF) EXT_CFLAGS="$(EXT_CFLAGS)"
+ $(MAKE) -C $(CF)
+ $(MAKE) -C $(MOD_LUA) CF=$(CF) COMMON=$(COMMON) LUA_CORE=$(LUA_CORE) EXT_CFLAGS="$(EXT_CFLAGS)" USE_LUAJIT=$(USE_LUAJIT) LUAJIT=$(LUAJIT)
+@@ -174,16 +178,24 @@ mexp2: mexp1
+ $(MAKE) MEXP_PHASE=2 SRCDIR=$(realpath $(MEXP_DIR))/
+
+ $(JANSSON)/configure:
++ifeq ($(USE_SYSTEM_JANSSON),0)
+ cd $(JANSSON) && autoreconf -i
++endif
+
+ $(JANSSON)/Makefile: $(JANSSON)/configure
++ifeq ($(USE_SYSTEM_JANSSON),0)
+ cd $(JANSSON) && ./configure $(JANSSON_CONFIG_OPT)
++endif
+
+ $(JEMALLOC)/configure:
++ifeq ($(USE_SYSTEM_JEM),0)
+ cd $(JEMALLOC) && autoconf
++endif
+
+ $(JEMALLOC)/Makefile: $(JEMALLOC)/configure
++ifeq ($(USE_SYSTEM_JEM),0)
+ cd $(JEMALLOC) && ./configure $(JEM_CONFIG_OPT)
++endif
+
+ $(LUAJIT)/src/luaconf.h: $(LUAJIT)/src/luaconf.h.orig
+ ln -s $(notdir $<) $@
+diff --git a/make_in/Makefile.vars b/make_in/Makefile.vars
+index efe3226..0b54701 100644
+--- a/make_in/Makefile.vars
++++ b/make_in/Makefile.vars
+@@ -31,6 +31,12 @@ ifeq ($(USE_ASM),1)
+ EXT_CFLAGS += -DUSE_ASM
+ endif
+
++# Use the system provided JEMalloc memory allocator? [By default, no.]
++USE_SYSTEM_JEM = 0
++
++# Use the system provided Jansson JSON API Library? [By default, no.]
++USE_SYSTEM_JANSSON = 0
++
+ # Use the JEMalloc memory allocator? [By default, yes.]
+ USE_JEM = 1
+
diff --git a/dev-db/aerospike-server-community/files/aerospike.conf b/dev-db/aerospike-server-community/files/aerospike.conf
new file mode 100644
index 000000000000..842873bd3e8e
--- /dev/null
+++ b/dev-db/aerospike-server-community/files/aerospike.conf
@@ -0,0 +1,70 @@
+# Aerospike database configuration file.
+
+service {
+ user root
+ group root
+ paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
+ pidfile /run/aerospike/aerospike.pid
+ service-threads 4
+ transaction-queues 4
+ transaction-threads-per-queue 4
+ proto-fd-max 15000
+}
+
+logging {
+ # Log file must be an absolute path.
+ file /var/log/aerospike/aerospike.log {
+ context any info
+ }
+}
+
+network {
+ service {
+ address any
+ port 3000
+ }
+
+ heartbeat {
+ mode multicast
+ address 239.1.99.222
+ port 9918
+
+ # To use unicast-mesh heartbeats, remove the 3 lines above, and see
+ # aerospike_mesh.conf for alternative.
+
+ interval 150
+ timeout 10
+ }
+
+ fabric {
+ port 3001
+ }
+
+ info {
+ port 3003
+ }
+}
+
+namespace test {
+ replication-factor 2
+ memory-size 4G
+ default-ttl 30d # 30 days, use 0 to never expire/evict.
+
+ storage-engine memory
+}
+
+namespace bar {
+ replication-factor 2
+ memory-size 4G
+ default-ttl 30d # 30 days, use 0 to never expire/evict.
+
+ storage-engine memory
+
+ # To use file storage backing, comment out the line above and use the
+ # following lines instead.
+# storage-engine device {
+# file /opt/aerospike/data/bar.dat
+# filesize 16G
+# data-in-memory true # Store data in memory in addition to file.
+# }
+}
diff --git a/dev-db/aerospike-server-community/files/aerospike.init b/dev-db/aerospike-server-community/files/aerospike.init
new file mode 100644
index 000000000000..b1dac8078d6d
--- /dev/null
+++ b/dev-db/aerospike-server-community/files/aerospike.init
@@ -0,0 +1,53 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+config_file=${config_file:-/etc/aerospike/${SVCNAME}.conf}
+run_dir=${run_dir:-/run/aerospike}
+
+command="/usr/bin/asd"
+command_args="--config-file ${config_file}"
+command_background="false"
+pidfile=${run_dir}/${SVCNAME}.pid
+user=${user:-aerospike}
+group=${group:-aerospike}
+start_stop_daemon_args="--user ${user} --group ${group}"
+required_files="${config_file}"
+
+depend() {
+ use net
+}
+
+set_shmall() {
+ mem=`/sbin/sysctl -n kernel.shmall`
+ min=4294967296
+ if [ ${#mem} -le ${#min} ]; then
+ if [ $mem -lt $min ]; then
+ ewarn "kernel.shmall too low, setting to 4G pages = 16TB"
+ /sbin/sysctl -w kernel.shmall=$min
+ fi
+ fi
+}
+
+set_shmmax() {
+ mem=`/sbin/sysctl -n kernel.shmmax`
+ min=1073741824
+ if [ ${#mem} -le ${#min} ]; then
+ if [ $mem -lt $min ]; then
+ ewarn "kernel.shmmax too low, setting to 1GB"
+ /sbin/sysctl -w kernel.shmmax=$min
+ fi
+ fi
+}
+
+start_pre() {
+ checkpath -d -m 0755 -o "${user}":"${group}" "${run_dir}"
+ set_shmall
+ set_shmmax
+ ulimit -n 100000
+ if [ -n $LD_PRELOAD ]; then export LD_PRELOAD; fi
+}
+
+start_post() {
+ ewaitfile 60 "${pidfile}"
+}
diff --git a/dev-db/aerospike-server-community/files/aerospike.logrotate b/dev-db/aerospike-server-community/files/aerospike.logrotate
new file mode 100644
index 000000000000..04aabc4a6017
--- /dev/null
+++ b/dev-db/aerospike-server-community/files/aerospike.logrotate
@@ -0,0 +1,10 @@
+/var/log/aerospike/aerospike.log {
+ daily
+ rotate 90
+ dateext
+ compress
+ olddir /var/log/aerospike/
+ postrotate
+ kill -HUP `cat /var/run/aerospike/aerospike.pid`
+ endscript
+}
diff --git a/dev-db/aerospike-server-community/files/aerospike_mesh.conf b/dev-db/aerospike-server-community/files/aerospike_mesh.conf
new file mode 100644
index 000000000000..26274f310ed0
--- /dev/null
+++ b/dev-db/aerospike-server-community/files/aerospike_mesh.conf
@@ -0,0 +1,73 @@
+# Aerospike database configuration file for deployments using mesh heartbeats.
+
+service {
+ user root
+ group root
+ paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
+ pidfile /run/aerospike/aerospike.pid
+ service-threads 4
+ transaction-queues 4
+ transaction-threads-per-queue 4
+ proto-fd-max 15000
+}
+
+logging {
+ # Log file must be an absolute path.
+ file /var/log/aerospike/aerospike.log {
+ context any info
+ }
+}
+
+network {
+ service {
+ address any
+ port 3000
+ }
+
+ heartbeat {
+ mode mesh
+ port 3002 # Heartbeat port for this node.
+
+ # List one or more other nodes, one ip-address & port per line:
+ mesh-seed-address-port 10.10.10.10 3002
+# mesh-seed-address-port 10.10.10.11 3002
+# mesh-seed-address-port 10.10.10.12 3002
+# mesh-seed-address-port 10.10.10.13 3002
+# mesh-seed-address-port 10.10.10.14 3002
+
+ interval 250
+ timeout 10
+ }
+
+ fabric {
+ port 3001
+ }
+
+ info {
+ port 3003
+ }
+}
+
+namespace test {
+ replication-factor 2
+ memory-size 4G
+ default-ttl 30d # 30 days, use 0 to never expire/evict.
+
+ storage-engine memory
+}
+
+namespace bar {
+ replication-factor 2
+ memory-size 4G
+ default-ttl 30d # 30 days, use 0 to never expire/evict.
+
+ storage-engine memory
+
+ # To use file storage backing, comment out the line above and use the
+ # following lines instead.
+# storage-engine device {
+# file /opt/aerospike/data/bar.dat
+# filesize 16G
+# data-in-memory true # Store data in memory in addition to file.
+# }
+}
diff --git a/dev-db/aerospike-server-community/files/aerospike_ssd.conf b/dev-db/aerospike-server-community/files/aerospike_ssd.conf
new file mode 100644
index 000000000000..3d75bd6f7d91
--- /dev/null
+++ b/dev-db/aerospike-server-community/files/aerospike_ssd.conf
@@ -0,0 +1,68 @@
+# Aerospike database configuration file for deployments using raw storage.
+
+service {
+ user root
+ group root
+ paxos-single-replica-limit 1 # Number of nodes where the replica count is automatically reduced to 1.
+ pidfile /run/aerospike/aerospike.pid
+ service-threads 8
+ transaction-queues 8
+ transaction-threads-per-queue 8
+ proto-fd-max 15000
+}
+
+logging {
+ # Log file must be an absolute path.
+ file /var/log/aerospike/aerospike.log {
+ context any info
+ }
+}
+
+network {
+ service {
+ address any
+ port 3000
+ }
+
+ heartbeat {
+ mode multicast
+ address 239.1.99.222
+ port 9918
+
+ # To use unicast-mesh heartbeats, remove the 3 lines above, and see
+ # aerospike_mesh.conf for alternative.
+
+ interval 150
+ timeout 10
+ }
+
+ fabric {
+ port 3001
+ }
+
+ info {
+ port 3003
+ }
+}
+
+namespace test {
+ replication-factor 2
+ memory-size 4G
+ default-ttl 30d # 30 days, use 0 to never expire/evict.
+
+ # Warning - legacy data in defined raw partition devices will be erased.
+ # These partitions must not be mounted by the file system.
+ storage-engine device {
+ # Use one or more lines like those below with actual device paths.
+# device /dev/sdb
+# device /dev/sdc
+
+ # The 2 lines below optimize for SSD.
+ scheduler-mode noop
+ write-block-size 128K
+
+ # Use the line below to store data in memory in addition to devices.
+# data-in-memory true
+ }
+}
+
diff --git a/dev-db/aerospike-server-community/metadata.xml b/dev-db/aerospike-server-community/metadata.xml
new file mode 100644
index 000000000000..647069390b01
--- /dev/null
+++ b/dev-db/aerospike-server-community/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="tools">Install extra tools</flag>
+ </use>
+</pkgmetadata>