summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Mozes <hydrapolic@gmail.com>2018-06-11 08:17:09 +0200
committerTony Vroon <chainsaw@gentoo.org>2018-07-11 11:26:56 +0100
commitc7cf6fb8f2be88a7efbae4c195759de12ce361a9 (patch)
tree0bd02e6bba0365101606e3559a29a3ebd09faf1b
parentdev-libs/beignet: support LLVM-6 (diff)
downloadgentoo-c7cf6fb8f2be88a7efbae4c195759de12ce361a9.tar.gz
gentoo-c7cf6fb8f2be88a7efbae4c195759de12ce361a9.tar.bz2
gentoo-c7cf6fb8f2be88a7efbae4c195759de12ce361a9.zip
app-admin/graylog2: improve ebuild
Package-Manager: Portage-2.3.40, Repoman-2.3.9 Closes: https://github.com/gentoo/gentoo/pull/9170
-rw-r--r--app-admin/graylog2/files/confd-r212
-rw-r--r--app-admin/graylog2/files/initd-r231
-rw-r--r--app-admin/graylog2/graylog2-2.4.5-r1.ebuild87
3 files changed, 130 insertions, 0 deletions
diff --git a/app-admin/graylog2/files/confd-r2 b/app-admin/graylog2/files/confd-r2
new file mode 100644
index 000000000000..97eac6ac77fa
--- /dev/null
+++ b/app-admin/graylog2/files/confd-r2
@@ -0,0 +1,12 @@
+GRAYLOG_CONFIG_FILE="/etc/graylog2/graylog.conf"
+GRAYLOG_DATA_DIR="/var/lib/graylog2"
+GRAYLOG_GROUP="graylog"
+GRAYLOG_INSTALL_DIR="/usr/share/graylog2"
+GRAYLOG_LOG_DIR="/var/log/graylog2"
+GRAYLOG_OPTIONS=""
+GRAYLOG_USER="graylog"
+
+JAVA_OPTS="-Djava.library.path=$GRAYLOG_INSTALL_DIR/lib/sigar -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:-OmitStackTraceInFastThrow"
+
+# Please adjust according to your bind address
+rc_need="net.lo"
diff --git a/app-admin/graylog2/files/initd-r2 b/app-admin/graylog2/files/initd-r2
new file mode 100644
index 000000000000..c6177eef41d0
--- /dev/null
+++ b/app-admin/graylog2/files/initd-r2
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/java"
+command_args="${JAVA_OPTS} -jar ${GRAYLOG_INSTALL_DIR}/graylog.jar server -f ${GRAYLOG_CONFIG_FILE} --no-pid-file ${GRAYLOG_OPTIONS}"
+command_background="true"
+command_user="${GRAYLOG_USER}:${GRAYLOG_GROUP}"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+output_log="${GRAYLOG_LOG_DIR}/graylog.stdout.log"
+error_log="${GRAYLOG_LOG_DIR}/graylog.stderr.log"
+directory="${GRAYLOG_INSTALL_DIR}"
+required_files="${GRAYLOG_CONFIG_FILE}"
+
+depend() {
+ use dns
+}
+
+start_pre() {
+ local d
+ for d in \
+ "${GRAYLOG_DATA_DIR}" \
+ "${GRAYLOG_DATA_DIR}/data" \
+ "${GRAYLOG_DATA_DIR}/data/contentpacks" \
+ "${GRAYLOG_DATA_DIR}/data/journal" \
+ "${GRAYLOG_LOG_DIR}"; do
+
+ checkpath -d -o "${GRAYLOG_USER}":"${GRAYLOG_GROUP}" -m750 "${d}"
+ done
+}
diff --git a/app-admin/graylog2/graylog2-2.4.5-r1.ebuild b/app-admin/graylog2/graylog2-2.4.5-r1.ebuild
new file mode 100644
index 000000000000..91ea75e61cb4
--- /dev/null
+++ b/app-admin/graylog2/graylog2-2.4.5-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit user
+
+DESCRIPTION="Free and open source log management"
+HOMEPAGE="https://graylog.org"
+SRC_URI="https://packages.graylog2.org/releases/graylog/graylog-${PV}.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+RESTRICT="strip"
+
+RDEPEND="virtual/jdk:1.8"
+
+DOCS=(
+ COPYING README.markdown UPGRADING.rst
+)
+
+GRAYLOG_DATA_DIR="/var/lib/graylog2"
+GRAYLOG_INSTALL_DIR="/usr/share/graylog2"
+QA_PREBUILT="${GRAYLOG_INSTALL_DIR}/lib/sigar/libsigar*"
+
+S="${WORKDIR}/graylog-${PV}"
+
+pkg_setup() {
+ enewgroup graylog
+ enewuser graylog -1 -1 -1 graylog
+}
+
+src_prepare() {
+ default
+
+ # Stick to architecture of build host
+ if ! use amd64; then
+ rm -r lib/sigar/libsigar-amd64-*.so || die "Failed in removing AMD64 support libraries"
+ fi
+ if ! use ppc64; then
+ rm -r lib/sigar/libsigar-ppc64-*.so || die "Failed in removing PPC64 support libraries"
+ fi
+ if ! use x86; then
+ rm -r lib/sigar/libsigar-x86-*.so || die "Failed in removing X86 support libraries"
+ fi
+ # Currently unsupported platforms
+ # QA warning galore but testing/patches welcome
+ rm lib/sigar/libsigar-*freebsd*so \
+ lib/sigar/libsigar-*solaris*so \
+ lib/sigar/libsigar-*hpux*.sl \
+ lib/sigar/libsigar-*macosx*.dylib \
+ lib/sigar/libsigar-ia64-*.so \
+ lib/sigar/libsigar-ppc-*.so \
+ lib/sigar/libsigar-s390x*.so \
+ lib/sigar/*winnt* || die "Failed in removing unsupported platform libraries"
+
+ # gentoo specific paths
+ sed -i "s@\(node_id_file = \).*@\1${GRAYLOG_DATA_DIR}/node-id@g; \
+ s@\(message_journal_dir = \).*@\1${GRAYLOG_DATA_DIR}/data/journal@g; \
+ s@#\(content_packs_dir = \).*@\1${GRAYLOG_DATA_DIR}/data/contentpacks@g" \
+ graylog.conf.example || die
+}
+
+src_install() {
+ default
+
+ insinto /etc/graylog2
+ doins graylog.conf.example
+
+ insinto "${GRAYLOG_DATA_DIR}/data/contentpacks"
+ doins data/contentpacks/grok-patterns.json
+
+ insinto "${GRAYLOG_INSTALL_DIR}"
+ doins graylog.jar
+ doins -r lib plugin
+
+ newconfd "${FILESDIR}/confd-r2" graylog2
+ newinitd "${FILESDIR}/initd-r2" graylog2
+}
+
+pkg_postinst() {
+ ewarn "Graylog does not depend on need.net any more (#439092)."
+ ewarn
+ ewarn "Please configure rc_need according to your binding address in:"
+ ewarn "/etc/conf.d/graylog2"
+}