diff --git a/net/kafka/Makefile b/net/kafka/Makefile index fbf27461a7f7..c331db001a92 100644 --- a/net/kafka/Makefile +++ b/net/kafka/Makefile @@ -1,126 +1,119 @@ PORTNAME= kafka -DISTVERSION= 3.9.2 +DISTVERSION= 4.3.0 CATEGORIES= net java MASTER_SITES= APACHE/${PORTNAME}/${DISTVERSION}/ DISTNAME= ${PORTNAME}_2.13-${DISTVERSION} MAINTAINER= timp87@gmail.com COMMENT= Distributed streaming platform WWW= https://kafka.apache.org/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= bash:shells/bash USES= cpe java shebangfix tar:tgz CPE_VENDOR= apache JAVA_VERSION= 17+ USE_RC_SUBR= kafka kafka_connect SHEBANG_FILES= bin/*.sh -KAFKA_USER?= ${PORTNAME} -KAFKA_GROUP?= ${PORTNAME} -KAFKA_DBDIR?= /var/db/${PORTNAME} -KAFKA_DBDIR_KRAFT?= ${KAFKA_DBDIR}-kraft -KAFKA_LOGDIR?= /var/log/${PORTNAME} +KAFKA_USER?= ${PORTNAME} +KAFKA_GROUP?= ${PORTNAME} +KAFKA_DBDIR?= /var/db/${PORTNAME} +KAFKA_LOGDIR?= /var/log/${PORTNAME} DATADIR= ${JAVASHAREDIR}/${PORTNAME} NO_ARCH= yes NO_BUILD= yes -SUB_FILES= pkg-message -SUB_LIST= JAVA=${JAVA} \ - KAFKA_DBDIR=${KAFKA_DBDIR} \ - KAFKA_DBDIR_KRAFT=${KAFKA_DBDIR_KRAFT} \ +SUB_LIST= KAFKA_DBDIR=${KAFKA_DBDIR} \ KAFKA_GROUP=${KAFKA_GROUP} \ KAFKA_LOGDIR=${KAFKA_LOGDIR} \ KAFKA_USER=${KAFKA_USER} .if ${KAFKA_USER} == ${PORTNAME} USERS= ${KAFKA_USER} .endif .if ${KAFKA_GROUP} == ${PORTNAME} GROUPS= ${KAFKA_GROUP} .endif -KAFKA_BINS= connect-distributed.sh connect-mirror-maker.sh \ - connect-plugin-path.sh connect-standalone.sh \ - kafka-acls.sh kafka-broker-api-versions.sh \ - kafka-client-metrics.sh kafka-cluster.sh \ - kafka-configs.sh kafka-console-consumer.sh \ - kafka-console-producer.sh kafka-consumer-groups.sh \ - kafka-consumer-perf-test.sh kafka-delegation-tokens.sh \ - kafka-delete-records.sh kafka-dump-log.sh \ - kafka-e2e-latency.sh kafka-features.sh \ - kafka-get-offsets.sh kafka-jmx.sh \ - kafka-leader-election.sh kafka-log-dirs.sh \ - kafka-metadata-quorum.sh kafka-metadata-shell.sh \ - kafka-mirror-maker.sh kafka-producer-perf-test.sh \ - kafka-reassign-partitions.sh \ - kafka-replica-verification.sh kafka-run-class.sh \ - kafka-server-start.sh kafka-server-stop.sh \ - kafka-storage.sh kafka-streams-application-reset.sh \ - kafka-topics.sh kafka-transactions.sh \ - kafka-verifiable-consumer.sh \ - kafka-verifiable-producer.sh trogdor.sh \ - zookeeper-security-migration.sh \ - zookeeper-shell.sh -KAFKA_CONFIGS= connect-console-sink.properties \ - connect-console-source.properties \ - connect-distributed.properties \ - connect-file-sink.properties \ - connect-file-source.properties connect-log4j.properties \ - connect-mirror-maker.properties \ - connect-standalone.properties consumer.properties \ - log4j.properties producer.properties server.properties \ - tools-log4j.properties trogdor.conf -KAFKA_CONFIGS_KRAFT= broker.properties controller.properties \ - server.properties +KAFKA_BINS= connect-distributed.sh connect-mirror-maker.sh \ + connect-plugin-path.sh connect-standalone.sh kafka-acls.sh \ + kafka-broker-api-versions.sh kafka-client-metrics.sh \ + kafka-cluster.sh kafka-configs.sh kafka-console-consumer.sh \ + kafka-console-producer.sh kafka-console-share-consumer.sh \ + kafka-consumer-groups.sh kafka-consumer-perf-test.sh \ + kafka-delegation-tokens.sh kafka-delete-records.sh \ + kafka-dump-log.sh kafka-e2e-latency.sh kafka-features.sh \ + kafka-get-offsets.sh kafka-groups.sh kafka-jmx.sh \ + kafka-leader-election.sh kafka-log-dirs.sh \ + kafka-metadata-quorum.sh kafka-metadata-shell.sh \ + kafka-producer-perf-test.sh kafka-reassign-partitions.sh \ + kafka-replica-verification.sh kafka-run-class.sh \ + kafka-server-start.sh kafka-server-stop.sh \ + kafka-share-consumer-perf-test.sh kafka-share-groups.sh \ + kafka-storage.sh kafka-streams-application-reset.sh \ + kafka-streams-groups.sh kafka-topics.sh kafka-transactions.sh \ + kafka-verifiable-consumer.sh kafka-verifiable-producer.sh \ + kafka-verifiable-share-consumer.sh trogdor.sh +KAFKA_CONFIGS= broker.properties controller.properties \ + connect-console-sink.properties \ + connect-console-source.properties \ + connect-distributed.properties connect-file-sink.properties \ + connect-file-source.properties connect-log4j2.yaml \ + connect-mirror-maker.properties connect-standalone.properties \ + consumer.properties log4j2.yaml producer.properties \ + server.properties tools-log4j2.yaml trogdor.conf PLIST_SUB= KAFKA_DBDIR=${KAFKA_DBDIR} \ - KAFKA_DBDIR_KRAFT=${KAFKA_DBDIR_KRAFT} \ KAFKA_GROUP=${KAFKA_GROUP} \ KAFKA_LOGDIR=${KAFKA_LOGDIR} \ KAFKA_USER=${KAFKA_USER} \ - PORTVERSION=${DISTVERSION} + DISTVERSION=${DISTVERSION} OPTIONS_DEFINE= DOCS post-patch: - @${REINPLACE_CMD} "s|JAVA=\"java\"|JAVA=\"${JAVA}\"|" ${WRKSRC}/bin/kafka-run-class.sh + @${REINPLACE_CMD} "s|JAVA=\"java\"|JAVA=\"${LOCALBASE}/bin/java\"|" ${WRKSRC}/bin/kafka-run-class.sh @${REINPLACE_CMD} "/LOG_DIR=/s|\$$base_dir/logs|${KAFKA_LOGDIR}|" ${WRKSRC}/bin/kafka-run-class.sh - @${REINPLACE_CMD} "s|\$$base_dir.*/config|${ETCDIR}|" ${WRKSRC}/bin/*.sh + @${REINPLACE_CMD} "s|\$$base_dir.*/config|${ETCDIR}|" \ + ${WRKSRC}/bin/kafka-run-class.sh \ + ${WRKSRC}/bin/kafka-server-start.sh \ + ${WRKSRC}/bin/connect-mirror-maker.sh \ + ${WRKSRC}/bin/connect-distributed.sh \ + ${WRKSRC}/bin/connect-standalone.sh @${REINPLACE_CMD} "s|ps ax|ps axww|" ${WRKSRC}/bin/kafka-server-stop.sh - @${REINPLACE_CMD} "/log.dirs/s|=.*|=${KAFKA_DBDIR}|" ${WRKSRC}/config/server.properties -.for f in ${KAFKA_CONFIGS_KRAFT} - @${REINPLACE_CMD} "/log.dirs/s|=.*|=${KAFKA_DBDIR_KRAFT}|" ${WRKSRC}/config/kraft/${f} -.endfor + @${REINPLACE_CMD} "/log.dirs/s|=.*|=${KAFKA_DBDIR}|" \ + ${WRKSRC}/config/server.properties \ + ${WRKSRC}/config/broker.properties \ + ${WRKSRC}/config/controller.properties + @${REINPLACE_CMD} "s|#plugin.path=|#plugin.path=${DATADIR}/libs|" \ + ${WRKSRC}/config/connect-standalone.properties \ + ${WRKSRC}/config/connect-distributed.properties do-install: - ${MKDIR} ${STAGEDIR}${ETCDIR}/kraft \ + ${MKDIR} ${STAGEDIR}${ETCDIR} \ ${STAGEDIR}${KAFKA_DBDIR} \ - ${STAGEDIR}${KAFKA_DBDIR_KRAFT} \ ${STAGEDIR}${KAFKA_LOGDIR} \ ${STAGEDIR}${DATADIR}/bin ${INSTALL_SCRIPT} ${KAFKA_BINS:S|^|${WRKSRC}/bin/|} ${STAGEDIR}${DATADIR}/bin @(cd ${WRKSRC} && ${COPYTREE_SHARE} libs ${STAGEDIR}${DATADIR} "-not ( \ -name kafka_*-javadoc\.jar -or -name kafka_*-scaladoc\.jar -or \ -name kafka_*-sources\.jar -or -name kafka_*-test\.jar -or \ -name *\.asc )" \ ) .for f in ${KAFKA_CONFIGS} ${INSTALL_DATA} ${WRKSRC}/config/${f} ${STAGEDIR}${ETCDIR}/${f}.sample .endfor -.for f in ${KAFKA_CONFIGS_KRAFT} - ${INSTALL_DATA} ${WRKSRC}/config/kraft/${f} ${STAGEDIR}${ETCDIR}/kraft/${f}.sample -.endfor do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${EXTRACT_CMD} -xf ${WRKSRC}/site-docs/${PORTNAME}_2.13-${DISTVERSION}-site-docs.tgz \ -C ${STAGEDIR}${DOCSDIR} .include diff --git a/net/kafka/distinfo b/net/kafka/distinfo index c4c42cea2e91..34b0840fbec8 100644 --- a/net/kafka/distinfo +++ b/net/kafka/distinfo @@ -1,3 +1,3 @@ TIMESTAMP = 1780555555 -SHA256 (kafka_2.13-3.9.2.tgz) = d5d951c22484f9a0908b05563bc80a042de9779df1e06a89f77d27ceb5f68323 -SIZE (kafka_2.13-3.9.2.tgz) = 122473776 +SHA256 (kafka_2.13-4.3.0.tgz) = 28cfdb0ca55b4ad85e84d090c10e3f4f970e250db226ae3756b209461e48b54d +SIZE (kafka_2.13-4.3.0.tgz) = 135838175 diff --git a/net/kafka/files/kafka.in b/net/kafka/files/kafka.in index d2e8bf1e0c79..84d54a2645e3 100644 --- a/net/kafka/files/kafka.in +++ b/net/kafka/files/kafka.in @@ -1,91 +1,91 @@ #!/bin/sh # PROVIDE: kafka # REQUIRE: NETWORKING SERVERS DAEMON # KEYWORD: shutdown # # Add kafka_enable="YES" to /etc/rc.conf to enable Kafka: # # Additional variables you can define are: # # kafka_user: Username to run Kafka # Default: %%KAFKA_USER%% # kafka_group: Group to run Kafka # Default: %%KAFKA_GROUP%% # kafka_config: Configuration file to run Kafka # Default: %%ETCDIR%%/server.properties # kafka_log4j_config: Configuration file for Kafka logging -# Default: %%ETCDIR%%/log4j.properties +# Default: %%ETCDIR%%/log4j2.yaml # kafka_log_dir: Directory to store Kafka logs # Default: %%KAFKA_LOGDIR%% # kafka_java_opts: Options passed to JVM to start Kafka # Default: None # kafka_pidfile: Full path of the Kafka process PID file # Default: /var/run/kafka.pid # kafka_syslog_output_enable: Set to enable syslog output. # Default: YES # kafka_syslog_output_tag: Set syslog tag if syslog enabled. # Default: kafka # kafka_syslog_output_priority: Set syslog priority if syslog enabled. # Default: info # kafka_syslog_output_facility: Set syslog facility if syslog enabled. # Default: daemon . /etc/rc.subr name=kafka rcvar=kafka_enable load_rc_config "${name}" : ${kafka_enable:="NO"} : ${kafka_user:="%%KAFKA_USER%%"} : ${kafka_group:="%%KAFKA_GROUP%%"} : ${kafka_config:="%%ETCDIR%%/server.properties"} -: ${kafka_log4j_config:="%%ETCDIR%%/log4j.properties"} +: ${kafka_log4j_config:="%%ETCDIR%%/log4j2.yaml"} : ${kafka_log_dir:="%%KAFKA_LOGDIR%%"} : ${kafka_pidfile:=/var/run/kafka.pid} : ${kafka_syslog_output_enable:="YES"} start_precmd="kafka_start_precmd" # backwards compatibility if [ -n "${kafka_log4j_profile}" ]; then kafka_log4j_config="${kafka_log4j_profile#file:}" fi if checkyesno kafka_syslog_output_enable; then if [ -n "${kafka_syslog_output_tag}" ]; then kafka_syslog_output_flags="-T ${kafka_syslog_output_tag}" else kafka_syslog_output_flags="-T ${name}" fi if [ -n "${kafka_syslog_output_priority}" ]; then kafka_syslog_output_flags="${kafka_syslog_output_flags} -s ${kafka_syslog_output_priority}" fi if [ -n "${kafka_syslog_output_facility}" ]; then kafka_syslog_output_flags="${kafka_syslog_output_flags} -l ${kafka_syslog_output_facility}" fi fi -JAVA="%%JAVA%%" +JAVA="%%LOCALBASE%%/bin/java" CLASSPATH=":%%DATADIR%%/libs/*" kafka_class="kafka.Kafka" kafka_log_opts="-Dkafka.logs.dir=${kafka_log_dir} -Dlog4j.configuration=file:${kafka_log4j_config}" kafka_main="${kafka_java_opts} ${kafka_log_opts} -cp ${CLASSPATH} ${kafka_class} ${kafka_config}" pidfile="${kafka_pidfile}" required_dirs="${kafka_log_dir}" required_files="${kafka_config} ${kafka_log4j_config}" command="/usr/sbin/daemon" command_args="-f ${kafka_syslog_output_flags} -P ${pidfile} -t ${name} ${JAVA} ${kafka_main}" kafka_start_precmd() { if [ ! -e "${pidfile}" ]; then install -m 0600 -o "${kafka_user}" -g "${kafka_group}" /dev/null "${pidfile}" fi } run_rc_command "$1" diff --git a/net/kafka/files/kafka_connect.in b/net/kafka/files/kafka_connect.in index c777a702a393..35e6cb1a87a1 100644 --- a/net/kafka/files/kafka_connect.in +++ b/net/kafka/files/kafka_connect.in @@ -1,92 +1,93 @@ #!/bin/sh # PROVIDE: kafka_connect # REQUIRE: NETWORKING SERVERS DAEMON # KEYWORD: shutdown # # Add kafka_connect_enable="YES" to /etc/rc.conf to enable Kafka Connect: # # Additional variables you can define are: # # kafka_connect_user: Username to run Kafka Connect # Default: %%KAFKA_USER%% # kafka_connect_group: Group to run Kafka Connect # Default: %%KAFKA_GROUP%% # kafka_connect_config: Configuration file to run Kafka Connect -# Default: %%ETCDIR%%/connect.properties +# Default: %%ETCDIR%%/connect-standalone.properties or +# %%ETCDIR%%/connect-distributed.properties # kafka_connect_log4j_config: Configuration file for Kafka Connect logging -# Default: %%ETCDIR%%/connect-log4j.properties +# Default: %%ETCDIR%%/connect-log4j2.yaml # kafka_connect_log_dir: Directory to store Kafka Connect logs # Default: %%KAFKA_LOGDIR%% # kafka_connect_java_opts: Options passed to JVM to start Kafka Connect # Default: None # kafka_connect_pidfile: Full path of the Kafka Connect process PID file # Default: /var/run/kafka_connect.pid # kafka_connect_syslog_output_enable: Set to enable syslog output. # Default: YES # kafka_connect_syslog_output_tag: Set syslog tag if syslog enabled. # Default: kafka_connect # kafka_connect_syslog_output_priority: Set syslog priority if syslog enabled. # Default: info # kafka_connect_syslog_output_facility: Set syslog facility if syslog enabled. # Default: daemon . /etc/rc.subr name=kafka_connect rcvar=kafka_connect_enable load_rc_config "${name}" : ${kafka_connect_enable:="NO"} : ${kafka_connect_user:="%%KAFKA_USER%%"} : ${kafka_connect_group:="%%KAFKA_GROUP%%"} : ${kafka_connect_config:="%%ETCDIR%%/connect.properties"} -: ${kafka_connect_log4j_config:="%%ETCDIR%%/connect-log4j.properties"} +: ${kafka_connect_log4j_config:="%%ETCDIR%%/connect-log4j2.yaml"} : ${kafka_connect_log_dir:="%%KAFKA_LOGDIR%%"} : ${kafka_connect_pidfile:=/var/run/kafka_connect.pid} : ${kafka_connect_syslog_output_enable:="YES"} : ${kafka_connect_standalone:="YES"} start_precmd="kafka_connect_start_precmd" if checkyesno kafka_connect_syslog_output_enable; then if [ -n "${kafka_syslog_output_tag}" ]; then kafka_connect_syslog_output_flags="-T ${kafka_connect_syslog_output_tag}" else kafka_connect_syslog_output_flags="-T ${name}" fi if [ -n "${kafka_connect_syslog_output_priority}" ]; then kafka_connect_syslog_output_flags="${kafka_connect_syslog_output_flags} -s ${kafka_connect_syslog_output_priority}" fi if [ -n "${kafka_connect_syslog_output_facility}" ]; then kafka_connect_syslog_output_flags="${kafka_connect_syslog_output_flags} -l ${kafka_connect_syslog_output_facility}" fi fi if checkyesno kafka_connect_standalone; then kafka_connect_class="org.apache.kafka.connect.cli.ConnectStandalone" else kafka_connect_class="org.apache.kafka.connect.cli.ConnectDistributed" fi -JAVA="%%JAVA%%" +JAVA="%%LOCALBASE%%/bin/java" CLASSPATH=":%%DATADIR%%/libs/*" kafka_connect_log_opts="-Dkafka_connect.log.dir=${kafka_connect_log_dir} -Dlog4j.configuration=file:${kafka_connect_log4j_config}" kafka_connect_main="${kafka_connect_java_opts} ${kafka_connect_log_opts} -cp ${CLASSPATH} ${kafka_connect_class} ${kafka_connect_config}" pidfile="${kafka_connect_pidfile}" required_dirs="${kafka_connect_log_dir}" required_files="${kafka_connect_config} ${kafka_connect_log4j_config}" command="/usr/sbin/daemon" command_args="-f ${kafka_connect_syslog_output_flags} -P ${pidfile} -t ${name} ${JAVA} ${kafka_connect_main}" kafka_connect_start_precmd() { if [ ! -e "${pidfile}" ]; then install -m 0600 -o "${kafka_connect_user}" -g "${kafka_connect_group}" /dev/null "${pidfile}" fi } run_rc_command "$1" diff --git a/net/kafka/files/pkg-message.in b/net/kafka/files/pkg-message.in deleted file mode 100644 index f5f0fe1b65a0..000000000000 --- a/net/kafka/files/pkg-message.in +++ /dev/null @@ -1,12 +0,0 @@ -[ -{ type: install - message: <