[arch-commits] Commit in opensearch/trunk (PKGBUILD opensearch-tmpfile.conf)

Justin Kromlinger hashworks at gemini.archlinux.org
Fri Jan 7 16:22:33 UTC 2022


    Date: Friday, January 7, 2022 @ 16:22:32
  Author: hashworks
Revision: 1095925

upgpkg: opensearch 1.2.3-3: cleanup, fix -cli conflict, fixed jre version, plugins

Modified:
  opensearch/trunk/PKGBUILD
  opensearch/trunk/opensearch-tmpfile.conf

-------------------------+
 PKGBUILD                |  288 ++++++++++++++++++++++++++++++++++++++++------
 opensearch-tmpfile.conf |   18 +-
 2 files changed, 260 insertions(+), 46 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-01-07 16:21:55 UTC (rev 1095924)
+++ PKGBUILD	2022-01-07 16:22:32 UTC (rev 1095925)
@@ -3,31 +3,40 @@
 # Contributor: Marcello "mererghost" Rocha <https://github.com/mereghost>
 # Contributor: Blaž "Speed" Hrastnik <https://github.com/archSeer>
 
-pkgname=opensearch
+pkgbase=opensearch
+pkgname=(
+  opensearch
+  opensearch-analysis-icu-plugin
+  opensearch-analysis-kuromoji-plugin
+  opensearch-analysis-nori-plugin
+  opensearch-analysis-phonetic-plugin
+  opensearch-analysis-smartcn-plugin
+  opensearch-analysis-stempel-plugin
+  opensearch-analysis-ukrainian-plugin
+  opensearch-discovery-azure-classic-plugin
+  opensearch-discovery-ec2-plugin
+  opensearch-discovery-gce-plugin
+  opensearch-ingest-attachment-plugin
+  opensearch-mapper-annotated-text-plugin
+  opensearch-mapper-murmur3-plugin
+  opensearch-mapper-size-plugin
+  opensearch-repository-azure-plugin
+  opensearch-repository-gcs-plugin
+  opensearch-repository-hdfs-plugin
+  opensearch-repository-s3-plugin
+  opensearch-store-smb-plugin
+  opensearch-transport-nio-plugin
+)
 pkgver=1.2.3
-pkgrel=2
-pkgdesc="Open source distributed and RESTful search engine"
+pkgrel=3
+# See https://github.com/opensearch-project/OpenSearch/blob/main/.ci/java-versions.properties
+# https://github.com/opensearch-project/OpenSearch/issues/1689
+_jrever=11
+_jdkver=11
 arch=('x86_64')
 url="https://opensearch.org/docs/opensearch/index/"
 license=('Apache')
-depends=('java-runtime-headless<=16' 'systemd' 'libxml2')
-optdepends=(
-  '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')
+makedepends=("jdk${_jdkver}-openjdk" 'unzip')
 source=(
   "OpenSearch-${pkgver}.tar.gz::https://github.com/opensearch-project/OpenSearch/archive/${pkgver}.tar.gz"
   opensearch.service
@@ -47,15 +56,10 @@
             'a133b8944d57d81224caf03f8d0e5b127f2570123b2a1e2d2f6eb199446448ae'
             'b3feb1e9c7e7ce6b33cea6c727728ed700332aae942ca475c3bcc1d56b9f113c'
             '79cb5856b7105da7f25c6da2a25be88ccba2b849fd92cc32c3204e2fad530efc'
-            'c9045725cf2d262257ae2d7074bb4f6d82bdfc1059725ee856440b695c23361a'
+            '12c4feb01c5c42e98e53f9d6fd457727ec0bf0b19bf9c4bc2ee216f31afe7afc'
             '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"
@@ -63,28 +67,103 @@
 
 build() {
   cd "OpenSearch-${pkgver}"
-  export PATH=/usr/lib/jvm/default/bin:$PATH
+  export JAVA_HOME="/usr/lib/jvm/java-${_jdkver}-openjdk"
+  export PATH="/usr/lib/jvm/java-${_jdkver}-openjdk/bin:$PATH"
   export GRADLE_OPTS="-Dbuild.snapshot=false"
+
+  # OpenSearch
   ./gradlew :distribution:buildSystemdModule
-  ./gradlew :distribution:archives:linux-tar:build
+  ./gradlew :distribution:archives:no-jdk-linux-tar:build
+
+  # Plugins
+  for p in \
+    analysis-icu \
+    analysis-kuromoji \
+    analysis-nori \
+    analysis-phonetic \
+    analysis-smartcn \
+    analysis-stempel \
+    analysis-ukrainian \
+    discovery-azure-classic \
+    discovery-ec2 \
+    discovery-gce \
+    ingest-attachment \
+    mapper-annotated-text \
+    mapper-murmur3 \
+    mapper-size \
+    repository-azure \
+    repository-gcs \
+    repository-hdfs \
+    repository-s3 \
+    store-smb \
+    transport-nio; do
+    ./gradlew :plugin:${p}:build
+  done
 }
 
-package() {
+package_opensearch() {
+  pkgdesc="Open source distributed and RESTful search engine"
+  depends=("jre${_jrever}-openjdk-headless" 'systemd' 'libxml2')
+  optdepends=(
+    'opensearch-analysis-icu-plugin'
+    'opensearch-analysis-kuromoji-plugin'
+    'opensearch-analysis-nori-plugin'
+    'opensearch-analysis-phonetic-plugin'
+    'opensearch-analysis-smartcn-plugin'
+    'opensearch-analysis-stempel-plugin'
+    'opensearch-analysis-ukrainian-plugin'
+    'opensearch-discovery-azure-classic-plugin'
+    'opensearch-discovery-ec2-plugin'
+    'opensearch-discovery-gce-plugin'
+    'opensearch-ingest-attachment-plugin'
+    'opensearch-mapper-annotated-text-plugin'
+    'opensearch-mapper-murmur3-plugin'
+    'opensearch-mapper-size-plugin'
+    'opensearch-repository-azure-plugin'
+    'opensearch-repository-gcs-plugin'
+    'opensearch-repository-hdfs-plugin'
+    'opensearch-repository-s3-plugin'
+    'opensearch-store-smb-plugin'
+    'opensearch-transport-nio-plugin'
+    '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'
+  )
+  backup=(
+    'etc/opensearch/opensearch.yml'
+    'etc/opensearch/log4j2.properties'
+    'etc/opensearch/jvm.options'
+    'etc/default/opensearch'
+  )
+
   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 \
+  tar xf distribution/archives/no-jdk-linux-tar/build/distributions/opensearch-min-$pkgver-no-jdk-linux-x64.tar.gz \
     --strip 1 -C "${pkgdir}/usr/share/opensearch"
-  rm -r "${pkgdir}"/usr/share/opensearch/{jdk,logs}
+  rm -r "${pkgdir}"/usr/share/opensearch/logs
 
   install -dm755 "${pkgdir}/etc"
   mv "${pkgdir}/usr/share/opensearch/config" "${pkgdir}/etc/opensearch"
-  chmod 2750 "${pkgdir}/etc/opensearch"
+  chmod 2755 "${pkgdir}/etc/opensearch/"{,jvm.options.d}
+  chmod -R 644 "${pkgdir}/etc/opensearch/"{jvm.options,log4j2.properties}
+  chmod 640 "${pkgdir}/etc/opensearch/opensearch.yml" # Might contain sensitive information
 
-  for bin in "${pkgdir}/usr/share/opensearch/bin/"*; do
-    ln -sT "/usr/share/opensearch/bin/$(basename ${bin})" "${pkgdir}/usr/bin/$(basename ${bin})"
+  ln -sT "/usr/share/opensearch/bin/opensearch" "${pkgdir}/usr/bin/opensearch"
+  for b in opensearch-keystore opensearch-node opensearch-plugin opensearch-shard opensearch-upgrade; do
+    ln -sT "/usr/share/opensearch/bin/${b}" "${pkgdir}/usr/bin/${b}"
+    sed 's|"`dirname "$0"`"|/usr/share/opensearch/bin|' -i "${pkgdir}/usr/share/opensearch/bin/${b}"
   done
 
   ln -s /etc/opensearch "${pkgdir}/usr/share/opensearch/config"
@@ -102,8 +181,143 @@
 
   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"
+  sed -i "2iJAVA_HOME=/usr/lib/jvm/java-${_jrever}-openjdk" "${pkgdir}/usr/share/opensearch/bin/opensearch-env"
 
+  # Since this warning only affects official OpenSearch releases we can remove it on our end
+  sed -i 's/echo "warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release" >&2/:/g' "${pkgdir}/usr/share/opensearch/bin/opensearch-env"
+
   install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
 }
+
+_package_plugin() {
+  plugin="$1"
+
+  install -dm755 "${pkgdir}/usr/share/opensearch/plugins/${plugin}"
+  install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
+
+  cd "${pkgdir}/usr/share/opensearch/plugins/${plugin}"
+  unzip "${srcdir}/OpenSearch-${pkgver}/plugins/${plugin}/build/distributions/${plugin}-${pkgver}.zip"
+
+  mv LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
+  mv NOTICE.txt "${pkgdir}/usr/share/licenses/${pkgname}/NOTICE.txt"
+}
+
+package_opensearch-analysis-icu-plugin() {
+  pkgdesc="The ICU Analysis plugin integrates the Lucene ICU module into OpenSearch, adding ICU-related analysis components."
+  depends=("opensearch=${pkgver}")
+  _package_plugin analysis-icu
+}
+
+package_opensearch-analysis-kuromoji-plugin() {
+  pkgdesc="The Japanese (kuromoji) Analysis plugin integrates Lucene kuromoji analysis module into opensearch."
+  depends=("opensearch=${pkgver}")
+  _package_plugin analysis-kuromoji
+}
+
+package_opensearch-analysis-nori-plugin() {
+  pkgdesc="The Korean (nori) Analysis plugin integrates Lucene nori analysis module into opensearch."
+  depends=("opensearch=${pkgver}")
+  _package_plugin analysis-nori
+}
+
+package_opensearch-analysis-phonetic-plugin() {
+  pkgdesc="The Phonetic Analysis plugin integrates phonetic token filter analysis with opensearch."
+  depends=("opensearch=${pkgver}")
+  _package_plugin analysis-phonetic
+}
+
+package_opensearch-analysis-smartcn-plugin() {
+  pkgdesc="Smart Chinese Analysis plugin integrates Lucene Smart Chinese analysis module into opensearch."
+  depends=("opensearch=${pkgver}")
+  _package_plugin analysis-smartcn
+}
+
+package_opensearch-analysis-stempel-plugin() {
+  pkgdesc="The Stempel (Polish) Analysis plugin integrates Lucene stempel (polish) analysis module into opensearch."
+  depends=("opensearch=${pkgver}")
+  _package_plugin analysis-stempel
+}
+
+package_opensearch-analysis-ukrainian-plugin() {
+  pkgdesc="The Ukrainian Analysis plugin integrates the Lucene UkrainianMorfologikAnalyzer into opensearch."
+  depends=("opensearch=${pkgver}")
+  _package_plugin analysis-ukrainian
+}
+
+package_opensearch-discovery-azure-classic-plugin() {
+  pkgdesc="The Azure Classic Discovery plugin allows to use Azure Classic API for the unicast discovery mechanism"
+  depends=("opensearch=${pkgver}")
+  _package_plugin discovery-azure-classic
+}
+
+package_opensearch-discovery-ec2-plugin() {
+  pkgdesc="The EC2 discovery plugin allows to use AWS API for the unicast discovery mechanism."
+  depends=("opensearch=${pkgver}")
+  _package_plugin discovery-ec2
+}
+
+package_opensearch-discovery-gce-plugin() {
+  pkgdesc="The Google Compute Engine (GCE) Discovery plugin allows to use GCE API for the unicast discovery mechanism."
+  depends=("opensearch=${pkgver}")
+  _package_plugin discovery-gce
+}
+
+package_opensearch-ingest-attachment-plugin() {
+  pkgdesc="Ingest processor that uses Apache Tika to extract contents"
+  depends=("opensearch=${pkgver}")
+  _package_plugin ingest-attachment
+}
+
+package_opensearch-mapper-annotated-text-plugin() {
+  pkgdesc="The Mapper Annotated_text plugin adds support for text fields with markup used to inject annotation tokens into the index."
+  depends=("opensearch=${pkgver}")
+  _package_plugin mapper-annotated-text
+}
+
+package_opensearch-mapper-murmur3-plugin() {
+  pkgdesc="The Mapper Murmur3 plugin allows to compute hashes of a field\'s values at index-time and to store them in the index."
+  depends=("opensearch=${pkgver}")
+  _package_plugin mapper-murmur3
+}
+
+package_opensearch-mapper-size-plugin() {
+  pkgdesc="The Mapper Size plugin allows document to record their uncompressed size at index time."
+  depends=("opensearch=${pkgver}")
+  _package_plugin mapper-size
+}
+
+package_opensearch-repository-azure-plugin() {
+  pkgdesc="The Azure Repository plugin adds support for Azure storage repositories."
+  depends=("opensearch=${pkgver}")
+  _package_plugin repository-azure
+}
+
+package_opensearch-repository-gcs-plugin() {
+  pkgdesc="The GCS repository plugin adds Google Cloud Storage support for repositories."
+  depends=("opensearch=${pkgver}")
+  _package_plugin repository-gcs
+}
+
+package_opensearch-repository-hdfs-plugin() {
+  pkgdesc="The HDFS repository plugin adds support for Hadoop Distributed File-System (HDFS) repositories."
+  depends=("opensearch=${pkgver}")
+  _package_plugin repository-hdfs
+}
+
+package_opensearch-repository-s3-plugin() {
+  pkgdesc="The S3 repository plugin adds S3 repositories"
+  depends=("opensearch=${pkgver}")
+  _package_plugin repository-s3
+}
+
+package_opensearch-store-smb-plugin() {
+  pkgdesc="The Store SMB plugin adds support for SMB stores."
+  depends=("opensearch=${pkgver}")
+  _package_plugin store-smb
+}
+
+package_opensearch-transport-nio-plugin() {
+  pkgdesc="The nio transport."
+  depends=("opensearch=${pkgver}")
+  _package_plugin transport-nio
+}

Modified: opensearch-tmpfile.conf
===================================================================
--- opensearch-tmpfile.conf	2022-01-07 16:21:55 UTC (rev 1095924)
+++ opensearch-tmpfile.conf	2022-01-07 16:22:32 UTC (rev 1095925)
@@ -2,13 +2,13 @@
 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
+d /etc/opensearch 2755 - opensearch -
+d /etc/opensearch/scripts 0755 - opensearch -
+d /etc/opensearch/jvm.options.d 0755 - opensearch -
+z /etc/opensearch/jvm.options 0644 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
+z /etc/opensearch/log4j2.properties 0644 root opensearch
+z /etc/opensearch/role_mapping.yml 0644 root opensearch
+z /etc/opensearch/roles.yml 0644 root opensearch
+z /etc/opensearch/users 0644 root opensearch
+z /etc/opensearch/users_roles 0644 root opensearch



More information about the arch-commits mailing list