Alexandros Kosiaris has uploaded a new change for review.
https://gerrit.wikimedia.org/r/150819
Change subject: Split kafka package into 3 separate packages
......................................................................
Split kafka package into 3 separate packages
kafka-common contains shared .jars and libraries.
kafka-client depends on kafka-common and contains just the usr/sbin/kafka
script.
kafka-server depends on kafka-client and contains the kafka init.d scripts.wq
Change-Id: I5a9bb0797578de7c48cb4ce84783c806fba3cb6f
---
M debian/bin/kafka
M debian/changelog
M debian/control
A debian/kafka-client.install
A debian/kafka-common.dirs
R debian/kafka-common.install
A debian/kafka-common.links
R debian/kafka-server.dirs
R debian/kafka-server.kafka-mirror.default
R debian/kafka-server.kafka-mirror.init
R debian/kafka-server.kafka.default
R debian/kafka-server.kafka.init
R debian/kafka-server.postinst
R debian/kafka-server.postrm
D debian/kafka.links
M debian/patches/our-own-build-system.patch
M debian/rules
17 files changed, 77 insertions(+), 20 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/debs/kafka
refs/changes/19/150819/1
diff --git a/debian/bin/kafka b/debian/bin/kafka
index e6c1ea1..b20dc9d 100755
--- a/debian/bin/kafka
+++ b/debian/bin/kafka
@@ -189,10 +189,22 @@
}
cmd_mirror_maker() {
+ EXTRA_ARGS="-name kafkaMirror -loggc"
+
+ COMMAND=$1
+ case $COMMAND in
+ -daemon)
+ EXTRA_ARGS="-daemon "$EXTRA_ARGS
+ shift
+ ;;
+ *)
+ ;;
+ esac
+
export JMX_PORT="${JMX_PORT:-9993}"
export
KAFKA_LOG4J_OPTS="${KAFKA_LOG4J_OPTS:--Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties}"
export KAFKA_HEAP_OPTS="${KAFKA_HEAP_OPTS:--Xmx1G -Xms1G}"
- kafka_run_class daemon kafkaMirror kafka.tools.MirrorMaker "$@"
+ kafka_run_class ${EXTRA_ARGS} kafka.tools.MirrorMaker "$@"
}
cmd_consumer_offset_checker() {
@@ -254,7 +266,7 @@
export
KAFKA_LOG4J_OPTS="${KAFKA_LOG4J_OPTS:--Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties}"
export KAFKA_HEAP_OPTS="${KAFKA_HEAP_OPTS:--Xmx1G -Xms1G}"
- kafka_run_class "${EXTRA_ARGS}" kafka.Kafka "${server_properties}"
+ kafka_run_class ${EXTRA_ARGS} kafka.Kafka "${server_properties}"
}
cmd_server_stop() {
@@ -283,7 +295,7 @@
export
KAFKA_LOG4J_OPTS="${KAFKA_LOG4J_OPTS:--Dlog4j.configuration=file:${KAFKA_CONFIG}/log4j.properties}"
export KAFKA_HEAP_OPTS="${KAFKA_HEAP_OPTS:--Xmx512M -Xms512M}"
- kafka_run_class "${EXTRA_ARGS}"
org.apache.zookeeper.server.quorum.QuorumPeerMain "${zookeeper_properties}"
+ kafka_run_class ${EXTRA_ARGS}
org.apache.zookeeper.server.quorum.QuorumPeerMain "${zookeeper_properties}"
}
cmd_zookeeper_stop() {
diff --git a/debian/changelog b/debian/changelog
index bab386f..92831a8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,7 +2,7 @@
* Build new version 0.8.1.1
- -- Alexandros Kosiaris <[email protected]> Wed, 16 Jul 2014 18:22:45
+0000
+ -- Andrew Otto (WMF) <[email protected]> Wed, 16 Jul 2014 18:22:45 +0000
kafka (0.8.0-2) precise; urgency=low
diff --git a/debian/control b/debian/control
index b1da7e8..4d9e8ca 100644
--- a/debian/control
+++ b/debian/control
@@ -36,7 +36,7 @@
Standards-Version: 3.9.3
Homepage: http://kafka.apache.org
-Package: kafka
+Package: kafka-common
Architecture: all
Depends: openjdk-7-jre | java7-runtime, scala-library, adduser,
${java:Depends}, ${misc:Depends}
Recommends: ${java:Recommends}
@@ -50,4 +50,37 @@
distributing consumption over a cluster of consumer machines while
maintaining per-partition ordering semantics.
* Support for parallel data load into Hadoop.
+ .
+ This package includes common Kafka .jar files.
+Package: kafka-client
+Architecture: all
+Depends: kafka-common
+Description: Apache Kafka is a distributed publish-subscribe messaging system
+ Apache Kafka is designed to support the following
+ * Persistent messaging with O(1) disk structures
+ that provide constant time performance even with many TB of stored messages.
+ * High-throughput: even with very modest hardware Kafka can support hundreds
+ of thousands of messages per second.
+ * Explicit support for partitioning messages over Kafka servers and
+ distributing consumption over a cluster of consumer machines while
+ maintaining per-partition ordering semantics.
+ * Support for parallel data load into Hadoop.
+ .
+ This package includes a kafka shell script for easy interfacing with Kafka
brokers.
+
+Package: kafka-server
+Architecture: all
+Depends: kafka-client
+Description: Apache Kafka is a distributed publish-subscribe messaging system
+ Apache Kafka is designed to support the following
+ * Persistent messaging with O(1) disk structures
+ that provide constant time performance even with many TB of stored messages.
+ * High-throughput: even with very modest hardware Kafka can support hundreds
+ of thousands of messages per second.
+ * Explicit support for partitioning messages over Kafka servers and
+ distributing consumption over a cluster of consumer machines while
+ maintaining per-partition ordering semantics.
+ * Support for parallel data load into Hadoop.
+ .
+ This package includes init.d scripts for Kafka Brokers and Kafka MirrorMaker
daemons.
diff --git a/debian/kafka-client.install b/debian/kafka-client.install
new file mode 100644
index 0000000..4884114
--- /dev/null
+++ b/debian/kafka-client.install
@@ -0,0 +1 @@
+debian/bin/kafka usr/sbin
diff --git a/debian/kafka-common.dirs b/debian/kafka-common.dirs
new file mode 100644
index 0000000..350a8ab
--- /dev/null
+++ b/debian/kafka-common.dirs
@@ -0,0 +1,2 @@
+etc/kafka
+usr/share/kafka
diff --git a/debian/kafka.install b/debian/kafka-common.install
similarity index 96%
rename from debian/kafka.install
rename to debian/kafka-common.install
index 79f6b68..8533b16 100644
--- a/debian/kafka.install
+++ b/debian/kafka-common.install
@@ -17,4 +17,3 @@
ext/metrics-ganglia-2.2.0.jar usr/share/java
ext/metrics-graphite-2.2.0.jar usr/share/java
ext/kafka-ganglia-1.0.0.jar usr/share/kafka
-debian/bin/kafka usr/sbin
diff --git a/debian/kafka-common.links b/debian/kafka-common.links
new file mode 100644
index 0000000..33247ff
--- /dev/null
+++ b/debian/kafka-common.links
@@ -0,0 +1,5 @@
+usr/share/kafka/kafka-0.8.1.1.jar usr/share/kafka/kafka.jar
+usr/share/kafka/kafka-perf-0.8.1.1jar usr/share/kafka/kafka-perf.jar
+usr/share/kafka/kafka-kafka-examples-0.8.1.1.jar
usr/share/kafka/kafka-kafka-examples.jar
+usr/share/kafka/hadoop-consumer-0.8.1.1.jar usr/share/kafka/hadoop-consumer.jar
+usr/share/kafka/hadoop-producer-0.8.1.1.jar usr/share/kafka/hadoop-producer.jar
diff --git a/debian/kafka.dirs b/debian/kafka-server.dirs
similarity index 74%
rename from debian/kafka.dirs
rename to debian/kafka-server.dirs
index 2f77e96..df0a60d 100644
--- a/debian/kafka.dirs
+++ b/debian/kafka-server.dirs
@@ -1,2 +1,3 @@
+etc/kafka
var/log/kafka
var/spool/kafka
diff --git a/debian/kafka.kafka-mirror.default
b/debian/kafka-server.kafka-mirror.default
similarity index 100%
rename from debian/kafka.kafka-mirror.default
rename to debian/kafka-server.kafka-mirror.default
diff --git a/debian/kafka.kafka-mirror.init
b/debian/kafka-server.kafka-mirror.init
similarity index 100%
rename from debian/kafka.kafka-mirror.init
rename to debian/kafka-server.kafka-mirror.init
diff --git a/debian/kafka.default b/debian/kafka-server.kafka.default
similarity index 100%
rename from debian/kafka.default
rename to debian/kafka-server.kafka.default
diff --git a/debian/kafka.init b/debian/kafka-server.kafka.init
similarity index 100%
rename from debian/kafka.init
rename to debian/kafka-server.kafka.init
diff --git a/debian/kafka.postinst b/debian/kafka-server.postinst
similarity index 100%
rename from debian/kafka.postinst
rename to debian/kafka-server.postinst
diff --git a/debian/kafka.postrm b/debian/kafka-server.postrm
similarity index 100%
rename from debian/kafka.postrm
rename to debian/kafka-server.postrm
diff --git a/debian/kafka.links b/debian/kafka.links
deleted file mode 100644
index f1937be..0000000
--- a/debian/kafka.links
+++ /dev/null
@@ -1,6 +0,0 @@
-usr/share/kafka/kafka-0.8.jar usr/share/kafka/kafka.jar
-usr/share/kafka/kafka-perf-0.8.jar usr/share/kafka/kafka-perf.jar
-usr/share/kafka/kafka-kafka-examples-0.8.jar
usr/share/kafka/kafka-kafka-examples.jar
-usr/share/kafka/hadoop-consumer-0.8.jar usr/share/kafka/hadoop-consumer.jar
-usr/share/kafka/hadoop-producer-0.8.jar usr/share/kafka/hadoop-producer.jar
-
diff --git a/debian/patches/our-own-build-system.patch
b/debian/patches/our-own-build-system.patch
index 77212a5..d56e2f1 100644
--- a/debian/patches/our-own-build-system.patch
+++ b/debian/patches/our-own-build-system.patch
@@ -73,7 +73,7 @@
+SYS_CLASSJARS:=$(shell find $(SYS_CLASSDIR) -name "*.jar")
+export SYS_CLASSPATH:=$(shell echo $(SYS_CLASSJARS) | sed -e 's/ /:/g')
+
-+# Same here, just this is done for the shipped jar dependencies.
++# Same here, just this is done for the shipped jar dependencies.
+EXT_CLASSDIR:=$(CURDIR)/ext
+EXT_CLASSJARS:=$(shell find $(EXT_CLASSDIR) -name "*.jar")
+export EXT_CLASSPATH:=$(shell echo $(EXT_CLASSJARS) | sed -e 's/ /:/g')
@@ -284,4 +284,4 @@
+install: all
+ $(JAR) cfv kafka-perf-$(VERSION).jar -C target .
+ $(INSTALL) -o root -g root kafka-perf-$(VERSION).jar
$(DESTDIR)$(LIBPATH)/kafka-perf-$(VERSION).jar
---
+--
diff --git a/debian/rules b/debian/rules
index aac117e..e4fc652 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
export JAVA_HOME?=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export PREFIX=/usr
export SYSCONFDIR=/etc/kafka
-export VERSION=0.8
+export VERSION=0.8.1.1
# Put depended upon jars in here
export
CLASSPATH=/usr/share/java/asm3.jar:/usr/share/java/cglib.jar:/usr/share/java/commons-cli.jar:/usr/share/java/commons-codec.jar:/usr/share/java/commons-collections.jar:/usr/share/java/commons-compress.jar:/usr/share/java/commons-el.jar:/usr/share/java/commons-httpclient.jar:/usr/share/java/commons-io.jar:/usr/share/java/commons-lang.jar:/usr/share/java/commons-logging.jar:/usr/share/java/commons-net.jar:/usr/share/java/hsqldb.jar:/usr/share/java/jackson-core.jar:/usr/share/java/jackson-mapper.jar:/usr/share/java/jets3t.jar:/usr/share/java/jetty-util.jar:/usr/share/java/jetty.jar:/usr/share/java/joda-time.jar:/usr/share/java/jsp-api-2.1.jar:/usr/share/java/junit4.jar:/usr/share/java/log4j-1.2.jar:/usr/share/java/objenesis.jar:/usr/share/java/oro.jar:/usr/share/java/paranamer.jar:/usr/share/java/qdox.jar:/usr/share/java/scala-library.jar:/usr/share/java/servlet-api-2.5.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/snappy-java.jar:/usr/share/java/velocity-1.7.jar:/usr/share/java/xmlenc.jar:/usr/share/java/zookeeper.jar:$(CURDIR)/ext/avro-1.4.0.jar:$(CURDIR)/ext/easymock-3.0.jar:$(CURDIR)/ext/hadoop-core-0.20.2.jar:$(CURDIR)/ext/jasper-compiler-5.5.12.jar:$(CURDIR)/ext/jasper-runtime-5.5.12.jar:$(CURDIR)/ext/jopt-simple-3.2.jar:$(CURDIR)/ext/jsp-2.1-6.1.14.jar:$(CURDIR)/ext/jsp-api-2.1-6.1.14.jar:$(CURDIR)/ext/kfs-0.3.jar:$(CURDIR)/ext/metrics-annotation-2.2.0.jar:$(CURDIR)/ext/metrics-core-2.2.0.jar:$(CURDIR)/ext/metrics-ganglia-2.2.0.jar:$(CURDIR)/ext/metrics-graphite-2.2.0.jar:$(CURDIR)/ext/kafka-ganglia-1.0.0.jar/$(CURDIR)/ext/paranamer-ant-2.2.jar:$(CURDIR)/ext/paranamer-generator-2.2.jar:$(CURDIR)/ext/pig-0.8.0.jar:$(CURDIR)/ext/scalatest-1.2.jar:$(CURDIR)/ext/zkclient-0.3.jar:
@@ -11,10 +11,20 @@
%:
dh $@ --with javahelper
-override_dh_installinit:
- # call regular dh_installinit to get
- # kafka.init and kafka.default installed.
- dh_installinit
+override_dh_install:
+ dh_install
+ # make install installs files into debian/tmp.
+ # These files are part of the kafka-common package.
+ cp -rv $(CURDIR)/debian/tmp/usr/share/kafka/*
$(CURDIR)/debian/kafka-common/usr/share/kafka/
+ cp -rv $(CURDIR)/debian/tmp/etc/kafka/tools-log4j.properties
$(CURDIR)/debian/kafka-common/etc/kafka/
+ # These files are part of the kafka-server package.
+ cp -rv $(CURDIR)/debian/tmp/etc/kafka/mirror
$(CURDIR)/debian/kafka-server/etc/kafka/
+ cp -rv $(CURDIR)/debian/tmp/etc/kafka/server.properties
$(CURDIR)/debian/kafka-server/etc/kafka/
+ cp -rv $(CURDIR)/debian/tmp/etc/kafka/zookeeper.properties
$(CURDIR)/debian/kafka-server/etc/kafka/
- # also install kafka-mirror init.d and default scripts
+override_dh_installinit:
+ # Install kafka-server.kafka init.d and default scripts under the name
'kafka'.
+ dh_installinit --name=kafka
+
+ # Install kafka-server.kafka-mirror init.d and default scripts under
the name 'kafka-mirror'.
dh_installinit --name=kafka-mirror
--
To view, visit https://gerrit.wikimedia.org/r/150819
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5a9bb0797578de7c48cb4ce84783c806fba3cb6f
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/kafka
Gerrit-Branch: master
Gerrit-Owner: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Ottomata <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits