File indexing completed on 2023-05-30 10:41:17
0001 #!/bin/bash 0002 # 0003 # generate_voices_rcc.sh 0004 # 0005 #============================================================================= 0006 # SPDX-FileCopyrightText: 2014 Holger Kaelberer <holger.k@elberer.de> 0007 # 0008 # SPDX-License-Identifier: GPL-3.0-or-later 0009 #============================================================================= 0010 # 0011 # Generates Qt binary resource files (.rcc) for voices locales. 0012 # 0013 # Usage: 0014 # cd git/GCompris-voices/ 0015 # generate_voices_rcc.sh 0016 # 0017 # Results will be written to $PWD/.rcc/ which is supposed be synced to the 0018 # upstream location. 0019 # 0020 0021 QRC_DIR="." 0022 RCC_DIR=".rcc" 0023 RCC_DEFAULT=`which rcc 2>/dev/null` # default, better take /usr/bin/rcc? 0024 CONTENTS_FILE=Contents 0025 MD5SUM=/usr/bin/md5sum 0026 0027 [ -z "${RCC}" ] && RCC=${RCC_DEFAULT} 0028 0029 [ -z "${RCC}" ] && { 0030 echo "No rcc command in PATH, can't continue. Try to set specify RCC in environment:" 0031 echo "RCC=/path/to/qt/bin/rcc $0" 0032 exit 1 0033 } 0034 0035 echo "Generating binary resource files in ${RCC_DIR}/ folder:" 0036 0037 [ -d ${RCC_DIR} ] && rm -rf ${RCC_DIR} 0038 mkdir ${RCC_DIR} 0039 0040 for LANG in `find . -maxdepth 1 -regextype posix-egrep -type d -regex "\./[a-z]{2,3}(_[A-Z]{2,3})?"`; do 0041 QRC_FILE="${QRC_DIR}/voices-${LANG#./}.qrc" 0042 RCC_FILE="${RCC_DIR}/voices-${LANG#./}.rcc" 0043 0044 # Generate QRC: 0045 echo -n " ${LANG#./}: ${QRC_FILE} ... " 0046 # check for junk in the voices dirs: 0047 if [ ! -z "`git status --porcelain ${LANG} | grep '^??'`" ]; then 0048 echo "Found untracked files in your git checkout below ${LANG}. Better "git clean -f" it first!"; 0049 exit 1; 0050 fi 0051 [ -e ${QRC_FILE} ] && rm ${QRC_FILE} 0052 0053 #header: 0054 (cat <<EOHEADER 0055 <!DOCTYPE RCC><RCC version="1.0"> 0056 <qresource> 0057 EOHEADER 0058 ) >> $QRC_FILE 0059 for i in `find ${LANG} -not -type d`; do 0060 echo " <file>${i#./}</file>" >> $QRC_FILE 0061 done 0062 #footer: 0063 (cat <<EOFOOTER 0064 </qresource> 0065 </RCC> 0066 EOFOOTER 0067 ) >> $QRC_FILE 0068 0069 # Generate RCC 0070 echo -n "${RCC_FILE} ... " 0071 ${RCC} -binary ${QRC_FILE} -o ${RCC_FILE} 0072 0073 echo "md5sum ... " 0074 cd ${RCC_DIR} 0075 ${MD5SUM} `basename ${RCC_FILE}` >>${CONTENTS_FILE} 0076 cd - &>/dev/null 0077 done 0078 0079 #cleanup: 0080 rm *.qrc 0081 0082 echo "Finished! Now do something like:" 0083 echo "rsync -avx ${RCC_DIR}/ www.gcompris.net:/path/to/www/gcompris/data/voices/" 0084 #EOF