hpcc-systems/HPCC-Platform — pull request #6622 by Michael-Gardner (2014-11-07 21:02:33+00:00)
Title: HPCC-12223 Install-cluster.sh failed due to missing deps

Signed-off-by: Michael Gardner

squashed:
HPCC-12223 Added spec file and modified root CMakeLists.txt
HPCC-12223 Hack for entry of filter into spec file
HPCC-12223 Added filter to new spec file
HPCC-12223 Added CMakeLists.txt USER_BINARY_SPECFILE
HPCC-12223 Fixed escaped characters in rpm spec file
HPCC-12223 Modified spec file to define necessary macros
HPCC-12223 Yum install --nogpgcheck -y to pkgcmd
HPCC-12223 Yum install --nogpgcheck -y to pkgcmd
HPCC-12223 Changed logic for debian installs
HPCC-12223 Testing returns
HPCC-12223 Changes to returns
HPCC-12223 fixing bug with upgrade
HPCC-12223 Fixed bad indentation

The new behaviour of install-cluster.sh will be to install a fresh cluster from a base node, or install an upgraded package. It now allows for dependency resolution under both debian and redhat packages. For RPM's we filter out libRembed.so from the list of dependencies that rpmbuild checks against. This insures that libR.so, libRInside.so and libRcpp.so are not included in the final dependency list. Yum therefore is able to install the package and take care of all other dependencies.

For Debian packages we use a combination of dpkg and aptitude to take care of dependencies. All the basic dependencies that we include under cmake_modules/dependencies will be listed in the specific control file of the deb, and therefore the package manager (when we invoke apt-get install -f -y) will be able to resolve all the base dependencies to make the hpcc-platform run. This does not include dependencies for plugins. That would simply require us to change the dependency file in cmake_modules/dependencies/ with the exception that we still wouldn't be able to support automatic dependency resolution of R.