diff options
Diffstat (limited to 'src/settings/services/servicemenudeinstallation')
| -rwxr-xr-x | src/settings/services/servicemenudeinstallation | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/settings/services/servicemenudeinstallation b/src/settings/services/servicemenudeinstallation new file mode 100755 index 000000000..a1c71efa7 --- /dev/null +++ b/src/settings/services/servicemenudeinstallation @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby +require 'fileutils' +archive = ARGV[0] +if archive[(archive.length - 8)..(archive.length)] == ".desktop" + FileUtils.rm(`kde4-config --localprefix`.strip! + "share/kde4/services/ServiceMenus/" + File.basename(archive)) + exit(0) +end +dir = archive + "-dir" +# try: deinstall.sh +# try: deinstall +# try: installKDE4.sh +# try: installKDE4 +# try: install.sh +# try: install +dd = Dir.new(dir) +dd.read +dd.read +dir += "/" + dd.read +dd = nil +Dir.chdir(dir) +def fail() + system("kdialog --passivepopup \"Deinstallation failed\" 15") + exit(-1) +end +if !((File.exist?(file = "./deinstall.sh") || File.exist?(file = "./deinstall")) && system(file)) + fail() if !File.exist?(file = "./installKDE4.sh") && !File.exist?(file = "./installKDE4") && !File.exist?(file = "./install.sh") && !File.exist?(file = "./install") +File.new(file).chmod(0700) + fail() if !system(file + " --remove") && !system(file + " --delete") && !system(file + " --uninstall") && !system(file + " --deinstall") +end +FileUtils.rm_r(dir) |
