commit:     5936105745bb3683b77b7f45a6732d4cc2c76146
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 27 14:28:05 2017 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Sun Aug 27 14:28:30 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59361057

net-misc/kafka-bin: Improve init script

Package-Manager: Portage-2.3.6, Repoman-2.3.3

 net-misc/kafka-bin/files/kafka.init.d.2         | 22 +++++++++
 net-misc/kafka-bin/kafka-bin-0.10.2.1-r1.ebuild | 62 +++++++++++++++++++++++++
 net-misc/kafka-bin/kafka-bin-0.11.0.0-r1.ebuild | 62 +++++++++++++++++++++++++
 3 files changed, 146 insertions(+)

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
index 00000000000..87b4b47a446
--- /dev/null
+++ b/net-misc/kafka-bin/files/kafka.init.d.2
@@ -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
index 00000000000..36e9ed9e938
--- /dev/null
+++ b/net-misc/kafka-bin/kafka-bin-0.10.2.1-r1.ebuild
@@ -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
index 00000000000..36e9ed9e938
--- /dev/null
+++ b/net-misc/kafka-bin/kafka-bin-0.11.0.0-r1.ebuild
@@ -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}"
+}

Reply via email to