You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/redhat/build/build_rpm_package.sh

67 lines
1.9 KiB

#!/bin/bash -ex
# Usage: build_rpm_package.sh <TDE_PACKAGE> [TDE_VERSION]
# Example: build_rpm_package.sh tdebase 14.0.0
PKGNAME="${1%/}"
PKGNAME="${PKGNAME##*/}"
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}"
### Check for patches
PATCHDIR="${SPECFILE%/*}/patches/${TDE_VERSION}"
if [ -d "${PATCHDIR}" ]; then
cat "${PATCHDIR}/"*".patch" >>"${TEMPDIR}/one.patch"
sed -i "${TEMPDIR}/"*".spec" \
-e "/^Source0:/ s/$/\nPatch389: one.patch/" \
-e "/%setup/ s/$/\n%patch389 -p1/"
fi
[ -d "${BUILDDIR}" ] || mkdir -p "${BUILDDIR}"
RPMDIR="$(rpm -E %{_rpmdir}.tde-${TDE_VERSION})"
SRPMDIR="$(rpm -E %{_srcrpmdir}.tde-${TDE_VERSION})"
rpmbuild -ba \
--define "_specdir ${TEMPDIR}" \
--define "_sourcedir ${TEMPDIR}" \
--define "_builddir ${BUILDDIR}" \
--define "_buildrootdir ${BUILDROOTDIR}" \
--define "_tmppath /dev/shm" \
--define "_rpmdir ${RPMDIR}" \
--define "_srcrpmdir ${SRPMDIR}" \
--define '_build_create_debug 1' \
--define "vendor Trinity\ Desktop" \
--define "packager Francois\ Andriot\ <francois.andriot@free.fr>" \
--define "tde_version ${TDE_VERSION}" \
--define "tde_prefix /opt/trinity" \
--define "preversion ${PREVERSION:-}" \
--define "tde_patch 1" \
--define "with_mpeg 1" \
"${TEMPDIR}/${SPECFILE##*/}"
RET=$?
# Removes BUILDDIR if build succeeded
if [ ${RET} -eq 0 ]; then
rm -rf "${BUILDDIR}/"*${PKGNAME}-${VERSION}*
fi
rm -rf "${TEMPDIR}"
exit $RET