OSDN Git Service

Otapreopt: Implement new A/B OTA path
authorAndreas Gampe <agampe@google.com>
Mon, 27 Jun 2016 21:25:30 +0000 (14:25 -0700)
committerAndreas Gampe <agampe@google.com>
Wed, 13 Jul 2016 16:57:47 +0000 (09:57 -0700)
commit0354bd0eaf24de533e86885b811f816f1e4d15c8
treeeb7bc690382d91800bf5162404da98e0aa63d4d6
parentf9de6e0d7e7a12f4d70bb4828863efb035fc133b
Otapreopt: Implement new A/B OTA path

Refactor otapreopt_script, otapreopt_chroot and otapreopt such
that the actual work will be done as a child of the script driven
by update_engine.

The script now uses the new OtaDexoptService command to get the
right parameters for a dexopt call in otapreopt. As we reach
otapreopt_chroot and otapreopt directly, we can add parameters
without tainting the regular installd path. Use this to add the
target slot suffix, and make naming of the A/B artifacts include
the suffix instead of the generic "b."

Otapreopt_chroot startup is slightly complicated because all file
descriptors must be closed. Otherwise, dex2oat needs selinux
permissions to inherit the descriptors from update_engine.

Bug: 25612095
Bug: 28069686
Change-Id: I9d7b86ac8ecfdf91af3800f7e96f41534c0afc0f
cmds/installd/commands.cpp
cmds/installd/commands.h
cmds/installd/globals.cpp
cmds/installd/globals.h
cmds/installd/installd.cpp
cmds/installd/installd_constants.h
cmds/installd/installd_deps.h
cmds/installd/otapreopt.cpp
cmds/installd/otapreopt_chroot.cpp
cmds/installd/otapreopt_script.sh