VARA - Initial support for WINE and VARA

This commit is contained in:
Gaston Gonzalez
2025-02-01 01:14:42 -07:00
parent 105142cf90
commit eaf7123ea5
20 changed files with 419 additions and 6 deletions
+1 -1
View File
@@ -79,7 +79,7 @@ USERS_GID=1981
# new users to other groups.
# This is the list of groups that new non-system users will be added to
# Default:
EXTRA_GROUPS="bluetooth dialout cdrom floppy audio video plugdev users"
EXTRA_GROUPS="bluetooth dialout cdrom floppy audio video plugdev tty users"
# If ADD_EXTRA_GROUPS is set to something non-zero, the EXTRA_GROUPS
# option above will be default behavior for adding new, non-system users
+6 -1
View File
@@ -1,6 +1,6 @@
# Author : Gaston Gonzalez
# Date : 23 April 2024
# Updated : 25 December 2024
# Updated : 1 February 2025
# Description : bash profile
# All user accounts should be in the 'et-data' group to allow data sharing with
@@ -29,3 +29,8 @@ echo -e "${NC}"
export ET_USER_CONFIG=${HOME}/.config/emcomm-tools/user.json
export ET_LOG_DIR=${HOME}/.local/share/emcomm-tools
# Export environment variables to support WINE installs for VARA
export WINARCH="win32"
export WINEPREFIX="$HOME/.wine32"
export WINEDEBUG=-all
+2
View File
@@ -0,0 +1,2 @@
*.exe
*.zip
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Install wine dependencies to support VARA install
set -e
source ./common-checks.sh
if [[ ! -e ${WINEPREFIX} ]]; then
winetricks \
--unattended \
--force \
winxp \
sound=alsa \
dotnet35sp1 \
vb6run
if [[ $? -ne 0 ]]; then
show-err-dialog "Failed to instaill WINE dependencies."
exit 1
fi
else
echo -e "${WINEPREFIX} already exists. Skipping WINE dependency installation.\n"
fi
echo -e "${YELLOW}Run ${WHITE}./02-install-vara-hf.sh${YELLOW} to install VARA HF.${NC}"
+41
View File
@@ -0,0 +1,41 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Install VARA HF
set -e
source ./common-checks.sh
VERSION="4.8.9"
DOWNLOAD_FILE="vara-hf-${VERSION}.zip"
URL="https://downloads.winlink.org/VARA%20Products/VARA%20HF%20v${VERSION}%20setup.zip"
VARA_HOME="${HOME}/.wine32/drive_c/VARA"
et-log "Installing VARA HF..."
if [ ! -e ${DOWNLOAD_FILE} ]; then
et-log "Downloading VARA HF ${version} from ${URL}"
curl -s -f -L -o ${DOWNLOAD_FILE} "${URL}"
fi
if [ $? -ne 0 ]; then
et-log "Error downloading VARA HF ${VERSION}."
exit 1
fi
unzip -o ${DOWNLOAD_FILE}
wine 'VARA setup (Run as Administrator).exe'
if [ ! -e "${VARA_HOME}/nt4pdhdll.exe" ]; then
et-log "Install missing DLL..."
CWD=$(pwd)
cd ${VARA_HOME}
curl -s -f -L -O \
http://download.microsoft.com/download/winntsrv40/update/5.0.2195.2668/nt4/en-us/nt4pdhdll.exe && unzip nt4pdhdll.exe
cd ${CWD}
fi
+41
View File
@@ -0,0 +1,41 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Install VARA HF
set -e
source ./common-checks.sh
VERSION="4.3.8"
DOWNLOAD_FILE="vara-fm-${VERSION}.zip"
URL="https://downloads.winlink.org/VARA%20Products/VARA%20FM%20v${VERSION}%20setup.zip"
VARA_HOME="${HOME}/.wine32/drive_c/VARA"
et-log "Installing VARA FM..."
if [ ! -e ${DOWNLOAD_FILE} ]; then
et-log "Downloading VARA FM ${version} from ${URL}"
curl -s -f -L -o ${DOWNLOAD_FILE} "${URL}"
fi
if [ $? -ne 0 ]; then
et-log "Error downloading VARA FM ${VERSION}."
exit 1
fi
unzip -o ${DOWNLOAD_FILE}
wine 'VARA FM setup (Run as Administrator).exe'
if [ ! -e "${VARA_HOME}/nt4pdhdll.exe" ]; then
et-log "Install missing DLL..."
CWD=$(pwd)
cd ${VARA_HOME}
curl -s -f -L -O \
http://download.microsoft.com/download/winntsrv40/update/5.0.2195.2668/nt4/en-us/nt4pdhdll.exe && unzip nt4pdhdll.exe
cd ${CWD}
fi
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
#
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Install VARA Terminal
set -e
source ./common-checks.sh
VERSION="1.2.2"
DOWNLOAD_FILE="vara-terminal-${VERSION}.zip"
URL="https://downloads.winlink.org/VARA%20Products/VARA%20Terminal%20V${VERSION}%20setup.zip"
et-log "Installing VARA Terminal..."
if [ ! -e ${DOWNLOAD_FILE} ]; then
et-log "Downloading VARA Terminal ${version} from ${URL}"
curl -s -f -L -o ${DOWNLOAD_FILE} "${URL}"
fi
if [ $? -ne 0 ]; then
et-log "Error downloading VARA Terminal ${VERSION}."
exit 1
fi
unzip -o ${DOWNLOAD_FILE}
wine 'VARA Terminal setup (Run as Administrator).exe'
+17
View File
@@ -0,0 +1,17 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Run regedit
set -e
source ./common-checks.sh
echo -e "${YELLOW}"
echo -e "1. Expand HKEY_LOCAL_MACHINE > Software > Wine > Ports"
echo -e "2. In the main pain, right-click and select 'New' > 'String Value'"
echo -e "3. Set the name to ${WHITE}COM10${YELLOW} and the value to ${WHITE}/dev/et-cat${YELLOW}"
echo -e "4. Close the Registry Editor application"
echo -e "${NC}"
wine regedit
+32
View File
@@ -0,0 +1,32 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 1 February 2025
# Purpose : Backup the ~/.wine32 directory for use in ETC image inclusion.
TODAY=$(date +"%Y%m%d")
BACKUP_FILE="${HOME}/etc-wine-backup-${HOSTNAME}-${TODAY}.tar.gz"
source /opt/emcomm-tools/bin/et-common
if [ -e "${BACKUP_FILE}" ]; then
echo -e -n "${RED}A backup file for today exists. Can ${WHITE}${BACKUP_FILE} ${RED}be overwritten? (y/n) ${NC}"
read response
[[ $response != [yY] ]] && echo "Skipping backup and exiting." && exit 1
fi
# All paths are relative to $HOME.
BACKUP_DIRS=(
".wine32"
)
tar -czf ${BACKUP_FILE} \
--transform 's|^.*\.local|.local|' \
-C "${HOME}" "${BACKUP_DIRS[@]}"
[ $? -ne 0 ] && et-log "Error creating backup" && exit 1
# Test that we can read if after we create it.
TAR_OUT=$(tar -tzf ${BACKUP_FILE})
[ $? -ne 0 ] && et-log "Can't read backup file: ${BACKUP_FILE}. Error creating backup." && exit 1
echo -e "${GREEN}Backup created: ${WHITE}${BACKUP_FILE}\n"
+30
View File
@@ -0,0 +1,30 @@
# Installing Windows Applications
The following instructions only need to be run once. They should be run
in this directory as your normal user (do not use 'sudo').
1. Install the WINE dependencies.
./01-install-wine-deps.sh
2. Install VARA HF. Accept the default settings and do not launch the program.
./02-install-vara-hf.sh
3. Install VARA FM. Accept the default settings and do not launch the program.
./03-install-vara-fm.sh
4. Install VARA Terminal. Install VARA FM. Accept the default settings and do not launch the program.
./04-install-vara-terminal.sh
5. Run the registery editor. Follow the instructions in the terminal.
./05-run-regedit.sh
6. If you want to include your WINE installation in a future EmComm Tools
Community image build, run the following to make a backup of your WINE
installation now.
./06-backup-wine-install.sh
+34
View File
@@ -0,0 +1,34 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 1 February 2025
# Purpose : Performs various checks to ensure that changes can be made
# to a user's local WINE installation.
source /opt/emcomm-tools/bin/et-common
WINE_OUT=$(which winetricks)
if [[ $? -ne 0 ]]; then
echo -e "${RED}Wine is not installed. As root, first run: ${WHITE}/root/emcomm-tools-os-community/scripts/install-wine.sh${NC}"
exit 1
fi
if [[ "${EUID}" -eq 0 ]]; then
echo -e "${RED}This script must not be run as root. Run it as your normal user.${NC}"
exit 1
fi
if [[ -z "${WINARCH}" ]]; then
echo -e "The WINARCH environment variable is not set. Setting it for you."
export WINARCH="win32"
fi
if [[ -z "${WINEPREFIX}" ]]; then
echo -e "The WINEPREFIX environment variable is not set. Setting it for you."
export WINEPREFIX="${HOME}/.wine32"
fi
if [[ -z "${DISPLAY}" && -z "${WAYLAND_DISPLAY}" ]]; then
echo -e "${RED}No graphical environment detected. Run this command from a desktop session.${NC}"
echo -e "${RED}This can't be run from within Cubic.${NC}"
exit 1
fi
+17
View File
@@ -0,0 +1,17 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 1 February 2025
# Purpose : Common environment variables and functions
export ESC="\x1B"
export RED="${ESC}[1;31m"
export BLUE="${ESC}[1;34m"
export GREEN="${ESC}[1;32m"
export WHITE="${ESC}[97m"
export YELLOW="${ESC}[1;33m"
export NC="${ESC}[0m"
show-err-dialog() {
local message="$1"
dialog --title "Notification" --msgbox "$message" 8 60
}
+1 -2
View File
@@ -1,7 +1,7 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 14 January 2025
# Updated : 16 January 2025
# Updated : 1 February 2025
# Purpose : Back up select files from the user's home directory.
#
# The backups are limited to the following:
@@ -31,7 +31,6 @@ BACKUP_DIRS=(
".config/emcomm-tools"
".local/share/emcomm-tools"
".local/share/pat"
".ssh"
)
tar -czf ${BACKUP_FILE} \
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Run VARA FM
source /opt/emcomm-tools/bin/et-common
EXE="${HOME}/.wine32/drive_c/VARA FM/VARAFM.exe"
if [[ -e ${EXE} ]]; then
wine ~/.wine32/drive_c/VARA\ FM/VARAFM.exe
else
echo -e "${RED}"
echo -e "${EXE} does not exist."
echo -e "You might NOT have installed the windows subsystem (WINE)."
echo -e "Navigate to ${WHITE}${HOME}/add-ons/wine${RED} and follow the"
echo -e "instructions in the ${WHITE}README.md${RED} file."
echo -e "${NC}"
exit 1
fi
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Run VARA HF
source /opt/emcomm-tools/bin/et-common
EXE="${HOME}/.wine32/drive_c/VARA/VARA.exe"
if [[ -e ${EXE} ]]; then
wine ${EXE}
else
echo -e "${RED}"
echo -e "${EXE} does not exist."
echo -e "You might NOT have installed the windows subsystem (WINE)."
echo -e "Navigate to ${WHITE}${HOME}/add-ons/wine${RED} and follow the"
echo -e "instructions in the ${WHITE}README.md${RED} file."
echo -e "${NC}"
exit 1
fi
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
# Author : Gaston Gonzalez
# Date : 20 January 2025
# Updated : 1 February 2025
# Purpose : Run VARA Terminal
source /opt/emcomm-tools/bin/et-common
EXE="${HOME}/.wine32/drive_c/VARA/VARA Terminal.exe"
if [[ -e ${EXE} ]]; then
wine ~/.wine32/drive_c/VARA/VARA\ Terminal.exe &
else
echo -e "${RED}"
echo -e "${EXE} does not exist."
echo -e "You might NOT have installed the windows subsystem (WINE)."
echo -e "Navigate to ${WHITE}${HOME}/add-ons/wine${RED} and follow the"
echo -e "instructions in the ${WHITE}README.md${RED} file."
echo -e "${NC}"
exit 1
fi