Previously the wrong variables were checked to see if the prefix
matches, so e.g. no cc_prebuilt_binary were generated for those
binaries.
Change-Id: I744c6f6a4584921a26547478ac14a160c56e07b7
"comm" requires both input to be sorted. The T_X_LIB32 and T_X_LIB64
arrays from prefix_match-ing PRODUCT_PACKAGES_LIST may not always
be sorted, which causes certain multilib to be mis-categorized as
32-bit and 64-bit separately. The final blueprint would then have
duplicated targets.
Therefore, sort the package list first so that arrays generated
from the package list are also sorted. Set LC_ALL=C to avoid "sort"
using system locale.
Change-Id: Ia2bc9733d89de66eda52059237a54d624ba4b0ad
Signed-off-by: Chenyang Zhong <zhongcy95@gmail.com>
Android 11 has removed /sbin support completely
Remove rootfs handling as that was only added for /sbin
Remove write_makefile_packages since it's no longer used
Change-Id: Ie44656d5e30da9637a850df53c4bf3fa1ab0fb2b
* Useful for BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES
if package name conflicts with something source-built but the output location differs
Change-Id: I3af45eae6b2d2cfc583128628edfef9e37ea3976
comm behavior will fail if does not receive a properly lexicographic
sort.
Not using appropiated LC_COLLATE leads to error. This is matching
current LC_ALL=C already used at sort commands.
Change-Id: I77f8acb419545a74812d3b36ba608719c2aa89e3
* Handles both sparse images as well as filesystem images
* Uses debugfs to extract, no root needed!
* Usecase: Factory images
Change-Id: I3e1bc3834dea108e63ab707a1a89dc2d0743913e
* This list hasn't been updated in a long time and doesn't contain
all the default vendor modules. Simply drop it and regenerate the
full list device side automatically with a script.
Change-Id: I8cf99d1b726f390f9a3bc2903e69eb26da7ebea9
This follows the style google uses, for example in [1].
With this change it will generate 'overrides: ["TargetOne", "TargetTwo"],'
instead of 'overrides: ["TargetOne TargetTwo"],' for this line:
-system/app/TargetZero/TargetZero.apk;OVERRIDES=TargetOne,TargetTwo
[1]: 2daf3ecf89/Android.bp (L53)
Change-Id: I154ee3a4cc51e0938c860dcfc125eacf279d102e
This unifies arguments parsing + fixes case where OVERRIDES=pkg would
generate .bp without `certificate: "platform"`.
Change-Id: I0036e0e942ff9272da10f14aeb7235f0b6b92b00
* An example of how this can be used is say a device
wants to use the original OEM camera, e.g. Essential PH-1.
Klik is required in order to use the external camera
module that you could buy for the device so it's preferred
to use it over Camera2 or Snap.
* An example of how to use this argument:
-system/priv-app/Klik/Klik.apk;OVERRIDES=Camera2
Change-Id: I2504cbb760b20ed86c2dc088cc4bd74b78ba64d9
* Result of patchelf v0.9:
E dlopen failed: "/vendor/lib64/libvendor.goodix.hardware.fingerprint@1.0-service.so" loaded phdr 0x70d4cd6000 not in loadable segment
* While searching up this issue, I found a LineageOS Gerrit change (Ibeb09b6ec37ef62b6a5abe40bae1e8bd8d92e7af) with the same error
* Hamsi2k mentioned in the change that patchelf v0.8 is needed to fix the issue
* Building patchelf v0.8 and trying to patch the blobs works
* Implement versioned patchelf logic, allowing the script to both select the default patchelf and a specific patchelf version only for some files
* Leave 0.9 as the default version to not change the default behaviour
Change-Id: I6c0cbe76baf241233fdd125f5ed1eccbd5855124
It doesn't make sense to place a copyright header in
automatically generated makefiles, plus this is a grey
area since we are extracting proprietary OEM files.
Let's be safe and replace the Apache 2.0 header with
a warning regarding manual modification of the makefiles.
Change-Id: I7cafd3f0def33efff96af60280646c44c1ba9a53
No need to force branding down everyone's throat,
most of the other android forks using these scripts are
rebranding the variables anyway.
Let's reduce fragmentation.
Change-Id: Ie9c223d1a42728076f45b40a11cd0820010db8b1
* Move $PATCHELF exporting from oat2dex to setup_vendor
* Since it requires $HOST to be set, let's make it global, so oat2dex can also use it
Change-Id: I4556a3c19cd01c9b3a68d358d19a361217d9c3c1
* This is indeed a nice feature, but it's absolutely a bad idea to
hardcode dependencies of prebuilt modules in proprietary-files.txt.
Change-Id: I8c2d75ff62c0c7862f40e777bcbad4d9cebc074c
* zip stores timestamp for all included files. The timestamps of dex
files are different across different runs, result in inconsistent
checksum of output apk/jar.
* Workaround the issue by using fixed timestamp for dex files.
Change-Id: I21f3a7e32cdfdb07c5f5c140df2e797efd4a8005