| 1 |
#!/bin/sh |
| 2 |
|
| 3 |
STARTDIR=`pwd` |
| 4 |
cd `dirname $0` |
| 5 |
|
| 6 |
# Common vars |
| 7 |
QUERY=$1 |
| 8 |
if [ "$QUERY" = "pack" ] || [ "$QUERY" = "just-pack" ]; |
| 9 |
then |
| 10 |
PACK=1 |
| 11 |
else |
| 12 |
PACK=0 |
| 13 |
fi |
| 14 |
if [ "$QUERY" = "compile" ] || [ "$QUERY" = "pack" ]; |
| 15 |
then |
| 16 |
COMPILE=1 |
| 17 |
else |
| 18 |
COMPILE=0 |
| 19 |
fi |
| 20 |
if [ "$QUERY" = "clean" ]; |
| 21 |
then |
| 22 |
CLEAN=1 |
| 23 |
else |
| 24 |
CLEAN=0 |
| 25 |
fi |
| 26 |
|
| 27 |
# Packaging vars |
| 28 |
URL_PREFIX="http://qutim.org/downloads/qutim-lang_" |
| 29 |
URL_SUFFIX=".zip" |
| 30 |
PLUGMAN_INFO='Pinfo.xml' |
| 31 |
|
| 32 |
# Fill the list of languages |
| 33 |
shift |
| 34 |
if [ "$#" -gt "0" ]; |
| 35 |
then |
| 36 |
LANGUAGES="$@" |
| 37 |
else |
| 38 |
LANGUAGES=`find . -mindepth 1 -maxdepth 1 -type d -not -name ".git" -not -name ".svn" -and -not -name "__trans" -and -not -name "__tmp" -and -not -name "debian" -print` |
| 39 |
fi |
| 40 |
|
| 41 |
# Check command |
| 42 |
if [ "$COMPILE" -eq "0" ] && [ "$PACK" -eq "0" ] && [ "$CLEAN" -eq "0" ]; |
| 43 |
then |
| 44 |
echo "Usage:" |
| 45 |
echo " ./make.sh command [language ...]" |
| 46 |
echo "Where:" |
| 47 |
echo " * command - is one of the following:" |
| 48 |
echo " compile - compile .ts files" |
| 49 |
echo " pack - compile .ts files and create plugman packages" |
| 50 |
echo " just-pack - create plugman packages from already compiled .ts files" |
| 51 |
echo " clean - remove '__trans' and '__tmp' dirs" |
| 52 |
echo " * language - optional parameter, specifies one or more languages to compile" |
| 53 |
echo " if languages are not specified, all of them are compiled" |
| 54 |
cd $STARTDIR && exit 1 |
| 55 |
fi |
| 56 |
|
| 57 |
# Package cleaning |
| 58 |
if [ "$CLEAN" -eq "1" ]; |
| 59 |
then |
| 60 |
rm -rf __trans __tmp |
| 61 |
for language in $LANGUAGES; |
| 62 |
do |
| 63 |
rm -rf $language/binaries/*.qm |
| 64 |
rm -rf $language/binaries/ |
| 65 |
done |
| 66 |
cd $STARTDIR && exit |
| 67 |
fi |
| 68 |
|
| 69 |
# A number of checks |
| 70 |
if [ ! -x "`which sed`" ] |
| 71 |
then |
| 72 |
echo "sed not found!!! Kill yourself, please!" |
| 73 |
cd $STARTDIR && exit 1 |
| 74 |
else |
| 75 |
SED=`which sed` |
| 76 |
echo "sed found in '$SED'" |
| 77 |
fi |
| 78 |
if [ "$PACK" -eq "1" ]; |
| 79 |
then |
| 80 |
if [ ! -x "`which zip`" ]; |
| 81 |
then |
| 82 |
echo "zip not found!" |
| 83 |
cd $STARTDIR && exit 1 |
| 84 |
else |
| 85 |
ZIP=`which zip` |
| 86 |
echo "zip found in '$ZIP'" |
| 87 |
fi |
| 88 |
if [ ! -x "`which svn`" ]; |
| 89 |
then |
| 90 |
echo "svn not found!" |
| 91 |
cd $STARTDIR && exit 1 |
| 92 |
else |
| 93 |
SVN=`which svn` |
| 94 |
echo "svn found in '$SVN'" |
| 95 |
fi |
| 96 |
if [ ! -x "`which awk`" ]; |
| 97 |
then |
| 98 |
echo "awk not found!" |
| 99 |
cd $STARTDIR && exit 1 |
| 100 |
else |
| 101 |
AWK=`which awk` |
| 102 |
echo "awk found in '$AWK'" |
| 103 |
fi |
| 104 |
if [ -d ".svn" ]; |
| 105 |
then |
| 106 |
REV=`LANG=C $SVN info | $AWK '$1=="Revision:" {print $2;}'` |
| 107 |
else |
| 108 |
REV=`LANG=C $SVN info http://qutim.org/svn/languages | $AWK '$1=="Revision:" {print $2;}'` |
| 109 |
fi |
| 110 |
fi |
| 111 |
if [ "$COMPILE" -eq "1" ] |
| 112 |
then |
| 113 |
if [ -x "`which lrelease-qt4`" ]; |
| 114 |
then |
| 115 |
LRELEASE=`which lrelease-qt4` |
| 116 |
echo "lrelease found in '$LRELEASE'" |
| 117 |
else |
| 118 |
if [ -x "`which lrelease`" ]; |
| 119 |
then |
| 120 |
LRELEASE=`which lrelease` |
| 121 |
echo "lrelease found in '$LRELEASE'" |
| 122 |
else |
| 123 |
echo 'lrelease not found!' |
| 124 |
cd $STARTDIR && exit 1 |
| 125 |
fi |
| 126 |
fi |
| 127 |
fi |
| 128 |
|
| 129 |
for language in ${LANGUAGES}; |
| 130 |
do |
| 131 |
if [ "$COMPILE" -eq "1" ]; |
| 132 |
then |
| 133 |
[ -d "${language}/binaries" ] || mkdir -p "${language}/binaries" |
| 134 |
for ts in `ls ${language}/*.ts`; do |
| 135 |
qm="${language}/binaries/`basename $ts | sed 's/ts$/qm/'`" |
| 136 |
$LRELEASE $ts -qm $qm |
| 137 |
done |
| 138 |
fi |
| 139 |
if [ "$PACK" -eq "1" ]; |
| 140 |
then |
| 141 |
[ -d "__trans" ] || mkdir -p "__trans" |
| 142 |
lang=`echo ${language} | sed 's@^\.\+/@@'` |
| 143 |
[ -d "__tmp/languages/${lang}" ] || mkdir -p "__tmp/languages/${lang}" |
| 144 |
cp ${language}/binaries/*.qm __tmp/languages/${lang}/ |
| 145 |
cp ${language}/${PLUGMAN_INFO} __tmp/ |
| 146 |
cd __tmp |
| 147 |
sed -i "s@--VERSION--@${REV}@" ${PLUGMAN_INFO} |
| 148 |
URL=${URL_PREFIX}${lang}${URL_SUFFIX} |
| 149 |
sed -i "s@--URL--@${URL}@" ${PLUGMAN_INFO} |
| 150 |
zip -r ../__trans/qutim-lang_${lang}.zip * |
| 151 |
cd .. |
| 152 |
rm -rf __tmp |
| 153 |
fi |
| 154 |
done |