diff options
| author | Jonathan Schmidt-Dominé <[email protected]> | 2011-03-02 19:39:45 +0100 |
|---|---|---|
| committer | Jonathan Schmidt-Dominé <[email protected]> | 2011-03-02 19:39:45 +0100 |
| commit | 860011c4c529e1996ea2edebd1bed27b0ddb8e7b (patch) | |
| tree | 4f43e174a48a2bb6ef90762165614fdc5430e06b | |
| parent | 7df84881251f60d2bd501eab3f2d1413e9823b21 (diff) | |
Better servicemenu(de)installation
| -rwxr-xr-x | src/settings/services/servicemenudeinstallation | 17 | ||||
| -rwxr-xr-x | src/settings/services/servicemenuinstallation | 19 |
2 files changed, 25 insertions, 11 deletions
diff --git a/src/settings/services/servicemenudeinstallation b/src/settings/services/servicemenudeinstallation index a1c71efa7..24fd7bf10 100755 --- a/src/settings/services/servicemenudeinstallation +++ b/src/settings/services/servicemenudeinstallation @@ -12,11 +12,18 @@ dir = archive + "-dir" # try: installKDE4 # try: install.sh # try: install -dd = Dir.new(dir) -dd.read -dd.read -dir += "/" + dd.read -dd = nil +while true + dd = Dir.new(dir) + break if dd.count != 3 + odir = dir + for entry in dd + dir += "/" + entry if entry != "." && entry != ".." + end + if !File.directory? dir + dir = odir + break + end +end Dir.chdir(dir) def fail() system("kdialog --passivepopup \"Deinstallation failed\" 15") diff --git a/src/settings/services/servicemenuinstallation b/src/settings/services/servicemenuinstallation index b99cc3b00..ac2cf8f1c 100755 --- a/src/settings/services/servicemenuinstallation +++ b/src/settings/services/servicemenuinstallation @@ -65,11 +65,18 @@ exit(-1) if !uncompress(archive, dir) # try: installKDE4 # try: install.sh # try: install -dd = Dir.new(dir) -dd.read -dd.read -dir += "/" + dd.read -dd = nil +while true + dd = Dir.new(dir) + break if dd.count != 3 + odir = dir + for entry in dd + dir += "/" + entry if entry != "." && entry != ".." + end + if !File.directory? dir + dir = odir + break + end +end Dir.chdir(dir) def fail() system("kdialog --passivepopup \"Installation failed\" 15") @@ -79,4 +86,4 @@ if !((File.exist?(file = "./install-it.sh") || File.exist?(file = "./install-it" 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 + " --local") && !system(file + "--local-install") && !system(file + " --install") -end +end |
