dist, dev: fix etherswitch upgrade script

The aforementioned upgrader in [1] assumes every option in [system]
has a delimiting '.', and also seems to do its rewriting work a bit too
unconditionally.  Most checkpoints in the wild don't have this device,
in which case this script should be a safe no-op.

[1] 2aa4d7b  dist, dev: Fixed the packet ordering in etherswitch

Change-Id: Icfd0350985109df1628eb9ab864cda42c54060a8
Reviewed-by: Gabor Dozsa <gabor.dozsa@arm.com>
This commit is contained in:
Curtis Dunham 2016-12-19 12:12:28 -06:00
parent bc7ab6970a
commit b7d072b235

View file

@ -4,18 +4,19 @@ def upgrader(cpt):
options = cpt.items(sec) options = cpt.items(sec)
for it in options: for it in options:
opt_split = it[0].split('.') opt_split = it[0].split('.')
if len(opt_split) < 2: continue
new_sec_name = opt_split[1] new_sec_name = opt_split[1]
old_opt_name = opt_split[len(opt_split) - 1] old_opt_name = opt_split[len(opt_split) - 1]
if "outputFifo" in new_sec_name: if "outputFifo" in new_sec_name:
new_sec_name = new_sec_name.rstrip("outputFifo") new_sec_name = new_sec_name.rstrip("outputFifo")
new_sec_name += ".outputFifo" new_sec_name += ".outputFifo"
new_sec_name = "system.system.%s" %(new_sec_name) new_sec_name = "system.system.%s" %(new_sec_name)
if not cpt.has_section(new_sec_name): if not cpt.has_section(new_sec_name):
cpt.add_section(new_sec_name) cpt.add_section(new_sec_name)
if old_opt_name == "size": if old_opt_name == "size":
cpt.set(new_sec_name, "_size", it[1]) cpt.set(new_sec_name, "_size", it[1])
elif old_opt_name == "packets": elif old_opt_name == "packets":
cpt.set(new_sec_name, "fifosize", it[1]) cpt.set(new_sec_name, "fifosize", it[1])
else: else:
cpt.set(new_sec_name, old_opt_name, it[1]) cpt.set(new_sec_name, old_opt_name, it[1])
cpt.remove_option(sec, it[0]) cpt.remove_option(sec, it[0])