diff options
author | Steve Wills <swills@FreeBSD.org> | 2017-09-07 15:29:35 +0000 |
---|---|---|
committer | Steve Wills <swills@FreeBSD.org> | 2017-09-07 15:29:35 +0000 |
commit | 4534c43fd0b55e3e540260f85aef9d02f25df609 (patch) | |
tree | 315a68591f43caf250b273b1cb91a56275a8b9af /net | |
parent | 172605d1b07c260d51e20a3f0370ab8ffd6da808 (diff) | |
download | ports-4534c43fd0b55e3e540260f85aef9d02f25df609.tar.gz ports-4534c43fd0b55e3e540260f85aef9d02f25df609.zip |
Notes
Diffstat (limited to 'net')
-rw-r--r-- | net/Makefile | 1 | ||||
-rw-r--r-- | net/kafka/Makefile | 104 | ||||
-rw-r--r-- | net/kafka/distinfo | 3 | ||||
-rw-r--r-- | net/kafka/files/kafka.in | 74 | ||||
-rw-r--r-- | net/kafka/files/patch-bin_kafka-run-class.sh | 16 | ||||
-rw-r--r-- | net/kafka/pkg-descr | 5 | ||||
-rw-r--r-- | net/kafka/pkg-plist | 156 |
7 files changed, 359 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile index 54f57e4a416f..95639aabf7f5 100644 --- a/net/Makefile +++ b/net/Makefile @@ -295,6 +295,7 @@ SUBDIR += jsch SUBDIR += jumpgate SUBDIR += jwhois + SUBDIR += kafka SUBDIR += kafkacat SUBDIR += kamailio SUBDIR += kdenetwork4 diff --git a/net/kafka/Makefile b/net/kafka/Makefile new file mode 100644 index 000000000000..efea8b6c3ff2 --- /dev/null +++ b/net/kafka/Makefile @@ -0,0 +1,104 @@ +# $FreeBSD$ + +PORTNAME= kafka +PORTVERSION= 0.11.0.0 +CATEGORIES= net java +MASTER_SITES= APACHE/${PORTNAME}/${PORTVERSION} +DISTNAME= ${PORTNAME}_2.12-${PORTVERSION} + +MAINTAINER= timp87@gmail.com +COMMENT= Distributed streaming platform + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= bash:shells/bash + +USES= tar:tgz shebangfix + +SHEBANG_FILES= bin/*.sh + +OPTIONS_DEFINE= DOCS + +USERS= kafka +GROUPS= kafka + +DATADIR= ${JAVASHAREDIR}/${PORTNAME} +KAFKA_DATADIR= /var/db/${PORTNAME} +KAFKA_LOGDIR= /var/log/${PORTNAME} +KAFKA_RUNDIR= /var/run/${PORTNAME} +KAFKA_BINS= connect-distributed.sh connect-standalone.sh kafka-acls.sh \ + kafka-broker-api-versions.sh kafka-configs.sh \ + kafka-console-consumer.sh kafka-console-producer.sh \ + kafka-consumer-groups.sh kafka-consumer-offset-checker.sh \ + kafka-consumer-perf-test.sh kafka-delete-records.sh \ + kafka-mirror-maker.sh kafka-preferred-replica-election.sh \ + kafka-producer-perf-test.sh kafka-reassign-partitions.sh \ + kafka-replay-log-producer.sh kafka-replica-verification.sh \ + kafka-run-class.sh kafka-server-start.sh kafka-server-stop.sh \ + kafka-simple-consumer-shell.sh \ + kafka-streams-application-reset.sh kafka-topics.sh \ + kafka-verifiable-consumer.sh kafka-verifiable-producer.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-standalone.properties consumer.properties \ + log4j.properties producer.properties server.properties \ + tools-log4j.properties + +SUB_FILES= kafka +SUB_LIST= JAVA=${JAVA} \ + ETCDIR=${ETCDIR} \ + USERS=${USERS} \ + GROUPS=${GROUPS} \ + KAFKA_RUNDIR=${KAFKA_RUNDIR} \ + KAFKA_LOGDIR=${KAFKA_LOGDIR} + +PLIST_SUB= PORTVERSION=${PORTVERSION} \ + USERS=${USERS} \ + GROUPS=${GROUPS} \ + KAFKA_DATADIR=${KAFKA_DATADIR} \ + KAFKA_RUNDIR=${KAFKA_RUNDIR} \ + KAFKA_LOGDIR=${KAFKA_LOGDIR} \ + ETCDIR=${ETCDIR} + +NO_BUILD= yes +NO_ARCH= yes +USE_JAVA= yes +JAVA_VERSION= 1.8+ +#JAVA_VENDOR= openjdk +JAVA_RUN= yes +USE_RC_SUBR= kafka + +post-patch: + @${REINPLACE_CMD} "s|JAVA=\"java\"|JAVA=\"${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|ps ax|ps axww|" ${WRKSRC}/bin/kafka-server-stop.sh + @${REINPLACE_CMD} "/log.dirs/s|=.*|=${KAFKA_DATADIR}|" ${WRKSRC}/config/server.properties + +do-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} + ${MKDIR} ${STAGEDIR}${KAFKA_DATADIR} + ${MKDIR} ${STAGEDIR}${KAFKA_LOGDIR} + ${MKDIR} ${STAGEDIR}${KAFKA_RUNDIR} + ${MKDIR} ${STAGEDIR}${DATADIR}/bin +.for f in ${KAFKA_BINS} + ${INSTALL_SCRIPT} ${WRKSRC}/bin/${f} ${STAGEDIR}${DATADIR}/bin/ +.endfor + (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 + +do-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${EXTRACT_CMD} -xf ${WRKSRC}/site-docs/${PORTNAME}_2.12-${PORTVERSION}-site-docs.tgz -C ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/net/kafka/distinfo b/net/kafka/distinfo new file mode 100644 index 000000000000..581389cbd20d --- /dev/null +++ b/net/kafka/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1500285144 +SHA256 (kafka_2.12-0.11.0.0.tgz) = ab6310dd0d9fce1e6e8045b51b471fb35c3e197714e6e6b03bc5864898785f2d +SIZE (kafka_2.12-0.11.0.0.tgz) = 36644420 diff --git a/net/kafka/files/kafka.in b/net/kafka/files/kafka.in new file mode 100644 index 000000000000..70f28df363f7 --- /dev/null +++ b/net/kafka/files/kafka.in @@ -0,0 +1,74 @@ +#!/bin/sh +# $FreeBSD$ +# +# PROVIDE: kafka +# REQUIRE: LOGIN +# 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: %%USERS%% +# kafka_group: Groupname to run Kafka +# Default: %%GROUPS%% +# kafka_config: Configuration file to run Kafka +# Default: %%ETCDIR%%/server.properties +# kafka_log4jprofile: Profile for Kafka logging +# Default: %%ETCDIR%%/log4j.properties +# kafka_logdir: Directory to store Kafka logs +# Default: %%KAFKA_LOGDIR%% +# kafka_jvmopts: Options passed to JVM to start Kafka +# Default: None +# kafka_pidfile: Full path of the Kafka process PID file +# Default: %%KAFKA_RUNDIR%%/kafka.pid +# kafka_outfile: File to store Kafka's stdout and stderr +# Default: $kafka_logdir/kafkaServer.out + +. /etc/rc.subr + +name=kafka +rcvar=kafka_enable + +load_rc_config "${name}" + +: ${kafka_enable:=NO} +: ${kafka_user:=%%USERS%%} +: ${kafka_group:=%%GROUPS%%} +: ${kafka_config:=%%ETCDIR%%/server.properties} +: ${kafka_log4jpropfile:=%%ETCDIR%%/log4j.properties} +: ${kafka_logdir:=%%KAFKA_LOGDIR%%} +: ${kafka_jvmopts:=} +: ${kafka_outfile:=$kafka_logdir/kafkaServer.out} +: ${kafka_pidfile:=%%KAFKA_RUNDIR%%/kafka.pid} + +JAVA=%%JAVA%% + +CLASSPATH=":%%DATADIR%%/libs/*" + +kafka_logopts="-Dkafka.logs.dir=${kafka_logdir} -Dlog4j.configuration=file:${kafka_log4jpropfile}" +kafka_main="$kafka_jvmopts $kafka_logopts -cp $CLASSPATH" +pidfile=${kafka_pidfile} +procname=${JAVA} +required_files="${kafka_config} ${kafka_log4jpropfile}" + +daemon_head="" +daemon_tail=" > $kafka_outfile 2>&1 < /dev/null" + +if [ -z $kafka_outfile ]; then + daemon_head="-f" + daemon_tail="" +fi + +command="/usr/sbin/daemon" +command_args="${daemon_head} -p ${pidfile} ${JAVA} ${kafka_main} kafka.Kafka ${kafka_config} ${daemon_tail}" + +start_precmd="kafka_init" + +kafka_init() +{ + chown ${kafka_user}:${kafka_group} ${pidfile%/*} ${kafka_logdir} ${kafka_outfile} +} + +run_rc_command "$1" diff --git a/net/kafka/files/patch-bin_kafka-run-class.sh b/net/kafka/files/patch-bin_kafka-run-class.sh new file mode 100644 index 000000000000..a0d2cc8ed9dd --- /dev/null +++ b/net/kafka/files/patch-bin_kafka-run-class.sh @@ -0,0 +1,16 @@ +--- bin/kafka-run-class.sh.orig 2017-07-14 16:36:53 UTC ++++ bin/kafka-run-class.sh +@@ -125,12 +125,7 @@ do + done + + # classpath addition for release +-for file in "$base_dir"/libs/*; +-do +- if should_include_file "$file"; then +- CLASSPATH="$CLASSPATH":"$file" +- fi +-done ++CLASSPATH="$CLASSPATH":"$base_dir"/libs/* + + for file in "$base_dir"/core/build/libs/kafka_${SCALA_BINARY_VERSION}*.jar; + do diff --git a/net/kafka/pkg-descr b/net/kafka/pkg-descr new file mode 100644 index 000000000000..6cdbd6b69fb0 --- /dev/null +++ b/net/kafka/pkg-descr @@ -0,0 +1,5 @@ +Kafka is used for building real-time data pipelines and streaming apps. +It is horizontally scalable, fault-tolerant, wicked fast, +and runs in production in thousands of companies. + +WWW: https://kafka.apache.org/ diff --git a/net/kafka/pkg-plist b/net/kafka/pkg-plist new file mode 100644 index 000000000000..5b112de2c427 --- /dev/null +++ b/net/kafka/pkg-plist @@ -0,0 +1,156 @@ +%%PORTDOCS%%%%DOCSDIR%%/site-docs/api.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/configuration.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/connect.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/design.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/documentation.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/documentation/streams.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/ecosystem.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/admin_client_config.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/connect_config.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/connect_transforms.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/consumer_config.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/consumer_metrics.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/kafka_config.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/producer_config.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/protocol_api_keys.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/protocol_errors.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/protocol_messages.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/streams_config.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/generated/topic_config.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/consumer-groups.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/kafka-apis.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/kafka_log.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/kafka_multidc.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/kafka_multidc_complex.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/log_anatomy.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/log_cleaner_anatomy.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/log_compaction.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/log_consumer.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/mirror-maker.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/producer_consumer.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-architecture-overview.jpg +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-architecture-states.jpg +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-architecture-tasks.jpg +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-architecture-threads.jpg +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-architecture-topology.jpg +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-concepts-topology.jpg +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-table-duality-01.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-table-duality-02.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-table-duality-03.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-table-updates-01.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/streams-table-updates-02.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/images/tracking_high_level.png +%%PORTDOCS%%%%DOCSDIR%%/site-docs/implementation.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/introduction.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/js/templateData.js +%%PORTDOCS%%%%DOCSDIR%%/site-docs/migration.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/ops.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/protocol.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/quickstart.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/security.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/streams.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/toc.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/upgrade.html +%%PORTDOCS%%%%DOCSDIR%%/site-docs/uses.html +%%DATADIR%%/bin/connect-distributed.sh +%%DATADIR%%/bin/connect-standalone.sh +%%DATADIR%%/bin/kafka-acls.sh +%%DATADIR%%/bin/kafka-broker-api-versions.sh +%%DATADIR%%/bin/kafka-configs.sh +%%DATADIR%%/bin/kafka-console-consumer.sh +%%DATADIR%%/bin/kafka-console-producer.sh +%%DATADIR%%/bin/kafka-consumer-groups.sh +%%DATADIR%%/bin/kafka-consumer-offset-checker.sh +%%DATADIR%%/bin/kafka-consumer-perf-test.sh +%%DATADIR%%/bin/kafka-delete-records.sh +%%DATADIR%%/bin/kafka-mirror-maker.sh +%%DATADIR%%/bin/kafka-preferred-replica-election.sh +%%DATADIR%%/bin/kafka-producer-perf-test.sh +%%DATADIR%%/bin/kafka-reassign-partitions.sh +%%DATADIR%%/bin/kafka-replay-log-producer.sh +%%DATADIR%%/bin/kafka-replica-verification.sh +%%DATADIR%%/bin/kafka-run-class.sh +%%DATADIR%%/bin/kafka-server-start.sh +%%DATADIR%%/bin/kafka-server-stop.sh +%%DATADIR%%/bin/kafka-simple-consumer-shell.sh +%%DATADIR%%/bin/kafka-streams-application-reset.sh +%%DATADIR%%/bin/kafka-topics.sh +%%DATADIR%%/bin/kafka-verifiable-consumer.sh +%%DATADIR%%/bin/kafka-verifiable-producer.sh +%%DATADIR%%/libs/aopalliance-repackaged-2.5.0-b05.jar +%%DATADIR%%/libs/argparse4j-0.7.0.jar +%%DATADIR%%/libs/commons-lang3-3.5.jar +%%DATADIR%%/libs/connect-api-%%PORTVERSION%%.jar +%%DATADIR%%/libs/connect-file-%%PORTVERSION%%.jar +%%DATADIR%%/libs/connect-json-%%PORTVERSION%%.jar +%%DATADIR%%/libs/connect-runtime-%%PORTVERSION%%.jar +%%DATADIR%%/libs/connect-transforms-%%PORTVERSION%%.jar +%%DATADIR%%/libs/guava-20.0.jar +%%DATADIR%%/libs/hk2-api-2.5.0-b05.jar +%%DATADIR%%/libs/hk2-locator-2.5.0-b05.jar +%%DATADIR%%/libs/hk2-utils-2.5.0-b05.jar +%%DATADIR%%/libs/jackson-annotations-2.8.5.jar +%%DATADIR%%/libs/jackson-core-2.8.5.jar +%%DATADIR%%/libs/jackson-databind-2.8.5.jar +%%DATADIR%%/libs/jackson-jaxrs-base-2.8.5.jar +%%DATADIR%%/libs/jackson-jaxrs-json-provider-2.8.5.jar +%%DATADIR%%/libs/jackson-module-jaxb-annotations-2.8.5.jar +%%DATADIR%%/libs/javassist-3.21.0-GA.jar +%%DATADIR%%/libs/javax.annotation-api-1.2.jar +%%DATADIR%%/libs/javax.inject-1.jar +%%DATADIR%%/libs/javax.inject-2.5.0-b05.jar +%%DATADIR%%/libs/javax.servlet-api-3.1.0.jar +%%DATADIR%%/libs/javax.ws.rs-api-2.0.1.jar +%%DATADIR%%/libs/jersey-client-2.24.jar +%%DATADIR%%/libs/jersey-common-2.24.jar +%%DATADIR%%/libs/jersey-container-servlet-2.24.jar +%%DATADIR%%/libs/jersey-container-servlet-core-2.24.jar +%%DATADIR%%/libs/jersey-guava-2.24.jar +%%DATADIR%%/libs/jersey-media-jaxb-2.24.jar +%%DATADIR%%/libs/jersey-server-2.24.jar +%%DATADIR%%/libs/jetty-continuation-9.2.15.v20160210.jar +%%DATADIR%%/libs/jetty-http-9.2.15.v20160210.jar +%%DATADIR%%/libs/jetty-io-9.2.15.v20160210.jar +%%DATADIR%%/libs/jetty-security-9.2.15.v20160210.jar +%%DATADIR%%/libs/jetty-server-9.2.15.v20160210.jar +%%DATADIR%%/libs/jetty-servlet-9.2.15.v20160210.jar +%%DATADIR%%/libs/jetty-servlets-9.2.15.v20160210.jar +%%DATADIR%%/libs/jetty-util-9.2.15.v20160210.jar +%%DATADIR%%/libs/jopt-simple-5.0.3.jar +%%DATADIR%%/libs/kafka-clients-%%PORTVERSION%%.jar +%%DATADIR%%/libs/kafka-log4j-appender-%%PORTVERSION%%.jar +%%DATADIR%%/libs/kafka-streams-%%PORTVERSION%%.jar +%%DATADIR%%/libs/kafka-streams-examples-%%PORTVERSION%%.jar +%%DATADIR%%/libs/kafka-tools-%%PORTVERSION%%.jar +%%DATADIR%%/libs/kafka_2.12-%%PORTVERSION%%.jar +%%DATADIR%%/libs/log4j-1.2.17.jar +%%DATADIR%%/libs/lz4-1.3.0.jar +%%DATADIR%%/libs/maven-artifact-3.5.0.jar +%%DATADIR%%/libs/metrics-core-2.2.0.jar +%%DATADIR%%/libs/osgi-resource-locator-1.0.1.jar +%%DATADIR%%/libs/plexus-utils-3.0.24.jar +%%DATADIR%%/libs/reflections-0.9.11.jar +%%DATADIR%%/libs/rocksdbjni-5.0.1.jar +%%DATADIR%%/libs/scala-library-2.12.2.jar +%%DATADIR%%/libs/scala-parser-combinators_2.12-1.0.4.jar +%%DATADIR%%/libs/slf4j-api-1.7.25.jar +%%DATADIR%%/libs/slf4j-log4j12-1.7.25.jar +%%DATADIR%%/libs/snappy-java-1.1.2.6.jar +%%DATADIR%%/libs/validation-api-1.1.0.Final.jar +%%DATADIR%%/libs/zkclient-0.10.jar +%%DATADIR%%/libs/zookeeper-3.4.10.jar +@dir(%%USERS%%,%%GROUPS%%,755) %%KAFKA_DATADIR%% +@dir(%%USERS%%,%%GROUPS%%,755) %%KAFKA_LOGDIR%% +@dir(%%USERS%%,%%GROUPS%%,755) %%KAFKA_RUNDIR%% +@sample %%ETCDIR%%/connect-console-sink.properties.sample +@sample %%ETCDIR%%/connect-console-source.properties.sample +@sample %%ETCDIR%%/connect-distributed.properties.sample +@sample %%ETCDIR%%/connect-file-sink.properties.sample +@sample %%ETCDIR%%/connect-file-source.properties.sample +@sample %%ETCDIR%%/connect-log4j.properties.sample +@sample %%ETCDIR%%/connect-standalone.properties.sample +@sample %%ETCDIR%%/consumer.properties.sample +@sample %%ETCDIR%%/log4j.properties.sample +@sample %%ETCDIR%%/producer.properties.sample +@sample %%ETCDIR%%/server.properties.sample +@sample %%ETCDIR%%/tools-log4j.properties.sample |