blob: a51353bd9dd2dbb5d93149648c671fb2b7cafdf6 [file] [log] [blame]
#!/usr/bin/python
# GFLT* uses sysvar_cmd to read/write flash instead of hnvram.
# ginstall wants to call hnvram like:
# hnvram -w VAR1=val1 -w VAR2=val2 -w VAR3=val3
#
# This will translate those into sysvar_cmd calls.
import subprocess
import sys
SYSVAR_CMD = '/usr/bin/sysvar_cmd'
def Usage():
print 'Usage: hnvram -w var1=val1 -w var2=val2 ...'
def main():
if len(sys.argv) < 3:
Usage()
sys.exit(1)
vars_to_set = {}
idx = 1
# iterate through args and collect writes together.
while idx < len(sys.argv):
arg = sys.argv[idx]
if arg == '-w':
if idx+1 == len(sys.argv):
Usage()
sys.exit(1)
arg = sys.argv[idx+1]
key_val = arg.split('=', 1)
if len(key_val) != 2:
Usage()
sys.exit(1)
vars_to_set[key_val[0]] = key_val[1]
idx += 2
else:
print 'Ignoring unknown flag: %s' % (arg,)
idx += 1
# Now we should have a map of key,values
retval = 0
for k, v in vars_to_set.iteritems():
retval |= subprocess.call([SYSVAR_CMD, '--set', k, v])
sys.exit(retval)
if __name__ == '__main__':
main()