| # ------------------------------------------------------------------------------ |
| # Packaging for Greenplum's gppkg |
| # ------------------------------------------------------------------------------ |
| |
| set(MADLIB_GPPKG_RELEASE_NUMBER 1) |
| |
| set(MADLIB_GPPKG_RPM_SOURCE_DIR |
| "${CMAKE_BINARY_DIR}/_CPack_Packages/Linux/RPM/${CPACK_PACKAGE_FILE_NAME}" |
| ) |
| # gppkg expects that the file name for the RPM from which the gppkg is generated |
| # follows the pattern "<name>-<version>-<release>.<arch>.rpm". Otherwise, |
| # uninstallation will not work (MPP-18078). Note that <version> has to be |
| # consistent with the version in madlib.spec.in. gppkg deduces the |
| # uninstallation command line options from the filename! |
| set(MADLIB_GPPKG_RPM_FILE_NAME |
| "madlib-${MADLIB_VERSION_STRING_NO_HYPHEN}-${MADLIB_GPPKG_RELEASE_NUMBER}.${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm") |
| |
| find_program( |
| GPPKG_BINARY |
| gppkg |
| PATH /usr/local/greenplum-db/bin |
| DOC "Path to gppkg" |
| ) |
| find_program( |
| RPMBUILD_BINARY |
| rpmbuild |
| DOC "Path to rpmbuild" |
| ) |
| file(READ "${CPACK_PACKAGE_DESCRIPTION_FILE}" CPACK_RPM_PACKAGE_DESCRIPTION) |
| |
| # The target gppkg is a meta target that depends on all version-specific |
| # gppkg targets |
| add_custom_target(gppkg |
| COMMENT "Generating all gppkg installers" |
| ) |
| |
| # We now run generated files, one for each Greenplum version |
| file(GLOB GPPKG_VERSIONS "${CMAKE_CURRENT_BINARY_DIR}/*_gppkg.cmake") |
| foreach(GPPKG_VERSION ${GPPKG_VERSIONS}) |
| include("${GPPKG_VERSION}") |
| endforeach(GPPKG_VERSION) |
| |
| set(CPACK_RPM_SPEC_MORE_DEFINE "%undefine __os_install_post" PARENT_SCOPE) |