Skip to content
This repository was archived by the owner on Sep 26, 2024. It is now read-only.

Commit d075710

Browse files
authored
Merge pull request #164 from thw26/fix-winetricks
Fix controlPanel --winetricks; fix Installer -c
2 parents f45bdc6 + d6bcf1d commit d075710

File tree

3 files changed

+59
-12
lines changed

3 files changed

+59
-12
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
* 3.6.4
33
- Make bash path environment agnostic [Vskillet]
44
- Add bash completion file [T. H. Wright]
5+
- Fix controlPanel's `--winetricks` function [T. H. Wright]
6+
- Fix installer's `-c|--config` function [T. H. Wright]
57
* 3.6.3-1
68
- Introduce logos_info() and logos_warn() to simplify script feedback. [T. H. Wright]
79
* 3.6.2

LogosLinuxInstaller.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -1084,10 +1084,13 @@ OPTSTRING=':hvcDfFr' # Available options
10841084
# First loop: set variable options which may affect other options
10851085
while getopts "$OPTSTRING" opt; do
10861086
case $opt in
1087-
c) NEXTOPT=$(${OPTIND})
1088-
if [ -n "$NEXTOPT" ] && [ "$NEXTOPT" != "-*" ]; then
1087+
c)
1088+
NEXTOPT="${!OPTIND}"
1089+
if [[ -n "$NEXTOPT" && "$NEXTOPT" != "-*" ]]; then
10891090
OPTIND=$((OPTIND + 1))
10901091
if [ -f "$NEXTOPT" ]; then
1092+
OPTIND=$(( OPTIND + 1 ))
1093+
echo "${NEXTOPT}"
10911094
LOGOS_CONFIG="${NEXTOPT}"
10921095
export LOGOS_CONFIG;
10931096
set -a

controlPanel-Template.sh

+52-10
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ else
4141
export WINESERVER_EXE="${WINESERVER_EXE}"; export WINESERVER_EXE;
4242
export APPDIR_BINDIR="${APPDIR_BINDIR}"; export APPDIR_BINDIR
4343
export APPIMAGE_LINK_SELECTION_NAME="${APPIMAGE_LINK_SELECTION_NAME}"; export APPIMAGE_LINK_SELECTION_NAME;
44-
[ -z "\${WINETRICKS_URL}" ] && export WINETRICKS_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"
45-
[ -z "\${WINETRICKS_DOWNLOADER+x}" ] && export WINETRICKS_DOWNLOADER="wget"
4644
fi
45+
if [ -z "${WINETRICKS_URL}" ]; then WINETRICKS_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks"; export WINETRICKS_URL; fi
4746

4847
if [ -z "\${WINEDEBUG}" ]; then WINEDEBUG="fixme-all,err-all"; export WINEDEBUG; fi # Make wine output less verbose
4948
# END ENVIRONMENT
@@ -55,7 +54,7 @@ cat << EEOF
5554
Usage: ./\$TITLE
5655
Interact with ${FLPRODUCT} Bible Software in Wine on Linux.
5756
58-
Options:x
57+
Options:
5958
-h --help Prints this help message and exit.
6059
-v --version Prints version information and exit.
6160
-D --debug Makes Wine print out additional info.
@@ -69,6 +68,55 @@ Options:x
6968
EEOF
7069
}
7170

71+
cli_download() {
72+
URI="\${1}"
73+
DESTINATION="\${2}"
74+
FILENAME="\${URI##*/}"
75+
76+
if [ "\${DESTINATION}" != "\${DESTINATION%/}" ]; then
77+
TARGET="\${DESTINATION}/\${1##*/}"
78+
[ -d "\${DESTINATION}" ] || mkdir -p "\${DESTINATION}" || echo "Cannot create \${DESTINATION}" && exit 1
79+
elif [ -d "\${DESTINATION}" ]; then
80+
TARGET="\${DESTINATION}/${1##*/}"
81+
else
82+
TARGET="\${DESTINATION}"
83+
[ -d "\${DESTINATION%/*}" ] || mkdir -p "\${DESTINATION%/*}" || echo "Cannot create directory \${DESTINATION%/*}" && exit 1
84+
fi
85+
echo "\${URI}"
86+
wget --inet4-only -c "\${URI}" -O "\${TARGET}"
87+
}
88+
setWinetricks() {
89+
if [ -f "\${APPDIR_BINDIR}/winetricks" ]; then
90+
WINETRICKSBIN="\${APPDIR_BINDIR}/winetricks"
91+
elif [ \$(which winetricks) &> /dev/null ]; then
92+
LOCAL_WINETRICKS_VERSION=\$(winetricks --version | awk -F' ' '{print \$1}')
93+
if [ "\${LOCAL_WINETRICKS_VERSION}" -ge "20220411" ]; then
94+
WINETRICKSBIN="\$(which winetricks)"
95+
fi
96+
else
97+
if [ ! -z "\${WINETRICKS_URL}" ]; then
98+
cli_download "\${WINETRICKS_URL}" "\${APPDIR_BINDIR}/winetricks"
99+
chmod 755 "\${APPDIR_BINDIR}/winetricks"
100+
WINETRICKSBIN="\${APPDIR_BINDIR}/winetricks"
101+
if [ -z "${CONFIG_PATH}" ]; then
102+
sed -ri 's/(WINETRICKSBIN=)(".*")/\1TAYLOR/' "\${CONFIG_PATH}"
103+
fi
104+
else
105+
echo "WINETRICKS_URL not set."
106+
fi
107+
fi
108+
export WINETRICKSBIN
109+
}
110+
runWinetricks() {
111+
if [ ! -z "\${WINETRICKSBIN}" ] && [ -f "\${WINETRICKSBIN}" ]; then
112+
:
113+
else
114+
setWinetricks
115+
fi
116+
"\${WINETRICKSBIN}" "$@"
117+
"\${WINESERVER_EXE}" -w
118+
}
119+
72120
selectAppImage() {
73121
echo "======= Running AppImage Selection only: ======="
74122
APPIMAGE_FILENAME=""
@@ -160,13 +208,7 @@ while getopts "\$OPTSTRING" opt; do
160208
exit 0 ;;
161209
winetricks)
162210
shift
163-
# Determine if user downloaded winetricks or used system winetricks
164-
if [ -f "\${APPDIR_BINDIR}/winetricks" ]; then
165-
WINETRICKSBIN="\${APPDIR_BINDIR}/winetricks"
166-
else WINETRICKSBIN="\$(which winetricks)"
167-
fi
168-
"\${WINETRICKSBIN}" "\$@"
169-
"\${WINESERVER_EXE}" -w
211+
runWinetricks;
170212
exit 0 ;;
171213
#selectAppImage)
172214
#selectAppImage ;;

0 commit comments

Comments
 (0)