┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-07-24 20:58:05 +0000
committerPeter Penz <[email protected]>2010-07-24 20:58:05 +0000
commit935cc8a03bcb6088ff520d7161db14b9b6a29044 (patch)
tree92b2a7c5c0c36e2992b12fd06f4638b44de7009e /src/settings
parent6f1a1d74074565ba7a290c496fde908d1dc0d8ff (diff)
Sourcecode hierarchy cleanup: Move files from khns to settings/services (step 1/2)
svn path=/trunk/KDE/kdebase/apps/; revision=1154135
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/services/servicemenu.knsrc8
-rwxr-xr-xsrc/settings/services/servicemenudeinstallation30
-rwxr-xr-xsrc/settings/services/servicemenuinstallation82
3 files changed, 120 insertions, 0 deletions
diff --git a/src/settings/services/servicemenu.knsrc b/src/settings/services/servicemenu.knsrc
new file mode 100644
index 000000000..7914f7c63
--- /dev/null
+++ b/src/settings/services/servicemenu.knsrc
@@ -0,0 +1,8 @@
+[KNewStuff2]
+ProvidersUrl=http://download.kde.org/khotnewstuff/servicemenu-providers.xml
+ChecksumPolicy=ifpossible
+SignaturePolicy=ifpossible
+TargetDir=servicemenu-download
+Uncompress=never
+InstallationCommand=servicemenuinstallation %f
+UninstallCommand=servicemenudeinstallation %f
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)
diff --git a/src/settings/services/servicemenuinstallation b/src/settings/services/servicemenuinstallation
new file mode 100755
index 000000000..b99cc3b00
--- /dev/null
+++ b/src/settings/services/servicemenuinstallation
@@ -0,0 +1,82 @@
+#!/usr/bin/env ruby
+require 'pathname'
+require 'fileutils'
+archive = ARGV[0]
+$servicedir = `kde4-config --localprefix`.strip! + "share/kde4/services/ServiceMenus/"
+FileUtils.mkdir_p($servicedir) if !File.exist?($servicedir)
+if archive[(archive.length - 8)..(archive.length - 1)] == ".desktop"
+ puts "Single-File Service-Menu"
+ puts archive
+ puts $servicedir
+ FileUtils.cp(archive, $servicedir);
+ exit(0)
+end
+def mimeType(filename)
+ IO.popen("file --mime-type -b " + filename).gets().strip!()
+end
+$archivetypes = { "application/x-tar" => :"tar -xf %s -C %s",
+ "application/tar" => :"tar -xf %s -C %s",
+ "application/x-gzip" => :"tar -zxf %s -C %s",
+ "application/gzip" => :"tar -zxf %s -C %s",
+ "application/x-gzip-compressed-tar" => :"tar -zxf %s -C %s",
+ "application/gzip-compressed-tar" => :"tar -zxf %s -C %s",
+ "application/x-gzip-compressed" => :"tar -zxf %s -C %s",
+ "application/gzip-compressed" => :"tar -zxf %s -C %s",
+ "application/bzip" => :"tar -jxf %s -C %s",
+ "application/bzip2" => :"tar -jxf %s -C %s",
+ "application/x-bzip" => :"tar -jxf %s -C %s",
+ "application/x-bzip2" => :"tar -jxf %s -C %s",
+ "application/bzip-compressed" => :"tar -jxf %s -C %s",
+ "application/bzip2-compressed" => :"tar -jxf %s -C %s",
+ "application/x-bzip-compressed" => :"tar -jxf %s -C %s",
+ "application/x-bzip2-compressed" => :"tar -jxf %s -C %s",
+ "application/bzip-compressed-tar" => :"tar -jxf %s -C %s",
+ "application/bzip2-compressed-tar" => :"tar -jxf %s -C %s",
+ "application/x-bzip-compressed-tar" => :"tar -jxf %s -C %s",
+ "application/x-bzip2-compressed-tar" => :"tar -jxf %s -C %s",
+ "application/zip" => :"unzip %s -d %s",
+ "application/x-zip" => :"unzip %s -d %s",
+ "application/x-zip-compressed" => :"unzip %s -d %s",
+ "multipart/x-zip" => :"unzip %s -d %s",
+ "application/tgz" => :"tar -zxf %s -C %s",
+ "application/x-compressed-gtar" => :"tar -zxf %s -C %s",
+ "application/x-gtar" => :"tar -zxf %s -C %s",
+ "file/tgz" => :"tar -zxf %s -C %s",
+ "multipart/x-tar-gz" => :"tar -zxf %s -C %s",
+ "application/x-gunzip" => :"tar -zxf %s -C %s",
+ "application/gzipped" => :"tar -zxf %s -C %s",
+ "gzip/document" => :"tar -zxf %s -C %s",
+ "application/x-bz2 " => :"tar -jxf %s -C %s",
+ "application/x-gtar" => :"tar -xf %s -C %s",
+ "multipart/x-tar" => :"tar -xf %s -C %s"
+}
+def uncompress(filename, output)
+ system(sprintf($archivetypes[mimeType(filename)].to_s, filename, output))
+end
+dir = archive + "-dir"
+if File.exist?(dir)
+ FileUtils.rm_r(dir)
+end
+FileUtils.mkdir(dir)
+exit(-1) if !uncompress(archive, dir)
+# try: install-it.sh
+# try: install-it
+# 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 \"Installation failed\" 15")
+ exit(-1)
+end
+if !((File.exist?(file = "./install-it.sh") || File.exist?(file = "./install-it")) && 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 + " --local") && !system(file + "--local-install") && !system(file + " --install")
+end