wilde@1139: #-*-sh-*- wilde@1150: wilde@1150: ###INCLUDE:linux-installer-uninstall.l10n-de wilde@1150: wilde@1139: rm_empty_dirs() wilde@1139: { wilde@1139: # Args: $1 - DIRECTORY wilde@1139: # wilde@1139: # Recursively remove DIRECTORY and all it _parent_ directories as wilde@1139: # long as they are empty. wilde@1139: local directory="$1" wilde@1139: while [ -d "$directory" -a -z "$(ls 2>/dev/null -A "$directory")" ] ; do wilde@1139: getxt "Deleting empty directory '%s' ...\n" "$directory" wilde@1139: rmdir "$directory" wilde@1139: directory=`dirname "$directory"` wilde@1139: done wilde@1139: } wilde@1139: wilde@1139: rm_files() wilde@1139: { wilde@1139: for file in "$@" ; do wilde@1139: if [ -e "$file" ] ; then wilde@1139: getxt "Deleting '%s' ...\n" "$file" wilde@1139: rm "$file" wilde@1139: fi wilde@1139: done wilde@1139: } wilde@1139: wilde@1139: remove_cronjob() wilde@1139: { wilde@1139: setup_cronjob deinstall wilde@1139: } wilde@1139: andre@1178: deinstall_certs_and_config() wilde@1139: { andre@1176: local cinst="${oldinstcfg[PREFIX]}/bin/trustbridge-certificate-installer" wilde@1139: local certlist=`ls 2>/dev/null -1 ${instdata_path}/list-installed.txt` wilde@1139: wilde@1139: getxt "Uninstalling certificates ...\n" wilde@1139: andre@1178: if [ -f "$certlist" ] ; then wilde@1139: getxt "Using certificate list '%s'.\n" "$certlist" wilde@1139: if [ -x "$cinst" ] ; then wilde@1139: "$cinst" "list=$certlist" "choices=uninstall" wilde@1139: else wilde@1139: getxt >&2 "WARNING: can't execute %s for certificate deinstallation.\n" "$cinst" wilde@1139: fi andre@1178: rm_files "$certlist" wilde@1139: else wilde@1139: getxt "No certificate list found. Nothing to do.\n" wilde@1139: fi andre@1178: andre@1206: rm_files "${CFGPATH}/TrustBridge.ini" andre@1206: rm_empty_dirs "${CFGPATH}" wilde@1139: } wilde@1139: wilde@1139: deinstall_etc() wilde@1139: { wilde@1139: getxt "Removing cron job ...\n" wilde@1139: remove_cronjob wilde@1139: andre@1178: getxt "Removing certificate lists from: %s:\n" "$instdata_path" andre@1178: rm_files "$instdata_path"/list-2*.txt andre@1178: andre@1206: local tbcfg_files=( "${CFGPATH}/trustbridge-tray-starter.cfg" wilde@1139: "$instcfg_file" ) wilde@1139: andre@1178: getxt "Removing configuration files:\n" andre@1178: rm_files "${tbcfg_files[@]}" andre@1178: rm_empty_dirs "$instcfg_path" andre@1206: rm_empty_dirs "${CFGPATH}" wilde@1139: wilde@1139: getxt "Removing PID file from: %s:\n" "$instdata_path" wilde@1139: rm_files "$instdata_path"/*.pid wilde@1139: rm_empty_dirs "$instdata_path" wilde@1139: wilde@1139: getxt "Removing TrustBridge from autostart\n" wilde@1139: rm_files "${autostart_path}/trustbridge.desktop" wilde@1139: update-desktop-database 2>&1 || true wilde@1139: wilde@1139: getxt "Removing TrustBridge from start menu\n" wilde@1139: rm_files "${startmenu_path}/trustbridge.desktop" wilde@1139: } wilde@1139: wilde@1139: deinstall() wilde@1139: { wilde@1139: if [ "${oldinstcfg[PREFIX]}" ] ; then wilde@1139: getxt "Really deinstall TrustBridge from '%s'? [y/n]\n" "${oldinstcfg[PREFIX]}" wilde@1139: yorn || exit 0 andre@1178: local certlist=`ls 2>/dev/null -1 ${instdata_path}/list-installed.txt` andre@1178: if [ -f "$certlist" ] ; then andre@1178: getxt "Do you also want to remove the certificates installed by TrustBridge? [y/n]\n" andre@1178: yorn && deinstall_certs_and_config andre@1178: fi wilde@1139: local deinstdir="${oldinstcfg[PREFIX]}/bin" wilde@1139: getxt "Deinstalling from '%s'.\n" "${oldinstcfg[PREFIX]}" wilde@1139: for file in $BINNAMES ; do wilde@1139: local path="${deinstdir}/$file" wilde@1139: getxt "Deleting '%s' ...\n" "$path" wilde@1139: rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path" wilde@1139: done wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: wilde@1139: # images wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge/_images" wilde@1139: for file in $HELPNAMES_IMG; do wilde@1139: local path="${deinstdir}/$file" wilde@1139: if [ -f "$path" ]; then wilde@1139: getxt "Deleting '%s' ...\n" "$path" wilde@1139: rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path" wilde@1139: fi wilde@1139: done wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: wilde@1139: # Javascript sources wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge/_sources" wilde@1139: for file in $HELPNAMES_SOURCES; do wilde@1139: local path="${deinstdir}/$file" wilde@1139: if [ -f "$path" ]; then wilde@1139: getxt "Deleting '%s' ...\n" "$path" wilde@1139: rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path" wilde@1139: fi wilde@1139: done wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: wilde@1139: # Static files wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge/_static" wilde@1139: for file in $HELPNAMES_STATIC; do wilde@1139: local path="${deinstdir}/$file" wilde@1139: if [ -f "$path" ]; then wilde@1139: getxt "Deleting '%s' ...\n" "$path" wilde@1139: rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path" wilde@1139: fi wilde@1139: done wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: andre@1249: # Licenses andre@1249: deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge/licenses" andre@1249: for file in $LICENSENAMES; do andre@1249: local path="${deinstdir}/$file" andre@1249: if [ -f "$path" ]; then andre@1249: getxt "Deleting '%s' ...\n" "$path" andre@1249: rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path" andre@1249: fi andre@1249: done andre@1249: rm_empty_dirs "$deinstdir" andre@1249: wilde@1139: # The actual html wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share/doc/trustbridge" wilde@1139: for file in $HELPNAMES; do wilde@1139: local path="${deinstdir}/$file" wilde@1139: if [ -f "$path" ]; then wilde@1139: getxt "Deleting '%s' ...\n" "$path" wilde@1139: rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path" wilde@1139: fi wilde@1139: done wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share/pixmaps/trustbridge" wilde@1139: getxt "Deinstalling from '%s'.\n" "${oldinstcfg[PREFIX]}" wilde@1139: for file in $ICONNAME; do wilde@1139: local path="${deinstdir}/$file" wilde@1139: getxt "Deleting '%s' ...\n" "$path" wilde@1139: rm "$path" || getxt >&2 "WARNING: Could not delete: '%s'!\n" "$path" wilde@1139: done wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share/pixmaps/trustbridge" wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share/pixmaps" wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: deinstdir="${oldinstcfg[PREFIX]}/share" wilde@1139: rm_empty_dirs "$deinstdir" wilde@1139: deinstall_etc wilde@1139: getxt "Deinstallation finished.\n" wilde@1139: else wilde@1139: getxt "No current installation found! No harm done.\n" wilde@1139: fi wilde@1139: }