Import OEM build properties, if defined.

Certain products can define a list of system properties that should be
delegated to the OEM.  Since these properties may be ro.*, we give
them first shot at defining.

Also support blacklist of properties that should never be defined by
build.prop, used to delegate to runtime fingerprint generation.

Bug: 13367676
Change-Id: I3f00db732f485818205a7b76b31edbdc3a89aac0
This commit is contained in:
Jeff Sharkey
2014-03-18 17:20:10 -07:00
parent 9c2daa97e1
commit 26d22f7139
3 changed files with 23 additions and 3 deletions

View File

@@ -16,6 +16,9 @@
import sys
# Usage: post_process_props.py file.prop [blacklist_key, ...]
# Blacklisted keys are removed from the property file, if present
# See PROP_VALUE_MAX system_properties.h.
# PROP_VALUE_MAX in system_properties.h includes the termination NUL,
# so we decrease it by 1 here.
@@ -101,6 +104,10 @@ class PropFile:
return
self.lines.append(key + value)
def delete(self, name):
key = name + "="
self.lines = [ line for line in self.lines if not line.startswith(key) ]
def write(self, f):
f.write("\n".join(self.lines))
f.write("\n")
@@ -124,6 +131,10 @@ def main(argv):
if not validate(properties):
sys.exit(1)
# Drop any blacklisted keys
for key in argv[2:]:
properties.delete(key)
f = open(filename, 'w+')
properties.write(f)
f.close()