net-misc/kafka-bin: Improve init script
authorPatrick Lauer <patrick@gentoo.org>
Sun, 27 Aug 2017 14:28:05 +0000 (16:28 +0200)
committerPatrick Lauer <patrick@gentoo.org>
Sun, 27 Aug 2017 14:28:30 +0000 (16:28 +0200)
Package-Manager: Portage-2.3.6, Repoman-2.3.3

net-misc/kafka-bin/files/kafka.init.d.2 [new file with mode: 0755]
net-misc/kafka-bin/kafka-bin-0.10.2.1-r1.ebuild [new file with mode: 0644]
net-misc/kafka-bin/kafka-bin-0.11.0.0-r1.ebuild [new file with mode: 0644]

diff --git a/net-misc/kafka-bin/files/kafka.init.d.2 b/net-misc/kafka-bin/files/kafka.init.d.2
new file mode 100755 (executable)
index 0000000..87b4b47
--- /dev/null
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kafka distributed messaging system"
+
+logfile="/var/log/kafka/kafka.log"
+
+command="/opt/kafka/bin/kafka-server-start.sh"
+command_args="/etc/kafka/server.properties"
+
+command_background=yes
+pidfile=/run/kafka.pid
+
+start() {
+       start-stop-daemon --start --background --user kafka --chdir /opt/kafka --stdout $logfile --stderr $logfile \
+       --env KAFKA_HEAP_OPTS="${KAFKA_HEAP_OPTS}" \
+       --pidfile $pidfile --exec /opt/kafka/bin/kafka-server-start.sh -- /etc/kafka/server.properties
+}
+depend() {
+       after zookeeper kafka-zookeeper
+}
diff --git a/net-misc/kafka-bin/kafka-bin-0.10.2.1-r1.ebuild b/net-misc/kafka-bin/kafka-bin-0.10.2.1-r1.ebuild
new file mode 100644 (file)
index 0000000..36e9ed9
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils user
+
+DESCRIPTION="A high-throughput distributed messaging system"
+HOMEPAGE="http://kafka.apache.org/"
+
+# pick recommended scala version
+SCALA_VERSION=2.12
+MY_PN="kafka"
+MY_P="${MY_PN}_${SCALA_VERSION}-${PV}"
+SRC_URI="mirror://apache/kafka/${PV}/${MY_P}.tgz"
+
+RESTRICT="mirror"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="internal-zookeeper"
+
+RDEPEND="
+       || ( virtual/jre:1.8 virtual/jre:1.7 )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+INSTALL_DIR="/opt/${MY_PN}"
+
+pkg_setup() {
+       enewgroup kafka
+       enewuser kafka -1 /bin/sh /var/lib/kafka kafka
+}
+
+src_prepare() {
+       sed -i -e 's:/tmp/zookeeper:/var/lib/kafka/zookeeper:' "config/zookeeper.properties" || die
+       sed -i -e 's:/tmp/kafka-logs:/var/lib/kafka/logs:' "config/server.properties" || die
+}
+
+src_install() {
+       insinto /etc/kafka
+       doins config/zookeeper.properties config/server.properties
+       if use "internal-zookeeper"; then
+               keepdir /var/lib/kafka/zookeeper
+               newinitd "${FILESDIR}/${MY_PN}-zookeeper.init.d" "${MY_PN}-zookeeper"
+       fi
+
+       keepdir /var/lib/kafka
+       fowners -R kafka:kafka /var/lib/kafka
+
+       keepdir /var/log/kafka
+       fowners -R kafka:kafka /var/log/kafka
+
+       newinitd "${FILESDIR}/${MY_PN}.init.d.2" "${MY_PN}"
+
+       dodir "${INSTALL_DIR}"
+       cp -pRP bin config libs "${ED}/${INSTALL_DIR}" || die
+       keepdir "${INSTALL_DIR}/logs"
+       fowners -R kafka:kafka "${INSTALL_DIR}"
+}
diff --git a/net-misc/kafka-bin/kafka-bin-0.11.0.0-r1.ebuild b/net-misc/kafka-bin/kafka-bin-0.11.0.0-r1.ebuild
new file mode 100644 (file)
index 0000000..36e9ed9
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils user
+
+DESCRIPTION="A high-throughput distributed messaging system"
+HOMEPAGE="http://kafka.apache.org/"
+
+# pick recommended scala version
+SCALA_VERSION=2.12
+MY_PN="kafka"
+MY_P="${MY_PN}_${SCALA_VERSION}-${PV}"
+SRC_URI="mirror://apache/kafka/${PV}/${MY_P}.tgz"
+
+RESTRICT="mirror"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="internal-zookeeper"
+
+RDEPEND="
+       || ( virtual/jre:1.8 virtual/jre:1.7 )
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+INSTALL_DIR="/opt/${MY_PN}"
+
+pkg_setup() {
+       enewgroup kafka
+       enewuser kafka -1 /bin/sh /var/lib/kafka kafka
+}
+
+src_prepare() {
+       sed -i -e 's:/tmp/zookeeper:/var/lib/kafka/zookeeper:' "config/zookeeper.properties" || die
+       sed -i -e 's:/tmp/kafka-logs:/var/lib/kafka/logs:' "config/server.properties" || die
+}
+
+src_install() {
+       insinto /etc/kafka
+       doins config/zookeeper.properties config/server.properties
+       if use "internal-zookeeper"; then
+               keepdir /var/lib/kafka/zookeeper
+               newinitd "${FILESDIR}/${MY_PN}-zookeeper.init.d" "${MY_PN}-zookeeper"
+       fi
+
+       keepdir /var/lib/kafka
+       fowners -R kafka:kafka /var/lib/kafka
+
+       keepdir /var/log/kafka
+       fowners -R kafka:kafka /var/log/kafka
+
+       newinitd "${FILESDIR}/${MY_PN}.init.d.2" "${MY_PN}"
+
+       dodir "${INSTALL_DIR}"
+       cp -pRP bin config libs "${ED}/${INSTALL_DIR}" || die
+       keepdir "${INSTALL_DIR}/logs"
+       fowners -R kafka:kafka "${INSTALL_DIR}"
+}