Commit Graph

42148 Commits

Author SHA1 Message Date
Tao Bao d094713952 Merge "releasetools: Rename the ramdisk_dir in prop dict to root_dir." 2018-07-23 16:33:46 +00:00
SzuWei Lin 9f5ea99a34 Merge "Add A/B update to GSI" 2018-07-23 14:22:56 +00:00
Tao Bao 23a4070483 Merge "releasetools: Make scripts pylint clean." 2018-07-23 14:11:37 +00:00
SzuWei Lin bcc4081cd1 Merge "Move some BoardConfig settings from EmuCommon to GsiCommon" 2018-07-23 07:28:10 +00:00
Christopher Ferris ae08b51891 Merge "Add a few unwinder tools to debug tools." 2018-07-21 19:38:46 +00:00
Treehugger Robot a14c131154 Merge "Escape special HTML characters in warning messages." 2018-07-21 00:20:02 +00:00
Christopher Ferris 8421f6fb9d Add a few unwinder tools to debug tools.
These tools are useful for dumping elf information. Also, some of the
scripts in development are being modified to use some of these tools,
specifically, unwind_symbols.

Test: Do a clean userdebug build and verify that the tools are built.
Change-Id: Id26b8d2220dc542e8aa73d4b701916fa3d2ea804
Merged-In: Id26b8d2220dc542e8aa73d4b701916fa3d2ea804
(cherry picked from commit 6605dc01b4)
2018-07-20 16:06:22 -07:00
Tao Bao 8bfd3c7483 releasetools: Rename the ramdisk_dir in prop dict to root_dir.
This property indicates the path to the root directory (i.e.
TARGET_ROOT_OUT at build time, or ROOT/ in a target_files.zip).
build_image.py will only use this property when building a target using
system_root_image. Under such a configuration, files under this dir
never land into a ramdisk, but as part of system.img. This CL renames
the property name to avoid confusion.

Note that with this change releasetools keeps working with older
target_files zips that contain 'ramdisk_dir'. Because common.py doesn't
read the value of that property, but sets it to ROOT/ directly.

Test: `m dist` on aosp_marlin-userdebug.
Test: `m dist` on aosp_angler-userdebug.
Test: Run add_img_to_target_files.py with a new target_files.zip and an
      old target_files.zip respectively.
Change-Id: Ie9e19dd17d8c2abb4c4a97449e436774d5dd2a36
2018-07-20 16:05:36 -07:00
Tao Bao 80810b9d36 Merge "releasetools: Track the change to applypatch arguments." 2018-07-20 23:04:33 +00:00
Chih-Hung Hsieh b2afb63ac9 Escape special HTML characters in warning messages.
Bug: 111699078
Test: run warn.py with a build.log file
Change-Id: I553dad57a6d81ea6cc89289741d9963f49cc3b47
2018-07-20 15:36:26 -07:00
Sharif Elcott f6658018f6 Merge "Added Address Sanitizer clang config for x86_64." 2018-07-20 10:59:39 +00:00
Treehugger Robot ee17f42142 Merge "Add Atest tab completion script." 2018-07-20 10:27:27 +00:00
Anton Hansson 78e36736fe Merge "Move dep on PRODUCT_COPY_FILES to main.mk" 2018-07-20 10:12:37 +00:00
Dario Freni 3cf03b775a Merge "Add support for /product-services partition" 2018-07-20 09:00:25 +00:00
Dario Freni 88858574b0 Merge "Run appcompat on all /product modules." 2018-07-20 08:59:35 +00:00
Anton Hansson 5558838be1 Merge "Skip auto-gen rro packages for path requirements." 2018-07-20 08:10:50 +00:00
Sharif Elcott b71c33fbdc Added Address Sanitizer clang config for x86_64.
Without this, binaries built for an x64 target with Address Sanitizer enabled
fail to execute at runtime, failing with the error message "No such file or
directory".

Test: 1) Build any Android target that has asan enabled, such as statsd, on
any lunch target with suffix "_x86_64-eng". 2) Run 'file' on the generated
executable. 3) You should see "interpreter /system/bin/linker_asan64" rather
than "interpreter --gc-sections"

Bug: 111667639

Change-Id: I5d7e7f307d954d4cd48ff88a7d9d6a5732276296
2018-07-20 16:10:51 +09:00
SzuWei Lin 0472eec62c Add A/B update to GSI
The feature should work fine on the devices with partition _a and _b.
and will not be enabled on the devices without partition _a and _b.

Bug: 110763858
Test: build aosp_arm64-userdebug and aosp_arm64_ab-userdebug
Change-Id: I9f783dd6fe69eff2536a6aac0506e41c724510b2
Merged-In: I9f783dd6fe69eff2536a6aac0506e41c724510b2
2018-07-20 06:59:14 +00:00
Tri Vo 3e583e0b3d Merge "Add 28.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" 2018-07-20 00:56:27 +00:00
Treehugger Robot 805ab25e05 Merge "releasetools: Remove the assertion of not allowing thumbprint in Treble world." 2018-07-19 21:57:06 +00:00
Tao Bao 76def243ec releasetools: Make scripts pylint clean.
Clean up the following scripts.
  blockimgdiff.py
  common.py
  edify_generator.py
  img_from_target_files.py
  ota_from_target_files.py

Seems we don't have a way to force pylint-ing the scripts using
per-directory pylintrc files (and we don't have pylint tool in AOSP
repo), per
https://android.googlesource.com/platform/tools/repohooks/#todo_limitations.

Test: `m dist`
Test: pylint --rcfile=pylintrc <script.py>
Change-Id: Ia6fd1ddc86f4d84c68e500f225d4a89d0fea8ec7
2018-07-19 10:39:05 -07:00
Tao Bao 4223012099 releasetools: Remove the assertion of not allowing thumbprint in Treble world.
The claim in the original CL doesn't seem to hold. We may still have
devices using both of thumbprint and Treble compatibility check.

Bug: 111640956
Test; python -m unittest test_ota_from_target_files
Test: Build an incremental package for a target using thumbprints.
Change-Id: Ia491d5279901c2385d1c30802abcb99d65d919cc
2018-07-19 10:16:45 -07:00
Dario Freni 5f681e1dd7 Add support for /product-services partition
This CL is largely an adaptation of Change-Id
I774e6a38003734421591e51bed103802ff84f432

It adds the following variables:

- BOARD_AVB_PRODUCT_SERVICES_KEY_PATH
- BOARD_AVB_PRODUCT_SERVICES_ALGORITHM
- BOARD_AVB_PRODUCT_SERVICES_ROLLBACK_INDEX_LOCATION
- BOARD_PRODUCT_SERVICESIMAGE_FILE_SYSTEM_TYPE
- BOARD_PRODUCT_SERVICESIMAGE_EXTFS_INODE_COUNT
- BOARD_PRODUCT_SERVICESIMAGE_EXTFS_RSV_PCT
- BOARD_PRODUCT_SERVICESIMAGE_PARTITION_SIZE
- BOARD_PRODUCT_SERVICESIMAGE_JOURNAL_SIZE
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_BLOCK_SIZE
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_COMPRESSOR_OPT
- BOARD_PRODUCT_SERVICESIMAGE_SQUASHFS_DISABLE_4K_ALIGN
- BOARD_PREBUILT_PRODUCT_SERVICESIMAGE
- BOARD_USES_PRODUCT_SERVICESIMAGE
- LOCAL_PRODUCT_SERVICES_MODULE
- PRODUCT_PRODUCT_SERVICES_BASE_FS_PATH
- PRODUCT_PRODUCT_SERVICES_VERITY_PARTITION
- PRODUCT_PRODUCT_SERVICES_PROPERTIES
- TARGET_COPY_OUT_PRODUCT_SERVICES
- TARGET_OUT_PRODUCT_SERVICES
- TARGET_OUT_PRODUCT_SERVICES_*

Bug: 80741439
Test: Successfully built product-services.img with one module in it, and flashed
on device. Also successfully built image with /system/product-services directory
and no /product-services partition.
Change-Id: I5d229f6ac729ea6df9ff1f14cee2e28972cd9b4d
2018-07-19 11:15:11 +01:00
Tri Vo 047c4d544c Add 28.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS
Bug: 72458734
Test: m selinux_policy
Change-Id: I5104c14bcc45067723080c229895c9a7771b2651
2018-07-18 13:24:43 -07:00
Anton Hansson c62d15f077 Skip auto-gen rro packages for path requirements.
The way these packages are currently added to the build is via
modifications in product makefiles inheriting from mainline_system,
but with have the side effect of changing the REQURIED modules for
the source of the auto-gen RRO package.

Whitelist auto-generated RRO packages from the path requirement checks
for now.

Bug: 80410283
Test: make
Change-Id: Ib070e28e0ef87a57adfaedf6456585e8bfa29dd3
2018-07-18 15:52:57 +01:00
Anton Hansson 404d33c578 Move dep on PRODUCT_COPY_FILES to main.mk
Prior to this change the product-installed-files macro didn't include
PRODUCT_COPY_FILES, which is a problem for the artifact path
enforcements. Fix this by moving the dep on PCF into main.mk.

Leave the declaration in Makefile for now.

Test: diff modules_to_install before and after
Bug: 80410283
Change-Id: Ie7ecd5a963aedd2c573f4fe46d327829908aec03
Merged-In: Ie7ecd5a963aedd2c573f4fe46d327829908aec03
2018-07-18 14:05:20 +01:00
Dario Freni 1ecc925995 Run appcompat on all /product modules.
The output of the appcompat tool is store on $(PRODUCT_OUT)/appcompat.

Bug: 110073830
Bug: 78924201
Test: m
Change-Id: Ia77cc53fc241a048958cf243ba298298f800f933
2018-07-18 12:18:49 +01:00
SzuWei Lin e592c965ee Move some BoardConfig settings from EmuCommon to GsiCommon
Move the settings which effect the system image to the file
BoardConfigGsiCommon.mk

Bug: 80117040
Test: build aosp_arm64-userdebug and pass
Change-Id: I42b14a124992c21b2da0e9e6197b1c38c6e58ce3
Merged-In: I42b14a124992c21b2da0e9e6197b1c38c6e58ce3
2018-07-18 10:19:46 +00:00
Tao Bao 4948aed1a3 releasetools: Track the change to applypatch arguments.
This writes /system/bin/install-recovery.sh with the updated argument
formats. Requires matching changes to bootable/recovery/applypatch.

Bug: 110106408
Test: python -m unittest test_common.InstallRecoveryScriptFormatTest
Test: See additional tests in the other CL.
Change-Id: I2dec6f064819c01b5bb34c3d6fd0e247a5f48f08
2018-07-17 17:58:14 -07:00
Mathieu Chartier 401fada3f5 Merge "Revert "Revert "Default to nostripping for non /system preopt""" 2018-07-17 18:13:20 +00:00
Jim Tang a881a257ca Add Atest tab completion script.
Now Atest can autocomplete module names, dir and filenames with
tab completion, and zsh users can benefit from it.

Bug: 110629292
Test: In both bash and zsh environments:
    source build/envsetup.sh && lunch aosp_arm-eng
    atest <tab><tab>  # has candidates
    adb <tab><tab>    # has candidates
    ENVSETUP_NO_COMPLETION=atest:adb . build/envsetup.sh && lunch aosp_arm-eng
    atest <tab><tab>  # no candidates
    adb <tab><tab>    # no candidates

Change-Id: Ib1c9e02feeb8aaf75c0b97821ae26e13ba8df350
2018-07-17 14:27:32 +08:00
Treehugger Robot 226dd71836 Merge "Create extra symbolic links at root for arm64 GSI" 2018-07-17 04:04:12 +00:00
Treehugger Robot 45819baa42 Merge "Remove '=' from the valid module/stem names" 2018-07-17 02:51:29 +00:00
Mathieu Chartier fd5dfb817c Revert "Revert "Default to nostripping for non /system preopt""
Added logic to not preopt tests. Re-enabled usage of
my_module_multilib since this is referenced in setup_one_odex.

Bug: 110156979
Test: make
Test: forrest first boot tests

This reverts commit 9234def313.

Change-Id: I6a6ea2cd0024c33c0cfbd60f3a1f4ad5b1609dc8
2018-07-16 19:36:24 -07:00
Isaac Chen 50978e8640 Create extra symbolic links at root for arm64 GSI
Relevant firmware/SW components have been moved out of directories
under root, but not all references to them updated. For example,
/vendor/firmware_mnt won't be used by Android to load firmware.
So we still need these symlinks so the firmware/SW components can
be accesses.

These links should be removed after all references are updated.

Bug: 111287060
Test: $ lunch aosp_arm64-userdebug; m -j
      # Checked $OUT/root for the added links
Change-Id: Ia7915dbdeabdee7a5cf8851772e89f080b927c45
2018-07-17 10:10:31 +08:00
Dan Willemsen f012af1aab Remove '=' from the valid module/stem names
Kati produces errors when a variable containing '=' is used as a
dependency:

https://github.com/google/kati/issues/138

So provide a better error message instead.

Test: Add a module with an '=', see new error
Change-Id: I09d570a8d19abb067621af9983a9d568b643dfb0
2018-07-16 13:57:52 -07:00
Treehugger Robot 25e4495de1 Merge "Remove showcommands from docs" 2018-07-14 18:32:44 +00:00
Dan Willemsen 0ae41f2e79 Remove showcommands from docs
Test: none
Change-Id: Ia0be98049710175a0f3276841ef0c0bd2ccb60b6
2018-07-14 09:32:13 -07:00
Treehugger Robot 0e4c76743a Merge "fix typo" 2018-07-14 14:16:46 +00:00
Jiyong Park be4910a0de fix typo
PRIATE -> PRIVATE

Test: m -j
Change-Id: I33bbdcefee8acb16e9d8fcdb4c86ce294b3c1762
2018-07-14 15:06:48 +09:00
Treehugger Robot bc15d75e5c Merge "move device_manifest.xml to base_vendor.mk" 2018-07-13 02:56:01 +00:00
Tao Bao c26dea96a2 Merge "releasetools: Fix secondary payload generation." 2018-07-13 00:03:37 +00:00
Treehugger Robot 5787711e75 Merge "Add more status output" 2018-07-12 23:14:44 +00:00
Tao Bao 1248980a8b releasetools: Fix secondary payload generation.
The change in [1] removed duplicating radio images from RADIO/ to
IMAGES/. When getting the target_files zip for generating secondary
payload, we need to additionally copy the files under RADIO/ over.

[1] commit 5277d1015f

Test: python -m unittest test_ota_from_target_files
Test: Generate an OTA with secondary payload (--include_secondary).
Change-Id: I096f1642a905fb764e63f5df2edc1396aa6befd8
2018-07-12 14:52:52 -07:00
David Brazdil dc39f73d5b Merge "Add singleton rule for hiddenapi list generation" 2018-07-12 21:34:54 +00:00
Yifan Hong 17d4bcb83a move device_manifest.xml to base_vendor.mk
Test: make
Change-Id: I500269591065569f3102d025b222517dfd4e2c84
2018-07-12 11:23:52 -07:00
Treehugger Robot 901d05469e Merge "Revert "Default to nostripping for non /system preopt"" 2018-07-12 16:32:46 +00:00
Yueming Wang 9234def313 Revert "Default to nostripping for non /system preopt"
This reverts commit 25f9aa8c4b.

Reason for revert: This CL is likely to break several targets in pi-dev-plus-aosp and oc-mr1-dev-plus-aosp.

Change-Id: I3b29cbdf54007d2043ea1d2e4fe8d56d45eced9e
2018-07-12 14:38:59 +00:00
David Brazdil ab501e0d8b Add singleton rule for hiddenapi list generation
The lists of public/private APIs used for non-SDK API restriction
enforcement used to be generated by Doclava. In Q we're switching
to resolving android.jar (and other SDK stub JARs) against the boot
class path directly to avoid lowering Doclava's high-level view of
the framework and issues related to it.

This patch adds a new build rule which invokes `hiddenapi` on all
boot class path dex files simultaneously. The tool generates two
text files - one with public and one with private APIs.

Bug: 79409988
Test: m out/target/common/obj/PACKAGING/hiddenapi-private-list.txt
Merged-In: I826d8ac513a41a1d6d5e29a8300073158cff5acf
Change-Id: I826d8ac513a41a1d6d5e29a8300073158cff5acf
(cherry picked from commit a39db48511)
2018-07-12 08:58:14 +00:00
Mathieu Chartier f37c37bac8 Merge "Default to nostripping for non /system preopt" 2018-07-11 23:43:58 +00:00