# HG changeset patch # User Sascha Wilde # Date 1411039677 -7200 # Node ID a72d59f8c3ea70afbd672ea12774bafe3707cbe9 # Parent 96ecd345c9614bd79624179442808c276e7d0305 Create uninstaller. diff -r 96ecd345c961 -r a72d59f8c3ea packaging/CMakeLists.txt --- a/packaging/CMakeLists.txt Thu Sep 18 12:04:30 2014 +0200 +++ b/packaging/CMakeLists.txt Thu Sep 18 13:27:57 2014 +0200 @@ -3,9 +3,11 @@ configure_file (create-dist-package.sh.in create-dist-package.sh @ONLY) configure_file (linux-createpackage.sh.in linux-createpackage.sh @ONLY) configure_file (linux-installer.inc linux-installer.inc COPYONLY) +configure_file (linux-uninstaller.inc linux-uninstaller.inc COPYONLY) configure_file (linux-installer-common.inc.in linux-installer-common.inc @ONLY) configure_file (linux-installer-uninstall.inc linux-installer-uninstall.inc COPYONLY) configure_file (linux-installer.l10n-de linux-installer.l10n-de COPYONLY) +configure_file (linux-uninstaller.l10n-de linux-uninstaller.l10n-de COPYONLY) configure_file (linux-installer-common.l10n-de linux-installer-common.l10n-de COPYONLY) configure_file (linux-installer-uninstall.l10n-de linux-installer-uninstall.l10n-de COPYONLY) diff -r 96ecd345c961 -r a72d59f8c3ea packaging/linux-createpackage.sh.in --- a/packaging/linux-createpackage.sh.in Thu Sep 18 12:04:30 2014 +0200 +++ b/packaging/linux-createpackage.sh.in Thu Sep 18 13:27:57 2014 +0200 @@ -39,11 +39,13 @@ fi INSTALLER="@CMAKE_BINARY_DIR@/TrustBridge-@PROJECT_VERSION@.sh" +UNINSTALLER="$TMPDIR/bin/trustbridge-deinstall.sh" EXEFILES=("@CMAKE_BINARY_DIR@/cinst/cinst" "@CMAKE_BINARY_DIR@/cinst/mozilla" "@CMAKE_BINARY_DIR@/ui/trustbridge" - "@CMAKE_BINARY_DIR@/ui/trustbridge-tray-starter.sh") + "@CMAKE_BINARY_DIR@/ui/trustbridge-tray-starter.sh" + "$UNINSTALLER") ICON="@CMAKE_SOURCE_DIR@/ui/img/logo-128.png" HELPFILES=$(find @CMAKE_BINARY_DIR@/manuals/help-manual/html \ @@ -67,10 +69,6 @@ install "${EXEFILES[@]}" "$TMPDIR/bin" install "$ICON" "$TMPDIR/share/pixmaps/trustbridge/trustbridge.png" -echo "Building $INSTALLER..." -cp "@CMAKE_BINARY_DIR@/packaging/linux-installer.inc" "$INSTALLER" -process_includes "$INSTALLER" "@CMAKE_BINARY_DIR@/packaging" - binnames="" for file in "${EXEFILES[@]}" ; do binnames="`basename $file` $binnames" @@ -92,20 +90,32 @@ helpnames_sources="`basename $file` $helpnames_sources" done +echo "Building $INSTALLER and $UNINSTALLER ..." + +cp "@CMAKE_BINARY_DIR@/packaging/linux-installer.inc" "$INSTALLER" +cp "@CMAKE_BINARY_DIR@/packaging/linux-uninstaller.inc" "$UNINSTALLER" + +declare -a INSTALLER_SCRIPTS +INSTALLER_SCRIPTS=("$INSTALLER" "$UNINSTALLER") + +for script in "${INSTALLER_SCRIPTS[@]}" ; do + process_includes "$script" "@CMAKE_BINARY_DIR@/packaging" + sed -i "s/###BINNAMES###/${binnames}/" "$script" + sed -i "s/###ICONNAME###/trustbridge.png/" "$script" + sed -i "s/###HELPNAMES###/${helpnames}/" "$script" + sed -i "s/###HELPNAMES_SOURCES###/${helpnames_sources}/" "$script" + sed -i "s/###HELPNAMES_STATIC###/${helpnames_static}/" "$script" + sed -i "s/###HELPNAMES_IMG###/${helpnames_img}/" "$script" + sed -i "s/###ARCH###/${ARCH}/" "$script" + chmod +x "$script" +done + echo "Creating shar archive ..." cd "$TMPDIR" shar -z -B `find -type f` | sed 's/^exit 0//' >>"$TMPSHAR" -sed -i "s/###BINNAMES###/${binnames}/" "$INSTALLER" -sed -i "s/###ICONNAME###/trustbridge.png/" "$INSTALLER" sed -i "/###SHAR###/r $TMPSHAR" "$INSTALLER" -sed -i "s/###HELPNAMES###/${helpnames}/" "$INSTALLER" -sed -i "s/###HELPNAMES_SOURCES###/${helpnames_sources}/" "$INSTALLER" -sed -i "s/###HELPNAMES_STATIC###/${helpnames_static}/" "$INSTALLER" -sed -i "s/###HELPNAMES_IMG###/${helpnames_img}/" "$INSTALLER" -sed -i "s/###ARCH###/${ARCH}/" "$INSTALLER" -chmod +x "$INSTALLER" echo "Signing" "@CMAKE_SOURCE_DIR@/ui/tests/append-sig.sh" \ "@CMAKE_SOURCE_DIR@/ui/tests/data/codesign/codesigning.key" \ diff -r 96ecd345c961 -r a72d59f8c3ea packaging/linux-installer-common.inc.in --- a/packaging/linux-installer-common.inc.in Thu Sep 18 12:04:30 2014 +0200 +++ b/packaging/linux-installer-common.inc.in Thu Sep 18 13:27:57 2014 +0200 @@ -35,9 +35,7 @@ ) declare -A L10N_DE -###INCLUDE:linux-installer.l10n-de ###INCLUDE:linux-installer-common.l10n-de -###INCLUDE:linux-installer-uninstall.l10n-de getxt() { diff -r 96ecd345c961 -r a72d59f8c3ea packaging/linux-installer-uninstall.inc --- a/packaging/linux-installer-uninstall.inc Thu Sep 18 12:04:30 2014 +0200 +++ b/packaging/linux-installer-uninstall.inc Thu Sep 18 13:27:57 2014 +0200 @@ -1,4 +1,7 @@ #-*-sh-*- + +###INCLUDE:linux-installer-uninstall.l10n-de + rm_empty_dirs() { # Args: $1 - DIRECTORY diff -r 96ecd345c961 -r a72d59f8c3ea packaging/linux-installer.inc --- a/packaging/linux-installer.inc Thu Sep 18 12:04:30 2014 +0200 +++ b/packaging/linux-installer.inc Thu Sep 18 13:27:57 2014 +0200 @@ -33,6 +33,7 @@ set -u ###INCLUDE:linux-installer-common.inc +###INCLUDE:linux-installer.l10n-de ###INCLUDE:linux-installer-uninstall.inc @@ -113,7 +114,7 @@ getxt "To remove the application and the root certificates it has inserted,\n" getxt "call the deinstall command:\n" - echo " $RUNCMD ${instcfg[PREFIX]}/bin/trustbridge-deinstall-TODO.sh" + echo " $RUNCMD ${instcfg[PREFIX]}/bin/trustbridge-deinstall.sh" echo "#################################################################################" getxt "Press enter to launch '%s'\n" "${instcfg[PREFIX]}/bin/trustbridge" diff -r 96ecd345c961 -r a72d59f8c3ea packaging/linux-uninstaller.inc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/packaging/linux-uninstaller.inc Thu Sep 18 13:27:57 2014 +0200 @@ -0,0 +1,69 @@ +#!/bin/bash +set -u + +###INCLUDE:linux-installer-common.inc +###INCLUDE:linux-uninstaller.l10n-de + +###INCLUDE:linux-installer-uninstall.inc + +DEINSTALL=1 + +usage() +{ + getxt "Usage: %s [OPTION]...\n" "$ME" + getxt "Uninstall TrustBridge.\n\n" + getxt "Options:\n" + getxt " -s, --system do a system wide deinstallation\n" + getxt " --help display this help and exit\n" + getxt " --version output version information and exit\n" + exit $1 +} + +parse_args() +{ + OPTS=`getopt \ + -l help,system,version \ + -o s -n "$ME" -- "$@"` + [ $? -eq 0 ] || usage 23 + + eval set -- "$OPTS" + + while true ; do + case "$1" in + --system|-s) + SYSINST=1 + shift 1 + ;; + --help) + usage 0 + ;; + --version) + version + ;; + --) + shift + break + ;; + esac + done +} + +#====================================================================== +# main() + +parse_args "$@" +check_priv +init_vars +read_oldinstcfg + +cat <