#!/bin/bash ##This a script for the translators to be able to check their translated .po files ##when written. It will take their .po file and make sure it is looking right, and ##install it on their system. ##Test to make sure there is an argument when the script is called. if [ $# != 1 ] then echo "Usage: test-po ; " echo "One po file at a time please" echo " write the .po filename after the program" exit 1 fi ###Testing to see if the .po file exists and is a valid and complete file with ###no errors ###Declaring some variables arg=$1 ### the first argument on this script workingdir=`pwd` ### the dir we are working on the po file from rpmdir=/usr/src/redhat/ ### what do you THINK this is, bubba? if [ -r "$arg" ] && msgfmt -c "$arg" -o /dev/null then echo " $arg is a valid po file" else echo "$arg is NOT a valid po file, please check and correct it"; exit 1 fi ###Now, if the po file has been verified as ok, then we continue... ### Do we have the translator's language source rpm? #This will give us JUST the translator's locale: lang=`echo $LANG | awk -F_ '{print $1}'` #to get the source rpm, we check the translator's home dir setup for that purpose: #a dir called trans-rpm ls ~/trans-rpm/ 2> /dev/null | grep $lang > /dev/null if [ $? != 0 ] then echo "The RPM isnt found, better call shina to come and suffer oh!" exit 1 fi ##Now to install the rpm tarname=`ls ${rpmdir}/SOURCES/ | grep $lang` ###Appropriate translation tarball, after installing tardir=`echo ${tarname%.tar.gz}` ###Appropriate extracted tar dir transpec=`ls ${rpmdir}/SPECS/ | grep $lang` ##Appropriate translator's spec file ###Installiing the source rpm rpm -ivh `ls ~/trans-rpm/* | grep $lang` cd $rpmdir ls SOURCES/ 2> /dev/null | grep $lang > /dev/null if [ $? != 0 ] then echo "no appropriate tar.gz file, quitting" exit 1 else echo "extracting translations tar.gz file" tar -zxvf $tarname echo "removing the tar.gz" cd ${rpmdir}/SOURCES/ rm -fr $tarname cd $workdir cp -f $arg ${rpmdir}/SOURCES/${tardir}/ > /dev/null ##copying our new po file to the extracted source dir if [ $? != 0 ] then echo "could not copy $arg to the tar dir, script failed" exit 1 if ## Repacking the tar.gz... echo "repacking the $tarname file..." cd ${rpmdir}/SOURCES/ tar -cvzf $tarname $tardir rm -fr $tardir ##Creating new RPM file echo "writing new rpm file..." rpmbuild -ba ${rpmdir}/SPECS/${transpec}