[PATCH] Warn if installation path contains suspicious special characters

Wald Commits scm-commit at wald.intevation.org
Fri Sep 19 17:35:31 CEST 2014


# HG changeset patch
# User Sascha Wilde <wilde at intevation.de>
# Date 1411140734 -7200
# Node ID 7282def018bc4fd65a80d983760ae6510949ac6a
# Parent  7d4dbcb2efb4163074a22e5c4a890660b2a028b7
Warn if installation path contains suspicious special characters.

diff -r 7d4dbcb2efb4 -r 7282def018bc packaging/linux-installer.inc
--- a/packaging/linux-installer.inc	Fri Sep 19 15:27:19 2014 +0200
+++ b/packaging/linux-installer.inc	Fri Sep 19 17:32:14 2014 +0200
@@ -298,10 +298,19 @@
         getxt "to update the current installation.\n"
         getxt "For a new prefix you should deinstall first!\n"
     fi
-    getxt "Select installation prefix for TrustBridge [%s]: " "${inst_default_prefix}"
-    read -e instcfg[PREFIX]
-
-    [ -z "${instcfg[PREFIX]}" ] && instcfg[PREFIX]="${inst_default_prefix}"
+    until [ "${instcfg[PREFIX]}" ] ; do
+      getxt "Select installation prefix for TrustBridge [%s]: " "${inst_default_prefix}"
+      read -e instcfg[PREFIX]
+      if echo "${instcfg[PREFIX]}" | grep -q '[~$"\\]' ; then
+          getxt "\nWARNING: The given path name contains special characters\n"
+          getxt "(one or more of %s )\n" "~ $ \" \\"
+          getxt "Please note that these characters are not expanded by the installer,\n"
+          getxt "the installation directory will be containing these characters verbatim.\n\n"
+          getxt "Do you really want to use %s as installation prefix?\n" "${instcfg[PREFIX]}"
+          yorn || { instcfg[PREFIX]="" ; continue ; }
+      fi
+      [ -z "${instcfg[PREFIX]}" ] && instcfg[PREFIX]="${inst_default_prefix}"
+    done
 else
   # Prefix was given on invocation:
   if [ "${oldinstcfg[PREFIX]}" -a \
diff -r 7d4dbcb2efb4 -r 7282def018bc packaging/linux-installer.l10n-de
--- a/packaging/linux-installer.l10n-de	Fri Sep 19 15:27:19 2014 +0200
+++ b/packaging/linux-installer.l10n-de	Fri Sep 19 17:32:14 2014 +0200
@@ -13,9 +13,11 @@
   ["  -f, --force        install to given prefix, even when a current\n"]="  -f, --force        installiere in den angegebenen Installations-Pfad auch wenn\n"
   ["  -p, --prefix=PATH  install files in PATH\n"]="  -p, --prefix=PATH  den Installations-Pfad PATH verwenden\n"
   ["  -s, --system       create a system wide (de)installation\n"]="  -s, --system       eine systemweite (De)Installation durchführen\n"
+  ["(one or more of %s )\n"]="(mindesten eines von %s )\n"
   ["An existing installation (v%s) was detected!\n"]="Es wurde eine vorhandene Installation (v%s) gefunden!\n"
   ["Cleaning up temporary stuff ...\n"]="Räume temporäre Dateien auf ...\n"
   ["Could not create '%s'!\n"]="Konnte '%s' nicht erstellen!\n"
+  ["Do you really want to use %s as installation prefix?\n"]="Möchten Sie wirklich %s als Installations-Pfad verwenden?\n"
   ["Failed to create autostart directory: '%s'\n"]="Konnte das autostart-Verzeichnis '%s' nicht erstellen\n"
   ["Failed to create startmenu directory: '%s'\n"]="Konnte das Startmenü-Verzeichnis '%s' nicht erstellen\n"
   ["For a new prefix you should deinstall first!\n"]="Um einen neuen Installations-Pfad zu verwenden bitte erst deinstallieren!\n"
@@ -25,6 +27,7 @@
   ["It appears your system architecture is %s.\n"]="Dieses System scheint eine %s Architektur zu besitzen.\n"
   ["It is HIGHLY RECOMMENDED to accept the default prefix\n"]="Es wird DRINGEND EMPFOHLEN die Vorgabe zu akzeptieren\n"
   ["Options:\n"]="Optionen:\n"
+  ["Please note that these characters are not expanded by the installer,\n"]="Bitte beachten sie, dass diese Zeichen vom Installer nicht speziell behandelt werden,\n"
   ["Prefix differs from current installation (%s).  Aborting!\n"]="Installations-Pfad weicht von vorhandener Installation (%s) ab.\nVorgang abgebrochen!\n"
   ["Preparing trustbridge-tray-starter ...\n"]="Bereite trustbridge-tray-starter vor ...\n"
   ["Press enter to launch '%s'\n"]="Drücken Sie die Eingabetaste um '%s' auszuführen\n"
@@ -42,10 +45,12 @@
   ["Usage: %s [OPTION]...\n"]="Aufruf:  %s [OPTION]...\n"
   ["Using python uudecode provided by installer.\n"]="Verwende vom Installer bereitgestelltes python uudecode.\n"
   ["Writing installation configuration to: %s ...\n"]="Schreibe Installationskonfiguration nach: %s ...\n"
+  ["\nWARNING: The given path name contains special characters\n"]="\nWARNUNG: der angegebene Pfad enthält Sonderzeichen\n"
   ["call the deinstall command:\n"]="rufen Sie den De-Installationsbefehl auf:\n"
   ["checking for uudecode ...\n"]="Prüfe uudecode ...\n"
   ["creating installation directory ...\n"]="lege das Installations-Verzeichnis an ...\n"
   ["or press Control-C to quit the installer.\n"]="oder Drücken sie Strg-C um den Installer zu beenden.\n"
+  ["the installation directory will be containing these characters verbatim.\n\n"]="der Installations-Pfad wird diese Zeichen unverändert enthalten.\n\n"
   ["to update the current installation.\n"]="um die vorhandene Installation zu aktualisieren.\n"
   ["unpacking files ...\n"]="Entpacke Dateien ...\n"
 )


More information about the Trustbridge-commits mailing list