Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

2) Here are some steps you can follow to build bring a new bigtop package in.

  • determine where your source is, and add it to bigtop.bom
  • update the bigtop-packages/src/common/<your-package> folder to have your component, and the do-component-build for it (which usually just builds a jar).  Why is there a "common" directory? Simply because deb and rpm packaging share some tasks (like do-component-build, which just usually runs a mvn or gradle command), and so we keep a common install directory which they can both leverage for packaging.
  • If you need to apply a patch to the upstream source (use the utmost caution, in general Bigtop doesn't patch upstreams):
    • create a patch file (in the patch -p1 syntax) and place it in the bigtop-packages/src/common/<your-package> common folder. Name should be patch*.diff
    •  for RPM Support place a #BIGTOP_PATCH_FILES token into the section with the Sources and  #BIGTOP_PATCH_COMMANDS between %setup and %build
    • for DEB the patch is applied by default.
    • multiple patch files are applied in the glob sorting order
  • (for RPM) now add a .spec file into bigtop-packages/src/<your-package>/... into the appropriate directory (i.e. bigtop-packages/src/rpm/tachyon/SPECS/tachyon.spec).  Obviously, your tachyon.spec file will use whats in common/ in a RPM specific way, to install the RPM package.
  • (for Debian) same as above ^ but of course, follow the debuild debian idioms: 
    • create a rules file using do-component-build
    • create a compat file, please use version 9 for new packages
    • create a control file, please use for new packages:   Build-Depends: debhelper (>= 9) and Standards-Version: 3.9.4 

  • Test it with gradle <your-package>-deb on Ubuntu/Debian or <your-package>-rpm for the others.
    • For DEB: Have a look at the lintian errors and warnings, please try to minimize the numbers. 
  • Finally add a smoke test! This is as easy as adding a new groovy file to bitop-tests/smoke-tests/<your-package>/TestThisStuff.groovy, following conventions that others have created. 

...