Initial Release - for Mystic BBS 1.1.12a39
This commit is contained in:
4
cleaninstall/.gitignore
vendored
Normal file
4
cleaninstall/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
data
|
||||
mystic
|
||||
mods
|
||||
*.zip
|
78
cleaninstall/cleaninstall.sh
Executable file
78
cleaninstall/cleaninstall.sh
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
MYSTIC_SOURCE=${1:-mys112a39_pi.zip}
|
||||
[ "$1" ] && shift
|
||||
SPELL_SOURCE=${1:-mystic_spellcheck_v2.zip}
|
||||
[ "$1" ] && shift
|
||||
|
||||
CLEAN_INSTALL_DIR=x
|
||||
INSTALL_CONTAINER=arm32v7/debian:jessie-slim
|
||||
TARGET_DIR=mystic
|
||||
PATCH_FILE=mystic.112a39.patch
|
||||
|
||||
[ $(id -u) -ne 0 ] && echo "ERROR: You need to run me as root." && exit 1
|
||||
|
||||
if [ -d ${TARGET_DIR} ]; then
|
||||
echo "! Skipping installation [$TARGET_DIR} already exists"
|
||||
|
||||
else
|
||||
# 1) Download Mystic App
|
||||
[ ! -f ${MYSTIC_SOURCE} -o ! -f ${SPELL_SOURCE} ] && echo "ERROR: Source file missing [${MYSTIC_SOURCE}/${SPELL_SOURCE}], did you download it?" && exit 1
|
||||
|
||||
# 2) Create a new directory for it and unzip the App into it
|
||||
[ -d ${CLEAN_INSTALL_DIR} ] && echo "ERROR: Directory [${CLEAN_INSTALL_DIR}] already exists!" && exit 1
|
||||
|
||||
unzip ${MYSTIC_SOURCE} -d ${CLEAN_INSTALL_DIR}
|
||||
[ $? -gt 0 ] && echo "ERROR: Unzip failed?" && exit 1
|
||||
|
||||
# 3) Run docker with -v mapping the unzip files to an arbitrary directory -v unzipfiles:/install
|
||||
# ** @TODO Request upstream to default QWK and Echo DIRs to named dir as well during installation
|
||||
echo "Running docker, please perform the installation, and set:"
|
||||
echo "* Installation directory to /mystic"
|
||||
echo "* Data directories prefixed with /mystic/data"
|
||||
echo "+ * Leave System Path and Scripts to /mystic"
|
||||
echo "+ * Especially, QWK Settings and Echomail Settings"
|
||||
|
||||
docker run --rm -it -v ${PWD}/${CLEAN_INSTALL_DIR}:/install ${INSTALL_CONTAINER} /bin/bash -c "cd /install; ./install; [ -d /mystic ] && echo \"Now change QWK Settings and Echomail settings...\" && cd /mystic/ && sleep 5 && ./mystic -cfg && cd /; mv /mystic /install/"
|
||||
|
||||
[ ! -d ${CLEAN_INSTALL_DIR}/mystic/data/data ] && echo "ERROR: Expected a [${CLEAN_INSTALL_DIR}/mystic/data/data] dir, but it wasnt there?" && exit 1
|
||||
[ ! -d ${CLEAN_INSTALL_DIR}/mystic/scripts ] && echo "ERROR: Expected a [${CLEAN_INSTALL_DIR}/mystic/scripts] dir, but it wasnt there?" && exit 1
|
||||
[ ! -d ${CLEAN_INSTALL_DIR}/mystic/semaphore ] && echo "ERROR: Expected a [${CLEAN_INSTALL_DIR}/mystic/semaphore] dir, but it wasnt there?" && exit 1
|
||||
|
||||
# Add the spell directionary files to the data directory
|
||||
unzip ${SPELL_SOURCE} dictionary.* -d ${CLEAN_INSTALL_DIR}/mystic/data/data
|
||||
|
||||
# 4) Run this script which will clean up the install and ZIP it up to be used with a docker.
|
||||
cd ${CLEAN_INSTALL_DIR}/mystic
|
||||
|
||||
mv files mystic.dat data/
|
||||
rm -rf localqwk echomail
|
||||
|
||||
# We need a symbolic link so that MIS can find MYSTIC
|
||||
# @TODO Request fix from upstream
|
||||
ln -s ../mystic data/mystic
|
||||
|
||||
chmod 755 * scripts/mide scripts/mplc scripts/*.mpx
|
||||
chmod 644 *.ini *.txt docs/*.txt scripts/*.mps scripts/*.ini
|
||||
|
||||
patch -p0 < ../../${PATCH_FILE}
|
||||
|
||||
# Clean up data dir
|
||||
find data -type f -exec chmod 644 {} \;
|
||||
|
||||
# Finished
|
||||
mv data ../..
|
||||
cd ../..
|
||||
mv ${CLEAN_INSTALL_DIR}/mystic .
|
||||
rm -rf ${CLEAN_INSTALL_DIR}
|
||||
fi
|
||||
|
||||
# Tar up the data dir and add it back to the main install
|
||||
echo "Zipping up data dir..."
|
||||
tar czf mystic/data.tar.gz data/
|
||||
|
||||
# That dir is now ready for the image
|
||||
tar czf mystic.tar.gz mystic
|
||||
echo "OK mystic.tar.gz can be moved to your docker build"
|
43
cleaninstall/mystic.112a39.patch
Normal file
43
cleaninstall/mystic.112a39.patch
Normal file
@@ -0,0 +1,43 @@
|
||||
--- nodespy.ini.orig 2018-08-22 21:51:26.498766941 +1000
|
||||
+++ nodespy.ini 2018-08-22 21:51:51.018652751 +1000
|
||||
@@ -12,7 +12,7 @@
|
||||
; terminal, you can do that here otherwise it will use the current
|
||||
; directory
|
||||
|
||||
- ;transfer_dir = c:\
|
||||
+ transfer_dir = /mystic/data/nodespy/
|
||||
|
||||
; Use auto zmodem downloads and detect automatically zmodem uploads
|
||||
|
||||
--- scripts/mide.ini.orig 2018-08-22 22:26:44.452789582 +1000
|
||||
+++ scripts/mide.ini 2018-08-22 22:27:28.062371856 +1000
|
||||
@@ -44,6 +44,6 @@
|
||||
; For rootpath, you need to include the directory where the MYSTIC binary
|
||||
; exists.
|
||||
|
||||
- rootpath = c:\mystic\
|
||||
- username = sysopname
|
||||
- password = password
|
||||
+ rootpath = /mystic/
|
||||
+ username = guest
|
||||
+ password = guest
|
||||
--- mutil.ini.orig 2018-08-24 12:25:37.571848476 +1000
|
||||
+++ mutil.ini 2018-08-24 12:27:14.481005284 +1000
|
||||
@@ -75,7 +75,7 @@
|
||||
; Set this value if you want to run mutil from a directory other than
|
||||
; the root Mystic directory or the mysticbbs environment variable:
|
||||
|
||||
- ; mystic_directory=c:\mystic\mystic.dat
|
||||
+ ; mystic_directory=/mystic/data/mystic.dat
|
||||
|
||||
; If no directory is specified in the logfile name, mUtil will attempt
|
||||
; to use the configured LOGS directory from in Mystic's configuration.
|
||||
@@ -97,7 +97,7 @@
|
||||
loglevel=2
|
||||
|
||||
; logfile time stamp. defaults to NNN DD HH:II:SS if not set here
|
||||
- ;logstamp = YYYYHHMMHHIISS
|
||||
+ ;logstamp = YYYYMMDDHHIISS
|
||||
|
||||
; Log roller type:
|
||||
; 0 = Do not roll log files
|
Reference in New Issue
Block a user