Commit graph

30422 commits

Author SHA1 Message Date
Tao Bao
d42e97ebb4 Build recovery-two-step.img for two-step OTAs.
In two-step OTAs, we write recovery image to /boot as the first step so
that we can reboot from there and install a new recovery image to
/recovery. However, bootloader will show "Your device is corrupt"
message when booting /boot with the recovery image. Because the recovery
image encodes the path of "/recovery" as part of the signature metadata,
which fails the verified boot.

This CL generates a special "recovery-two-step.img" in addition to the
regular recovery.img. This image encodes "/boot" when being signed,
which will be flashed to /boot at stage 1/3 in a two-step OTA.

Here are the desired changes:

- 'IMAGES/recovery-two-step.img' exists in target_files.zip for non-A/B
targets (e.g. bullhead). The image should not exist for targets that
don't have a recovery partition (e.g. A/B devices like sailfish).

- <device>-img.zip should not contain 'recovery-two-step.img'.

- Nothing should change when building non-two-step OTAs. For two-step
OTAs, 'recovery-two-step.img' should be included in the OTA package;
'updater-script' should flash this image to /boot at stage 1/3.

- When building a two-step OTA with an input TF.zip that doesn't have
  IMAGES/recovery-two-step.img, it should use the existing
  IMAGES/recovery.img instead.

Bug: 32986477
Test: Tested the steps above on bullhead and sailfish.
Change-Id: I34e6c599bcf2011d4cd5c926999418b3975d6d0f
2016-12-01 17:47:59 -08:00
Pirama Arumuga Nainar
ec0d7cbc49 Merge "Do not *directly* package libbcc.so" 2016-12-01 17:58:47 +00:00
Tao Bao
8df4fea85f Merge "releasetools: Remove dead parameter in GetBootableImage()." 2016-12-01 17:02:07 +00:00
Paul Duffin
32cc1f80e5 Merge "Replace core-junit with legacy-test" 2016-12-01 10:34:07 +00:00
Tao Bao
2a4336bc04 releasetools: Remove dead parameter in GetBootableImage().
The 'system_img_path' parameter was introduced in commit
d995f4b04d, but became obsolete since
commit 2ce63edab7.

Test: m dist
Change-Id: Iffd496d929db5cc3dfc955a48bfc1b1317bd012f
2016-12-01 00:08:27 -08:00
Treehugger Robot
9a3bd76ab4 Merge changes from topic 'simplify_app_process_asan_modules'
* changes:
  Revert "Build: Add sanitized app_process"
  Revert "Build: Add asanwrapper in SANITIZE_LITE"
2016-12-01 02:38:29 +00:00
Andreas Gampe
88d43677f5 Revert "Build: Add sanitized app_process"
This reverts commit a35d92e431.

The app_process__asan module is merged into app_process.

Bug: 33224213
Test: m
Change-Id: I5e3e836c67b5bd17cf967f1b2429e39c4e18557b
2016-11-30 16:40:13 -08:00
Andreas Gampe
4938f3300a Revert "Build: Add asanwrapper in SANITIZE_LITE"
This reverts commit eee31511f7.

Rewriting of app_process adds an automatic dependency.

Bug: 33224213
Test: m
Change-Id: Idd9509d116692954224f4d2ffd6c81b69e9a85a3
2016-11-30 16:39:40 -08:00
Pirama Arumuga Nainar
f3121cd73f Do not *directly* package libbcc.so
Bug: http://b/28866258

Remove libbcc.so from the list of directly packaged modules.  64-bit
libbcc.so gets included as a dependency for the bcc executable (which is
a required package).  32-bit libbcc.so is no longer necessary on 64-bit
devices.

This change also removes 32-bit libLLVM.so from a 64-bit system image
(leading to a 13M reduction in Angler's system image on AOSP) and a
considerable reduction in build time.

Test: - Build all topics in this CL
      - RsTest (including the 32-bit ABI) and CTS tests pass on x86 and
        x86_64 emulators and Angler.

Change-Id: I10f07e322a615f37d6967b7c938635f544ddceff
2016-11-30 15:45:25 -08:00
Treehugger Robot
de24e6198e Merge changes from topic 'app_process_sanitized_binaries'
* changes:
  Build: Add asanwrapper in SANITIZE_LITE
  Build: Add sanitized app_process
2016-11-30 21:00:56 +00:00
Andreas Gampe
eee31511f7 Build: Add asanwrapper in SANITIZE_LITE
Add asanwrapper helper binary to PRODUCT_PACKAGES when building with
SANITIZE_LITE=true.

Bug: 33224213
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true && ls $OUT/system/bin/asanwrapper
Change-Id: Ic4d8973b9e9ddfd9ef8663735bf5f70d8f9f70e1
2016-11-30 10:20:20 -08:00
Paul Duffin
6470f4fa99 Replace core-junit with legacy-test
m -j32 checkbuild cts droid
adb reboot bootloader
fastboot flashall -w
cts-tradefed run cts -m CtsLibcoreTestCases

Bug: 30188076
Test: As above
Change-Id: I2d49cb3c451cb265d026f9a700a61b3fc0d2ed82
2016-11-30 13:50:56 +00:00
Andreas Gampe
a35d92e431 Build: Add sanitized app_process
Add sanitized app_process module to PRODUCT_PACKAGES when building
with SANITIZE_LITE=true

Bug: 33224213
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true && ls $OUT/system/bin/asan
Change-Id: Ic67976f1b897b638d569ec6f42d5a8d59f8a9285
2016-11-29 19:22:01 -08:00
Treehugger Robot
2bbeae7f8a Merge "Revert "Build: Bring back SDK dependencies"" 2016-11-30 00:39:34 +00:00
Treehugger Robot
e69f15c9dc Merge changes from topic 'basic_vndk'
* changes:
  Prohibit host modules from using LOCAL_COPY_HEADERS
  Add basic VNDK support in Make
  Remove GLOBAL_LD_DIRS
2016-11-29 20:36:04 +00:00
Dan Willemsen
6e51ef61a7 Prohibit host modules from using LOCAL_COPY_HEADERS
There are no users left, so remove all of this.

Test: lunch aosp_arm-eng; m -j native
Test: build/tools/kati_all_products.sh on aosp and internal master
Change-Id: I32f5c8b470a43dd203d7e20c192167630e4e6888
2016-11-28 13:46:17 -08:00
Dan Willemsen
bab0fa6928 Add basic VNDK support in Make
Add BOARD_VNDK_VERSION and LOCAL_USE_VNDK to specify the version of the
VNDK that will be used globally, and whether to use the VNDK on a module
basis.

If the board is using the VNDK:

* LOCAL_COPY_HEADERS may only be used by modules defining LOCAL_USE_VNDK
* LOCAL_USE_VNDK modules will compile against the NDK headers and stub
  libraries, but continue to use the platform libc++.
* LOCAL_USE_VNDK modules will not have the global includes like
  system/core/include, but it will use device-specific kernel headers.

This change does not attempt to enforce any linking constraints, that
will come in a later patch.

Test: out/build-aosp_arm.ninja is identical before/after
Change-Id: Icce65d4974f085093d500b5b2516983788fe2905
2016-11-28 13:46:17 -08:00
Dan Willemsen
e5836c4bb0 Remove GLOBAL_LD_DIRS
The last user of this was the NDK, which has been using full paths in
binary.mk. So remove it.

Test: lunch aosp_arm-eng; m -j native
Change-Id: Ida2523a2d19131ee3ef005edb3e5bcf830710b11
2016-11-28 13:46:17 -08:00
Tao Bao
31543713fc Merge "Makefile: Pack verity_verifier into otatools.zip." 2016-11-28 18:04:04 +00:00
Tao Bao
7f02f3413b Makefile: Pack verity_verifier into otatools.zip.
verity_verifier is needed when verifying verity metadata.

Bug: 32173582
Test: `m otatools-package`
Change-Id: I63fdeb75cdca10ea38c1df978d64701acdd4c1db
2016-11-22 15:36:57 -08:00
Ian Rogers
7ed3af23a8 Merge "Update warn.py for new Error Prone diagnostics" 2016-11-22 18:43:51 +00:00
Nick Glorioso
8a7b25c736 Update warn.py for new Error Prone diagnostics
Test: Local build, tee'd to file, ran warn.py and checked output HTML
Change-Id: Iee3386e88c73e4b8e0a1fcc60105ee5fb86e3cb0
2016-11-22 10:35:07 -08:00
Treehugger Robot
c7d2fe614e Merge "Support LOCAL_SDK_VERSION := current for NDK." 2016-11-18 19:04:40 +00:00
Andreas Gampe
5d9c6165d0 Revert "Build: Bring back SDK dependencies"
This reverts commit ff00c5d78f.

Test: m
2016-11-17 19:42:51 -08:00
Andreas Gampe
eb06c77b80 Merge "Build: Bring back SDK dependencies" 2016-11-18 02:53:29 +00:00
Andreas Gampe
ff00c5d78f Build: Bring back SDK dependencies
Temporarily re-add SDK dependencies to runtime_libart.mk.

Test: m sdk_repo
Change-Id: I5c2054d7be6ea1c5e6eadbcb3453cabfc64728d6
2016-11-17 18:21:36 -08:00
Treehugger Robot
020f5275d5 Merge "Build: Refactor and clean up runtime_libart" 2016-11-18 01:25:53 +00:00
Treehugger Robot
052a01958c Merge "fs_config: move sort to be consistent with other sort" 2016-11-18 00:29:53 +00:00
Treehugger Robot
4baaf905ee Merge "fs_config: correct README" 2016-11-17 23:30:51 +00:00
Treehugger Robot
709aaa5aea Merge "Build: Add agent library to default packages" 2016-11-17 23:17:09 +00:00
Andreas Gampe
9a3e5ac355 Build: Refactor and clean up runtime_libart
Split out dependencies and removes some transitives. In preparation
for moving the modules.

Test: m
Test: Device boots
Change-Id: I7cdccd178eef9a625607a74ba8496651591e4cb4
2016-11-17 14:37:11 -08:00
William Roberts
8cb6a1893e fs_config: move sort to be consistent with other sort
Test: Checked diff and hash of before and after output files, same.
Test: Tested build for basic boot and functionality.
Change-Id: If7806427e3a2a9ddb7a2c9aa14e1e4f9bf696acf
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-17 14:18:38 -08:00
William Roberts
db616f0091 fs_config: correct README
Testing on earlier versions of Python indicated an error in the
README. Python's ConfigParser prior to version 3.2 allows for
sections within the same file to override later sections.
Correct the README.

Test: Checked diff and hash of output file from before and after.
Change-Id: Ifd3f78414b4803e4b74decb1fdf6816d4902c4a2
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-11-17 13:10:55 -08:00
Andreas Gampe
cd82dceb3c Build: Add agent library to default packages
Add libopenjdkjvmti to ART dependencies.

Bug: 31455788
Test: m && ls $OUT/system/lib/libopenjdkjvmti.so
Change-Id: Iccf35f04548d74df87ec05f2cb555c1db9d137c6
2016-11-17 13:05:13 -08:00
Chih-hung Hsieh
e4fb495b09 Merge "Separate parallel_classify_warnings out of parse_input_file." 2016-11-15 22:19:36 +00:00
Treehugger Robot
07b4a59843 Merge "Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES." 2016-11-15 19:21:13 +00:00
Dan Willemsen
7d4c926ed7 Merge "Use new -ninja flag to aidl-cpp" 2016-11-13 19:53:39 +00:00
Dan Willemsen
fb84281342 Use new -ninja flag to aidl-cpp
This make aidl-cpp write out a dep file that ninja parses correctly.

Test: Manually inspect ninja depfile
Change-Id: I4890a91eb29a6388e17b1ffac23a3dc0ffe6c212
2016-11-13 09:44:25 -08:00
Dan Willemsen
da85fecaf1 Merge "Remove transform-d-to-p" 2016-11-11 21:38:53 +00:00
Robert Sesek
dcb603f115 Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES.
Test: lunch aosp_angler-eng && m checkbuild

Bug: 21643067
Change-Id: I1e0b81055fb74d7238f245e11bf2409c776f2efd
2016-11-11 12:38:13 -05:00
Dan Willemsen
461d844a40 Remove transform-d-to-p
Ninja doesn't need the phony make targets, in fact, the parser doesn't
handle them correctly and ends up duplicating the dependencies. This
shrinks a `m native` deps file from 54M -> 35M on AOSP.

Test: Compare out/build-aosp_angler.ninja before/after
Test: wrote a tool to dump the .ninja_deps, added dedup feature, files
      identical after dedup.
Change-Id: Iec7a9a0739e8678c1f4db79c68e423a39b9aad4b
2016-11-10 21:55:01 -08:00
Dan Willemsen
a9daf15d87 Merge "Fix vendor/google/build/ninja_config.mk" 2016-11-11 05:35:05 +00:00
Dan Willemsen
1ff5fa11c4 Fix vendor/google/build/ninja_config.mk
This needs to be included between PARSE_TIME_MAKE_GOALS and KATI_GOALS

Test: m -j <target-from-internal>
Change-Id: I7284f05336b921d40f04ff5811a47bd0d17a066f
2016-11-10 19:41:27 -08:00
Dan Willemsen
0f185d7c3b Merge changes I1bc291aa,Ib3ec8aa8
* changes:
  Split (ninja|soong).mk into config and rule portions
  Move some configuration from main.mk to config.mk
2016-11-10 22:41:24 +00:00
Chih-Hung Hsieh
76d0065ef8 Separate parallel_classify_warnings out of parse_input_file.
* Allow other callers of this module to:
  * pass any input stream to parse_input_file,
  * pass any warning_lines to parallel_classify_warnings,
  * call dump_csv or dump_html to get output.
* No output change.
* Capture and ignore signal.SIGTERM at the end,
  to avoid bad warning/error messages from the exit clean-up process.

Test: run warn.py build.log.
Change-Id: I1414797a536c0ee622e2a34c226578621be1ddab
2016-11-09 18:19:05 -08:00
Dan Willemsen
04f53ed923 Split (ninja|soong).mk into config and rule portions
So that an external tool can read the configuration using
dump-many-vars, and write out the soong.variables file while only
loading config.mk.

Also remove dumpvar-% from PARSE_TIME_MAKE_GOALS, since it's only used
with CALLED_FROM_SETUP / config.mk. This provides an easy way to test
this change as well.

Test: get_build_var NINJA
Test: get_build_var ANDROID_GOALS
Test: get_build_var NINJA_GOALS
Test: get_build_var KATI_GOALS
Test: MAKECMDGOALS="droid sdk dumpvar-ANDROID_GOALS" get_build_var ANDROID_GOALS
Test: MAKECMDGOALS="droid sdk dumpvar-NINJA_GOALS" get_build_var NINJA_GOALS
Test: MAKECMDGOALS="droid sdk dumpvar-KATI_GOALS" get_build_var KATI_GOALS
Test: MAKECMDGOALS="out/build-a.ninja dumpvar-ANDROID_GOALS" get_build_var ANDROID_GOALS
Test: get_build_var SOONG_MAKEVARS_MK
Test: get_build_var SOONG_VARIABLES
Test: CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core make -f build/core/config.mk out/soong/soong.variables showcommands
Test: Compare soong.variables from above, and before/after with `m`
Test: Compare out before/after with `m doesnotexist`
Test: `m dist doesnotexist`
Change-Id: I1bc291aa165297c930fe600067edad6ce4979210
2016-11-09 17:53:33 -08:00
Dan Willemsen
cfabc42af9 Move some configuration from main.mk to config.mk
When dumping make configuration (dump-many-var, dump-var-*), we only
load config.mk, not main.mk. One of the first things that main.mk does
is to include config.mk, so these moves are safe.

Turning off the implicit rules and other make configuration / sanity
checks should happen in all cases, so move them to config.mk

Move dont_bother_rules to config.mk so that it can be used by the ninja
configuration (which is moving in a later change). Move dont_bother into
the kati section, since it's not used elsewhere.

Test: m clean
Test: get_build_var dont_bother_goals
Change-Id: Ib3ec8aa8eebcaf743d2cdcc31f89827c4e8470a1
2016-11-09 17:29:23 -08:00
Clay Murphy
98f15a70e9 Merge "Creates a css nowrap class for non-breaking elements in source.android.com Test: build2stage 36" 2016-11-09 21:18:37 +00:00
Billy Lamberta
4d41e26a54 Creates a css nowrap class for non-breaking elements
in source.android.com
Test: build2stage 36

Change-Id: I467cc66d5e205b00ed188180140b1ae972e2ebad
2016-11-09 21:17:41 +00:00
Dan Albert
988107d35c Support LOCAL_SDK_VERSION := current for NDK.
Test: Added a module using this and checked the link command line.
Bug: None
Change-Id: I3a55e4638340d8835c09ebc6a1440bece962d36e
2016-11-08 15:37:43 -08:00