summaryrefslogtreecommitdiff
path: root/update-sha1sums.py
diff options
context:
space:
mode:
authorBruno Martins <bgcngm@gmail.com>2018-02-15 16:28:43 +0000
committerIsaac Chen <tingyi364@gmail.com>2019-11-05 13:16:20 +0100
commite6f59ac6c0ae535842d1fc17082d8c97a298fb4c (patch)
tree2fbdef0ac55dceea69862f020faad164b63a018f /update-sha1sums.py
parent93bc63ba8d2ae6845e89551664c4916a60ca225c (diff)
sdm660-common: Add unpinning support to update-sha1sums.py script
Change-Id: I9035b449cea6d78927a459dc247075b3d4512e46
Diffstat (limited to 'update-sha1sums.py')
-rwxr-xr-xupdate-sha1sums.py55
1 files changed, 38 insertions, 17 deletions
diff --git a/update-sha1sums.py b/update-sha1sums.py
index b51c159..200c2d8 100755
--- a/update-sha1sums.py
+++ b/update-sha1sums.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
#
# Copyright (C) 2016 The CyanogenMod Project
-# Copyright (C) 2017 The LineageOS Project
+# Copyright (C) 2017-2018 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
#
from hashlib import sha1
+import sys
device='sdm660-common'
vendor='xiaomi'
@@ -25,34 +26,54 @@ lines = [ line for line in open('proprietary-files.txt', 'r') ]
vendorPath = '../../../vendor/' + vendor + '/' + device + '/proprietary'
needSHA1 = False
-for index, line in enumerate(lines):
+def cleanup():
+ for index, line in enumerate(lines):
+ # Remove '\n' character
+ line = line[:-1]
+
+ # Skip empty or commented lines
+ if len(line) == 0 or line[0] == '#':
+ continue
+
+ # Drop SHA1 hash, if existing
+ if '|' in line:
+ line = line.split('|')[0]
+ lines[index] = '%s\n' % (line)
+
+def update():
+ for index, line in enumerate(lines):
# Remove '\n' character
line = line[:-1]
# Skip empty lines
if len(line) == 0:
- continue
+ continue
# Check if we need to set SHA1 hash for the next files
if line[0] == '#':
- needSHA1 = (' - from' in line)
- continue
+ needSHA1 = (' - from' in line)
+ continue
if needSHA1:
- # Remove existing SHA1 hash
- line = line.split('|')[0]
- filePath = line.split(':')[1] if len(line.split(':')) == 2 else line
+ # Remove existing SHA1 hash
+ line = line.split('|')[0]
+ filePath = line.split(':')[1] if len(line.split(':')) == 2 else line
+
+ if filePath[0] == '-':
+ file = open('%s/%s' % (vendorPath, filePath[1:]), 'rb').read()
+ else:
+ file = open('%s/%s' % (vendorPath, filePath), 'rb').read()
- if filePath[0] == '-':
- file = open('%s/%s' % (vendorPath, filePath[1:]), 'rb').read()
- else:
- file = open('%s/%s' % (vendorPath, filePath), 'rb').read()
+ hash = sha1(file).hexdigest()
+ lines[index] = '%s|%s\n' % (line, hash)
- hash = sha1(file).hexdigest()
- lines[index] = '%s|%s\n' % (line, hash)
+if len(sys.argv) == 2 and sys.argv[1] == '-c':
+ cleanup()
+else:
+ update()
with open('proprietary-files.txt', 'w') as file:
- for line in lines:
- file.write(line)
+ for line in lines:
+ file.write(line)
- file.close()
+ file.close()