From 16b09719616f96616c8fd7286f789226ea75370b Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Thu, 15 Feb 2018 16:28:43 +0000 Subject: [PATCH] sdm660-common: Add unpinning support to update-sha1sums.py script Change-Id: I9035b449cea6d78927a459dc247075b3d4512e46 --- update-sha1sums.py | 55 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/update-sha1sums.py b/update-sha1sums.py index b51c15968d41..200c2d8923fa 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 @@ 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()