changeset 695:82fb41ed0bfa

Completed detection of Ubuntu distro. git-svn-id: svn://svn.code.sf.net/p/universalindent/code/trunk@964 59b1889a-e5ac-428c-b0c7-476e01d41282
author thomas_-_s <thomas_-_s@59b1889a-e5ac-428c-b0c7-476e01d41282>
date Tue, 02 Jun 2009 09:58:55 +0000
parents 3ddadbeaebf1
children 454ff5b55d09
files src/UiGuiSystemInfo.cpp
diffstat 1 files changed, 14 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/UiGuiSystemInfo.cpp	Fri May 29 14:48:23 2009 +0000
+++ b/src/UiGuiSystemInfo.cpp	Tue Jun 02 09:58:55 2009 +0000
@@ -162,44 +162,46 @@
         if ( QFile::exists("/etc/redhat-release") ) {
             dist = "RedHat";
 
-            process.start("cat /etc/redhat-release | sed s/.*\\(// | sed s/\\)//");
+            process.start("sh -c \"cat /etc/redhat-release | sed s/.*\\(// | sed s/\\)//\"");
             result = process.waitForFinished(1000);
             pseudoname = process.readAllStandardOutput().trimmed();
 
-            process.start("cat /etc/redhat-release | sed s/.*release\\ // | sed s/\\ .*//");
+            process.start("sh -c \"cat /etc/redhat-release | sed s/.*release\\ // | sed s/\\ .*//\"");
             result = process.waitForFinished(1000);
             rev = process.readAllStandardOutput().trimmed();
         }
         else if ( QFile::exists("/etc/SUSE-release") ) {
-            process.start("cat /etc/SUSE-release | tr \"\n\" ' '| sed s/VERSION.*//");
+            process.start("sh -c \"cat /etc/SUSE-release | tr '\\n' ' '| sed s/VERSION.*//\"");
             result = process.waitForFinished(1000);
             dist = process.readAllStandardOutput().trimmed();
 
-            process.start("cat /etc/SUSE-release | tr \"\n\" ' ' | sed s/.*=\\ //");
+            process.start("sh -c \"cat /etc/SUSE-release | tr '\\n' ' ' | sed s/.*=\\ //\"");
             result = process.waitForFinished(1000);
             rev = process.readAllStandardOutput().trimmed();
         }
         else if ( QFile::exists("/etc/mandrake-release") ) {
             dist = "Mandrake";
 
-            process.start("cat /etc/mandrake-release | sed s/.*\\(// | sed s/\\)//");
+            process.start("sh -c \"cat /etc/mandrake-release | sed s/.*\\(// | sed s/\\)//\"");
             result = process.waitForFinished(1000);
             pseudoname = process.readAllStandardOutput().trimmed();
 
-            process.start("cat /etc/mandrake-release | sed s/.*release\\ // | sed s/\\ .*//");
+            process.start("sh -c \"cat /etc/mandrake-release | sed s/.*release\\ // | sed s/\\ .*//\"");
             result = process.waitForFinished(1000);
             rev = process.readAllStandardOutput().trimmed();
         }
         else if ( QFile::exists("/etc/lsb-release") ) {
             dist = "Ubuntu";
 
-            process.start("cat /etc/lsb-release | sed s/.*\\(// | sed s/\\)//");
+            QString processCall = "sh -c \"cat /etc/lsb-release | tr '\\n' ' ' | sed s/.*DISTRIB_RELEASE=// | sed s/\\ .*//\"";
+            process.start( processCall );
+            result = process.waitForFinished(1000);
+            rev = process.readAllStandardOutput().trimmed();
+            QString errorStr = process.readAllStandardError();
+
+            process.start("sh -c \"cat /etc/lsb-release | tr '\\n' ' ' | sed s/.*DISTRIB_CODENAME=// | sed s/\\ .*//\"");
             result = process.waitForFinished(1000);
             pseudoname = process.readAllStandardOutput().trimmed();
-
-            process.start("cat /etc/lsb-release | sed s/.*release\\ // | sed s/\\ .*//");
-            result = process.waitForFinished(1000);
-            rev = process.readAllStandardOutput().trimmed();
         }
         else if ( QFile::exists("/etc/debian_version") ) {
             dist = "Debian";
@@ -212,7 +214,7 @@
         }
 
         if ( QFile::exists("/etc/UnitedLinux-release") ) {
-            process.start("cat /etc/UnitedLinux-release | tr \"\n\" ' ' | sed s/VERSION.*//");
+            process.start("sh -c \"cat /etc/UnitedLinux-release | tr '\\n' ' ' | sed s/VERSION.*//\"");
             result = process.waitForFinished(1000);
             dist += process.readAllStandardOutput().trimmed();
         }