diff options
Diffstat (limited to 'redhat/build/build_rpm_package.sh')
-rwxr-xr-x | redhat/build/build_rpm_package.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/redhat/build/build_rpm_package.sh b/redhat/build/build_rpm_package.sh new file mode 100755 index 000000000..5b274fde2 --- /dev/null +++ b/redhat/build/build_rpm_package.sh @@ -0,0 +1,51 @@ +#!/bin/bash -ex + +# Usage: build_rpm_package.sh <TDE_PACKAGE> [TDE_VERSION] +# Example: build_rpm_package.sh tdebase 14.0.0 + + +PKGNAME="${1##*/}" +TDE_VERSION="${2:-14.0.0}" + +SPECFILE=$(get_specfile.sh ${PKGNAME} ${TDE_VERSION}) +SOURCES=$(get_source_files.sh ${PKGNAME} ${TDE_VERSION}) +TARBALL=$(get_latest_tarball_filename.sh ${PKGNAME} ${TDE_VERSION} || :) +VERSION=$(get_latest_tarball_version.sh ${PKGNAME} ${TDE_VERSION} || :) +case "${VERSION}" in *~pre*) PREVERSION="${VERSION#*~}";; esac + +DIST="$(rpmdist.sh --dist)" +BUILDDIR="/dev/shm/BUILD${DIST}.$(uname -i)" +BUILDROOTDIR="/dev/shm/BUILDROOT${DIST}.$(uname -i)" +LOGFILE=/tmp/log.${COMP##*/} + +TEMPDIR="$(mktemp -d)" +cp -f ${SPECFILE} ${SOURCES} ${TARBALL} "${TEMPDIR}" + +# Determines if we are running an i386 or x86_64 distro +if [ "$(rpm -q --qf '%{arch}\n' kernel | tail -n 1)" = "i686" ]; then + ARGS="${ARGS} --target=i686" +fi + +[ -d "${BUILDDIR}" ] || mkdir -p "${BUILDDIR}" + + +rpmbuild -ba \ + --define "_specdir ${TEMPDIR}" \ + --define "_sourcedir ${TEMPDIR}" \ + --define "_builddir ${BUILDDIR}" \ + --define "_buildrootdir ${BUILDROOTDIR}" \ + --define "tde_version ${TDE_VERSION}" \ + --define "tde_prefix /opt/trinity" \ + --define "preversion ${PREVERSION}" \ + ${ARGS} \ + "${SPECFILE}" +RET=$? + +# Removes BUILDDIR if build succeeded +if [ ${RET} -eq 0 ]; then + rm -rf "${BUILDDIR}/"*${PKGNAME}-${VERSION}* +fi + +rm -rf "${TEMPDIR}" + +exit $RET |