Running dupcheck.sh after a build on an image performs two checks:
* Check for duplicate shared libraries by MD5.
* Check for possible duplicate shared libraries by comparing .note
and .text ELF sections.
This helps looking for unnecessary file duplication in the final images.
Test: after running the script, reports will be generated in the 'out'
directory.
Change-Id: I91c044a52002557fdc8dc65bfc9fd5f313ca00f3
This is helpful for analyzing how often a library is included statically
on a device. If a large library is linked statically in many processes
in a single device, it may be a good candidate for shared linking
instead.
This increases the size of module-info.json file on Cuttlefish by ~12.5%
from 65MB to 72MB.
Test: m
Bug: 280829178
Change-Id: I3614d86d799810e1ce845e1097f43f1ec0a412a3
INTERNAL_PLATFORM_MISSING_USES_LIBRARIES was a workaround for CLC
construction. It's no longer needed because we have deferred the CLC
construction to Ninja phase.
Bug: 282877248
Test: Presubmit build tests.
Change-Id: Ib5d59caf58394f3bb93b4338146cbbbd58bb4f34
The sysprop to enable/disable AB OTA update is in vendor partition,
but the sysprop which stores list of AB partitions is in product(which
is on system side of treble boundary). This is inconsistent and might
cause problems during mixed build. To mitigate, add a copy of AB
partition list prop in vendor, and readers of this prop will prefer the
vendor copy instead.
Bug: 283042235
Test: th
Change-Id: Idd73971817f663b08824e285d840ed8d8dd60d2c
In the current setup in partner branch, we
1. Add blueprint_package_includes to prebuilts/module_sdk/*
2. Add the correct PRODUCT_INCLUDE_TAGS to partner_modules
This means in those setups,none of the prebuilts are visible to aosp products since
they they do not inherit partner_module makefiles.
```
e.g.
prebuilts/module_sdk/art/current/Android.bp
prebuilts/module_sdk/art/<go_specific>/current/Android.bp
// aosp_arm cannot find either
```
To solve this, this CL creates a default inclusion tag for all products
that do not set any PRODUCT_INCLUDE_TAGS explicitly.
In the previous example, Soong analysis of aosp_* will use
prebuilts/module_sdk/art/current/Android.bp. This should be a no-op for
aosp and internal branches since none of the Android.bp files today contains
blueprint_package_includes
Test: m nothing for aosp_arm in the test branch of b/278604467#comment20
Test: m nothing for partner product that uses big android sdk
Test: m nothing for partner product that uses go sdk
Bug: 278604467
Change-Id: I322b52c34ed339989207609dd0fd23c27ed1f697
It still depended on old intermediate files (out/host/common/obj/JAVA_LIBRARIES/<modulename>_intermediates//manifest.mf)
But the intermediate manifest.mf isn't created after aosp/2563995,
it causes merge_zip error due to missing file.
So make it use the manifest file from source directly.
Test: m out/host/common/obj/JAVA_LIBRARIES/ahat-tests_intermediates/classes-combined.jar
Bug: 278060169
Bug: 283821744
Bug: 283903672
Change-Id: Iebff6bf90b93dab693aef2492383cd3b03f239fb
* Extract BUILD_NUMBER, BUILD_HOSTNAME to file to avoid kati change
* Handle FILE_NAME_TAG_PLACEHOLDER string in dist in build/make/packaging/distdir.mk
Test: check if kati isn't invoked even though BUILD_NUMBER, BUILD_HOSTNAME
is changed
Test: m && m, and check if the second m is no-op
Bug: 278060169
Change-Id: I1b37760242853c1a145bad255d0bb15524234b25
Merged-In: I1b37760242853c1a145bad255d0bb15524234b25
This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.
BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.
Bug: 253827893
Test: m kernel_16k ramdisk_16k
Change-Id: Ibb36ba4c3399b3f193795aea6597a4aa535f1bec
This reverts commit c113a70221.
Doesn't work with OUT_DIR hard coded outside the tree.
Test: OUT_DIR=/source/whatever m
Bug: 283278495
Change-Id: I8cc74a9ec936b9c7502b97b9b7a4fd731988c407
This adds two new build variables, BOARD_KERNEL_PATH_16K and
BOARD_KERNEL_MODULES_16K . BOARD_KERNEL_PATH_16K will be copied
to output directory as is.
BOARD_KERNEL_MODULES_16K is a list of modules which will be packed into a
ramdisk and added to output dir. This allows cuttlefish to switch to 16K
kernel at runtime without adding too much overhead, as ramdisk building
takes very little time.
Bug: 253827893
Test: m kernel_16k ramdisk_16k
Change-Id: I4e49c727e5ed07a915145897cb987f29b0fe68e2
Automatic RROs don't make sense for tests, the tests can't rely on
overlays being installed on product or vendor. Creating the RROs
causes a race during builds that build both droid and device-tests
goals, as the RROs may be installed to the vendor directory as a
dependency of the device-tests goal before or after the vendor image
is packaged as a dependency of the droid goal. If the RROs are
installed first and the vendor image is low on space it may result
in an out-of-space error.
Bug: 282885159
Test: Rule to build $OUT/vendor/overlay/SystemUITests__*__auto_generated_rro_vendor.apk no longer exists
Change-Id: I760355ffb1818e91c02a98473312f9f21c149361
Merged-In: I760355ffb1818e91c02a98473312f9f21c149361