diff options
author | B Stack <bgstack15@gmail.com> | 2019-06-16 18:30:16 -0400 |
---|---|---|
committer | B Stack <bgstack15@gmail.com> | 2019-06-16 18:30:16 -0400 |
commit | 38c51d505c88004a32a7d3e3e913dbb811930099 (patch) | |
tree | 55b3542dbfbbb0aa414f88d3e29ecb770ffd398f /irfanview/irfanview64 | |
parent | Merge branch 'waterfox-bump' into 'master' (diff) | |
download | stackrpms-38c51d505c88004a32a7d3e3e913dbb811930099.tar.gz stackrpms-38c51d505c88004a32a7d3e3e913dbb811930099.tar.bz2 stackrpms-38c51d505c88004a32a7d3e3e913dbb811930099.zip |
irfanview 4.53-2: fix #7 invocation problem for rpm
Probably due to /bin/sh -> dash on devuan, my Irfanview
invocation has been failing. This commit fixes it, and reduces the
dependency on /usr/bin/winepath (however it still uses the actual
wine winepath.exe which is a part of the wine binary release anyway
in Fedora)
The architecture of the invocation script has been split into
common and arch-specific.
Diffstat (limited to 'irfanview/irfanview64')
-rwxr-xr-x | irfanview/irfanview64 | 85 |
1 files changed, 9 insertions, 76 deletions
diff --git a/irfanview/irfanview64 b/irfanview/irfanview64 index b67e43d..d3c16e5 100755 --- a/irfanview/irfanview64 +++ b/irfanview/irfanview64 @@ -1,12 +1,17 @@ #!/bin/sh # File: /usr/bin/irfanview64 +# Locations: symlink /usr/bin/irfanview # Author: bgstack15@gmail.com # Startdate: 2016-01-29 # Title: Wrapper script for passing files to Irfanview # Purpose: Converts file paths to a wine format and also handles compressed files # History: 2016-01-29 Initial quick script written. It used a bunch of sed commands to transform paths to a wine format. # 2019-02-26 remove /etc/default/irfanview file -# Usage: irfan /path/to/image /another/image/file +# 2019-06-01 fix invocation for single item with space in name. Cannot call multiple objcts with spaces in filename. +# 2019-06-16 remove DEVTTY in favor of just showing on current tty +# 2019-06-16 replace winepath call with wine $WINEPATH_BIN +# 2019-06-16 split into package-arch-specific and common scripts +# Usage: irfanview /path/to/image /another/image/file # Reference: # Ideas for zip expansion and winepath https://github.com/Zykr/IrfanViewLinux/blob/master/irfanview # Improve: @@ -14,81 +19,9 @@ # load variables test -z "${IV_WINEPREFIX}" && export IV_WINEPREFIX="$HOME/.wine64" test -n "${IV_WINEPREFIX}" && export WINEPREFIX="${IV_WINEPREFIX}" || export WINEPREFIX=$HOME/.wine64 -test -z "${IV_DEVTTY}" && export IV_DEVTTY=/dev/null test -z "${IV_EXEC_NAME}" && export IV_EXEC_NAME="i_view64.exe" test -z "${IV_EXEC_PATH}" && export IV_EXEC_PATH="/usr/share/irfanview64/i_view64.exe" +test -z "${IV_WINEPATH_BIN}" && export IV_WINEPATH_BIN="/usr/lib64/wine/fakedlls/winepath.exe" +export IV_VALID_CALL=do_not_set_this_manually -IV_VERSION="2019-02-26a" - -# Define functions -expandword() { - # call: expandword "${word}" - # if file, add it - # if directory, expand it - # if tarball, extract it and operate on the directory like normal - local _word="$( echo "${@}" | sed -e 'sF\/\/F\/Fg;' )" - if test -d "${_word}"; - then - # loop through all files in the directory - for _newword in "${_word}"/*; - do - expandword "${_newword}"; - done - elif test -f "${_word}"; - then - # file exists so check if tarball - case "${_word}" in - *.tgz|*.tar.gz) - # extract it and expand the temporary directory - _tmpdir="$( mktemp -d )"; alltempdirs="${alltempdirs} ${_tmpdir}" - echo "tmpdir ${_tmpdir}" 1>${IV_DEVTTY} - tar -zx -C "${_tmpdir}" -f "${_word}" 1>${IV_DEVTTY} 2>&1 - expandword "${_tmpdir}" - ;; - *.zip) - _tmpdir="$( mktemp -d )"; alltempdirs="${alltempdirs} ${_tmpdir}" - echo "tmpdir ${_tmpdir}" 1>${IV_DEVTTY} - echo "7za e -w${_tmpdir} ${_word}" 1>${IV_DEVTTY} 2>&1 - ( cd "${_tmpdir}"; 7za e "${_word}" 1>${IV_DEVTTY} 2>&1; ) - expandword "${_tmpdir}" - ;; - *) - # assume it is readable and add it to list of files to open - echo "File ${_word}" 1>${IV_DEVTTY} - thisfile="$( getwinepath "${_word}" )" - irfanfiles="${irfanfiles} \"${thisfile}\"" - ;; - esac - fi -} - -getwinepath() { - # call: getwinepath "$foo" - winepath -w "${@}" -} - -# Define variables -alltempdirs="" - -# prepare files -irfanargs= -irfanfiles= - -for word in "${@}"; -do - expandword "${word}" -done -irfanfiles="${irfanfiles## }" - -# run wine -cd $WINEPREFIX -echo "${irfanfiles}" | xargs echo wine "${IV_EXEC_PATH}" ${irfanargs} > ${IV_DEVTTY} -echo "${irfanfiles}" | xargs wine "${IV_EXEC_PATH}" ${irfanargs} & - -#wait $( pgrep -P $$ ${IV_EXEC_NAME} ) -# WORKHERE try wait with: -wait %1 -for thistempdir in ${alltempdirs}; -do - rm -rf "${thistempdir}" 1>${IV_DEVTTY} -done +. irfanview-common "$@" |