aboutsummaryrefslogtreecommitdiff
path: root/BUILDING.txt
blob: bb1ae4efa8f5202fbfaf34a917c7b1eb5ed3a298 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
***************
Building Bigtop
***************

Build Requirements:
===================

* A stock image of a Linux Distribution, supported are
  - Debian 8
  - Centos 6,7
  - Ubuntu 14.04 LTS
  - SLES 11 SP3
  - Fedora 20
  - openSuSE 13.1

* A fast Internet Connection, since compile process will download a lot

* Recommended is to install dependencies via puppet.
  Either
  - Read bigtop_toolchain/README.md
  or
  - install puppet and run
    puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::installer"

Building
========

For Debian, Ubuntu Bigtop supports the deb packaging format and apt repositories

For Centos, Fedora Bigtop supports rpm packaging and yum repositories

For openSuSE, SLES Bigtop supports rpm packaging but zypper seems not supported.

Bigtop consists of many packages which should be compiled in order:
See bigtop.mk for the list of packages and names.

For doing a full recompile do a
  gradle deb
or
  gradle rpm
depending on Linux distribution.

If you want to create a repository
  gradle apt
or
  gradle yum

Build results are in
  output/<names>

The $(HOME)/.m2 will contain several GB of downloads afterwards as collateral damage.

Each package will have a "-1" release part by default.

Create updated Packages
=======================

In order to create releases where one can update machines (for
instance in production) it is advisable to increase the release part for every rebuild.

This can be done by using the BIGTOP_BUILD_STAMP to set the release part of the version of every package.

For instance by default a package hadoop-2.4.1-1.deb will be created. If you need to fix this package and recompile it run:

BIGTOP_BUILD_STAMP="2" gradle hadoop-apt

This updates the package to hadoop-2.4.1-2.deb in repository, removing the old one.

Please do not use a hyphen "-" in the BIGTOP_BUILD_STAMP breaking the
algorithms apt and yum are using for calculating dependencies.

Integration into a CI system: jenkins
=====================================


A nightly build job can be created with

  gradle clean
  BIGTOP_BUILD_STAMP="nightly-${BUILD_NUMBER}" gradle apt|yum

For more background information on BIGTOP_BUILD_STAMP see ticket BIGTOP-1580.