]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - releng/doc/tag-wiki.sh
Initial draft of Simantics release engineering instructions
[simantics/platform.git] / releng / doc / tag-wiki.sh
diff --git a/releng/doc/tag-wiki.sh b/releng/doc/tag-wiki.sh
new file mode 100644 (file)
index 0000000..14eec0c
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+major=$1
+minor=$2
+www=$3
+#www=/var/www/https-www.simantics.org
+wikiname=$4
+#wikiname=wiki
+wikidb=$5
+wikidbuser=$6
+
+releasewww=${www}/${major}.${minor}
+
+srcdb=${wikidb}
+tgtdb=${wikidb}_${major}_${minor}
+
+echo "Release version: $major.$minor"
+
+function myexecute() {
+        echo "Sending to mysql using database $1: $2"
+        echo $2 | mysql -u root -p $1
+}
+
+# dump wiki db to file
+echo "Dumping $srcdb"
+mysqldump -p ${srcdb} > ${tgtdb}.dump
+# load wiki db from file to name ${wikidb}_x_y, where x_y are major.minor version numbers
+# add privileges for ${wikidbuser} to ${wikidb}_x_y
+echo "Importing ${tgtdb}"
+cat > import_${major}_${minor}.sql <<EOF
+drop database if exists ${tgtdb};
+create database ${tgtdb};
+grant all privileges on $tgtdb.* to '${wikidbuser}'@'localhost';
+grant all privileges on $tgtdb.* to '${wikidbuser}'@'%';
+use $tgtdb;
+source ${tgtdb}.dump;
+EOF
+myexecute $srcdb "source import_${major}_${minor}.sql;"
+
+# copy /var/www/https-www.simantics.org/wiki to /var/www/https-www.simantics.org/x.y/wiki
+echo "Copying wiki www-directory $www to $releasewww"
+mkdir -p ${releasewww}
+cp -a ${www}/${wikiname} ${releasewww}/${wikiname}
+
+# change /var/www/https-www.simantics.org/x.y/wiki/LocalSettings.php to use simwikidb_x_y
+echo "Fixing released wiki settings"
+cat $www/$wikiname/LocalSettings.php | sed -e "s/$srcdb/$tgtdb/" |sed -e "s/\/${wikiname}/\/$major\.$minor\/${wikiname}/"> $releasewww/${wikiname}/LocalSettings.php
+echo '$wgReadOnly = "Released version, no further changes allowed.";' >> $releasewww/${wikiname}/LocalSettings.php
+