diff options
author | Justin Kromlinger | 2022-01-09 18:29:23 +0100 |
---|---|---|
committer | Justin Kromlinger | 2022-01-09 18:29:23 +0100 |
commit | 7a8e509f15265de9ae0d9446e8c8fa4bd16fa70c (patch) | |
tree | 48d2dc81f20a3ff7756171f56ccfa490215f45af | |
parent | e03bc6e179893763c22fa599386624c964457652 (diff) | |
download | aur-7a8e509f15265de9ae0d9446e8c8fa4bd16fa70c.tar.gz |
Moved from community
-rw-r--r-- | .SRCINFO | 51 | ||||
-rw-r--r-- | PKGBUILD | 131 | ||||
-rw-r--r-- | build.patch | 72 | ||||
-rw-r--r-- | log4j.patch | 40 | ||||
-rw-r--r-- | logstash-sysuser.conf (renamed from user.conf) | 0 | ||||
-rw-r--r-- | logstash-tmpfile.conf | 6 | ||||
-rw-r--r-- | logstash.install | 9 | ||||
-rw-r--r-- | logstash.service | 2 |
8 files changed, 251 insertions, 60 deletions
@@ -1,24 +1,49 @@ -# Generated by mksrcinfo v8 -# Thu Aug 24 09:45:22 UTC 2017 pkgbase = logstash - pkgdesc = A tool for managing events and logs - pkgver = 5.5.2 + pkgdesc = Tool for managing events and logs + pkgver = 7.10.2 pkgrel = 1 - url = https://www.elastic.co/products/logstash - install = logstash.install - arch = any - license = Apache License + url = https://www.elastic.co/products/logstash/ + arch = x86_64 + license = Apache + makedepends = jdk11-openjdk + makedepends = git depends = java-runtime-headless>=8 - source = https://artifacts.elastic.co/downloads/logstash/logstash-5.5.2.tar.gz + depends = ruby + depends = ruby-bundler + depends = coreutils + depends = awk + noextract = jruby-dist-9.2.13.0-bin.tar.gz + backup = etc/conf.d/logstash + backup = etc/logstash/jvm.options + backup = etc/logstash/log4j2.properties + backup = etc/logstash/logstash.yml + backup = etc/logstash/pipelines.yml + source = https://github.com/elastic/logstash/archive/v7.10.2/logstash-7.10.2.tar.gz + source = https://repo1.maven.org/maven2/org/jruby/jruby-dist/9.2.13.0/jruby-dist-9.2.13.0-bin.tar.gz + source = build.patch + source = log4j.patch source = logstash.service source = logstash@.service - source = user.conf + source = logstash-sysuser.conf + source = logstash-tmpfile.conf source = bundle.config - sha256sums = 95845b89964300a5596c0ba3966c48d4980524d741a9cd2b13e04a36e3e1d912 - sha256sums = 48a0f2ddb54fb3a4039cbd97ad10e4a0a10ac79ae917bc6ecf29ce10109e2710 + sha256sums = 52288699c9e14453e8655ac940c1d0ee51c8956f4b6356502b67c62abf228429 + sha256sums = 73a8c241a162e644c87e864c3485c55adedeb82a6fd80fa3cb538fdacda7af58 + sha256sums = 9ae56b463b465f16363f60670c7da4e84a9bf03c17324c4364c089d7a480cb4b + sha256sums = 5e52cf3a4372c77dfcb1c5f48160f7a6da5d2f5fc9c84b22b63f91bef85c01dd + sha256sums = 2b8b29297202334c784fdd7f2eb8d7e776c24c783b3c9f8387b500ab0039335c sha256sums = a01ea29d4f53d785f6eb926ebfe445e64ed5b3dab5d0418848589dd79502d876 sha256sums = 18a68a59ddb0ce19778e83b65e68dd568d65b7180bf45b4cf298fb332d69eb26 + sha256sums = 346b630484f8a35b1a549e94e53e3e151527852a29c72cc6e529221215a7f533 sha256sums = fe05315345e4489458c3eecac43726800109c1e390e74a14584096f6c041fee1 + sha512sums = 0163dc6d0a4efda4b1e075e63145029931df73dc7633c2601b45cebe10978bcf6972fa46341aa1c12ce949ed193e80d6d33937b791c5c75ff9fd155cf6c7ace2 + sha512sums = 2cba016ad6a376252083122d51335610209d860c41de1902f5cd49ffc2f6b49c350b68df8fc4113c221255af4db7ec07980267b9888369811faf66db369e757c + sha512sums = f6ddf9cc70a2c0cabaacf39fa26953c15af0060711713b2de69caddd2b8f845edde535f002cd7a0d0f8fc01abf934d887278fb6617b2a3d640284bc16ea34927 + sha512sums = fb166705f9e26e47c9b9219fcd814fef5cd602ad936600973132ad2c869a4091d727d5a76c2322ce5c871ac550478df0d502b2291fd54f04b9a32059ab6ea5b6 + sha512sums = 817097565519dc7c5eac7521339947c74c6148683ca594356dd2ceb3274a1e94f8e7318ce310e0fe5789d7ab0d4c23404f814bef31036a11ddfec08d16814c69 + sha512sums = ce2cef4a784845b00d7c867273555811450bc459669abb5be944bfbbb02708129983e45376a9b308d6db22b2c7b4a7a212827a4826f2a27bc7e143cebc9abfe0 + sha512sums = d811dc3b18d0032b79b4669c9f6aefca49963897c309d83cbf87616c7b8cb5944c17c8072980bcd115d0fb57ef1624d98259ff1082d402d308c33e766ee89699 + sha512sums = 05ea8af97c4f6ac9ba5518b99dc3136859edd24d8376940b48b8c7a70586c8bc188deb1079a99e19d437c39e0eb17d68e7cc3f9af4aa3ad2bc6a87c08cae94a6 + sha512sums = 5091aa34cc31acd50fd2865714080cf6e67c2d437424f27e001bb409c2885a0e82eabe4ce17461d60c181f460a16df0a03d53bac6015fb731b3e5225735fd4da pkgname = logstash - @@ -1,58 +1,115 @@ +# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org> # Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> pkgname=logstash -pkgver=5.5.2 +pkgver=7.10.2 +_jrubyver=9.2.13.0 pkgrel=1 -pkgdesc='A tool for managing events and logs' -arch=('any') -url='https://www.elastic.co/products/logstash' -license=('Apache License') -depends=('java-runtime-headless>=8') -install=logstash.install - -source=("https://artifacts.elastic.co/downloads/$pkgname/$pkgname-$pkgver.tar.gz" - "logstash.service" - "logstash@.service" - "user.conf" - "bundle.config") -sha256sums=('95845b89964300a5596c0ba3966c48d4980524d741a9cd2b13e04a36e3e1d912' - '48a0f2ddb54fb3a4039cbd97ad10e4a0a10ac79ae917bc6ecf29ce10109e2710' +pkgdesc='Tool for managing events and logs' +url='https://www.elastic.co/products/logstash/' +arch=('x86_64') +license=('Apache') +depends=('java-runtime-headless>=8' 'ruby' 'ruby-bundler' 'coreutils' 'awk') +makedepends=('jdk11-openjdk' 'git') +backup=('etc/conf.d/logstash' + 'etc/logstash/jvm.options' + 'etc/logstash/log4j2.properties' + 'etc/logstash/logstash.yml' + 'etc/logstash/pipelines.yml') +_jrubydist=jruby-dist-${_jrubyver}-bin.tar.gz +source=(https://github.com/elastic/logstash/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz + https://repo1.maven.org/maven2/org/jruby/jruby-dist/${_jrubyver}/${_jrubydist} + build.patch + log4j.patch + logstash.service + logstash@.service + logstash-sysuser.conf + logstash-tmpfile.conf + bundle.config) +noextract=(${_jrubydist}) +sha256sums=('52288699c9e14453e8655ac940c1d0ee51c8956f4b6356502b67c62abf228429' + '73a8c241a162e644c87e864c3485c55adedeb82a6fd80fa3cb538fdacda7af58' + '9ae56b463b465f16363f60670c7da4e84a9bf03c17324c4364c089d7a480cb4b' + '5e52cf3a4372c77dfcb1c5f48160f7a6da5d2f5fc9c84b22b63f91bef85c01dd' + '2b8b29297202334c784fdd7f2eb8d7e776c24c783b3c9f8387b500ab0039335c' 'a01ea29d4f53d785f6eb926ebfe445e64ed5b3dab5d0418848589dd79502d876' '18a68a59ddb0ce19778e83b65e68dd568d65b7180bf45b4cf298fb332d69eb26' + '346b630484f8a35b1a549e94e53e3e151527852a29c72cc6e529221215a7f533' 'fe05315345e4489458c3eecac43726800109c1e390e74a14584096f6c041fee1') +sha512sums=('0163dc6d0a4efda4b1e075e63145029931df73dc7633c2601b45cebe10978bcf6972fa46341aa1c12ce949ed193e80d6d33937b791c5c75ff9fd155cf6c7ace2' + '2cba016ad6a376252083122d51335610209d860c41de1902f5cd49ffc2f6b49c350b68df8fc4113c221255af4db7ec07980267b9888369811faf66db369e757c' + 'f6ddf9cc70a2c0cabaacf39fa26953c15af0060711713b2de69caddd2b8f845edde535f002cd7a0d0f8fc01abf934d887278fb6617b2a3d640284bc16ea34927' + 'fb166705f9e26e47c9b9219fcd814fef5cd602ad936600973132ad2c869a4091d727d5a76c2322ce5c871ac550478df0d502b2291fd54f04b9a32059ab6ea5b6' + '817097565519dc7c5eac7521339947c74c6148683ca594356dd2ceb3274a1e94f8e7318ce310e0fe5789d7ab0d4c23404f814bef31036a11ddfec08d16814c69' + 'ce2cef4a784845b00d7c867273555811450bc459669abb5be944bfbbb02708129983e45376a9b308d6db22b2c7b4a7a212827a4826f2a27bc7e143cebc9abfe0' + 'd811dc3b18d0032b79b4669c9f6aefca49963897c309d83cbf87616c7b8cb5944c17c8072980bcd115d0fb57ef1624d98259ff1082d402d308c33e766ee89699' + '05ea8af97c4f6ac9ba5518b99dc3136859edd24d8376940b48b8c7a70586c8bc188deb1079a99e19d437c39e0eb17d68e7cc3f9af4aa3ad2bc6a87c08cae94a6' + '5091aa34cc31acd50fd2865714080cf6e67c2d437424f27e001bb409c2885a0e82eabe4ce17461d60c181f460a16df0a03d53bac6015fb731b3e5225735fd4da') prepare() { - cd "$srcdir"/$pkgname-$pkgver - rm -f bin/logstash.bat + cd ${pkgname}-${pkgver} + rm bin/*.bat + sed -e 's|LS_SETTINGS_DIR=.*|LS_SETTINGS_DIR="/etc/logstash"|' -i config/startup.options + sed -e '1i [ -f /etc/profile.d/jre.sh ] && . /etc/profile.d/jre.sh' -i bin/logstash.lib.sh - sed -e 's|LS_SETTINGS_DIR=.*|LS_SETTINGS_DIR="/etc/logstash/config"|' \ - -i config/startup.options + # remove deprecated JVM options + sed 's|"-XX:+UseParNewGC", ||g' -i logstash-core/benchmarks/build.gradle + sed 's|-XX:+UseParNewGC||g' -i config/jvm.options - sed -e '1i [ -f /etc/profile.d/jre.sh ] && . /etc/profile.d/jre.sh' \ - -i bin/logstash.lib.sh + # patch -p1 -i "$srcdir"/build.patch + patch -p1 -i "$srcdir"/log4j.patch - cd vendor/jruby/lib/jni - rm -rf *Darwin *Windows *SunOS *FreeBSD arm-* ppc64* + # Use system gradle (currently not working) + # sed 's;./gradlew;gradle;g' -i rakelib/*.rake + + # Skip downloadAndInstallJRuby task in the bootstrap process + sed /downloadAndInstallJRuby/d -i rakelib/vendor.rake + + mkdir -p vendor/_/ + cd vendor/_/ + ln -s "$srcdir"/${_jrubydist} +} + +build() { + cd ${pkgname}-${pkgver} + export PATH="/usr/lib/jvm/java-11-openjdk/bin:$PWD/vendor/jruby/bin:$PATH" + + # gradle -x :logstash-core:javadoc bootstrap (system gradle currently not working) + RELEASE=1 OSS=1 ./gradlew -x :logstash-core:javadoc installDefaultGems + + rm -r build ci logstash-core/{build,src,spec} qa pkg spec rakelib tools .gradle \ + vendor/_ vendor/bundle/jruby/*/cache vendor/jruby/lib/ruby/gems/shared/cache + + cd vendor/jruby/lib + mv jni jni-temp + mkdir jni + mv jni-temp/x86_64-Linux jni/ + rm -rf jni-temp } package() { - cd "$srcdir" + cd ${pkgname}-${pkgver} - install -dm755 "$pkgdir"/usr/share "$pkgdir"/etc/conf.d - cp -a logstash-$pkgver "$pkgdir"/usr/share/logstash + install -dm 755 "${pkgdir}/usr/share/logstash" "${pkgdir}/etc/conf.d" + mv config/startup.options "${pkgdir}/etc/conf.d/logstash" + mv config "${pkgdir}/etc/logstash" + chmod 750 "${pkgdir}/etc/logstash" - cd "$pkgdir"/usr/share/logstash - mv config/startup.options "$pkgdir"/etc/conf.d/logstash - mv config "$pkgdir"/etc/logstash + cp -a bin data lib logstash* modules vendor Gemfile* "${pkgdir}/usr/share/logstash" + rm -rf "${pkgdir}/usr/share/logstash/logstash-core/"{.lock,benchmarks,*gradle*} + chmod -R go-w "${pkgdir}/usr/share/logstash/" - cd "$srcdir" - install -Dm644 logstash.service "$pkgdir"/usr/lib/systemd/system/logstash.service - install -Dm644 logstash@.service "$pkgdir"/usr/lib/systemd/system/logstash@.service - install -Dm644 user.conf "$pkgdir"/usr/lib/sysusers.d/logstash.conf + install -Dm 644 "${srcdir}"/{logstash.service,logstash@.service} -t "${pkgdir}/usr/lib/systemd/system" + install -Dm 644 "${srcdir}/logstash-sysuser.conf" "${pkgdir}/usr/lib/sysusers.d/logstash.conf" + install -Dm 644 "${srcdir}/logstash-tmpfile.conf" "${pkgdir}/usr/lib/tmpfiles.d/logstash.conf" + install -Dm 644 "${srcdir}/bundle.config" "${pkgdir}/usr/share/logstash/.bundle/config" - install -Dm644 bundle.config "$pkgdir"/usr/share/logstash/.bundle/config + install -dm 755 "${pkgdir}/var/lib/logstash" + install -dm 755 "${pkgdir}/var/log/logstash" + install -dm 755 "${pkgdir}/etc/logstash/conf.d" - install -dm755 "$pkgdir"/var/lib/logstash - install -dm755 "$pkgdir"/var/log/logstash - install -dm755 "$pkgdir"/etc/logstash/conf.d + install -d "${pkgdir}/usr/bin" + ln -s /usr/share/logstash/bin/logstash "${pkgdir}/usr/bin/logstash" } + +# vim: ts=2 sw=2 et: diff --git a/build.patch b/build.patch new file mode 100644 index 000000000000..4f897627ad18 --- /dev/null +++ b/build.patch @@ -0,0 +1,72 @@ +diff --git a/build.gradle b/build.gradle +index 5b2275e..67312d6 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -111,7 +111,6 @@ def isReleaseBuild = System.getenv('RELEASE') == "1" || versionQualifier + clean { + delete "${projectDir}/Gemfile" + delete "${projectDir}/Gemfile.lock" +- delete "${projectDir}/vendor" + delete "${projectDir}/.bundle" + delete "${projectDir}/qa/integration/Gemfile.lock" + delete "${projectDir}/qa/integration/.bundle" +@@ -346,7 +345,7 @@ task downloadEs(type: Download) { + // in the normal PR type builds it is plain '7.0.0' + // in the build invoked by the release manager it is '7.0.0-alpha1' etc. + // the artifacts-api will return JSON like this: `{"versions":["5.6.13-SNAPSHOT","6.4.3-SNAPSHOT","6.5.0-SNAPSHOT","6.6.0-SNAPSHOT","7.0.0-alpha1-SNAPSHOT"]}` +- ++ + String qualifiedVersion = dlVersions['versions'].grep(isReleaseBuild ? ~/^${version}$/ : ~/^${version}-SNAPSHOT/)[0] + + if (qualifiedVersion == null) { +diff --git a/rubyUtils.gradle b/rubyUtils.gradle +index 6f0eec4..08a35f6 100644 +--- a/rubyUtils.gradle ++++ b/rubyUtils.gradle +@@ -190,7 +190,7 @@ task downloadJRuby(type: Download) { + + downloadJRuby.onlyIf { customJRubyDir == "" } + +-task verifyFile(dependsOn: downloadJRuby, type: Verify) { ++task verifyFile(type: Verify) { + description "Verify the SHA1 of the download JRuby artifact" + inputs.file(jrubyTarPath) + outputs.file(jrubyTarPath) +@@ -202,36 +202,7 @@ task verifyFile(dependsOn: downloadJRuby, type: Verify) { + verifyFile.onlyIf { customJRubyDir == "" } + verifyFile.onlyIf { doChecksum } + +-task buildCustomJRuby(type: Exec) { +- description "Build tar.gz and .jar artifacts from JRuby source directory" +- workingDir (customJRubyDir == "" ? "./" : customJRubyDir) +- commandLine './mvnw', 'clean', 'install', '-Pdist', '-Pcomplete' +- standardOutput = new ByteArrayOutputStream() +- errorOutput = new ByteArrayOutputStream() +- ext.output = { +- standardOutput.toString() + errorOutput.toString() +- } +-} +- +-buildCustomJRuby.onlyIf { customJRubyDir != "" } +- +-task installCustomJRuby(dependsOn: buildCustomJRuby, type: Copy) { +- description "Install custom built JRuby in the vendor directory" +- inputs.file(customJRubyTar) +- outputs.dir("${projectDir}/vendor/jruby") +- from tarTree(customJRubyTar == "" ? jrubyTarPath : customJRubyTar) +- eachFile { f -> +- f.path = f.path.replaceFirst("^jruby-${customJRubyVersion}", '') +- } +- exclude "**/stdlib/rdoc/**" +- includeEmptyDirs = false +- into "${projectDir}/vendor/jruby" +-} +- +-installCustomJRuby.onlyIf { customJRubyDir != "" } +- +- +-task downloadAndInstallJRuby(dependsOn: [verifyFile, installCustomJRuby], type: Copy) { ++task downloadAndInstallJRuby(dependsOn: [verifyFile], type: Copy) { + description "Install JRuby in the vendor directory" + inputs.file(jrubyTarPath) + outputs.dir("${projectDir}/vendor/jruby") diff --git a/log4j.patch b/log4j.patch new file mode 100644 index 000000000000..b52bf8e8cd9e --- /dev/null +++ b/log4j.patch @@ -0,0 +1,40 @@ +diff --git a/logstash-core/build.gradle b/logstash-core/build.gradle +index 5c837b2..703538e 100644 +--- a/logstash-core/build.gradle ++++ b/logstash-core/build.gradle +@@ -30,6 +30,8 @@ String jrubyVersion = versionMap['jruby']['version'] + String jacksonVersion = versionMap['jackson'] + String jacksonDatabindVersion = versionMap['jackson-databind'] + ++String log4jVersion = '2.15.0' ++ + repositories { + mavenCentral() + } +@@ -153,12 +155,12 @@ def customJRubyDir = project.hasProperty("custom.jruby.path") ? project.property + def customJRubyVersion = customJRubyDir == "" ? "" : Files.readAllLines(Paths.get(customJRubyDir, "VERSION")).get(0).trim() + + dependencies { +- implementation 'org.apache.logging.log4j:log4j-api:2.13.3' +- annotationProcessor 'org.apache.logging.log4j:log4j-core:2.13.3' +- api 'org.apache.logging.log4j:log4j-core:2.13.3' +- runtimeOnly 'org.apache.logging.log4j:log4j-slf4j-impl:2.13.3' ++ implementation "org.apache.logging.log4j:log4j-api:${log4jVersion}" ++ annotationProcessor "org.apache.logging.log4j:log4j-core:${log4jVersion}" ++ api "org.apache.logging.log4j:log4j-core:${log4jVersion}" ++ runtimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}" + // concerns libraries such as manticore's http-client 4.5 (using commons-logging) +- runtimeOnly 'org.apache.logging.log4j:log4j-jcl:2.13.3' ++ runtimeOnly "org.apache.logging.log4j:log4j-jcl:${log4jVersion}" + // for the log4j-jcl bridge to work commons-logging needs to be on the same class-path + runtimeOnly 'commons-logging:commons-logging:1.2' + implementation('org.reflections:reflections:0.9.11') { +@@ -184,7 +186,7 @@ dependencies { + exclude group: 'com.google.guava', module: 'guava' + } + implementation 'org.javassist:javassist:3.26.0-GA' +- testImplementation 'org.apache.logging.log4j:log4j-core:2.13.3:tests' ++ testImplementation "org.apache.logging.log4j:log4j-core:${log4jVersion}:tests" + testImplementation 'junit:junit:4.12' + testImplementation 'net.javacrumbs.json-unit:json-unit:2.3.0' + testImplementation 'org.elasticsearch:securemock:1.2' diff --git a/user.conf b/logstash-sysuser.conf index 4bbf30cd96b8..4bbf30cd96b8 100644 --- a/user.conf +++ b/logstash-sysuser.conf diff --git a/logstash-tmpfile.conf b/logstash-tmpfile.conf new file mode 100644 index 000000000000..7499137b19e9 --- /dev/null +++ b/logstash-tmpfile.conf @@ -0,0 +1,6 @@ +d /var/log/logstash 0755 logstash logstash - +d /var/lib/logstash 0755 logstash logstash - +d /usr/share/logstash 0755 logstash logstash - +Z /usr/share/logstash - logstash logstash - + +d /etc/logstash 0750 logstash logstash - diff --git a/logstash.install b/logstash.install deleted file mode 100644 index 8d8dcb6b0913..000000000000 --- a/logstash.install +++ /dev/null @@ -1,9 +0,0 @@ -post_install() { - systemd-sysusers logstash.conf - chown -R logstash:logstash usr/share/logstash var/lib/logstash var/log/logstash -} - -post_upgrade() { - systemd-sysusers logstash.conf - chown -R logstash:logstash usr/share/logstash var/log/logstash -} diff --git a/logstash.service b/logstash.service index 232621a5b169..cba0a738e5df 100644 --- a/logstash.service +++ b/logstash.service @@ -11,7 +11,7 @@ Environment=LS_LOG_DIR=/var/log/logstash Environment=LS_SETTINGS_DIR=/etc/logstash User=logstash Group=logstash -ExecStart=/usr/share/logstash/bin/logstash -f $LS_CONF_DIR --path.logs $LS_LOG_DIR --path.data $LS_HOME +ExecStart=/usr/share/logstash/bin/logstash -f $LS_CONF_DIR --path.logs $LS_LOG_DIR --path.data $LS_HOME --path.settings $LS_SETTINGS_DIR StandardOutput=null StandardError=journal SuccessExitStatus=143 |