Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAjay Garg <ajay@activitycentral.com>2012-09-27 18:49:16 (GMT)
committer Ajay Garg <ajay@activitycentral.com>2012-09-27 18:49:16 (GMT)
commitcbc6fba10bc979cea82fc3cc2f706c0408d7b9e4 (patch)
tree4898686f58d49ee3b2f157d9fe70b99e650bccaa
parent3f23f35f3086d5569c1a1db55fdd0b006d9716ee (diff)
sdxo#2379: Fix the logic of computing XO-Serial Number.
-rw-r--r--rpms/sugar/0149-sdxo-2379-Fix-the-logic-of-computing-XO-Serial-Numbe.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/rpms/sugar/0149-sdxo-2379-Fix-the-logic-of-computing-XO-Serial-Numbe.patch b/rpms/sugar/0149-sdxo-2379-Fix-the-logic-of-computing-XO-Serial-Numbe.patch
new file mode 100644
index 0000000..2c7294b
--- /dev/null
+++ b/rpms/sugar/0149-sdxo-2379-Fix-the-logic-of-computing-XO-Serial-Numbe.patch
@@ -0,0 +1,62 @@
+From c7c1696ae3dd3cd2f2dff6c4ab752f0778499bf3 Mon Sep 17 00:00:00 2001
+From: Ajay Garg <ajay@activitycentral.com>
+Date: Fri, 28 Sep 2012 00:14:41 +0530
+Subject: [PATCH] sdxo#2379: Fix the logic of computing XO-Serial Number.
+Organization: Sugar Labs Foundation
+Signed-off-by: Ajay Garg <ajay@activitycentral.com>
+---
+ src/jarabe/journal/misc.py | 33 +++++++++++++++++++++++++--------
+ 1 files changed, 25 insertions(+), 8 deletions(-)
+
+diff --git a/src/jarabe/journal/misc.py b/src/jarabe/journal/misc.py
+index 2c5d39a..e5b135d 100644
+--- a/src/jarabe/journal/misc.py
++++ b/src/jarabe/journal/misc.py
+@@ -323,19 +323,36 @@ def get_backup_identifier():
+ return serial_number
+
+ def get_xo_serial():
+- path = '/ofw/serial-number'
++ _OFW_TREE = '/ofw'
++ _PROC_TREE = '/proc/device-tree'
++ _SN = 'serial-number'
++ _not_available = _('Not available')
+
++ serial_no = None
++ if os.path.exists(os.path.join(_OFW_TREE, _SN)):
++ serial_no = read_file(os.path.join(_OFW_TREE, _SN))
++ elif os.path.exists(os.path.join(_PROC_TREE, _SN)):
++ serial_no = read_file(os.path.join(_PROC_TREE, _SN))
++
++ if serial_no is None:
++ serial_no = _not_available
++
++ # Remove the trailing binary character, else DBUS will crash.
++ return serial_no.rstrip('\x00')
++
++
++def read_file(path):
+ if os.access(path, os.R_OK) == 0:
+ return None
+
+- file_descriptor = open(path, 'r')
+- content = file_descriptor.read()
+- file_descriptor.close()
+-
+- if content:
+- return content.strip()
++ fd = open(path, 'r')
++ value = fd.read()
++ fd.close()
++ if value:
++ value = value.strip('\n')
++ return value
+ else:
+- logging.error('No serial number at %s', path)
++ logging.debug('No information in file or directory: %s', path)
+ return None
+
+ def get_nick():
+--
+1.7.4.4
+