* Update docker file build to use new deb linux installers; move Dockefile to .github/workflows since its really only useable from the buildDocker.yml workflow * Fix typo in dockerfile location * remove extraneous " in >>GITHUB_ENV statements * Fix handling of TARGETPLATFORM in Dockerfile * Trying with just one platform * Fix issues with missing man-db in docker build workflow; added man-db to depends in deb builds for linux * Sicthed docker from tightvnc to tigervnc to match oio. This getting the apt package name right. * Going back to single platform to debug this thing * Trying with just arm64 * Removing arm/v7 from docker images. Takes too long to build and just wastes our github actions minutes. This is assuming its a never used feature since docker is not big on raspberry pis and their ilk. * Fix typo in control-linux; update build_deb so that files in /usr/local installed by deb are owned by root; add ubuntu user and nano in docker file for dbebugging; when in draft only create for x86_64 platform * Fix typo in buildDocker.yml * Add sudo to docker image; in docker image ensure that all /usr/local/interlisp files are owned by root * Add securityTypes none to docker entrypoint * Updated docker base to Ubuntu 22.10 to get fixed xrdp; add xrdp to the docker image; updated user permission in docker image; * In Dockerfile make xrdp install noninteractive * Update medley.sh scripts to handle docker case * Fix a couple of typos * BuildDcoker: added pulling latest draft release (if any) when this is a draft docker build; removed checkout of medley code cause its not used * BuildDocker: added medley checkout backin - turns pout its needed by a bunch of actions even though I dont really think they use it * BuildDocker: moved download assets to use gh instaed of a marketplace action becauase that action could not handle draft releases. * Tweaking medley.sh and associated tweaks to work Windows via wsl medley and docker * adding first pass at powershell script for windows docker and wsl * Tuning how Xvnc, medley, and vncviewer handle the various ways of exiting - eg logout vs closing viewer window. * Tuning vncviewer launch to make sure that tty works as expected when medley.sh runs in background * Minor typo fixes and added extra check to use of /run/shm in medley_vnc.sh * Added SSH_KEY secret to buildReleaseIncDocker workflow * Gertting the add SSH_KEY secret into orkflows right this time, hopefully * Adding TERM env variable and setting USER to medley in docker image * Debugging medley.ps1 and adding a couple of arguments * Typo in Dockerfile medley * Synchronizing flag processing and usage for medley.ps1 and medley.sh; refactored medley_args.sh and medley_usage.sh code. * Adding first pass at windows installer * Adding first pass an inno setup script for Windows installation * Update buildLoadup workflow and downloads page for windows installer * Fix typo in buildLoadup * BuildLoadup make sure windows runner uses powershell * Another typo in buildLoadup * Another typo in buildLoadup; damn those double quotes * Updating handling of windows installer in buildLoadup, added vncviewer to medley.iss install * Unknown syntax error in buildLoadup * Another damn typo from double quotes * buildLoadup: fixed loadup job outputs * buidLoadup: fixed bug with COMBINED_RELEASE_TAG; fixed Upload script in windows job to be compatible with actions.script v6. * buidLoadup: upload win installer adapted to find draft releases as well as full releases * BuildLoadup: fixing up javascript in actions in windows job to use / instead of \ in pathname * BuildLoadup: changing win installer update to same action used for other release assets * Fix windows installer file name; in BuildLoadup move update downl;oad page to the Windows runner because uploading the window-installer changes the release download url, so updating the downloads page must be done after the windows installer upload.; General buildLoadup cleanup * Run md2html to update downloads page * Fix typo in build_deb.sh * Removing some leftover crud in medley_usage.sh * Fixing up windows installer a bit, mostly cosmetic * Adding support for WSL1; mostly forcing --vnc and changing how to find open ports and displays since WSL1 networking is different tha WSL2 * Update manual page for new Windows Medley script * First pass done for man page that incorporates new Windows medley script. Add Xvnc wait before calling run-medley in case of docker to prevent occasonal missing X windows server error. * Change buildLoadup to update man page to a draft if this is a draft run.
140 lines
4.5 KiB
Bash
140 lines
4.5 KiB
Bash
###############################################################################
|
|
#
|
|
# medley_useage.sh - script defining the "usage" for medley.sh script.
|
|
#
|
|
# !!!! This script is meant to be SOURCEd from the scripts/medley.sh script.
|
|
# !!!! It should not be run as a standlone script.
|
|
#
|
|
# 2023-01-21 Frank Halasz
|
|
#
|
|
# Copyright 2023 Interlisp.org
|
|
#
|
|
###############################################################################
|
|
|
|
PAGER=$( if [ -n $(which more) ]; then echo "more"; else echo "cat"; fi)
|
|
|
|
usage() {
|
|
local err_msg
|
|
local msg_path=/tmp/msg-$$
|
|
local lines=("$@")
|
|
|
|
if [ ${wsl} = true ];
|
|
then
|
|
wsl_incl="+w"
|
|
wsl_excl="-w"
|
|
else
|
|
wsl_incl="-w"
|
|
wsl_excl="+w"
|
|
fi
|
|
|
|
if [ ${docker} = true ];
|
|
then
|
|
docker_incl="+d"
|
|
docker_excl="-d"
|
|
else
|
|
docker_incl="-d"
|
|
docker_excl="+d"
|
|
fi
|
|
|
|
if [ ${windows} = true ];
|
|
then
|
|
windows_incl="+W"
|
|
windows_excl="-W"
|
|
else
|
|
windows_incl="-W"
|
|
windows_excl="+W"
|
|
fi
|
|
|
|
if [ $# -ne 0 ];
|
|
then
|
|
echo > ${msg_path}
|
|
echo "$(output_error_msg "${lines[@]}")" >> ${msg_path}
|
|
echo >> ${msg_path}
|
|
echo >> ${msg_path}
|
|
else
|
|
touch ${msg_path}
|
|
fi
|
|
|
|
cat ${msg_path} - <<EOF \
|
|
| sed -e "/^${docker_excl}/d" -e "s/^${docker_incl}/ /" \
|
|
| sed -e "/^${wsl_excl}/d" -e "s/^${wsl_incl}/ /" \
|
|
| sed -e "/^${windows_excl}/d" -e "s/^${windows_incl}/ /" \
|
|
| ${PAGER}
|
|
Usage: medley [flags] [sysout] [--] [pass_args ...]
|
|
|
|
Note: MEDLEYDIR is the directory at the top of the code tree where this script is executed from
|
|
after all symbolic links have been resolved. For standard installations this will be
|
|
/usr/local/interlisp/medley. For "local" installations this will be the "medley" sub-directory
|
|
under the directory into which the Medley distribution was installed.
|
|
|
|
flags:
|
|
-h | --help : print this usage information
|
|
|
|
-z | --man : show the man page for medley
|
|
|
|
-f | --full : start Medley from the "full" sysout
|
|
|
|
-l | --lisp : start Medley from the "lisp" sysout
|
|
|
|
-a | --apps : start Medley from the "apps" sysout
|
|
|
|
-e | --interlisp : (for apps.sysout only) Start in the Interlisp exec
|
|
|
|
-n | --noscroll : do not use scroll bars in Medley window
|
|
|
|
-g WxH | --geometry WxH : set the window geometry to Width x Height.
|
|
|
|
-s WxH | --screensize WxH : set the Medley screen size to be Width x Height
|
|
|
|
-t STRING | --title STRING : use STRING as title of window
|
|
|
|
-d :N | --display :N : use X display :N
|
|
+w
|
|
+w -v | --vnc : (WSL only) Use a VNC window instead of an X window
|
|
|
|
-i STRING | --id STRING : use STRING as the id for this run of Medley (default: default)
|
|
|
|
-i - | --id - : for id use the basename of MEDLEYDIR
|
|
|
|
-i -- | --id -- : for id use the basename of the parent directory of MEDLEYDIR
|
|
|
|
-m N | --mem N : set Medley memory size to N
|
|
|
|
-k FILE | --vmem FILE : use FILE as the Medley virtual memory store.
|
|
+d FILE must be a file in the Medley file system under LOGINDIR (/home/medley/il).
|
|
|
|
-r FILE | --greet FILE : use FILE as the Medley greetfile.
|
|
+d FILE must be a file in the Medley file system under LOGINDIR (/home/medley/il).
|
|
|
|
-r - | --greet - : do not use a greetfile
|
|
-d
|
|
-d -x DIR | --logindir DIR : use DIR as LOGINDIR in Medley
|
|
-d
|
|
-d -x - | --logindir - : use MEDLEYDIR/logindir as LOGINDIR in Medley
|
|
+d
|
|
+d -x DIR | --logindir DIR : use DIR (on the host) to map to LOGINDIR (/home/medley/il) in Medley
|
|
+d
|
|
+d -p N | --port N : use N as the port for connecting to the Xvnc server inside the Docker container
|
|
+d
|
|
+d -u | --update : first do a pull to get the latest medley Docker image
|
|
+W
|
|
+W -w DISTRO | --wsl DISTRO : run in WSL (on the named DISTRO) instead of in a Docker container
|
|
+W
|
|
+W -b | --background : run as background process
|
|
|
|
sysout:
|
|
The pathname of the file to use as a sysout for Medley to start from.
|
|
+d The pathname must be in the Medley file system under LOGINDIR (/home/medley/il).
|
|
If sysout is not provided and none of the flags [-a, -f & -l] is used, then Medley will start from
|
|
the saved virtual memory file for the previous run with the sane id as this run.
|
|
|
|
pass_args:
|
|
All arguments after the "--" flag, are passed unaltered to lde via run-medley.
|
|
|
|
EOF
|
|
|
|
exit 1
|
|
|
|
}
|
|
|