#!/bin/bash echo "Deployment script for repository \"web-deployment\" `date` ==============================================================================" #activate ** globs if [ -n "`shopt globstar | grep off`" ]; then shopt -s globstar; fi #remove READMEs rm ./threadr/**/README.md #run the code variable replacement echo -n "`find -name "*.php" -or -name "*.html" -or -name "*.css" -or -name "*.svg" | sed 's/^/python variable_grabbler.py /;s/$/ variable_grabbler.pass0.json/'`" | bash - echo -n "`find -name "*.php" -or -name "*.html" -or -name "*.css" -or -name "*.svg" | sed 's/^/python variable_grabbler.py /;s/$/ variable_grabbler.pass1.json/'`" | bash - echo -n "`find -name "*.php" -or -name "*.html" -or -name "*.css" -or -name "*.svg" | sed 's/^/python variable_grabbler.py /;s/$/ variable_grabbler.pass2.json/'`" | bash - #the run-once section echo "Checking run-once script..." echo "Setting permissions." chmod +x run-once-script.sh #run the script only if it has changed since the last time it was checked, save a checksum of it to /var/www/git/run-once to compare next time echo -ne "import os, sys\nif \"`sha256sum run-once-script.sh`\" == \"`cat ../run-once`\":\n print \"File has not changed. Aborting.\"\n sys.exit()\nelse:\n print \"File has changed. Calculating checksum...\"\n os.system(\"sha256sum run-once-script.sh > ../run-once\")\n print \"\"\"Executing...\n==========\"\"\"\n os.system(\"./run-once-script.sh\")\n print \"\"\"==========\nDone.\"\"\"" | python # The status page is not just symlinked like the other files just to have a backup in case something goes wrong. # Not like that ever happened before.... echo "Replacing status page..." cp -v ./strassenkind.php /var/www/strassenkind.ip/index.php cp -v ./internal.css /var/www/strassenkind.ip/style.css cp -v ./commands_git.conf /var/www/strassenkind.ip/ cp -v ./commands_ondemand.conf /var/www/strassenkind.ip/ cp -v ./commands_status.conf /var/www/strassenkind.ip/ echo "Done." echo "============================================================================== Done."