#!/bin/bash OPT_SPEC="hes:lb:r::" LONG_OPT_SPEC="http-server:,skip-lock,basedir:,backup-dir:,from-revision:,exec-only,help:" PARSED_OPTIONS=$(getopt -n "$0" -a -o $OPT_SPEC --long $LONG_OPT_SPEC -- "$@") OPTIONS_RET=$? eval set -- "$PARSED_OPTIONS" help_usage() { cat < /dev/null for MODULE in $MODULES; do echo -n " $MODULE... " chmod +x $BASEDIR/bin/mayor if [ $? != 0 ]; then exit 2; fi UJ_REV=`$SVN --force export svn+ssh://svn.mayor.hu/var/svn/trunk/$MODULE/update "$BASEDIR/update" | grep revision | cut -d ' ' -f 3 | uniq | sed -e 's/\.//g'` if [ $? != 0 ]; then exit 3; fi echo "kész." done else echo -e "\n\nERROR: A subversion kliens nem található: $SVN" exit 4 fi else # Munkakönyvtár létrehozása if [ ! -d $TMPDIR ]; then mkdir $TMPDIR chown -R 0:0 $TMPDIR chmod -R 700 $TMPDIR else rm -rf $TMPDIR/* fi cd $TMPDIR # Az md5sum állomány PHP_VERSION=`php -r "echo phpversion();"` if [ -z $VERSION ]; then wget -O md5sum "http://www.mayor.hu/download/md5sum?php_version=${PHP_VERSION}" else wget -O md5sum "http://www.mayor.hu/download/$VERSION/md5sum?php_version=${PHP_VERSION}" if [[ ! $HTTP_SERVER =~ .*$VERSION.* ]]; then HTTP_SERVER="$HTTP_SERVER/$VERSION"; fi fi if [ $? != 0 ]; then exit 5; fi UJ_REV=`grep Revision md5sum | cut -d ' ' -f 2` if [ "$REV" -lt "$UJ_REV" ]; then # csomagok leszedése for MODULE in $MODULES; do echo -n " $MODULE... " MOD=`echo $MODULE | sed "s#/#-#"` FILE=`grep "$MOD-rev" md5sum | cut -d ' ' -f 3` if [ "$FILE" != '' ]; then wget "$HTTP_SERVER/$FILE" if [ $? != 0 ]; then echo -e "\n\n ERROR: Az frissítés nem tölthető le: $FILE!\n" exit 6 fi grep $FILE md5sum | md5sum -c --status if [ $? == 0 ]; then tar xfz $FILE -C $BASEDIR ./update else echo -e "\n\n ERROR: Az ellenörző összeg nem egyezik!\n" exit 7 fi else echo 'Nincs ilyen modul!' exit 8 # nem szabad hiányzó csomagok mellett frissíteni!! fi done fi cd $BASEDIR/bin fi fi else # exec-only if [ -f $REVISION_FILE ]; then UJ_REV=`cat $REVISION_FILE` else UJ_REV=0 # nem frissítünk semmit fi fi if [ "$REV" -ge "$UJ_REV" ]; then echo -e "\nNincs újabb változat.\n" echo -e "\n * A szükséges jogosultságok beállítása:" chmod +x $BASEDIR/bin/mayor echo 'kész.' else echo 'kész.' . $BASEDIR/update/processUpdateScripts.sh fi PWDTEX=`pwd` echo -e "\nMaYoR TeX formátum állomány újragenerálása... " cd $BASEDIR/print/module-naplo/tex/ && fmtutil-sys --cnffile $BASEDIR/print/module-naplo/tex/mayor.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor > /dev/null 2>&1 echo -e "\nMaYoR XeTeX formátum állomány újragenerálása... " cd $BASEDIR/print/module-naplo/xetex/ && fmtutil-sys --cnffile $BASEDIR/print/module-naplo/xetex/mayor-xetex.cnf --fmtdir $BASEDIR/print/module-naplo/ --byfmt mayor-xetex > /dev/null 2>&1 if [ -f "$BASEDIR/bin/composer.phar" ]; then echo "Composer ok." else echo "Composer install..." cd $BASEDIR/bin/ && bash install-composer.sh fi if [ -f "$BASEDIR/bin/composer.phar" ]; then echo "Composer ok." echo "Composer installed." echo "Composer optimize: " cd $BASEDIR/www/; php ../bin/composer.phar --no-ansi --no-dev --no-interaction --no-plugins --no-progress --no-scripts --optimize-autoloader install echo "Composer deploy done." else echo "ERROR: Composer install FAILED! Contact support support@mayor.hu" fi cd $PWDTEX echo 'kész.' echo -e "\nFrissítés vége.\n" exit 0