1#!/bin/bash 2 3# updates the release specific entries of the homepage 4# note: gnu extensions of 'sed' are used 5 6if [ ! -f FreeDoko.html ]; then 7 echo "Datei FreeDoko.html nicht gefunden." 8 echo "Das Skript muss aus dem homepage-Verzeichnis aufgerufen werden." 9 exit 1 10fi 11 12VERSION=$(grep "^VERSION *=" ../Makefile.version | sed s/"^VERSION *= *//") 13 14echo Version $VERSION 15 16VERSION_REGEXP='[0-9].[0-9].[0-9]\+[a-z]\?' 17#VERSION_REGEXP='[0-9].[0-9].[0-9]' 18#VERSION_REGEXP='[0-9.]*' 19DATE_REGEXP='[0-9]\{1,2\}. [A-Z][a-z]\+ [0-9]\{4\}' 20SIZE_REGEXP='\([^0-9]\)[0-9]\+ MB' 21MD5SUM_REGEXP='[0-9a-f]\{32\}' 22\ 23# echos the size in megabyte with precision 1 24# Argument is the filename in the release directory 25function size() { 26 local SIZE_kB=$(du -k ~/Programme/FreeDoko_${VERSION}.release/$1 | sed "s/\([0-9]*\).*/\1/") 27 echo -n $(( ( $SIZE_kB + (1024 / 2) ) / 1024 )) 28} # function size() 29 30# echos the md5sum 31# Argument is the filename in the release directory 32function md5() { 33 md5sum ~/Programme/FreeDoko_${VERSION}.release/$1 | awk '{print $1}' 34} 35 36DATE=$(export LC_ALL=de_DE.utf8 && date +"%d. %B %Y" | sed "s/^0//") 37 38echo "Windows: $(size FreeDoko_${VERSION}.Windows.zip) MB MD5: $(md5 FreeDoko_${VERSION}.Windows.zip)" 39echo "Setup: $(size FreeDoko_${VERSION}.Setup.exe ) MB MD5: $(md5 FreeDoko_${VERSION}.Setup.exe )" 40echo "src: $(size FreeDoko_${VERSION}.src.zip ) MB MD5: $(md5 FreeDoko_${VERSION}.src.zip )" 41echo "Linux: $(size FreeDoko_${VERSION}.Linux.zip ) MB MD5: $(md5 FreeDoko_${VERSION}.Linux.zip )" 42 43sed -i \ 44 -e "s|\(Download \)${VERSION_REGEXP}|\1${VERSION}|" \ 45 -e "s|\(FreeDoko_\)${VERSION_REGEXP}\(.Setup.exe\)|\1${VERSION}\2|" \ 46 -e "s|\(FreeDoko_\)${VERSION_REGEXP}\(.Linux.zip\)|\1${VERSION}\2|" \ 47 -e "s|\(FreeDoko_\)${VERSION_REGEXP}\(.src.zip\)|\1${VERSION}\2|" \ 48 FreeDoko.html 49 50sed -i \ 51 -e "s|\(FreeDoko_\)${VERSION_REGEXP}\(.Setup.exe.*\)${SIZE_REGEXP}\(.*MD5sum: \)${MD5SUM_REGEXP}|\1${VERSION}\2\3$(size FreeDoko_${VERSION}.Setup.exe) MB\4$(md5 FreeDoko_${VERSION}.Setup.exe)|" \ 52 -e "s|\(FreeDoko_\)${VERSION_REGEXP}\(.Windows.zip.*\)${SIZE_REGEXP}\(.*MD5sum: \)${MD5SUM_REGEXP}|\1${VERSION}\2\3$(size FreeDoko_${VERSION}.Windows.zip) MB\4$(md5 FreeDoko_${VERSION}.Windows.zip)|" \ 53 -e "s|\(FreeDoko_\)${VERSION_REGEXP}\(.Linux.zip.*\)${SIZE_REGEXP}\(.*MD5sum: \)${MD5SUM_REGEXP}|\1${VERSION}\2\3$(size FreeDoko_${VERSION}.Linux.zip) MB\4$(md5 FreeDoko_${VERSION}.Linux.zip)|" \ 54 -e "s|\(FreeDoko_\)${VERSION_REGEXP}\(.src.zip.*\)${SIZE_REGEXP}\(.*MD5sum: \)${MD5SUM_REGEXP}|\1${VERSION}\2\3$(size FreeDoko_${VERSION}.src.zip) MB\4$(md5 FreeDoko_${VERSION}.src.zip)|" \ 55 Download.html 56