File size: 1,731 Bytes
158b61b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash

BRANCH="master"
BOOST="/usr"
declare -i NO_RPM_BUILD=0
declare -i RELEASE=1
declare -r RPM_VERSION_TAG="___RPM_VERSION__"
declare -r RPM_RELEASE_TAG="___RPM_RELEASE__"
declare -r BOOST_TAG="___BOOST_LOCATION__"

function usage() {
  echo "`basename $0` -r [Moses Git repo] -b [Moses Git branch: default ${BRANCH}] -v [RPM version] -l [RPM release: default ${RELEASE}] -t [Boost install: default ${BOOST}]"
  exit 1
}

if [ $# -lt 4 ]; then
  usage
fi

while getopts r:b:t:v:l:nh OPTION
do
  case "$OPTION" in
      r) REPO="${OPTARG}";;
      b) BRANCH="${OPTARG}";;
      t) BOOST="${OPTARG}";;
      v) VERSION="${OPTARG}";;
      l) RELEASE="${OPTARG}";;
      n) NO_RPM_BUILD=1;;
      [h\?]) usage;;
  esac
done

if [ ! -d ./rpmbuild ]; then
  echo "RPM build directory not in current working direcotry"
  exit 1
fi

declare -r MOSES_DIR="moses-${VERSION}"
git clone ${REPO} ${MOSES_DIR}
if [ $? -ne 0 ]; then
  echo "Failed to clone Git repository ${REPO}"
  exit 3
fi

cd ${MOSES_DIR}

git checkout ${BRANCH}
if [ $? -ne 0 ]; then
  echo "Failed to checkout branch ${BRANCH}"
  exit 3
fi

cd ..

tar -cf moses-${VERSION}.tar ${MOSES_DIR}
gzip -f9 moses-${VERSION}.tar

if [ ${NO_RPM_BUILD} -eq 0 ]; then
  if [ ! -d ${HOME}/rpmbuild/SPECS ]; then
    mkdir -p ${HOME}/rpmbuild/SPECS
  fi
  ESC_BOOST=`echo ${BOOST} | gawk '{gsub(/\//, "\\\\/"); print}'`
  eval sed -e \"s/${RPM_VERSION_TAG}/${VERSION}/\" -e \"s/${RPM_RELEASE_TAG}/${RELEASE}/\" -e \"s/${BOOST_TAG}/${ESC_BOOST}/\" ./rpmbuild/SPECS/moses.spec > ${HOME}/rpmbuild/SPECS/moses.spec
  if [ ! -d ${HOME}/rpmbuild/SOURCES ]; then
    mkdir -p ${HOME}/rpmbuild/SOURCES
  fi
  mv moses-${VERSION}.tar.gz ${HOME}/rpmbuild/SOURCES
fi

rm -Rf ${MOSES_DIR}