mirror of
https://github.com/thetechprepper/emcomm-tools-os-community.git
synced 2026-09-17 15:41:44 -04:00
Merge pull request #27 from thetechprepper/bug/fix-vara-downloads
Updates to WINE/VARA installation scripts to make it more robust
This commit is contained in:
@@ -2,28 +2,19 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 20 January 2025
|
||||
# Updated : 1 February 2025
|
||||
# Updated : 28 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"
|
||||
VARA_PATTERN="VARA%20HF"
|
||||
|
||||
et-log "Installing VARA HF..."
|
||||
./vara-downloader.sh "${VARA_PATTERN}"
|
||||
[[ $? -ne 0 ]] && et-log "Error downloading VARA HF" && exit 1
|
||||
|
||||
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
|
||||
DOWNLOAD_FILE=$(ls *.zip | grep "${VARA_PATTERN}")
|
||||
[[ ! -e "${DOWNLOAD_FILE}" ]] && et-log "VARA download file not found" && exit 1
|
||||
|
||||
unzip -o ${DOWNLOAD_FILE}
|
||||
|
||||
|
||||
@@ -2,28 +2,18 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 20 January 2025
|
||||
# Updated : 1 February 2025
|
||||
# Updated : 28 February 2025
|
||||
# Purpose : Install VARA FM
|
||||
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 FM"
|
||||
VARA_PATTERN="VARA%20FM"
|
||||
|
||||
et-log "Installing VARA FM..."
|
||||
./vara-downloader.sh "${VARA_PATTERN}"
|
||||
[[ $? -ne 0 ]] && et-log "Error downloading VARA FM" && exit 1
|
||||
|
||||
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
|
||||
DOWNLOAD_FILE=$(ls *.zip | grep "${VARA_PATTERN}")
|
||||
[[ ! -e "${DOWNLOAD_FILE}" ]] && et-log "VARA download file not found" && exit 1
|
||||
|
||||
unzip -o ${DOWNLOAD_FILE}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ in this directory as your normal user (do not use 'sudo').
|
||||
|
||||
./03-install-vara-fm.sh
|
||||
|
||||
4. Run the registery editor. Follow the instructions in the terminal. In
|
||||
4. Run the registry editor. Follow the instructions in the terminal. In
|
||||
this step we will need to map COM port 10 (COM10) to the EmComm Tools
|
||||
CAT control device (/dev/et-cat).
|
||||
|
||||
@@ -31,3 +31,25 @@ in this directory as your normal user (do not use 'sudo').
|
||||
|
||||
It is important that you do not run any of the VARA programs until after
|
||||
the backup is run in step 5.
|
||||
|
||||
## Including VARA in an ETC ISO image
|
||||
|
||||
If you want to include VARA in a future EmComm Tools Community image build,
|
||||
perform the following in Cubic after the main install script is finished.
|
||||
|
||||
1. Change into the `/etc/skel` directory.
|
||||
|
||||
2. Copy the WINE backup file created in step 5 using the file copy option
|
||||
in Cubic (i.e. `etc-wine-backup-HOST-YYYYMMDD.tar.gz`).
|
||||
|
||||
3. Unpack the backup file. This will create `/etc/skel/.wine32`.
|
||||
|
||||
```
|
||||
tar -xzf etc-wine-backup-*
|
||||
```
|
||||
|
||||
4. Delete the backup file on the Cubic session to save on space.
|
||||
|
||||
```
|
||||
rm etc-wine-backup-*
|
||||
```
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 28 February 2025
|
||||
# Purpose : Download utility for VARA applications
|
||||
|
||||
BASE_HTML_FILE="vara-index.html"
|
||||
|
||||
cleanup() {
|
||||
[[ -f "$BASE_HTML_FILE" ]] && rm "${BASE_HTML_FILE}"
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
function usage() {
|
||||
echo "Usage: $(basename $0) <pattern>"
|
||||
echo " pattern - VARA filename substring pattern to match on"
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
FILENAME_PATTERN="$1"
|
||||
BASE_URL="https://downloads.winlink.org"
|
||||
INDEX_URL="${BASE_URL}/VARA%20Products/"
|
||||
|
||||
# 1. Fetch main VARA download page as HTML
|
||||
curl -s -f -L -o ${BASE_HTML_FILE} ${INDEX_URL}
|
||||
[[ $? -ne 0 ]] && et-log "Error fetching VARA index page: ${BASE_URL}" && exit 1
|
||||
|
||||
# 2. Extract all links from index page
|
||||
VARA_FILE_PATH=$(cat ${BASE_HTML_FILE} | pup 'a attr{href}' | grep "${FILENAME_PATTERN}")
|
||||
[[ $? -ne 0 ]] && et-log "Error finding VARA file matching specified pattern" && exit 1
|
||||
|
||||
|
||||
#3. Check for multiple matches
|
||||
if [[ "${VARA_FILE_PATH}" =~ [[:space:]] ]]; then
|
||||
echo -e "\n${VARA_FILE_PATH}\n"
|
||||
et-log "Multiple files matched. Try again with a more specific pattern."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
FULL_URL="${BASE_URL}${VARA_FILE_PATH}"
|
||||
et-log "Found ${VARA_FILE_PATH}"
|
||||
et-log "Downloading: ${FULL_URL}"
|
||||
|
||||
curl -s -f -L -O "${FULL_URL}"
|
||||
exit $?
|
||||
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 28 February 2025
|
||||
# Purpose : Install pup (HTML processing)
|
||||
|
||||
VERSION="0.4.0"
|
||||
ZIP_FILE="pup_v${VERSION}_linux_amd64.zip"
|
||||
INSTALL_DIR="/opt/pup-${VERSION}"
|
||||
INSTALL_DIR_BIN="${INSTALL_DIR}/bin"
|
||||
LINK_PATH="/opt/pup"
|
||||
|
||||
et-log "Installing pup (HTML processing tool)..."
|
||||
|
||||
URL="https://github.com/ericchiang/pup/releases/download/v${VERSION}/${ZIP_FILE}"
|
||||
|
||||
et-log "Downloading pup: ${URL}"
|
||||
curl -s -f -L -o ${ZIP_FILE} ${URL}
|
||||
|
||||
[[ $? -ne 0 ]] && et-log "Error fetching pup" && exit 1
|
||||
|
||||
mv -v ${ZIP_FILE} ${ET_DIST_DIR}
|
||||
|
||||
CWD_DIR=$(pwd)
|
||||
|
||||
if [[ ! -e "${INSTALL_DIR}" ]]; then
|
||||
mkdir -v -p ${INSTALL_DIR_BIN} && cd ${INSTALL_DIR_BIN}
|
||||
unzip ${ET_DIST_DIR}/${ZIP_FILE}
|
||||
else
|
||||
et-log "${INSTALL_DIR} already exists."
|
||||
fi
|
||||
|
||||
chmod 755 ${INSTALL_DIR_BIN}/pup
|
||||
|
||||
[[ -e ${LINK_PATH} ]] && rm ${LINK_PATH}
|
||||
ln -s ${INSTALL_DIR} ${LINK_PATH}
|
||||
|
||||
stow -v -d /opt pup -t /usr/local
|
||||
|
||||
cd ${CWD_DIR}
|
||||
+2
-1
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 16 March 2024
|
||||
# Updated : 20 January 2025
|
||||
# Updated : 28 February 2025
|
||||
# Purpose : Main installer for EmComm Tools OS Community
|
||||
|
||||
. ./env.sh
|
||||
@@ -15,6 +15,7 @@ exitIfNotRoot
|
||||
|
||||
./install-base.sh
|
||||
./install-dev-tools.sh
|
||||
./install-pup.sh
|
||||
./install-browser.sh
|
||||
./remove-packages.sh
|
||||
./install-branding.sh
|
||||
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
# Author : Gaston Gonzalez
|
||||
# Date : 28 February 2025
|
||||
# Purpose : Test pup installation
|
||||
|
||||
OUT=$(which pup)
|
||||
exit $?
|
||||
Reference in New Issue
Block a user