From Fedora Project Wiki

< SIGs‎ | bigdata‎ | packaging

Revision as of 09:13, 2 August 2015 by Jromanes (talk | contribs) (Created page with "= Apache Kafka package status = [ sources] Apache Kafka is a distributed publish-subscribe messaging system persistent orient...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Apache Kafka package status


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)
 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

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

sbt: FTBFS in rawhide

sbt: broken hawtjni-runtime-1.8.jar symlink

Testing the package

git clone
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