* commit '7400820330b39bc5d044c6f9c46d06a7650c83f1': Scan all init.*.rc files for flash_recovery service.
This commit is contained in:
commit
d94525ca52
1 changed files with 16 additions and 6 deletions
|
@ -1388,18 +1388,28 @@ fi
|
||||||
'bonus_args': bonus_args}
|
'bonus_args': bonus_args}
|
||||||
|
|
||||||
# The install script location moved from /system/etc to /system/bin
|
# The install script location moved from /system/etc to /system/bin
|
||||||
# in the L release. Parse the init.rc file to find out where the
|
# in the L release. Parse init.*.rc files to find out where the
|
||||||
# target-files expects it to be, and put it there.
|
# target-files expects it to be, and put it there.
|
||||||
sh_location = "etc/install-recovery.sh"
|
sh_location = "etc/install-recovery.sh"
|
||||||
try:
|
found = False
|
||||||
with open(os.path.join(input_dir, "BOOT", "RAMDISK", "init.rc")) as f:
|
init_rc_dir = os.path.join(input_dir, "BOOT", "RAMDISK")
|
||||||
|
init_rc_files = os.listdir(init_rc_dir)
|
||||||
|
for init_rc_file in init_rc_files:
|
||||||
|
if (not init_rc_file.startswith('init.') or
|
||||||
|
not init_rc_file.endswith('.rc')):
|
||||||
|
continue
|
||||||
|
|
||||||
|
with open(os.path.join(init_rc_dir, init_rc_file)) as f:
|
||||||
for line in f:
|
for line in f:
|
||||||
m = re.match(r"^service flash_recovery /system/(\S+)\s*$", line)
|
m = re.match(r"^service flash_recovery /system/(\S+)\s*$", line)
|
||||||
if m:
|
if m:
|
||||||
sh_location = m.group(1)
|
sh_location = m.group(1)
|
||||||
print "putting script in", sh_location
|
found = True
|
||||||
break
|
break
|
||||||
except (OSError, IOError) as e:
|
|
||||||
print "failed to read init.rc: %s" % (e,)
|
if found:
|
||||||
|
break
|
||||||
|
|
||||||
|
print "putting script in", sh_location
|
||||||
|
|
||||||
output_sink(sh_location, sh)
|
output_sink(sh_location, sh)
|
||||||
|
|
Loading…
Reference in a new issue