summaryrefslogtreecommitdiff
path: root/private/elasticsearch6/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'private/elasticsearch6/PKGBUILD')
-rw-r--r--private/elasticsearch6/PKGBUILD94
1 files changed, 94 insertions, 0 deletions
diff --git a/private/elasticsearch6/PKGBUILD b/private/elasticsearch6/PKGBUILD
new file mode 100644
index 0000000..9aa9f70
--- /dev/null
+++ b/private/elasticsearch6/PKGBUILD
@@ -0,0 +1,94 @@
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
+# Contributor: Marcello "mererghost" Rocha <https://github.com/mereghost>
+# Refactored by Blaž "Speed" Hrastnik <https://github.com/archSeer>
+
+pkgname=elasticsearch6
+_pkgname=elasticsearch
+pkgver=6.3.2
+pkgrel=1
+pkgdesc="Distributed RESTful search engine built on top of Lucene"
+arch=('any')
+url="https://www.elastic.co/products/elasticsearch"
+license=('Apache')
+depends=('java-runtime-headless' 'systemd')
+source=(
+ "https://artifacts.elastic.co/downloads/$_pkgname/$_pkgname-oss-$pkgver.tar.gz"
+ "https://dlcdn.apache.org/logging/log4j/2.17.0/apache-log4j-2.17.0-bin.tar.gz"
+ elasticsearch-env
+ elasticsearch.service
+ elasticsearch@.service
+ elasticsearch-keystore.service
+ elasticsearch-keystore@.service
+ elasticsearch-sysctl.conf
+ elasticsearch-user.conf
+ elasticsearch-tmpfile.conf
+ elasticsearch.default
+)
+sha256sums=('645e5f124f40fd3f08a9b1f51138cba8e6ad16e8c8e1d03e98c8ad72a20a91c4'
+ '48f9c24d71d884c959012f3bcd3d0e9a9f51dbab6992765387b94b2edfb83333'
+ '1c1a79ddcdd38d6730f58af4055ba148e90648b53b41d761b39ad82b1bbf40fe'
+ 'de3842935b6ef9cb8a05dc18334112f534dccc2292e36052df942a92de7e66db'
+ '13090c1d23ae0a21bf6f0f1d1da795d38972f1674b20c3d2d32f54311aa99094'
+ 'bac40d87acaa5bee209ceb6dfa253009a072e9243fe3b94be42fb5cd44727d6f'
+ '22a78a165a810608188faea6f2b0b381f27b1e9d60126c3b3e729124540589a8'
+ 'b3feb1e9c7e7ce6b33cea6c727728ed700332aae942ca475c3bcc1d56b9f113c'
+ '815f6a39db6f54bb40750c382ffbdc298d2c4c187ee8ea7e2f855923e2ff354b'
+ '3173e3efa429507e6329f518699a072dfd442d9b5da7c62452a55f82334dd2b5'
+ 'bb74e5fb8bc28f2125e015395ab05bea117b72bfc6dadbca827694b362ee0bf8')
+
+backup=('etc/elasticsearch/elasticsearch.yml'
+ 'etc/elasticsearch/log4j2.properties'
+ 'etc/elasticsearch/jvm.options'
+ 'etc/default/elasticsearch')
+
+prepare() {
+ cd "$srcdir"/$_pkgname-$pkgver
+
+ find bin -type f \( -name \*.bat -o -name \*.exe \) -delete
+ find bin -type f \( -name \*.jar -o -name \*-env \) -exec chmod a-x {} +
+ find bin -type f ! -name \*.jar -exec \
+ sed -r 's;source .*/(.*)-env;source /usr/share/elasticsearch/\1-env;' -i {} +
+ find bin -type f -name "elasticsearch-*" ! -name elasticsearch-bin -exec \
+ sed 's/`dirname "$0"`/$(dirname "$(realpath "$0")")/' -i {} +
+}
+
+package() {
+ cd "$pkgdir"
+ install -dm750 etc/elasticsearch{,/scripts}
+ install -dm755 {usr/share,var/lib,var/log}/elasticsearch
+ install -dm755 usr/bin
+
+ cd "$srcdir"/$_pkgname-$pkgver
+ cp -R bin lib modules plugins "$pkgdir"/usr/share/elasticsearch/
+
+ cd config
+ for conf in *; do
+ install -Dm644 "$conf" "$pkgdir/etc/elasticsearch/$conf"
+ done
+
+ cd ..
+ mv bin/elasticsearch-env .
+ find bin/ -type f -name elasticsearch-\* ! -name elasticsearch-cli -exec \
+ ln -s ../share/elasticsearch/{} "$pkgdir"/usr/{} \;
+
+ cd "$pkgdir"/usr/share/elasticsearch
+ ln -s ../../../var/log/elasticsearch logs
+ ln -s ../../../var/lib/elasticsearch data
+
+ cd "$pkgdir"
+ install -Dm644 "$srcdir"/elasticsearch-env usr/share/elasticsearch/elasticsearch-env
+ install -Dm644 "$srcdir"/elasticsearch.service usr/lib/systemd/system/elasticsearch.service
+ install -Dm644 "$srcdir"/elasticsearch@.service usr/lib/systemd/system/elasticsearch@.service
+ install -Dm644 "$srcdir"/elasticsearch-keystore.service usr/lib/systemd/system/elasticsearch-keystore.service
+ install -Dm644 "$srcdir"/elasticsearch-keystore@.service usr/lib/systemd/system/elasticsearch-keystore@.service
+ install -Dm644 "$srcdir"/elasticsearch-user.conf usr/lib/sysusers.d/elasticsearch.conf
+ install -Dm644 "$srcdir"/elasticsearch-tmpfile.conf usr/lib/tmpfiles.d/elasticsearch.conf
+ install -Dm644 "$srcdir"/elasticsearch-sysctl.conf usr/lib/sysctl.d/elasticsearch.conf
+ install -Dm644 "$srcdir"/elasticsearch.default etc/default/elasticsearch
+
+ # log4j mitigation
+ find usr/share/elasticsearch/lib -name 'log4j-*-2.9.1.jar' -delete
+ install -Dm644 "$srcdir"/apache-log4j-2.17.0-bin/log4j-core-2.17.0.jar usr/share/elasticsearch/lib
+ install -Dm644 "$srcdir"/apache-log4j-2.17.0-bin/log4j-api-2.17.0.jar usr/share/elasticsearch/lib
+ install -Dm644 "$srcdir"/apache-log4j-2.17.0-bin/log4j-1.2-api-2.17.0.jar usr/share/elasticsearch/lib
+}