User:Elukey/Misc/Bigtop

From Wikitech

How to build packages for Bigtop 1.5

  • Clone the repository https://github.com/apache/bigtop/
  • Checkout branch-1.5 for Bigtop 1.5
  • Apply patches/changes if needed.
  • Bump bigtop.bom's version (if needed, see below).
  • Use docker to build a package. For example, if we want to rebuild hive: docker run --rm  -v `pwd`:/ws --workdir /ws bigtop/slaves:1.5.0-debian-10 bash -c '. /etc/profile.d/bigtop.sh; ./gradlew hive-clean hive-pkg'

Limitations

The bigtop.bom file contains the version of the package that will be built, for example the following diff is enough to build hive_2.3.6-3_all.deb:

diff --git a/bigtop.bom b/bigtop.bom
index a01d7152..57f920be 100644
--- a/bigtop.bom
+++ b/bigtop.bom
@@ -180,7 +180,7 @@ bigtop {
     'hive' {
       name    = 'hive'
       relNotes = 'Apache Hive'
-      version { base = '2.3.6'; pkg = base; release = 2 }
+      version { base = '2.3.6'; pkg = base; release = 3 }
       tarball { destination = "apache-${name}-${version.base}-src.tar.gz"
                 source      = destination }
       url     { download_path = "/$name/$name-${version.base}/"

The Debian changelog can't be modified afaik, it is a limitation, but it shouldn't be a big problem.

Bigtop also uses images from Dockerhub, and we don't have them on deneb for the moment. So the current workflow is to build locally and scp to apt1001.