[powertop] Always create params file Resolves: rhbz#698020 Added cache files

Jaroslav Škarvada jskarvad at fedoraproject.org
Fri Dec 2 19:37:56 UTC 2011


commit ff69ec688ef4e0cf1fc31366a4204e94ab756d09
Author: Jaroslav Škarvada <jskarvad at redhat.com>
Date:   Fri Dec 2 20:37:50 2011 +0100

    Always create params file
    Resolves: rhbz#698020
    Added cache files

 powertop-1.98-always-create-params.patch |   36 ++++++++++++++++++++++++++++++
 powertop.spec                            |   24 ++++++++++++++++---
 2 files changed, 56 insertions(+), 4 deletions(-)
---
diff --git a/powertop-1.98-always-create-params.patch b/powertop-1.98-always-create-params.patch
new file mode 100644
index 0000000..03de289
--- /dev/null
+++ b/powertop-1.98-always-create-params.patch
@@ -0,0 +1,36 @@
+diff -up powertop-1.98/parameters/persistent.cpp.orig powertop-1.98/parameters/persistent.cpp
+--- powertop-1.98/parameters/persistent.cpp.orig	2011-05-11 06:48:37.000000000 +0200
++++ powertop-1.98/parameters/persistent.cpp	2011-12-02 19:48:45.056747667 +0100
+@@ -122,22 +122,23 @@ void save_parameters(const char *filenam
+ 
+ //	printf("result size is %i, #parameters is %i \n", (int)past_results.size(), (int)all_parameters.parameters.size());
+ 
+-	if (!global_power_valid())
+-		return;
+ 
+ 	file.open(filename, ios::out);
+ 	if (!file) {
+ 		cout << _("Cannot save to file ") << filename << "\n";
+ 		return;
+ 	}
+-	
+-	map<string, int>::iterator it;
+ 
+-	for (it = param_index.begin(); it != param_index.end(); it++) {
+-		int index;
+-		index = it->second;
+-		file << it->first << "\t" << setprecision(9) << all_parameters.parameters[index] << "\n";
+-	}	
++	if (global_power_valid())
++	{
++		map<string, int>::iterator it;
++
++		for (it = param_index.begin(); it != param_index.end(); it++) {
++			int index;
++			index = it->second;
++			file << it->first << "\t" << setprecision(9) << all_parameters.parameters[index] << "\n";
++		}	
++	}
+ 	file.close();
+ }
+ 
diff --git a/powertop.spec b/powertop.spec
index df2186d..b0e51d6 100644
--- a/powertop.spec
+++ b/powertop.spec
@@ -1,6 +1,6 @@
 Name:          powertop
 Version:       1.98
-Release:       1%{?dist}
+Release:       2%{?dist}
 Summary:       Power consumption monitor
 
 Group:         Applications/System
@@ -8,6 +8,7 @@ License:       GPLv2
 URL:           http://www.lesswatts.org/
 #Source0:       http://www.lesswatts.org/projects/%{name}/download/%{name}-%{version}.tar.gz
 Source0:       http://www.kernel.org/pub/linux/status/powertop/%{name}-%{version}.tar.bz2
+Patch0:        powertop-1.98-always-create-params.patch
 BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: gettext, ncurses-devel, pciutils-devel, zlib-devel, libnl-devel
 
@@ -17,29 +18,44 @@ computer use more power than necessary while it is idle.
 
 %prep
 %setup -q
+%patch0 -p1 -b .always-create-params
 
 %build
 make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS"
 
 %install
-rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT
+rm -rf %{buildroot}
+make install DESTDIR=%{buildroot}
+install -Dd %{buildroot}%{_localstatedir}/cache/powertop
+touch %{buildroot}%{_localstatedir}/cache/powertop/{saved_parameters.powertop,saved_results.powertop}
 # No translation yet.
 #%find_lang %{name}
 
+%post
+# Hack for powertop not to show warnings on first start
+touch %{_localstatedir}/cache/powertop/{saved_parameters.powertop,saved_results.powertop}
+
 %clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
 
 # No translation yet.
 #%files -f %{name}.lang
 %files
 %defattr(-,root,root,-)
 %doc COPYING README
+%dir %{_localstatedir}/cache/powertop
+%ghost %{_localstatedir}/cache/powertop/saved_parameters.powertop
+%ghost %{_localstatedir}/cache/powertop/saved_results.powertop
 %{_bindir}/powertop
 # No man page yet.
 #%{_mandir}/man8/powertop.8*
 
 %changelog
+* Fri Dec  2 2011 Jaroslav Škarvada <jskarvad at redhat.com> - 1.98-2
+- Always create params file
+  Resolves: rhbz#698020
+- Added cache files
+
 * Wed May 25 2011 Jaroslav Škarvada <jskarvad at redhat.com> - 1.98-1
 - New version
 


More information about the scm-commits mailing list