Date: Friday, December 31, 2021 @ 15:20:24 Author: hashworks Revision: 1090363
Initial commit Added: opensearch/ opensearch/repos/ opensearch/trunk/ opensearch/trunk/PKGBUILD opensearch/trunk/opensearch-keystore.service opensearch/trunk/[email protected] opensearch/trunk/opensearch-sysctl.conf opensearch/trunk/opensearch-tmpfile.conf opensearch/trunk/opensearch-user.conf opensearch/trunk/opensearch.default opensearch/trunk/opensearch.service opensearch/trunk/[email protected] opensearch/trunk/remove-systemd-distribution-check.patch -----------------------------------------+ PKGBUILD | 110 ++++++++++++++++++++++++++++++ opensearch-keystore.service | 10 ++ [email protected] | 11 +++ opensearch-sysctl.conf | 1 opensearch-tmpfile.conf | 14 +++ opensearch-user.conf | 1 opensearch.default | 13 +++ opensearch.service | 66 ++++++++++++++++++ [email protected] | 67 ++++++++++++++++++ remove-systemd-distribution-check.patch | 17 ++++ 10 files changed, 310 insertions(+) Added: opensearch/trunk/PKGBUILD =================================================================== --- opensearch/trunk/PKGBUILD (rev 0) +++ opensearch/trunk/PKGBUILD 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,110 @@ +# Maintainer: Justin Kromlinger <[email protected]> +# Contributor: Massimiliano Torromeo <[email protected]> +# Contributor: Marcello "mererghost" Rocha <https://github.com/mereghost> +# Contributor: Blaž "Speed" Hrastnik <https://github.com/archSeer> + +pkgname=opensearch +pkgver=1.2.1 +pkgrel=1 +pkgdesc="Open source distributed and RESTful search engine" +arch=('x86_64') +url="https://opensearch.org/docs/opensearch/index/" +license=('Apache') +depends=('java-runtime<=16' 'systemd' 'libxml2') +optdepends=( + 'opensearch-cli' + 'opensearch-dashboards' + 'opensearch-alerting-plugin' + 'opensearch-anomaly-detection-plugin' + 'opensearch-asynchronous-search-plugin' + 'opensearch-cross-cluster-replication-plugin' + 'opensearch-index-management-plugin' + 'opensearch-job-scheduler-plugin' + 'opensearch-knn-plugin' + 'opensearch-observability-plugin' + 'opensearch-performance-analyzer-plugin' + 'opensearch-reports-scheduler-plugin' + 'opensearch-security-plugin' + 'opensearch-sql-plugin' +) +# See https://github.com/opensearch-project/OpenSearch/blob/main/.ci/java-versions.properties +makedepends=('java-environment=11') +source=( + "OpenSearch-${pkgver}.tar.gz::https://github.com/opensearch-project/OpenSearch/archive/${pkgver}.tar.gz" + opensearch.service + [email protected] + opensearch-keystore.service + [email protected] + opensearch-sysctl.conf + opensearch-user.conf + opensearch-tmpfile.conf + opensearch.default + remove-systemd-distribution-check.patch +) +sha256sums=('b358d53e33c38324a59a216dd8f24dcf617f891c02311025b44aed1bb8ca8201' + 'b59d064ce8e348f22b969cc2b7522a1c7b64d4b4e3fd98d9ad1f01d842e94d46' + '02bfe1e723f6522d7b5bf72d43c7847c4d9329d105b543583aa5b9c952e7d54d' + '097de1fc6ef1f12e99d2b3def9c9803cf0dd8609aeace608048d599a2cb85c5c' + 'a133b8944d57d81224caf03f8d0e5b127f2570123b2a1e2d2f6eb199446448ae' + 'b3feb1e9c7e7ce6b33cea6c727728ed700332aae942ca475c3bcc1d56b9f113c' + '79cb5856b7105da7f25c6da2a25be88ccba2b849fd92cc32c3204e2fad530efc' + 'c9045725cf2d262257ae2d7074bb4f6d82bdfc1059725ee856440b695c23361a' + '66401172f710e80e1f715c89bc6ed5a6d0ad567c58ad03101e59556c52245158' + '0d158e9fc2ac6375ae9c140eb79e0308794c1a0220d3634a2b98e94b37b6f8dc') + +backup=('etc/opensearch/opensearch.yml' + 'etc/opensearch/log4j2.properties' + 'etc/opensearch/jvm.options' + 'etc/default/opensearch') + +prepare() { + cd "OpenSearch-${pkgver}" + patch -Np1 -i "${srcdir}/remove-systemd-distribution-check.patch" +} + +build() { + cd "OpenSearch-${pkgver}" + export PATH=/usr/lib/jvm/default/bin:$PATH + export GRADLE_OPTS="-Dbuild.snapshot=false" + ./gradlew :distribution:buildSystemdModule + ./gradlew :distribution:archives:linux-tar:build +} + +package() { + cd "OpenSearch-${pkgver}" + + install -dm755 "${pkgdir}"/{usr/share,var/lib,var/log}/opensearch + install -dm755 "${pkgdir}/usr/bin" + + tar xf distribution/archives/linux-tar/build/distributions/opensearch-min-$pkgver-linux-x64.tar.gz \ + --strip 1 -C "${pkgdir}/usr/share/opensearch" + rm -r "${pkgdir}"/usr/share/opensearch/{jdk,logs} + + install -dm755 "${pkgdir}/etc" + mv "${pkgdir}/usr/share/opensearch/config" "${pkgdir}/etc/opensearch" + chmod 2750 "${pkgdir}/etc/opensearch" + + for bin in "${pkgdir}/usr/share/opensearch/bin/"*; do + ln -sT "/usr/share/opensearch/bin/$(basename ${bin})" "${pkgdir}/usr/bin/$(basename ${bin})" + done + + ln -s /etc/opensearch "${pkgdir}/usr/share/opensearch/config" + ln -s /var/log/opensearch "${pkgdir}/usr/share/opensearch/logs" + ln -s /var/lib/opensearch "${pkgdir}/usr/share/opensearch/data" + + install -Dm644 "$srcdir"/opensearch.service "${pkgdir}/usr/lib/systemd/system/opensearch.service" + install -Dm644 "$srcdir"/[email protected] "${pkgdir}/usr/lib/systemd/system/[email protected]" + install -Dm644 "$srcdir"/opensearch-keystore.service "${pkgdir}/usr/lib/systemd/system/opensearch-keystore.service" + install -Dm644 "$srcdir"/[email protected] "${pkgdir}/usr/lib/systemd/system/[email protected]" + install -Dm644 "$srcdir"/opensearch-user.conf "${pkgdir}/usr/lib/sysusers.d/opensearch.conf" + install -Dm644 "$srcdir"/opensearch-tmpfile.conf "${pkgdir}/usr/lib/tmpfiles.d/opensearch.conf" + install -Dm644 "$srcdir"/opensearch-sysctl.conf "${pkgdir}/usr/lib/sysctl.d/opensearch.conf" + install -Dm644 "$srcdir"/opensearch.default "${pkgdir}/etc/default/opensearch" + + cp -r distribution/build/outputs/systemd/modules/systemd "${pkgdir}/usr/share/opensearch/modules/" + + sed -i '2iJAVA_HOME=/usr/lib/jvm/default-runtime' "${pkgdir}/usr/share/opensearch/bin/opensearch-env" + sed -i 's/OPENSEARCH_BUNDLED_JDK=true/OPENSEARCH_BUNDLED_JDK=false/g' "${pkgdir}/usr/share/opensearch/bin/opensearch-env" + + install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt" +} Added: opensearch/trunk/opensearch-keystore.service =================================================================== --- opensearch/trunk/opensearch-keystore.service (rev 0) +++ opensearch/trunk/opensearch-keystore.service 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,10 @@ +[Unit] +Description=OpenSearch Keystore Generation +ConditionPathExists=|!/etc/opensearch/opensearch.keystore + +[Service] +Type=oneshot +Group=opensearch +UMask=0007 +ExecStart=/usr/share/opensearch/bin/opensearch-keystore create +RemainAfterExit=yes Added: opensearch/trunk/[email protected] =================================================================== --- opensearch/trunk/[email protected] (rev 0) +++ opensearch/trunk/[email protected] 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,11 @@ +[Unit] +Description=OpenSearch Keystore Generation +ConditionPathExists=|!/etc/opensearch/%I/opensearch.keystore + +[Service] +Type=oneshot +Group=opensearch +UMask=0007 +Environment=ES_PATH_CONF=/etc/opensearch/%I +ExecStart=/usr/share/opensearch/bin/opensearch-keystore create +RemainAfterExit=yes Added: opensearch/trunk/opensearch-sysctl.conf =================================================================== --- opensearch/trunk/opensearch-sysctl.conf (rev 0) +++ opensearch/trunk/opensearch-sysctl.conf 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1 @@ +vm.max_map_count=262144 \ No newline at end of file Added: opensearch/trunk/opensearch-tmpfile.conf =================================================================== --- opensearch/trunk/opensearch-tmpfile.conf (rev 0) +++ opensearch/trunk/opensearch-tmpfile.conf 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,14 @@ +d /var/log/opensearch 0755 opensearch opensearch - +d /var/lib/opensearch 0755 opensearch opensearch - +d /usr/share/opensearch/plugins 0755 opensearch opensearch - + +d /etc/opensearch 2750 - opensearch - +d /etc/opensearch/scripts 0750 - opensearch - +d /etc/opensearch/jvm.options.d 0750 - opensearch - +z /etc/opensearch/jvm.options 0640 root opensearch +z /etc/opensearch/opensearch.yml 0640 root opensearch +z /etc/opensearch/log4j2.properties 0640 root opensearch +z /etc/opensearch/role_mapping.yml 0640 root opensearch +z /etc/opensearch/roles.yml 0640 root opensearch +z /etc/opensearch/users 0640 root opensearch +z /etc/opensearch/users_roles 0640 root opensearch Added: opensearch/trunk/opensearch-user.conf =================================================================== --- opensearch/trunk/opensearch-user.conf (rev 0) +++ opensearch/trunk/opensearch-user.conf 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1 @@ +u opensearch - "OpenSearch user" Added: opensearch/trunk/opensearch.default =================================================================== --- opensearch/trunk/opensearch.default (rev 0) +++ opensearch/trunk/opensearch.default 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,13 @@ +JAVA_HOME=/usr/lib/jvm/default-runtime + +# Heap Size (defaults to 256m min, 1g max) +#OPENSEARCH_HEAP_SIZE=1g + +# Heap new generation +#OPENSEARCH_HEAP_NEWSIZE= + +# max direct memory +#OPENSEARCH_DIRECT_SIZE= + +# Additional Java OPTS +#OPENSEARCH_JAVA_OPTS= Added: opensearch/trunk/opensearch.service =================================================================== --- opensearch/trunk/opensearch.service (rev 0) +++ opensearch/trunk/opensearch.service 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,66 @@ +[Unit] +Description=OpenSearch +Documentation=https://opensearch.org/docs/opensearch/index/ +Wants=opensearch-keystore.service +Wants=network-online.target +After=opensearch-keystore.service +After=network-online.target + +[Service] +Type=notify +RuntimeDirectory=opensearch +PrivateTmp=true +Environment=OPENSEARCH_HOME=/usr/share/opensearch +Environment=OPENSEARCH_PATH_CONF=/etc/opensearch +Environment=PID_DIR=/run/opensearch +Environment=OPENSEARCH_SD_NOTIFY=true +EnvironmentFile=-/etc/default/opensearch + +WorkingDirectory=/usr/share/opensearch + +User=opensearch +Group=opensearch + +PermissionsStartOnly=true +ExecStartPre=/usr/share/opensearch/bin/opensearch-keystore upgrade + +ExecStart=/usr/share/opensearch/bin/opensearch -p ${PID_DIR}/opensearch.pid + +# StandardOutput is configured to redirect to journalctl since +# some error messages may be logged in standard output before +# opensearch logging system is initialized. opensearch +# stores its logs in /var/log/opensearch and does not use +# journalctl by default. If you also want to enable journalctl +# logging, you can simply remove the "quiet" option from ExecStart. +StandardOutput=journal +StandardError=inherit + +# Specifies the maximum file descriptor number that can be opened by this process +LimitNOFILE=65535 + +# Specifies the maximum number of processes +LimitNPROC=4096 + +# Specifies the maximum size of virtual memory +LimitAS=infinity + +# Specifies the maximum file size +LimitFSIZE=infinity + +# Disable timeout logic and wait until process is stopped +TimeoutStopSec=0 + +# SIGTERM signal is used to stop the Java process +KillSignal=SIGTERM + +# Send the signal only to the JVM rather than its control group +KillMode=process + +# Java process is never killed +SendSIGKILL=no + +# When a JVM receives a SIGTERM signal it exits with code 143 +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target Added: opensearch/trunk/[email protected] =================================================================== --- opensearch/trunk/[email protected] (rev 0) +++ opensearch/trunk/[email protected] 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,67 @@ +[Unit] +Description=OpenSearch %I +Documentation=https://opensearch.org +Wants=opensearch-keystore@%i.service +Wants=network-online.target +After=opensearch-keystore@%i.service +After=network-online.target + +[Service] +Type=notify +RuntimeDirectory=opensearch +PrivateTmp=true +Environment=OPENSEARCH_HOME=/usr/share/opensearch +Environment=OPENSEARCH_PATH_CONF=/etc/opensearch/%I +Environment=PID_DIR=/run/opensearch +Environment=OPENSEARCH_SD_NOTIFY=true +EnvironmentFile=-/etc/default/opensearch +PIDFile=/run/opensearch/%I.pid + +WorkingDirectory=/usr/share/opensearch + +User=opensearch +Group=opensearch + +PermissionsStartOnly=true +ExecStartPre=/usr/share/opensearch/bin/opensearch-keystore upgrade + +ExecStart=/usr/share/opensearch/bin/opensearch -p ${PID_DIR}/%I.pid + +# StandardOutput is configured to redirect to journalctl since +# some error messages may be logged in standard output before +# opensearch logging system is initialized. opensearch +# stores its logs in /var/log/opensearch and does not use +# journalctl by default. If you also want to enable journalctl +# logging, you can simply remove the "quiet" option from ExecStart. +StandardOutput=journal +StandardError=inherit + +# Specifies the maximum file descriptor number that can be opened by this process +LimitNOFILE=65535 + +# Specifies the maximum number of processes +LimitNPROC=4096 + +# Specifies the maximum size of virtual memory +LimitAS=infinity + +# Specifies the maximum file size +LimitFSIZE=infinity + +# Disable timeout logic and wait until process is stopped +TimeoutStopSec=0 + +# SIGTERM signal is used to stop the Java process +KillSignal=SIGTERM + +# Send the signal only to the JVM rather than its control group +KillMode=process + +# Java process is never killed +SendSIGKILL=no + +# When a JVM receives a SIGTERM signal it exits with code 143 +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target Added: opensearch/trunk/remove-systemd-distribution-check.patch =================================================================== --- opensearch/trunk/remove-systemd-distribution-check.patch (rev 0) +++ opensearch/trunk/remove-systemd-distribution-check.patch 2021-12-31 15:20:24 UTC (rev 1090363) @@ -0,0 +1,17 @@ +diff --git a/modules/systemd/src/main/java/org/opensearch/systemd/SystemdPlugin.java b/modules/systemd/src/main/java/org/opensearch/systemd/SystemdPlugin.java +index 40cc219cbb4..5b89f469da7 100644 +--- a/modules/systemd/src/main/java/org/opensearch/systemd/SystemdPlugin.java ++++ b/modules/systemd/src/main/java/org/opensearch/systemd/SystemdPlugin.java +@@ -59,11 +59,7 @@ public class SystemdPlugin extends Plugin implements ClusterPlugin { + } + + SystemdPlugin(final boolean assertIsPackageDistribution, final Build.Type buildType, final String esSDNotify) { +- final boolean isPackageDistribution = buildType == Build.Type.DEB || buildType == Build.Type.RPM; +- if (assertIsPackageDistribution) { +- // our build is configured to only include this module in the package distributions +- assert isPackageDistribution : buildType; +- } ++ final boolean isPackageDistribution = true; + if (isPackageDistribution == false) { + logger.debug("disabling sd_notify as the build type [{}] is not a package distribution", buildType); + enabled = false;
