Versions Compared

Key

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

...

  • determine where your source is, and add it to bigtop.mk
  • 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:
    • 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 it 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 rules file using do-component-build
    • create 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. 

...

DescriptionURL 
Romans talk on RPMs vs Tarballs and BigTop Packaging
Widget Connector
urlhttps://www.youtube.com/watch?v=N9-Ad7e7zmA
 
Walkthrough of RPM spec for hadoop in BigTop

http://jayunit100.blogspot.com/2014/04/how-bigtop-packages-hadoop.html

 
RPM Macros

http://www.rpm.org/wiki/PackagerDocs/Macros

 

RPM %Files

http://www.rpm.org/max-rpm-snapshot/s1-rpm-inside-files-list-directives.html

 

Debian Policieshttps://www.debian.org/doc/debian-policy/