summaryrefslogtreecommitdiffstats
path: root/redhat/genrpm.sh
diff options
context:
space:
mode:
authoralbator <[email protected]>2011-09-04 17:04:12 +0200
committeralbator <[email protected]>2011-09-04 17:04:12 +0200
commit016dd39c2ae7c15ce5b16c992fa1a2dd60d755ca (patch)
tree94d8c98fbf2650fbbf980469a7cf70054147ffb4 /redhat/genrpm.sh
parentdf86c138f55c583cec28278b818236917a75f229 (diff)
downloadtde-packaging-016dd39c2ae7c15ce5b16c992fa1a2dd60d755ca.tar.gz
tde-packaging-016dd39c2ae7c15ce5b16c992fa1a2dd60d755ca.zip
Initial production script for RHEL
Use 'gentarball.sh' to generate tarballs from SVN, then 'genrpm.sh' to build RPM.
Diffstat (limited to 'redhat/genrpm.sh')
-rwxr-xr-xredhat/genrpm.sh80
1 files changed, 80 insertions, 0 deletions
diff --git a/redhat/genrpm.sh b/redhat/genrpm.sh
new file mode 100755
index 000000000..96d6ce7de
--- /dev/null
+++ b/redhat/genrpm.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+
+cd "$( dirname "$0" )"
+
+clear
+cat <<EOF
+This script generates RPM of TDE from source tarball.
+Please choose a TDE component to build.
+
+EOF
+
+# Checks RPMBUILD environment
+if [ $( rpm -E "%{rhel}" ) = "%{rhel}" ] && [ $( rpm -E "%{fedora}" ) = "%{fedora}" ]; then
+ cat <<EOF
+Error: RPM macro %rhel or %fedora must be set to the distribution version to build !
+E.g:
+%rhel 6
+or
+%fedora 15
+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
+
+ # 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}'
+ Spec file: '${SPEC}'
+
+Press ENTER to build, or CTRL+C to abort.
+EOF
+ read rep
+
+ # 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
+