summary refs log tree commit diff stats
path: root/tools/niminst/deinstall.nimf
diff options
context:
space:
mode:
Diffstat (limited to 'tools/niminst/deinstall.nimf')
-rw-r--r--tools/niminst/deinstall.nimf81
1 files changed, 81 insertions, 0 deletions
diff --git a/tools/niminst/deinstall.nimf b/tools/niminst/deinstall.nimf
new file mode 100644
index 000000000..0dcfda75e
--- /dev/null
+++ b/tools/niminst/deinstall.nimf
@@ -0,0 +1,81 @@
+#? stdtmpl(subsChar='?') | standard
+#proc generateDeinstallScript(c: ConfigData): string =
+#  result = "#!/bin/sh\n# Generated by niminst\n"
+#  var proj = c.name.toLowerAscii
+
+if [ $# -eq 1 ] ; then
+  case $1 in
+    "--help"|"-h"|"help"|"h")
+      echo "?c.displayName deinstallation script"
+      echo "Usage: [sudo] sh deinstall.sh DIR"
+      echo "Where DIR may be:"
+      echo "  /usr/bin"
+      echo "  /usr/local/bin"
+      echo "  /opt"
+      echo "  <some other dir> (treated similar '/opt')"
+      exit 1
+      ;;
+    "/usr/bin")
+      bindir=/usr/bin
+      configdir=/etc/?proj
+      libdir=/usr/lib/?proj
+      docdir=/usr/share/?proj/doc
+      datadir=/usr/share/?proj/data
+      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
+      ;;
+    "/usr/local/bin")
+      bindir=/usr/local/bin
+      configdir=/etc/?proj
+      libdir=/usr/local/lib/?proj
+      docdir=/usr/local/share/?proj/doc
+      datadir=/usr/local/share/?proj/data
+      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
+      ;;
+    "/opt")
+      bindir="/opt/?proj/bin"
+      configdir="/opt/?proj/config"
+      libdir="/opt/?proj/lib"
+      docdir="/opt/?proj/doc"
+      datadir="/opt/?proj/data"
+      nimbleDir="/opt/nimble/pkgs/?c.nimblePkgName-?c.version"
+      ;;
+    *)
+      bindir="$1/?proj/bin"
+      configdir="$1/?proj/config"
+      libdir="$1/?proj/lib"
+      docdir="$1/?proj/doc"
+      datadir="$1/?proj/data"
+      nimbleDir="$1/?proj"
+      ;;
+  esac
+  echo "removing files..."
+
+#for ff in items(c.cat[fcUnixBin]):
+  #let f = ff.toUnix
+  rm -f $bindir/?f.skipRoot
+#end for
+#for ff in items(c.cat[fcConfig]):
+  #let f = ff.toUnix
+  rm -f $configdir/?f.skipRoot
+#end for
+  rm -rf $docdir
+  rm -rf $datadir
+  rm -rf $libdir
+
+  ## Nimble pkg stuff
+  #for f in items(c.cat[fcNimble]):
+    rm -f $nimbleDir/?f.toUnix
+  #end for
+  rm -f $nimbleDir/?{c.nimblePkgName}.nimble
+
+  echo "deinstallation successful"
+else
+  echo "?c.displayName deinstallation script"
+  echo "Usage: [sudo] sh deinstall.sh DIR"
+  echo "Where DIR may be:"
+  echo "  /usr/bin"
+  echo "  /usr/local/bin"
+  echo "  /opt"
+  echo "  <some other dir> (treated similar '/opt')"
+  exit 1
+fi