1c83-client.sh 1.9 KB
Newer Older
1 2 3 4 5 6 7
#!/bin/sh

FILENAME="$1"
RETURNTARNAME="$2"

. $(dirname $0)/common.sh

8 9
# unpack if something like server64_8_3_22_1851.tar.gz
if echo "$(basename "$FILENAME")" | grep -q "^server.._8_3.*tar\.gz$" ; then
10 11 12 13
    echo "Tarball detected, unpacking ..."
    erc "$FILENAME" || fatal
    # server64_8_3_22_1851.tar
    FILENAME="$(echo server*/setup-full-8.*.run)"
14 15 16
fi

# with run with setup-full.*.run file
17 18
echo "$(basename "$FILENAME")" | grep -q "^setup-full-8\.3.*-.*.run$" || fatal "run with file looks like setup-full-8.3.22.1851-x86_64.run"

19

20 21 22 23
INSTDIR="/opt/1cv8"
VERSION="$(echo $FILENAME | sed 's|.*-8|8|' | sed 's|-.*||')"
TARNAME="1c83-client-$VERSION.tar"

24 25
[ -d "$INSTDIR" ] && fatal "Don't use the script if you have already installed 1C (or just remove $INSTDIR before)"

26 27 28
chmod -v u+x $FILENAME
# По умолчанию устанавливается только "client_full,langs,en,ru,advanced". Все остальные компоненты по умолчанию отключены.
# Задана тихая установка.
29
esu $(realpath $FILENAME) --mode unattended || fatal "Can't install"
30 31 32 33 34 35 36 37 38 39 40

if echo "$FILENAME" | grep -q "x86_64.run$" ; then
    arch="x86_64"
elif echo "$FILENAME" | grep -q "i586.run$"; then
    arch="i586"
else
    fatal "Unsupported arch"
fi

# FIXME
UNINSTFILE=$INSTDIR/$arch/$VERSION/uninstaller-full
41
[ -x "$UNINSTFILE" ] || fatal "Can't detect executable $UNINSTFILE"
42 43 44

# 8.3.22.1851 -> 8*3*22*1851 (they use - in 1cv8-8.3.22-1851.desktop)
ADDFILES="/usr/share/applications/1cv8*$(echo $VERSION| sed -e 's|\.|*|g').desktop"
45 46
# icons
ADDFILES="$ADDFILES /usr/share/pixmaps/1c* /usr/share/app-install/icons/1c* /usr/share/icons/hicolor/*/apps/1c*"
47 48 49 50 51

# FIXME: erc?
epm install --skip-installed tar || fatal
a= tar cf $TARNAME $INSTDIR $ADDFILES

52
esu touch /opt/.placeholder
53
# Задана тихая деинсталяция.
54 55
esu $UNINSTFILE --mode unattended
esu rm /opt/.placeholder
56 57

return_tar $TARNAME