aboutsummaryrefslogtreecommitdiffstats
path: root/mayor-mod/bin/update.sh
diff options
context:
space:
mode:
authorM.Gergo2019-03-08 20:50:48 +0100
committerM.Gergo2019-03-08 20:50:48 +0100
commit3dab26c6797b32926287f22a041380080551060b (patch)
treebb4ba41398083a054e956e25f2d8c72bcdd0a7a0 /mayor-mod/bin/update.sh
parentf70027ffbedce10f412868a7bf9b0b67b113f1b1 (diff)
downloadmayor-3dab26c6797b32926287f22a041380080551060b.tar.gz
mayor-3dab26c6797b32926287f22a041380080551060b.zip
pici rendrakás
Diffstat (limited to 'mayor-mod/bin/update.sh')
-rw-r--r--mayor-mod/bin/update.sh227
1 files changed, 0 insertions, 227 deletions
diff --git a/mayor-mod/bin/update.sh b/mayor-mod/bin/update.sh
deleted file mode 100644
index 19585df2..00000000
--- a/mayor-mod/bin/update.sh
+++ /dev/null
@@ -1,227 +0,0 @@
-#!/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 <<EOF
-
-UPDATE használata: mayor update [opciók] [modulok]
-
-A parancs segítségével frissíthetjük a MaYoR rendszert, a program forrását és
-az adatbázis-szerkezetet. A frissítések letöltése és kicsomagolása mellett
-a szkript egyéb módosításokat is végrehajthat, ezért alapértelmezett működés
-esetén a frissítés idejére letiltjuk a napló elérését. A zárolás a
-/var/run/mayor.lock állomány létrehozásával történik.
-
-A HTTP szervert, a frissítendő modulokat, a szükséges jelszavak és egyéb beál-
-lításokat a /etc/mayor/main.conf állományban kell megadni.
-
-Opciók:
- -h, --help: A parancs leírása (amit most olvasol...)
- -s, --http-server: A szerver ahonnan a frissítéseket letöltjük
- -b, --basedir: A telepítési könyvtár
- -l, --skip-lock: A frissítés idejére se zároljuk a program működését
- -r, --from-revision: A frissítés indítása a megadott revision számtól - függetlenül a
- jelenleg eltárolt aktuális számtól
- -e, --exec-only: A frissítő szkriptek futtatása új állományok letöltése nélkül.
- Csak a --from-revision opcióval együtt használható!
-
-Modulok:
- A frissítendő modulok listája, pl: mayor-base mayor-naplo mayor-portal
-
-EOF
-}
-
-if [ $OPTIONS_RET -ne 0 ]; then help_usage; exit; fi
-
-declare -i REV
-while [ $# -ge 1 ]; do
- case $1 in
- --help | -h ) help_usage
- exit
- ;;
-
- --skip-lock | -l ) SKIPLOCK=1
- export SKIPLOCK
- ;;
-
- --exec-only | -e ) EXECONLY=1
- export EXECONLY
- ;;
-
- --http-server | -s ) shift
- HTTP_SERVER="$1"
- echo "HTTP szerver: $HTTP_SERVER"
- ;;
-
- --basedir | -b ) shift
- BASEDIR="$1"
- echo "Alapkönyvtár: $BASEDIR"
- ;;
-
- --from-revision | -r ) shift
- REV="$1"
- echo "Revision: $REV"
- ;;
-
- -- ) shift
- break
- ;;
-
- * ) echo "HIBA: ismeretlen opció: $1" # ide elvileg sose jutunk, mert a getopts már kiszűrte a hibás paraméterek
- exit
- ;;
- esac
- shift
-done
-
-TMPMODS=""
-while [ $# -ge 1 ]; do
- if [[ ! "${MODS[*]}" =~ .*$1.* ]]; then
- echo -e "Ismeretlen modul: $1"
- else
- TMPMODS="$1 $TMPMODS"
- fi
- shift
-done
-if [ "$TMPMODS" != '' ]; then
- MODULES=$TMPMODS
-fi
-
-###########################
-
-
-if [ -z $UPDATEDIR ]; then
- if [ -f ../config/update.conf ]; then
- echo -e "\n\nWARNING: elavult konfigurációs állomány! (update.conf)"
- echo " A frissítési rendszer a korábbi backup.conf és update.conf állományok helyett"
- echo " egy új, rögzített helyen lévő állományt használ: /etc/mayor/main.conf"
- echo " Most - ennek hiányában - a régebbi állományt használjuk"
- . ../config/update.conf
- else
- echo -e "\n\nERROR: Hiányzó konfigurációs file: ../config/update.conf"
- pwd
- exit 10
- fi
-fi
-
-# Ha paraméterknént nem volt megadva revision
-if [ -z "${REV:-}" ]; then
- if [ "$EXECONLY" == "1" ]; then
- echo "Hiba: Az --exec-only kapcsoló csak a --from-revision paraméterrel együtt használható!"
- exit 9
- fi
- if [ -f $REVISION_FILE ]; then
- REV=$(cat $REVISION_FILE)
- else
- REV=0
- fi
-fi
-
-echo -e "\n%%%%%%%%%%%%%%%%% $DATETIME %%%%%%%%%%%%%%%%%"
-echo -e "\nFrissítés $REV számú változatról."
-
-if [ "$EXECONLY" != "1" ]; then
- echo -e "\n * Az frissítéshez szükséges állományok letöltése (eltarthat pár percig)... "
-
- if [ "$MODULES" == '' ]; then
- echo -e "\n\nERROR: Nincs megadva a frissítendő modulok listája (/etc/mayor/main.conf)!\n"
- exit 1
- else
- declare -i UJ_REV
- if [ "$HTTP_SERVER" == '' ]; then
- if [ -f $SVN ]; then
- # frissítés SVN-ből
- $SVN --force export https://svn.mayor.hu/svn/trunk/mayor-base/bin "$BASEDIR/bin" > /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 https://svn.mayor.hu/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 leszedáse
- if [ -z $VERSION ]; then
- wget "http://www.mayor.hu/download/md5sum"
- else
- wget "http://www.mayor.hu/download/$VERSION/md5sum"
- 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
-cd $PWDTEX
-echo 'kész.'
-
-echo -e "\nFrissítés vége.\n"
-exit 0