Browse Source

new package: wine-msov 20030718 (Microsoft Office Viewer for WINE)

master
parent
commit
2cc97eb8a5
  1. 160
      wine-msov/wine-msov.sh
  2. 98
      wine-msov/wine-msov.spec

160
wine-msov/wine-msov.sh

@ -0,0 +1,160 @@
#!/bin/sh
##
## msov -- Microsoft Office Viewer Frontend Utility
## Copyright (c) 2003 Ralf S. Engelschall <rse@engelschall.com>
##
# configuration
prefix="@l_prefix@"
# knowledge about viewers
info_doc='wd97vwr32.exe:Microsoft Office 2000, Word Viewer:Program Files/WordView/WORDVIEW.EXE'
info_xls='xlViewer.exe:Microsoft Office 2000, Excel Viewer:Program Files/XLView/XLVIEW.EXE'
info_ppt='ppview97.exe:Microsoft Office 2000, PowerPoint Viewer:Program Files/PowerPoint Viewer/PPVIEW32.EXE';
# option defaults
setup=no
format=""
help=""
quiet=no
# iterate over argument line
while [ $# -gt 0 ]; do
opt=$1
case $opt in
-*=*) arg=`echo "$opt" | sed 's/^[-_a-zA-Z0-9]*=//'` ;;
*) arg='' ;;
esac
case $opt in
-s|--setup ) setup=yes ;;
-h|--help ) help="Usage" ;;
-q|--quiet ) quiet=yes ;;
--format=* ) format=$arg ;;
-* ) help="Invalid option \`$opt'"; break ;;
* ) break ;;
esac
shift
done
# display error or usage message
if [ ".$help" != . ]; then
if [ ".$help" != ".Usage" ]; then
echo "msov:ERROR: $help" 1>&2
fi
echo "Usage: msov [-q|--quiet] [-s|--setup]" 1>&2
echo "Usage: msov [--format=doc|xls|ppt] <file>" 1>&2
echo "Usage: msov [-h|--help]" 1>&2
if [ ".$help" != ".Usage" ]; then
exit 1
else
exit 0
fi
fi
# make sure WINE area was already established
if [ ! -d "$HOME/.wine/c_drive" ]; then
echo "msov:ERROR: WINE still not setup for current user" 1>&2
echo "msov:HINT: You have to establish the WINE area $HOME/.wine first" 1>&2
echo "msov:HINT: by running the OpenPKG utility \"$prefix/bin/winesetup\"" 1>&2
exit 1
fi
# setup Office Viewers in WINE installation
if [ ".$setup" = .yes ]; then
# preparation
if [ ".$quiet" = .no ]; then
echo "++ creating temporary location in WINE area"
fi
rm -rf $HOME/.wine/c_drive/msov >/dev/null 2>&1 || true
mkdir $HOME/.wine/c_drive/msov
# perform installations
for info in "$info_doc" "$info_xls" "$info_ppt"; do
prog=`echo $info | sed -e 's;:.*$;;'`
name=`echo $info | sed -e 's;^[^:]*:;;' -e 's;:.*$;;'`
path=`echo $info | sed -e 's;^[^:]*:[^:]*:;;'`
if [ ".$quiet" = .no ]; then
echo "++ installation of $name"
echo "-- copying setup executable \"$prog\" into WINE area"
fi
cp $prefix/share/wine-msov/$prog $HOME/.wine/c_drive/msov/
if [ ".$quiet" = .no ]; then
echo "++ running setup executable \"$prog\" with WINE"
echo " (PLEASE FOLLOW THE INTERACTIVE INSTALLATION MANUALLY"
echo " YES -> CONTINUE -> OK -> ACCEPT -> INSTALL -> OK)"
fi
$prefix/bin/wine "C:\\msov\\$prog" >/dev/null 2>&1 || true
done
# cleanup
if [ ".$quiet" = .no ]; then
echo "++ removing temporary location in WINE area"
fi
rm -rf $HOME/.wine/c_drive/msov >/dev/null 2>&1 || true
exit 0
fi
# view one ore more files
if [ $# -eq 0 ]; then
echo "msov:ERROR: no files specified for viewing" 1>&2
exit 1
fi
rc=0
for file in $*; do
# make sure file exists
if [ ! -f $file ]; then
echo "msov:ERROR: file \"$file\" not found" 1>&2
rc=1
continue
fi
# determine format
fmt="$format"
if [ ".$fmt" = . ]; then
fmt=`echo "$file" | sed -e 's;^.*\.\([^.]*\)$;\1;' | tr '[A-Z]' '[a-z]'`
fi
case "$fmt" in
[dD][oO][cC] | [xX][lL][sS] | [pP][pP][tT] )
;;
* )
echo "msov:ERROR: unknown format, please use --format=doc|xls|ppt" 1>&2
rc=1
continue
;;
esac
# determine viewer application path
eval "info=\$info_${fmt}"
if [ ".$info" = . ]; then
echo "msov:ERROR: unable to determine viewer application" 1>&2
rc=1
continue
fi
prog=`echo $info | sed -e 's;:.*$;;'`
name=`echo $info | sed -e 's;^[^:]*:;;' -e 's;:.*$;;'`
path=`echo $info | sed -e 's;^[^:]*:[^:]*:;;'`
if [ ! -f "$HOME/.wine/c_drive/$path" ]; then
echo "msov:ERROR: viewer \"$path\" not found" 1>&2
echo "msov:HINT: run \"msov --setup\" first" 1>&2
rc=1
continue
fi
path=`echo "$path" | sed -e 's;^;C:\\\\;' | sed -e 's;//*;\\\\;g'`
# determine path from WINE's point of view
# (simple file in current dir is automatically handled by WINE)
case "$file" in
/*/* )
file=`echo "$file" | sed -e 's;^;R:;' | sed -e 's;//*;\\\\;g'`
;;
*/* )
file="`pwd`/$file"
file=`echo "$file" | sed -e 's;^;R:;' | sed -e 's;//*;\\\\;g'`
;;
esac
# execute the viewer application
$prefix/bin/wine "$path" "$file" >/dev/null 2>&1
done
exit $rc

98
wine-msov/wine-msov.spec

@ -0,0 +1,98 @@
##
## wine-msov.spec -- OpenPKG RPM Specification
## Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
## Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
## Copyright (c) 2000-2003 Cable & Wireless <http://www.cw.com/>
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package information
Name: wine-msov
Summary: Microsoft Office Viewer for WINE
URL: http://www.microsoft.com/
Vendor: Microsoft
Packager: The OpenPKG Project
Distribution: OpenPKG [EVAL]
Group: X11
License: Freeware
Version: 20030718
Release: 20030718
# list of sources
Source0: http://download.microsoft.com/download/excel2000/Xlviewer/2000/WIN98/EN-US/xlViewer.exe
Source1: http://download.microsoft.com/download/word2000/wd97vwr/2000/WIN98/EN-US/wd97vwr32.exe
Source2: http://download.microsoft.com/download/powerpoint2000/ppview97/2000/WIN98/EN-US/ppview97.exe
Source3: wine-msov.sh
# build information
Prefix: %{l_prefix}
BuildRoot: %{l_buildroot}
BuildPreReq: OpenPKG, openpkg >= 20030103
PreReq: OpenPKG, openpkg >= 20030103, X11, wine
AutoReq: no
AutoReqProv: no
%description
This package contains the freely available viewer applications
from Microsoft Office 2000 for the Word 2000 (.doc), Excel 2000
(.xls) and PowerPoint 2000 (.ppt) format files. To be used, they
have to be installed into the WINE installation area of each user.
More information about the three applications can be found at the
following URLs:
http://office.microsoft.com/downloads/2000/wd97vwr32.aspx
http://office.microsoft.com/downloads/2000/xlviewer.aspx
http://office.microsoft.com/downloads/2000/ppview97.aspx
%prep
%setup -q -c -T
%build
%install
rm -rf $RPM_BUILD_ROOT
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/bin
%{l_shtool} install -c -m 755 %{l_value -s -a} \
%{SOURCE wine-msov.sh} \
$RPM_BUILD_ROOT%{l_prefix}/bin/msov
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/share/wine-msov
%{l_shtool} install -c -m 644 \
%{SOURCE wd97vwr32.exe} \
%{SOURCE xlViewer.exe} \
%{SOURCE ppview97.exe} \
$RPM_BUILD_ROOT%{l_prefix}/share/wine-msov/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ $1 -eq 1 ]; then
( echo "In order to use \"msov\", every user has to install local copies"
echo "of the viewer applications into the WINE folder \$HOME/.wine/."
echo "For this each user has to initially run:"
echo "\$ $RPM_INSTALL_PREFIX/bin/msov --setup"
) | %{l_rpmtool} msg -b
fi
Loading…
Cancel
Save