Include 'ro.system.product.cpu.abilist', 'ro.vendor.product.cpu.abilist' and 'ro.odm.product.cpu.abilist' in the search.
Set 'device_architecture' using 'ro.product.cpu.abilist' if it matches 'ro.system.product.cpu.abilist'.
If 'device_architecture' was not set, try to set it from another prop value.
- If exists, use 'ro.system.product.cpu.abilist'
- If exists, use 'ro.vendor.product.cpu.abilist'
- If exists, use 'ro.odm.product.cpu.abilist'
- Fall back to 'ro.product.cpu.abi' if it still exists.
- Give up and set it to what ever 'ro.product.cpu.abilist' returns.
- fix /system/bin/* execution on recoveries using LD_CONFIG_FILE
- add additional BOOTCLASSPATH entry for /apex mounts
- try to preserve a working /etc/fstab on AOSP Q-based recovery and newer
- fix sloppy/unpredictable `cmd && this || that` statements by being a bit more POSIX to avoid any potential issues when stdout/err are redirected
- do apex mounts before /system bind to always ensure a working underlying shell environment
- improve support for mounting dynamic/logical partitions from /dev/block/mapper
- don't rely on props if possible: determine dynamic/logical partitions from /dev/block/mapper presence, and detect slots more robustly using props and cmdline
- clean up all use of test
The pixel launcher overlay apk gives exclusive special permissions to
the pixel launcher app for the Recents UI. This causes aosp/stock
launchers to crash. The pixel launcher overlay is only installed
in api28 and newer, so this change adds launcher to the removal list
in api28+ to fix this problem.
* This makes OpenGApps tvmini fit on the smallest most relevant build target - fugu (Nexus Player) - our certs have been revoked anyway, so no protected content, and therefore installing it from the Play Store is fine.
* On devices with a separate product partition, addon scripts were
not able to remove AOSP counterpart apps among possibly other
similar issues as well
* So fix it by mounting product before we get started
* While we're at it, mount vendor too since its mounted in the
main installer script
* Thanks to @NikhilMenghani for his input
* As we dont mount /product for devices that are not dynamic
and have a separate partition, on such devices AOSP counterpart
apps in /product end up not being removed, among possibly other
similar issues as well.
* So mount it.
Thanks to @nikhilmenghani for the tip
The ch_con function was renamed to ch_con_system in a previous commit
but all calls were not renamed, so this change fixes that.
Addresses following errors during zip install:
/tmp/installer.sh: line 1454: ch_con: not found
/tmp/installer.sh: line 2958: ch_con: not found
/tmp/installer.sh: line 2961: ch_con: not found
Per discussion in issue #855 and PR #856 - removing
the preodex code paths as they do no function as expected
and will actually cause issues on newer devices.
Rather than assume that `$PWD` is also `$TOP`, discover `$TOP` by
`cd`ing to the directory containing the script. This assumes that the
script is not executed via symlink, or, if it is, that the symlink is
in the same directory as the script itself.
Also eliminate the remaining uses of `realpath`.