| %define _topdir @CMAKE_CURRENT_BINARY_DIR@/@GPDB_VERSION@ |
| %define __os_install_post %{nil} |
| %define _rpmfilename @MADLIB_GPPKG_RPM_FILE_NAME@ |
| %define _unpackaged_files_terminate_build 0 |
| %define _madlib_version @MADLIB_VERSION_STRING@ |
| |
| BuildRoot: @MADLIB_GPPKG_RPM_SOURCE_DIR@ |
| Summary: Apache MADlib for @GPDB_VARIANT@ Database |
| License: @CPACK_RPM_PACKAGE_LICENSE@ |
| Name: madlib |
| Version: @MADLIB_VERSION_STRING_NO_HYPHEN@ |
| Release: @MADLIB_GPPKG_RELEASE_NUMBER@ |
| Group: @CPACK_RPM_PACKAGE_GROUP@ |
| Prefix: /usr/local |
| AutoReq: no |
| AutoProv: no |
| BuildArch: @CPACK_RPM_PACKAGE_ARCHITECTURE@ |
| Provides: /bin/sh |
| |
| %description |
| @CPACK_RPM_PACKAGE_DESCRIPTION@ |
| |
| %prep |
| : |
| |
| %install |
| # rpmbuild deprecates "BuildRoot" tag after v4.6 |
| # Newer rpmbuild uses a default build root, which is different |
| # from the file directory that we use. This "if" actually checks |
| # whether it is the newer rpmbuild. For older versions of rpmbuild, |
| # we do not need to create the symbolic link. |
| if [ ! @MADLIB_GPPKG_RPM_SOURCE_DIR@ -ef $RPM_BUILD_ROOT ] |
| then |
| # On some systems (gpcloud), rpmbuild automatically creates the |
| # default build root directory, but on some other systems, rpmbuild |
| # does not do this. We need to make sure that this folder exists, |
| # and then we can proceed to create the link in the next step. |
| mkdir -p $RPM_BUILD_ROOT |
| # Newer rpmbuild ignores "BuildRoot" tag in spec file (it is deprecated) |
| # and uses a default build root, which can be changed in ~/.rpmrc file. |
| # Since we cannot change ~/.rpmrc file, we can just create a link in the |
| # new build root pointing to the file directory that we want to use, |
| # which is the ".../usr" folder. |
| ln -s @MADLIB_GPPKG_RPM_SOURCE_DIR@/* $RPM_BUILD_ROOT/ |
| fi |
| |
| %post |
| |
| # GPPKG version is setup with underscore replacing a hyphen but |
| # the actual directories created on disk use the hyphenated version. |
| # Hence we replace the underscore to link to the right location |
| MADLIB_VERSION=%{_madlib_version} |
| ln -nsf $RPM_INSTALL_PREFIX/madlib/Versions/$MADLIB_VERSION $RPM_INSTALL_PREFIX/madlib/Current |
| ln -nsf $RPM_INSTALL_PREFIX/madlib/Current/bin $RPM_INSTALL_PREFIX/madlib/bin |
| ln -nsf $RPM_INSTALL_PREFIX/madlib/Current/doc $RPM_INSTALL_PREFIX/madlib/doc |
| |
| # creating symlink for madpack (does not work at present) |
| # find $RPM_INSTALL_PREFIX/bin/madpack -type f -exec mv {} $RPM_INSTALL_PREFIX/bin/old_madpack \; 2>/dev/null |
| # ln -nsf $RPM_INSTALL_PREFIX/madlib/Current/bin/madpack $RPM_INSTALL_PREFIX/bin/madpack |
| |
| %files |
| %((cd "@MADLIB_GPPKG_RPM_SOURCE_DIR@@CPACK_PACKAGING_INSTALL_PREFIX@" && find . \( -type f -or -type l \) | grep -E -v "^\./ports/.*" && find ./ports/@PORT_NAME@ \( -type f -or -type l \) | grep -E -v "^\./ports/@PORT_NAME@/[[:digit:]]+\.[[:digit:]]+.*/.*" && find ./ports/@PORT_NAME@/@GPDB_VERSION@ \( -type f -or -type l \)) | cut -c 2- | awk '{ print "\"@CPACK_PACKAGING_INSTALL_PREFIX@" $0 "\""}') |