summaryrefslogtreecommitdiff
path: root/net-misc/kafka-bin/kafka-bin-3.7.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/kafka-bin/kafka-bin-3.7.0.ebuild')
-rw-r--r--net-misc/kafka-bin/kafka-bin-3.7.0.ebuild69
1 files changed, 69 insertions, 0 deletions
diff --git a/net-misc/kafka-bin/kafka-bin-3.7.0.ebuild b/net-misc/kafka-bin/kafka-bin-3.7.0.ebuild
new file mode 100644
index 000000000000..750555119b44
--- /dev/null
+++ b/net-misc/kafka-bin/kafka-bin-3.7.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A high-throughput distributed messaging system"
+HOMEPAGE="https://kafka.apache.org/"
+
+# pick recommended scala version
+SCALA_VERSION=2.13
+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 connect"
+
+COMMON_DEPEND="acct-group/kafka
+ acct-user/kafka
+ virtual/jre:="
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+INSTALL_DIR="/opt/${MY_PN}"
+
+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
+ sed -i -e 's:/tmp/connect.offsets:/var/lib/kafka/connect.offsets:' "config/connect-standalone.properties" || die
+ eapply_user
+}
+
+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"
+
+ ewarn "Zookeeper owner has been changed to kafka:kafka"
+ ewarn "you might want to run chown -R kafka:kafka /var/lib/kafka/zookeeper"
+ ewarn "or set COMMAND_USER=\"root:root\" in /etc/conf.d/kafka-zookeeper"
+ ewarn "to keep the previous behavior."
+ ewarn "All logs files have been move to /var/log/kafka/"
+ fi
+
+ if use "connect"; then
+ doins config/connect-distributed.properties config/connect-standalone.properties
+ newinitd "${FILESDIR}/${MY_PN}-connect-distributed.init.d" "${MY_PN}-connect-distributed"
+ 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.5" "${MY_PN}"
+
+ dodir "${INSTALL_DIR}"
+ cp -pRP bin config libs "${ED}/${INSTALL_DIR}" || die
+ keepdir "${INSTALL_DIR}/logs"
+ fowners -R kafka:kafka "${INSTALL_DIR}"
+}