fixed powertop2tuned compatibility with powertop-2.0

This commit is contained in:
Jan Kaluza 2012-06-12 12:46:06 +02:00
parent 54ccb3a477
commit effc86626a
2 changed files with 69 additions and 2 deletions

63
tuned-powertop2.patch Normal file
View File

@ -0,0 +1,63 @@
diff --git a/experiments/powertop2tuned.py b/experiments/powertop2tuned.py
index 02a5b23..70c6f0b 100755
--- a/experiments/powertop2tuned.py
+++ b/experiments/powertop2tuned.py
@@ -74,6 +74,8 @@ class PowertopHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
self.lastStartTag = tag
+ if self.lastStartTag == "div" and dict(attrs)["id"] == "tuning":
+ self.inProperTable = True
if self.inProperTable and tag == "td":
self.tdCounter += 1
@@ -92,8 +94,6 @@ class PowertopHTMLParser(HTMLParser):
def handle_data(self, data):
prefix = self.prefix
- if self.lastStartTag == "h2" and data == "Software settings in need of tuning":
- self.inProperTable = True
if self.inProperTable and self.tdCounter == 1:
self.lastDesc = data
if self.lastDesc.lower().find("autosuspend") != -1 and (self.lastDesc.lower().find("keyboard") != -1 or self.lastDesc.lower().find("mouse") != -1):
@@ -103,10 +103,10 @@ class PowertopHTMLParser(HTMLParser):
self.tdCounter = 0
if not self.inScript:
self.data += "\t# " + self.lastDesc + "\n"
- self.data += "\t" + prefix + data
+ self.data += "\t" + prefix + data.strip()
self.inScript = True
else:
- self.data += data
+ self.data += data.strip()
class PowertopProfile:
BAD_PRIVS = 100
@@ -132,16 +132,18 @@ class PowertopProfile:
return True
def generateHTML(self):
- f = tempfile.NamedTemporaryFile()
- name = unicode(f.name)
- f.close()
-
- ret = os.system('powertop --html="%s"' % (name))
- if ret != 0:
- os.unlink(name)
- return ret
+ proc = Popen(["powertop", "--html=/tmp/powertop"], stdout=PIPE)
+ output = proc.communicate()[0]
+ if proc.returncode != 0:
+ return ret
+
+ prefix = "PowerTOP outputing using base filename "
+ if output.find(prefix) == -1:
+ return -1
- return name;
+ name = output[output.find(prefix)+len(prefix):-1]
+ #print "Parsed filename=", [name]
+ return name
def parseHTML(self, enable_tunings):
f = open(self.name)

View File

@ -1,7 +1,7 @@
Summary: A dynamic adaptive system tuning daemon
Name: tuned
Version: 2.0.1
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2
# The source for this package was pulled from upstream git. Use the
# following commands to get the corresponding tarball:
@ -10,6 +10,7 @@ License: GPLv2
# git checkout v%%{version}
# make archive
Source: tuned-%{version}.tar.bz2
Patch0: tuned-powertop2.patch
URL: https://fedorahosted.org/tuned/
BuildArch: noarch
BuildRequires: python, systemd-units
@ -45,7 +46,7 @@ It can be also used to fine tune your system for specific scenarios.
%prep
%setup -q
%patch0 -p1 -b .powertop2
%build
@ -134,6 +135,9 @@ fi
%{_prefix}/lib/tuned/spindown-disk
%changelog
* Tue Jun 12 2012 Jan Kaluza <jkaluza@redhat.com> - 2.0.1-2
- fixed powertop2tuned compatibility with powertop-2.0
* Tue Apr 03 2012 Jaroslav Škarvada <jskarvad@redhat.com> - 2.0.1-1
- new version