diff options
Diffstat (limited to 'redhat/genrpm.sh')
-rwxr-xr-x | redhat/genrpm.sh | 102 |
1 files changed, 61 insertions, 41 deletions
diff --git a/redhat/genrpm.sh b/redhat/genrpm.sh index 96d6ce7de..d54c88c21 100755 --- a/redhat/genrpm.sh +++ b/redhat/genrpm.sh @@ -2,6 +2,14 @@ cd "$( dirname "$0" )" +while [ $# -gt 0 ]; do + case "$1" in + "--auto") AUTO=1;; + *) COMP="$1";; + esac + shift +done + clear cat <<EOF This script generates RPM of TDE from source tarball. @@ -21,40 +29,45 @@ EOF exit 1 fi -select COMP in $( cut -f1 "components.txt" ) ; do - # Gets package version from 'components.txt' file - 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 - set $( cd "${COMP}"; echo ${COMP##*/}*.tar.gz) - if [ $# -gt 1 ]; then - select VERSION in $*; do break; done - elif [ -r "${COMP}/$1" ]; then - VERSION="$1" - else - echo "No source tarball found for '${COMP}' !" - continue - fi - VERSION="${VERSION##${COMP##*/}-}" - VERSION="${VERSION%%.tar.gz}" - # If version is defined in spec file: appends the date - else - VERSION="${VERSION}.$(date +%Y%m%d)" - fi +if [ -z "${COMP}" ]; then + select COMP in $( cut -f1 "components.txt" | grep -v "^#" ) ; do break; done +fi + +# Gets package version from 'components.txt' file +VERSION=$( awk '{ if ($1 == "'${COMP}'") { print $2; } }' components.txt ) - # Chooses a spec file (if many) - set $( cd "${COMP}"; echo *.spec ) +# If no version is set in text file, get version number from source tarball name +if [ -z "${VERSION}" ]; then + set $( cd "${COMP}"; echo ${COMP##*/}*.tar.gz) if [ $# -gt 1 ]; then - select SPEC in $*; do break; done + select VERSION in $*; do break; done elif [ -r "${COMP}/$1" ]; then - SPEC="$1" + VERSION="$1" + elif [ "${COMP}" = "trinity-live" ]; then + VERSION="3.5.13" else - echo "Fatal: no spec file found !" - exit 2 + echo "No source tarball found for '${COMP}' !" + exit 0 fi + VERSION="${VERSION##${COMP##*/}-}" + VERSION="${VERSION%%.tar.gz}" +# If version is defined in spec file: appends the date +else + VERSION="${VERSION}.$(date +%Y%m%d)" +fi - cat <<EOF +# Chooses a spec file (if many) +set $( cd "${COMP}"; echo *.spec ) +if [ $# -gt 1 ]; then + select SPEC in $*; do break; done +elif [ -r "${COMP}/$1" ]; then + SPEC="$1" +else + echo "Fatal: no spec file found !" + exit 2 +fi + +cat <<EOF About to build '${COMP}': Version: '${VERSION}' @@ -62,19 +75,26 @@ About to build '${COMP}': Press ENTER to build, or CTRL+C to abort. EOF - read rep +[ -z "${AUTO}" ] && read rep - # Specific prefix for installation of some components - case "${COMP##*/}" in - "qt3") PREFIX="/usr";; - esac +# Specific prefix for installation of some components +case "${COMP##*/}" in + "qt3") PREFIX="/usr";; +esac - set -x - rpmbuild -ba \ - --define "_sourcedir ${PWD}/${COMP}" \ - --define "_prefix ${PREFIX:-/opt/trinity}" \ - --define "version ${VERSION:-3.5.13}" \ - ${COMP}/${SPEC} || exit 1 - set +x -done +# Determines if we are running an i386 or x86_64 distro +if [ "$(rpm -q --qf '%{arch}' kernel)" = "i686" ]; then + ARGS="${ARGS} --target=i686" +fi + +set -x +( +rpmbuild -ba \ + --define "_sourcedir ${PWD}/${COMP}" \ + --define "_prefix ${PREFIX:-/opt/trinity}" \ + --define "version ${VERSION:-3.5.13}" \ + $ARGS \ + ${COMP}/${SPEC} || exit 1 +) 2>&1 | tee /tmp/log +set +x |