diff options
-rwxr-xr-x | redhat/genrpm.sh | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/redhat/genrpm.sh b/redhat/genrpm.sh index 13ddee519..df6362bc3 100755 --- a/redhat/genrpm.sh +++ b/redhat/genrpm.sh @@ -3,8 +3,11 @@ cd "$( dirname "$0" )" ARGS="" +eval TARBALLS_DIR=~/tde/3.5.13.1 + if [ ! -d /var/cache/ccache ]; then DIST="$(rpmdist.sh --dist)" + [ -z "${DIST}" ] && DIST="$(rpm -E "%{dist}")" if [ -n "${DIST}" ]; then export CCACHE_DIR=~/.ccache${DIST}.$(uname -m) fi @@ -33,7 +36,8 @@ RHEL="$( rpm -E "%{rhel}" )" FEDORA="$( rpm -E "%{fedora}" )" SUSE="$( rpm -E "%{suse_version}" )" PCLINUXOS="$( rpm -E "%{pclinuxos}" )" -if [ "${RHEL}" = "%{rhel}" ] && [ "${FEDORA}" = "%{fedora}" ] && [ "${SUSE}" = "%{suse_version}" ] && [ "${PCLINUXOS}" = "%{pclinuxos}" ] ; then +MGAVERSION="$( rpm -E "%{mgaversion}" )" +if [ "${RHEL}" = "%{rhel}" ] && [ "${FEDORA}" = "%{fedora}" ] && [ "${SUSE}" = "%{suse_version}" ] && [ "${PCLINUXOS}" = "%{pclinuxos}" ] && [ "${MGAVERSION}" = "%{mgaversion}" ] ; then cat <<EOF Error: RPM macro %rhel or %fedora must be set to the distribution version to build ! E.g: @@ -59,13 +63,13 @@ VERSION=$( awk '{ if ($1 == "'${COMP}'") { print $2; } }' components.txt ) # If no version is set in text file, get version number from source tarball name if [ -z "${VERSION}" ]; then if [ -n "${REQVERSION}" ]; then - set $( cd "${COMP}"; echo ${COMP##*/}*-${REQVERSION%-sru}*.tar.gz) + set $( cd "${TARBALLS_DIR}"; echo ${COMP##*/}*-${REQVERSION%-sru}*.tar.gz) else - set $( cd "${COMP}"; echo ${COMP##*/}*.tar.* ) + set $( cd "${TARBALLS_DIR}"; echo ${COMP##*/}*.tar.* ) fi if [ $# -gt 1 ]; then select VERSION in $*; do break; done - elif [ -r "${COMP}/$1" ]; then + elif [ -r "${TARBALLS_DIR}/$1" ]; then VERSION="$1" elif [ "${COMP}" = "trinity-live" ]; then VERSION="3.5.13" @@ -103,6 +107,8 @@ About to build '${COMP}': Version: '${VERSION}' Spec file: '${SPEC}' +CCACHE_DIR='${CCACHE_DIR}' + Press ENTER to build, or CTRL+C to abort. EOF [ -z "${AUTO}" ] && read rep @@ -119,11 +125,22 @@ fi LOGFILE=/tmp/log.${COMP##*/} +SOURCEDIR="$(mktemp -d)" +# Puts the GIT files in SOURCEDIR +cp -rf "${PWD}/${COMP}/"* "${SOURCEDIR}" +# Puts the TARBALL in SOURCEDIR +cp -f "${TARBALLS_DIR}/${COMP}-"*.tar* "${SOURCEDIR}" + +BUILDDIR="/dev/shm/BUILD${DIST}.$(uname -i)" +BUILDROOTDIR="/dev/shm/BUILDROOT${DIST}.$(uname -i)" + set -x ( rpmbuild -ba \ ${ARGS} \ - --define "_sourcedir ${PWD}/${COMP}" \ + --define "_sourcedir ${SOURCEDIR}" \ + --define "_builddir ${BUILDDIR}" \ + --define "_buildrootdir ${BUILDROOTDIR}" \ --define "tde_prefix ${PREFIX:-/opt/trinity}" \ --define "version ${VERSION:-3.5.13}" \ ${COMP}/${SPEC} || exit 1 @@ -140,3 +157,5 @@ if grep -q "error: Failed build dependencies:" ${LOGFILE}; then set $( grep " is needed by " ${LOGFILE} | cut -d " " -f1 ) exit 2 fi + +rm -rf "${SOURCEDIR}" |