fireinfo: Import latest patches

This commit is contained in:
Michael Tremer
2014-12-15 23:27:25 +01:00
parent aa15b6b256
commit 405d20bcb3
5 changed files with 74 additions and 2 deletions

View File

@@ -0,0 +1 @@
../../../common/fireinfo

View File

@@ -73,6 +73,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0001-bogomips-Don-t-crash-when-no-bogomips-are-available.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0002-ARM-Read-board-model-from-device-tree-in-proc.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fireinfo/0003-Revert-vendor-model-for-ARM-to-old-behaviour.patch
cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh
cd $(DIR_APP) && ./configure --prefix=/usr

View File

@@ -1,7 +1,7 @@
From a9401d9542fae575d9ce2bb534cd4e598e9c7b8e Mon Sep 17 00:00:00 2001
From: Michael Tremer <michael.tremer@ipfire.org>
Date: Tue, 28 Oct 2014 21:14:41 +0100
Subject: [PATCH 1/2] bogomips: Don't crash when no bogomips are available
Subject: [PATCH 1/3] bogomips: Don't crash when no bogomips are available
The RPi doesn't provide bogomips in /proc/cpuinfo any more
and fireinfo crashed when trying to read that file

View File

@@ -1,7 +1,7 @@
From b9a068e26261007d4a0592fcb47f82658af2c775 Mon Sep 17 00:00:00 2001
From: Michael Tremer <michael.tremer@ipfire.org>
Date: Mon, 3 Nov 2014 21:33:45 +0100
Subject: [PATCH 2/2] ARM: Read board model from device-tree in /proc
Subject: [PATCH 2/3] ARM: Read board model from device-tree in /proc
---
src/fireinfo/system.py | 35 +++++++++--------------------------

View File

@@ -0,0 +1,70 @@
From 810fe43289f5b003cbf80ebb1d9a79f52a767cdb Mon Sep 17 00:00:00 2001
From: Michael Tremer <michael.tremer@ipfire.org>
Date: Mon, 15 Dec 2014 22:48:26 +0100
Subject: [PATCH 3/3] Revert vendor/model for ARM to old behaviour
---
src/fireinfo/system.py | 33 +++++++++++++++++++++++++++++----
1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/src/fireinfo/system.py b/src/fireinfo/system.py
index 195832e9f7eb..ce33837af747 100644
--- a/src/fireinfo/system.py
+++ b/src/fireinfo/system.py
@@ -304,6 +304,27 @@ class System(object):
"""
return read_from_file("/sys/class/dmi/id/bios_vendor")
+ def vendor_model_tuple(self):
+ try:
+ s = self.__cpuinfo["Hardware"]
+ except KeyError:
+ return (None, None)
+
+ if s.startswith("ARM-Versatile"):
+ return ("ARM", s)
+
+ try:
+ v, m = s.split(" ", 1)
+ except ValueError:
+ if s.startswith("BCM"):
+ v = "Broadcom"
+ m = s
+ else:
+ v = None
+ m = s
+
+ return v, m
+
@property
def vendor(self):
"""
@@ -316,10 +337,10 @@ class System(object):
break
if ret is None:
- try:
- return self.__cpuinfo["Hardware"]
- except KeyError:
- pass
+ if os.path.exists("/proc/device-tree"):
+ ret = self.__cpuinfo.get("Hardware", None)
+ else:
+ ret, m = self.vendor_model_tuple()
return ret
@@ -340,6 +361,10 @@ class System(object):
# replace the NULL byte with which the DT string ends
ret = ret.replace(u"\u0000", "")
+ # Fall back to read /proc/cpuinfo
+ if not ret:
+ v, ret = self.vendor_model_tuple()
+
return ret
@property
--
1.9.3