# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka pkgname=elasticsearch pkgver=6.4.1 pkgrel=0 pkgdesc="Open Source, Distributed, RESTful Search Engine" url="https://www.elastic.co/products/elasticsearch" arch="x86 x86_64 ppc64le" license="Apache-2.0" depends="java-jna-native>=4.1 openjdk8-jre bash" makedepends="" install="$pkgname.pre-install" subpackages="$pkgname-doc $pkgname-x-pack:_x_pack" options="!check" # no test suite pkgusers="elastico" pkggroups="elastico" source="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-$pkgver.tar.gz $pkgname.initd $pkgname.confd README.alpine busybox-mktemp.patch " builddir="$srcdir/$pkgname-$pkgver" default_module=transport-netty4 _modules=" aggs-matrix-stats analysis-common ingest-common lang-expression lang-mustache lang-painless mapper-extras parent-join percolator rank-eval reindex repository-url tribe " for _mod in $_modules; do subpackages="$subpackages $pkgname-$_mod:_${_mod//-/_}" eval "_${_mod//-/_}() { _builtin_module $_mod; }" done _basedir="/usr/share/java/$pkgname" build() { return 0 } package() { local destdir="$pkgdir/$_basedir" local confdir="$pkgdir/etc/$pkgname" local docdir="$pkgdir/usr/share/doc/elasticsearch" local heapsize="256m" cd "$builddir" install -dm755 "$destdir"/lib "$destdir"/modules "$destdir"/bin cp -R lib/* "$destdir"/lib install -dm755 "$docdir" install -dm755 -o elastico -g elastico "$confdir" install -m644 -t "$confdir" config/* # remove windows files find bin -type f -name *.bat -exec rm -f {} \; find bin -type f -name *.exe -exec rm -f {} \; # ES bin script parses the new jvm.options file cp -R bin/* "$destdir"/bin # ES does not run without a transport module install -dm755 "$destdir/modules/$default_module" install -m644 -t "$destdir/modules/$default_module" modules/"$default_module"/* # reduce heap sizes sed -i \ -e "s|^-Xms.*|-Xms$heapsize|" \ -e "s|^-Xmx.*|-Xmx$heapsize|" \ $confdir/jvm.options install -m755 -D "$srcdir"/$pkgname.initd \ "$pkgdir"/etc/init.d/$pkgname install -m644 -D "$srcdir"/$pkgname.confd \ "$pkgdir"/etc/conf.d/$pkgname install -m644 -D "$srcdir"/README.alpine \ "$docdir" # Enforce plugins directory relocation # Passing the "path.plugins" or "es.default.path.plugins" arguments # at runtime does not seem to work in v6.4, # it generates an exception if "$destdir"/plugins does not exist. # The plugins directory will be shared among all ES instances. ln -s /var/lib/elasticsearch/_default/plugins "$destdir"/plugins } _builtin_module() { local name="$1" local destdir="$subpkgdir/$_basedir/modules/$name" install -dm755 "$destdir" install -m644 -t "$destdir" "$builddir"/modules/$name/* } _x_pack() { install -dm755 "$subpkgdir"/$_basedir/modules mv "$builddir"/modules/x-pack* "$subpkgdir"/$_basedir/modules # remove module compiled against GLIBC rm -rf "$subpkgdir"/$_basedir/modules/x-pack-ml } sha512sums="a023a6db5554dee6f10718dfa297aa06a735c7857542c2db80fa5c2b86ff4bf405bb8167578c5b60741ad05ed96a64b54bc71d128a0ff955468b0449588b053c elasticsearch-6.4.1.tar.gz f7ab61ed3e7e8979d1f476502319b9a3874a88b97f70951c0b39e7642b01c942a11384810b1a92efb1ee2b07717bc80dfed8a95f0189b7fef7ce68885e1280cb elasticsearch.initd 2ab1baf1b5c8782f3f371ba221aadd3e841abc62175f0b1ddcfc68d711e2370465124e076f8cc2e549c25a1da9db8c90172b2f410bd6bbe4153f0e831620b6ba elasticsearch.confd 6de81485cdc059afef58382862e4155482463fde0b604aaa8dbe904c778b841467c4a383a5e54acd09e3436f1fb7be9923e001fb77bd3d7894e113a5e0f4036b README.alpine 1f9d13bbc42c04c523ef4e9ce734f919ec3d79748d78f288ed3dd725cf7c74e83d66d8b48fbc782b27b1a760096a647cb33773578071710542b19fda18ea0b84 busybox-mktemp.patch"