From Fedora Project Wiki

< SIGs‎ | bigdata‎ | packaging

Apache Kafka package status

sources

Apache Kafka is a distributed publish-subscribe messaging system persistent oriented with O(1) disk structures that provide constant time performance even with many TB of stored messages.

Apache Kafka is based on Scala language. Scala uses sbt (Simple Build Tool) for builds, it's the de facto build tool for the Scala community. Sbt is similar to Apache Ant, and uses Apache Ivy (a sub-project of the Apache Ant project) for resolving project dependencies.

We have two methods for scala based project RPM building:

  • Building packages with sbt and the climbing-nemesis script (a tool to make a temporary Ivy repository from installed Fedora packages)
 SIGs/bigdata/packaging/Sbt
 sbt is in Fedora 20 
 Example of climbing-nemsis usage
  • Building packages with sbt and xmvn’s Ivy resolution support
 Making Fedora a better place for Scala
 improved Fedora support for Ivy
 SIGs/bigdata/packaging/Scala
 Changes/ImprovedScalaEcosystem
 Changes/ImprovedIvyPackaging

Package status

The package doesn't build, mainly because Scala project based on sbt are broken in Fedora23-rawhide, the pending bugs here:

Removing depmap support in Fedora 23 (status: should fixed)

sbt: FTBFS in rawhide (status: fixed)

sbt: broken hawtjni-runtime-1.8.jar symlink (status: fixed)

Testing the package

git clone https://github.com/fedora-bigdata-rpms/kafka-rpm.git
cd kafka-rpm
spectool -g kafka.spec
rpmbuild -bs --nodeps --define "_sourcedir ." --define "_srcrpmdir ." kafka.spec
sudo mock kafka-0.8.0-1.fc23.src.rpm