OSDN Git Service

android-x86/build.git
7 years agofs_config: drop fs_config_files/dirs PRODUCT_PACKAGES requirement
William Roberts [Wed, 27 Apr 2016 23:16:02 +0000 (16:16 -0700)]
fs_config: drop fs_config_files/dirs PRODUCT_PACKAGES requirement

When configuring fs_config_files or fs_config_dirs for file_system
capabilities, drop the requirement that OEMs must add the target
to PRODUCT_PACKAGES. This limits the configuration requirement
to only needing to set the new and preferred TARGET_FS_CONFIG_GEN
or the older TARGET_ANDROID_FILESYSTEM_CONFIG_H method.

Test: That only setting TARGET_FS_CONFIG_GEN results in passwd and
group in the build image.
Change-Id: I818854fa1b3e94edaff59a32bd7cf23cf9b504aa
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: add group to build
William Roberts [Tue, 26 Apr 2016 20:16:13 +0000 (13:16 -0700)]
fs_config: add group to build

Setup PRODUCT_PACKAGES for the group file.

The group file is always included in the product
build but may be empty.

Test: That the group file is in the build.
Change-Id: I2ed1759fbe42a7e6833bb754b00cadaf949f128d
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: introduce group generator
William Roberts [Tue, 26 Apr 2016 20:05:34 +0000 (13:05 -0700)]
fs_config: introduce group generator

Introduce a generator that outputs group files per man(5) group.

Succinctly, the output is a colon delimited string containing the following
fields:
  * group name
  * encrypted password (optional)
  * gid (int)
  * userlist (str,...)

Multiple colon delimited lines may exist, but will not be separated
across lines.

Sample generator output:
foo::2900:
foo_bar::2901:
custom_oem1::2902:

Test: That make group produces the group file.
Change-Id: Idd3fe925a09a227c6e894e1b5d2b3873b01531c6
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: add passwd to build
William Roberts [Mon, 25 Apr 2016 22:42:47 +0000 (15:42 -0700)]
fs_config: add passwd to build

Setup PRODUCT_PACKAGES for the passwd file.

The passwd file is always included in the product
build but may be empty.

Test: That the passwd file is in the build image.
Change-Id: Iedbb81b15d3b281ff4ad36d28adc2ba4523785f2
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: introduce passwd generator
William Roberts [Mon, 25 Apr 2016 22:00:34 +0000 (15:00 -0700)]
fs_config: introduce passwd generator

Introduce a generator that outputs passwd files per man(5) passwd.

Succinctly, the output is a colon delimited string containing the following
fields:

  * login name
  * encrypted password (optional)
  * uid (int)
  * gid (int)
  * User name or comment field
  * home directory
  * interpreter (optional)

Multiple colon delimited lines may exist, but will not be separated
across lines.

When run, produces:

foo::2900:2900::/:/system/bin/sh
foo_bar::2901:2901::/:/system/bin/sh
custom_oem1::2902:2902::/:/system/bin/sh

Note that this generator allows for 0 or more config.fs files. This allows for:
  * Unconditional inclusion of /system/etc/passwd in the generated image
  * A blank passwd file if no config.fs files are specified.

This ensures that when OEMs add config.fs files, there is no additional steps
for proper functionality (simpler for OEMs).

The one draw back is the additional inode consumption on system for a possible
blank file.

Test: That it produces a valid passwd file.
Change-Id: I19691c8260f02147ed861f8a319aeab3f5b1738e
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: generate friendly in AID class
William Roberts [Mon, 25 Apr 2016 19:27:43 +0000 (12:27 -0700)]
fs_config: generate friendly in AID class

Generate the friendly name in one location. This prepares
the tool for generatting passwd and group files.

Also support mapping friendly names to identifiers.

Test: That output files stay the same as before.
Change-Id: I12198611126613eae81ca61614ed269c2439b72b
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: limit characters for AID_<name> sections
William Roberts [Mon, 25 Apr 2016 17:36:45 +0000 (10:36 -0700)]
fs_config: limit characters for AID_<name> sections

When generating files restrict the characters allowed in
AID_<name> to upercase, numbers, and underscores.

This detects errors ahead of time for generated C files as
well as handles seperation characters for passwd/group files.

This also lends itself to automatic detection of collisions
on friendly names, since freindly names are the lowercase
version of <name>.

Test: That invalid aid values result in a build failure.
Test: That the output files are consistent with ones before
this change (hash and diff checks)
Change-Id: Ie8ec44c1157ba9c22100e9169d9187f615e71280
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: generate oem AID header file
William Roberts [Tue, 12 Apr 2016 15:51:13 +0000 (08:51 -0700)]
fs_config: generate oem AID header file

Generate an OEM AID_<name> header file seperate from fs_config
header file and provide details on how to export this interface
into native code.

Test: That ls, ps, chown and services function for built in
services as before.
Change-Id: Ie8ce6585e0721b52633ee50d62dcfe796e178f65
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: android_id header generator
William Roberts [Tue, 12 Apr 2016 04:17:12 +0000 (21:17 -0700)]
fs_config: android_id header generator

Implement an android_id generator that takes the data
acquired from parsing private/android_filesystem_config.h
and generates the android_id friendly name to uid mapping
for consumption in Bionic.

Test: That ls, ps, mkdir, chown, chgrp and services for built
in names work.
Change-Id: I1e55a401be0fca0ad162f8dc1e072e6afde7b927
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: support parsing android_filesystem_config.h
William Roberts [Tue, 12 Apr 2016 00:12:47 +0000 (17:12 -0700)]
fs_config: support parsing android_filesystem_config.h

Rather than hardcode the OEM ranges, parse and extract
AID values from android_filesystem_config.h.

An AID is defined to the tool as:
  * #define AID_<name>

An OEM Range is defined to the the tool as:
  * AID_OEM_RESERVED_START
  * AID_OEM_RESERVED_END
  or
  * AID_OEM_RESERVED_N_START
  * AID_OEM_RESERVED_N_END

Where N is a number.

While parsing, perform sanity checks such as:
1. AIDs defined in the header cannot be within OEM range
2. OEM Ranges must be valid:
   * Cannot overlap one another.
   * Range START must be less than range END
3. Like the C preproccessor, multiple matching AID_<name> throws
   en error.

The parser introduced here, prepares the tool to output android_ids
consumable for bionic.

Note that some AID_* friendly names were not consistent, thus a small
fixup map had to be placed inside the tool.

Test: tested parsing and dumping the data from android_filesystem_config.h
file.
Change-Id: Ifa4d1c9565d061b60542296fe33c8eba31649e62
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agofs_config: modularize fs_config_generator
William Roberts [Sat, 9 Apr 2016 17:32:30 +0000 (10:32 -0700)]
fs_config: modularize fs_config_generator

This internally structures fs_config_generator.py to be able
to plug in generators to produce different outputs. This
prepares this tool for group and pwd file outputs.

Test: Checked diff and hash of before and after files.
Change-Id: Ie558518ac227dd946d70ab48027698b72a9bc94a
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agoMerge "Makefile: Pack verity_verifier into otatools.zip."
Tao Bao [Mon, 28 Nov 2016 18:04:04 +0000 (18:04 +0000)]
Merge "Makefile: Pack verity_verifier into otatools.zip."

7 years agoMakefile: Pack verity_verifier into otatools.zip.
Tao Bao [Sat, 19 Nov 2016 01:04:24 +0000 (17:04 -0800)]
Makefile: Pack verity_verifier into otatools.zip.

verity_verifier is needed when verifying verity metadata.

Bug: 32173582
Test: `m otatools-package`
Change-Id: I63fdeb75cdca10ea38c1df978d64701acdd4c1db

7 years agoMerge "Update warn.py for new Error Prone diagnostics"
Ian Rogers [Tue, 22 Nov 2016 18:43:50 +0000 (18:43 +0000)]
Merge "Update warn.py for new Error Prone diagnostics"

7 years agoUpdate warn.py for new Error Prone diagnostics
Nick Glorioso [Tue, 15 Nov 2016 23:57:57 +0000 (15:57 -0800)]
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

7 years agoMerge "Support `LOCAL_SDK_VERSION := current` for NDK."
Treehugger Robot [Fri, 18 Nov 2016 19:04:39 +0000 (19:04 +0000)]
Merge "Support `LOCAL_SDK_VERSION := current` for NDK."

7 years agoMerge "Build: Bring back SDK dependencies"
Andreas Gampe [Fri, 18 Nov 2016 02:53:28 +0000 (02:53 +0000)]
Merge "Build: Bring back SDK dependencies"

7 years agoBuild: Bring back SDK dependencies
Andreas Gampe [Fri, 18 Nov 2016 02:21:36 +0000 (18:21 -0800)]
Build: Bring back SDK dependencies

Temporarily re-add SDK dependencies to runtime_libart.mk.

Test: m sdk_repo
Change-Id: I5c2054d7be6ea1c5e6eadbcb3453cabfc64728d6

7 years agoMerge "Build: Refactor and clean up runtime_libart"
Treehugger Robot [Fri, 18 Nov 2016 01:25:53 +0000 (01:25 +0000)]
Merge "Build: Refactor and clean up runtime_libart"

7 years agoMerge "fs_config: move sort to be consistent with other sort"
Treehugger Robot [Fri, 18 Nov 2016 00:29:52 +0000 (00:29 +0000)]
Merge "fs_config: move sort to be consistent with other sort"

7 years agoMerge "fs_config: correct README"
Treehugger Robot [Thu, 17 Nov 2016 23:30:50 +0000 (23:30 +0000)]
Merge "fs_config: correct README"

7 years agoMerge "Build: Add agent library to default packages"
Treehugger Robot [Thu, 17 Nov 2016 23:17:08 +0000 (23:17 +0000)]
Merge "Build: Add agent library to default packages"

7 years agoBuild: Refactor and clean up runtime_libart
Andreas Gampe [Thu, 17 Nov 2016 21:54:49 +0000 (13:54 -0800)]
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

7 years agofs_config: move sort to be consistent with other sort
William Roberts [Sat, 9 Apr 2016 05:06:19 +0000 (22:06 -0700)]
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>
7 years agofs_config: correct README
William Roberts [Sat, 9 Apr 2016 17:24:25 +0000 (10:24 -0700)]
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>
7 years agoBuild: Add agent library to default packages
Andreas Gampe [Thu, 27 Oct 2016 20:23:29 +0000 (13:23 -0700)]
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

7 years agoMerge "Separate parallel_classify_warnings out of parse_input_file."
Chih-hung Hsieh [Tue, 15 Nov 2016 22:19:36 +0000 (22:19 +0000)]
Merge "Separate parallel_classify_warnings out of parse_input_file."

7 years agoMerge "Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES."
Treehugger Robot [Tue, 15 Nov 2016 19:21:12 +0000 (19:21 +0000)]
Merge "Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES."

7 years agoMerge "Use new -ninja flag to aidl-cpp"
Dan Willemsen [Sun, 13 Nov 2016 19:53:38 +0000 (19:53 +0000)]
Merge "Use new -ninja flag to aidl-cpp"

7 years agoUse new -ninja flag to aidl-cpp
Dan Willemsen [Sun, 13 Nov 2016 17:42:19 +0000 (09:42 -0800)]
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

7 years agoMerge "Remove transform-d-to-p"
Dan Willemsen [Fri, 11 Nov 2016 21:38:53 +0000 (21:38 +0000)]
Merge "Remove transform-d-to-p"

7 years agoAdd webview_zygote target to core_minimal.mk PRODUCT_PACKAGES.
Robert Sesek [Fri, 11 Nov 2016 17:38:13 +0000 (12:38 -0500)]
Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES.

Test: lunch aosp_angler-eng && m checkbuild

Bug: 21643067
Change-Id: I1e0b81055fb74d7238f245e11bf2409c776f2efd

7 years agoRemove transform-d-to-p
Dan Willemsen [Fri, 11 Nov 2016 02:19:36 +0000 (18:19 -0800)]
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

7 years agoMerge "Fix vendor/google/build/ninja_config.mk"
Dan Willemsen [Fri, 11 Nov 2016 05:35:04 +0000 (05:35 +0000)]
Merge "Fix vendor/google/build/ninja_config.mk"

7 years agoFix vendor/google/build/ninja_config.mk
Dan Willemsen [Fri, 11 Nov 2016 03:41:27 +0000 (19:41 -0800)]
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

7 years agoMerge changes I1bc291aa,Ib3ec8aa8
Dan Willemsen [Thu, 10 Nov 2016 22:41:24 +0000 (22:41 +0000)]
Merge changes I1bc291aa,Ib3ec8aa8

* changes:
  Split (ninja|soong).mk into config and rule portions
  Move some configuration from main.mk to config.mk

7 years agoSeparate parallel_classify_warnings out of parse_input_file.
Chih-Hung Hsieh [Thu, 10 Nov 2016 02:19:05 +0000 (18:19 -0800)]
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

7 years agoSplit (ninja|soong).mk into config and rule portions
Dan Willemsen [Thu, 10 Nov 2016 01:22:15 +0000 (17:22 -0800)]
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

7 years agoMove some configuration from main.mk to config.mk
Dan Willemsen [Thu, 10 Nov 2016 00:35:34 +0000 (16:35 -0800)]
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

7 years agoMerge "Creates a css nowrap class for non-breaking elements in source.android.com...
Clay Murphy [Wed, 9 Nov 2016 21:18:37 +0000 (21:18 +0000)]
Merge "Creates a css nowrap class for non-breaking elements in source.android.com Test: build2stage 36"

7 years agoCreates a css nowrap class for non-breaking elements
Billy Lamberta [Mon, 24 Oct 2016 21:38:19 +0000 (14:38 -0700)]
Creates a css nowrap class for non-breaking elements
in source.android.com
Test: build2stage 36

Change-Id: I467cc66d5e205b00ed188180140b1ae972e2ebad

7 years agoSupport `LOCAL_SDK_VERSION := current` for NDK.
Dan Albert [Tue, 8 Nov 2016 23:10:09 +0000 (15:10 -0800)]
Support `LOCAL_SDK_VERSION := current` for NDK.

Test: Added a module using this and checked the link command line.
Bug: None
Change-Id: I3a55e4638340d8835c09ebc6a1440bece962d36e

7 years agoMerge "releasetools: Use java_path in sign_target_files_apks.py."
Tao Bao [Tue, 8 Nov 2016 23:31:50 +0000 (23:31 +0000)]
Merge "releasetools: Use java_path in sign_target_files_apks.py."

7 years agoreleasetools: Use java_path in sign_target_files_apks.py.
Tao Bao [Tue, 8 Nov 2016 20:08:53 +0000 (12:08 -0800)]
releasetools: Use java_path in sign_target_files_apks.py.

Prior to this CL, it was calling the hard-coded "java" although it was
accepting a "--java_path" option.

Also switch OPTIONS.java_args from string to list. Otherwise it won't
work when providing multiple args.

Bug: 32737832
Test: Specify "--java_path=" and "--java_args" when invoking
      sign_target_files_apks.py with "-v". Check the commands being
      called.
Change-Id: Id7ef98e778646d532027434de7fba9b7a104dbd0

7 years agoMerge "releasetools: compare size between compressed and patch while build otapackage"
Tao Bao [Sat, 5 Nov 2016 00:09:35 +0000 (00:09 +0000)]
Merge "releasetools: compare size between compressed and patch while build otapackage"

7 years agoMerge "releasetools: Make BBOTA incremental generation repeatable."
Tao Bao [Fri, 4 Nov 2016 21:26:12 +0000 (21:26 +0000)]
Merge "releasetools: Make BBOTA incremental generation repeatable."

7 years agoMerge "findleaves.py: prevent recursion into symlink loops"
Colin Cross [Fri, 4 Nov 2016 18:09:36 +0000 (18:09 +0000)]
Merge "findleaves.py: prevent recursion into symlink loops"

7 years agofindleaves.py: prevent recursion into symlink loops
Colin Cross [Thu, 3 Nov 2016 20:51:10 +0000 (13:51 -0700)]
findleaves.py: prevent recursion into symlink loops

Keep a set of all visited inodes, and prevent recursing into a symlink
to an already visited inode.

Test: m -j
Test: compare `build/tools/findleaves.py --prune=.repo --prune=.git --mindepth=2 --dir=. Android.mk` before and after
Change-Id: Ied14c40d3066ef9f8e8a2b1535f56f7bbbbd0ab6

7 years agoMerge "Export variable for device sanitize arch to Soong"
Treehugger Robot [Thu, 3 Nov 2016 07:12:53 +0000 (07:12 +0000)]
Merge "Export variable for device sanitize arch to Soong"

7 years agoMerge "Update combined build.ninja to depend on Soong's build.ninja"
Dan Willemsen [Thu, 3 Nov 2016 02:39:18 +0000 (02:39 +0000)]
Merge "Update combined build.ninja to depend on Soong's build.ninja"

7 years agoUpdate combined build.ninja to depend on Soong's build.ninja
Dan Willemsen [Wed, 2 Nov 2016 23:24:52 +0000 (16:24 -0700)]
Update combined build.ninja to depend on Soong's build.ninja

For Soong's build.ninja regeneration to work

Bug: 32574042
Test: m -j, add globbed file, m -j
Change-Id: Ie267ea33e8de88275e99330b2d0f147d1e58fa7b

7 years agoExport variable for device sanitize arch to Soong
Colin Cross [Wed, 2 Nov 2016 22:05:21 +0000 (15:05 -0700)]
Export variable for device sanitize arch to Soong

Also renames the variable from SANITIZE_ARCH to SANITIZE_TARGET_ARCH,
and makes it only apply to the device.

Bug: 29498013
Test: No change to build.ninja files with m -j SANITIZE_TARGET=address
Change-Id: Ib5f6ab448f5d96d2426c983308136670f9a55b7b

7 years agoMerge "Remove configuration exported from Soong"
Dan Willemsen [Tue, 1 Nov 2016 17:07:53 +0000 (17:07 +0000)]
Merge "Remove configuration exported from Soong"

7 years agoMerge "Pass global tidy configuration to Soong"
Treehugger Robot [Tue, 1 Nov 2016 01:18:59 +0000 (01:18 +0000)]
Merge "Pass global tidy configuration to Soong"

7 years agoMerge "Improve dotdot workaround when src begins with '/'"
Dan Willemsen [Mon, 31 Oct 2016 23:39:36 +0000 (23:39 +0000)]
Merge "Improve dotdot workaround when src begins with '/'"

7 years agoRemove configuration exported from Soong
Dan Willemsen [Mon, 26 Sep 2016 23:38:55 +0000 (16:38 -0700)]
Remove configuration exported from Soong

Bug: 32244182
Test: build-aosp_angler.ninja is identical before/after (with same env)
Change-Id: Iec2784d1ec5301afe4e2de491dee806551ae3764

7 years agoPass global tidy configuration to Soong
Dan Willemsen [Mon, 31 Oct 2016 22:07:37 +0000 (15:07 -0700)]
Pass global tidy configuration to Soong

Bug: 32244182
Test: WITH_TIDY=true mmma -j build/kati
Test: WITH_TIDY=true WITH_TIDY_CHECKS=-*,performance* mmma -j build/kati
Change-Id: Idca86bd114f353449bf80f73d255d7095a99682a

7 years agoMerge "Revert "Revert "Check prebuilt sources during checkbuild"""
Colin Cross [Sun, 30 Oct 2016 22:05:16 +0000 (22:05 +0000)]
Merge "Revert "Revert "Check prebuilt sources during checkbuild"""

7 years agoImprove dotdot workaround when src begins with '/'
Dan Willemsen [Fri, 28 Oct 2016 23:30:48 +0000 (16:30 -0700)]
Improve dotdot workaround when src begins with '/'

There are some source files in our tree that use some text processing to
find source files, and end up with source file names that look like:

  /../../dir/file.c

This isn't fixed by our dotdot workarounds because the filename doesn't
start with '../', so strip the initial '/' from any source files, since
they are all relative to $(LOCAL_PATH) anyways.

Bug: 32514380
Test: Build internal source with this problem
Test: Compare build-aosp_angler.ninja before/after
Change-Id: If869419c3d3ba35d55f6e19d9332515695e47d24

7 years agoMerge "Do not use multiprocessing.Pool when --processes=1."
Chih-hung Hsieh [Fri, 28 Oct 2016 20:34:48 +0000 (20:34 +0000)]
Merge "Do not use multiprocessing.Pool when --processes=1."

7 years agoMerge "Move perfprofd installation to PRODUCT_PACKAGES_DEBUG"
Treehugger Robot [Fri, 28 Oct 2016 20:04:49 +0000 (20:04 +0000)]
Merge "Move perfprofd installation to PRODUCT_PACKAGES_DEBUG"

7 years agoDo not use multiprocessing.Pool when --processes=1.
Chih-Hung Hsieh [Fri, 28 Oct 2016 17:53:34 +0000 (10:53 -0700)]
Do not use multiprocessing.Pool when --processes=1.

Purpose of this change is not to save some execution time,
but to avoid forking another process. In other applications
that use a wrapper to call this python script, it is difficult
to get overwritten file I/O functions work in a subprocess.
So the wrapper will call warn.py with --processes=1.

Test: run "warn.py --processes=1 build.log"
Change-Id: I5998d5c70d81a456c86eb4002f444a4a60135477

7 years agoMove perfprofd installation to PRODUCT_PACKAGES_DEBUG
Colin Cross [Thu, 27 Oct 2016 22:35:36 +0000 (15:35 -0700)]
Move perfprofd installation to PRODUCT_PACKAGES_DEBUG

LOCAL_MODULE_TAGS is deprecated, use PRODUCT_PACKAGES_DEBUG instead.

Test: none
Change-Id: I670147f4fe38b02ccafe01b96d8078502404113c

7 years agoRevert "Revert "Check prebuilt sources during checkbuild""
Colin Cross [Thu, 27 Oct 2016 22:10:55 +0000 (22:10 +0000)]
Revert "Revert "Check prebuilt sources during checkbuild""

This reverts commit 409ea88c4797a56b918ad02ebef0d2b1e7c57748.

Bug: 32332829
Change-Id: Ifc8a511762cb44b455cc821f5ac712c294c321c6

7 years agoMerge "Revert "Check prebuilt sources during checkbuild""
Colin Cross [Wed, 26 Oct 2016 23:26:42 +0000 (23:26 +0000)]
Merge "Revert "Check prebuilt sources during checkbuild""

7 years agoRevert "Check prebuilt sources during checkbuild"
Colin Cross [Wed, 26 Oct 2016 23:25:57 +0000 (23:25 +0000)]
Revert "Check prebuilt sources during checkbuild"

This reverts commit ec8fae6f2e11a772fa97fe6baf895222f7ffdf5d.

Revert this until a few oddball branches can be fixed.

Bug: 32332829
Change-Id: Ic95fa50e36cb32a4d29bf765b1f3d8384140fb0b

7 years agoMerge "Check prebuilt sources during checkbuild"
Colin Cross [Wed, 26 Oct 2016 19:35:31 +0000 (19:35 +0000)]
Merge "Check prebuilt sources during checkbuild"

7 years agoMerge "RenderScript-specific build updates for LLVM rebase"
Pirama Arumuga Nainar [Wed, 26 Oct 2016 17:35:50 +0000 (17:35 +0000)]
Merge "RenderScript-specific build updates for LLVM rebase"

7 years agoreleasetools: Make BBOTA incremental generation repeatable.
Tao Bao [Mon, 24 Oct 2016 23:49:08 +0000 (16:49 -0700)]
releasetools: Make BBOTA incremental generation repeatable.

set() doesn't keep elements according to the order of insertion. So
Transfers managed with set() in intermediate steps may not appear in the
same order across runs. This leads to slightly different output packages
when generating the same incremental OTA.

This CL fixes the issue by replacing set() with OrderedDict() in
blockimgdiff.GenerateDigraph() and blockimgdiff.FindVertexSequence().

It also adds a testcase that ensures blockimgdiff.GenerateDigraph()
preserves the insertion order for Transfer.goes_after set.

Bug: 32220816
Test: ota_from_target_files.py gives identical package when running
multiple times.

Change-Id: I56d551e5ca926993ab46896e33c80e0ce42e506a

7 years agoRenderScript-specific build updates for LLVM rebase
Pirama Arumuga Nainar [Tue, 26 Jul 2016 18:37:14 +0000 (11:37 -0700)]
RenderScript-specific build updates for LLVM rebase

Bug: http://b/31320715

Use LLVM's RenderScript triples: upstream LLVM now has 32-bit and
64-bit RenderScript triples.  Update RS_TRIPLE build variables to use
the new triples.

Switch prebuilt clang used for building RenderScript runtime library to
the latest prebuilts.

Test: Run RenderScript tests (slang, bcc host tests, RsTest, CTS)

Change-Id: I308f6a2183350cfc380228a1eed07ec118d93a46

7 years agoMerge "releasetools: Support verity signer args."
Tao Bao [Mon, 24 Oct 2016 18:50:14 +0000 (18:50 +0000)]
Merge "releasetools: Support verity signer args."

7 years agoMerge "Cleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS"
Treehugger Robot [Sat, 22 Oct 2016 03:02:52 +0000 (03:02 +0000)]
Merge "Cleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS"

7 years agoCheck prebuilt sources during checkbuild
Colin Cross [Fri, 21 Oct 2016 17:52:06 +0000 (10:52 -0700)]
Check prebuilt sources during checkbuild

Add prebuilt files as dependencies during checkbuild.  This will flag
prebuilt modules that have files that don't exist as errors, and also
fix building soong modules with make native, etc.

Bug: 32332829
Test: m -j checkbuild
Test: m -j host
Change-Id: Ia4e22cb640978c181de039202baf02f4fb5a94d5

7 years agoCleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS
Dan Willemsen [Fri, 21 Oct 2016 22:04:12 +0000 (15:04 -0700)]
Cleanup NATIVE_COVERAGE, PRIVATE_ARFLAGS

Disable the NATIVE_COVERAGE code when not in use. Provide the proper
PRIVATE_ variables so that the $DISPLAY environment variable isn't
encoded into the ninja file.

Remove PRIVATE_ARFLAGS, which is never set.

Test: compare build-aosp_flounder.ninja
Test: NATIVE_COVERAGE=true build-aosp_flounder.ninja, inspect
Change-Id: I2a52de440fd991cdc5761ff8bd58a474892d2dfc

7 years agoMerge "Don't pass -Wl,--no-undefined to host targets"
Treehugger Robot [Fri, 21 Oct 2016 23:00:35 +0000 (23:00 +0000)]
Merge "Don't pass -Wl,--no-undefined to host targets"

7 years agoMerge "Remove valgrind from the exception list."
Chih-hung Hsieh [Fri, 21 Oct 2016 05:05:29 +0000 (05:05 +0000)]
Merge "Remove valgrind from the exception list."

7 years agoMerge "Remove variables exported by Soong"
Dan Willemsen [Fri, 21 Oct 2016 01:08:50 +0000 (01:08 +0000)]
Merge "Remove variables exported by Soong"

7 years agoMerge "Support Android.bp in mgrep"
Treehugger Robot [Thu, 20 Oct 2016 23:37:40 +0000 (23:37 +0000)]
Merge "Support Android.bp in mgrep"

7 years agoDon't pass -Wl,--no-undefined to host targets
Colin Cross [Thu, 20 Oct 2016 19:38:21 +0000 (12:38 -0700)]
Don't pass -Wl,--no-undefined to host targets

Host builds were compiling without -Wl,--no-undefined because of an ASAN
issue.  Pass -Wl,--no-undefined for host builds unless sanitzers are
enabled.  Also fix LOCAL_ALLOW_UNDEFINED_SYMBOLS on darwin, where
disallowing undefined symbols is the default.

Test: m -j host
Test: m -j SANITIZE_HOST=address host
Bug: 32305815
Change-Id: I0344c321610c55eb8b2092b01e50e4a93a0e85df

7 years agoMerge "Use default -std values exported from soong"
Colin Cross [Thu, 20 Oct 2016 21:40:55 +0000 (21:40 +0000)]
Merge "Use default -std values exported from soong"

7 years agoSupport Android.bp in mgrep
Wei Wang [Thu, 20 Oct 2016 21:26:45 +0000 (14:26 -0700)]
Support Android.bp in mgrep

This patch enabled Android.bp in mgrep result

Bug: 32313127
Test: mgrep
Change-Id: Ie3171a10ab54322bfc3844d1f629c783286ec212

7 years agoUse default -std values exported from soong
Colin Cross [Mon, 17 Oct 2016 22:34:29 +0000 (15:34 -0700)]
Use default -std values exported from soong

Test: builds
Change-Id: Ic7b7d226131a2a0ea1f099f8a0fc895448384081

7 years agoMerge "goldfish_setup: grant ifconfig priv_sock_ioctls"
Treehugger Robot [Thu, 20 Oct 2016 17:37:43 +0000 (17:37 +0000)]
Merge "goldfish_setup: grant ifconfig priv_sock_ioctls"

7 years agogoldfish_setup: grant ifconfig priv_sock_ioctls
Richard Haines [Thu, 20 Oct 2016 14:47:44 +0000 (15:47 +0100)]
goldfish_setup: grant ifconfig priv_sock_ioctls

The goldfish_setup shell script needs the ability to set the interface
address via ifconfig. This requires SIOCSIFADDR plus other ioctl
permissions, therefore allow the set of priv_sock_ioctls permissions.

Addresses the following denial that stops internet access via browser:
avc: denied { ioctl } for pid=712 comm="ifconfig" path="socket:[1825]"
dev="sockfs" ino=1825 ioctlcmd=8916 scontext=u:r:goldfish_setup:s0
tcontext=u:r:goldfish_setup:s0 tclass=udp_socket permissive=0

Test: With update can access internet via browser.

Change-Id: I77a52c0b72bb0ebe9451f45c346a399c1f61672d
Signed-off-by: Richard Haines <richard_c_haines@btinternet.com>
7 years agoMerge "Define coverage paths using comma-separated list."
Ryan Campbell [Thu, 20 Oct 2016 01:01:24 +0000 (01:01 +0000)]
Merge "Define coverage paths using comma-separated list."

7 years agoMerge "For emulator builds preopt system apps even if doing eng build"
Dan Willemsen [Wed, 19 Oct 2016 17:56:49 +0000 (17:56 +0000)]
Merge "For emulator builds preopt system apps even if doing eng build"

7 years agoRemove variables exported by Soong
Dan Willemsen [Wed, 19 Oct 2016 00:18:14 +0000 (17:18 -0700)]
Remove variables exported by Soong

These are all variables that we export from Soong, and are only used
after Soong's make_vars.mk is read.

Test: Compare build-aosp_flounder.ninja before/after -- only whitespace
Change-Id: Ibb6c6d7bc00ff5840a72c2bba5d97ac4b4724df3

7 years agoDefine coverage paths using comma-separated list.
Ryan Campbell [Tue, 18 Oct 2016 17:25:15 +0000 (10:25 -0700)]
Define coverage paths using comma-separated list.

Change COVERAGE_PATHS to access a comma-separated list of paths
instead of a space-separated list to make for easier escaping in
configuration files.

Test: tested using local bullhead build with coverage on lights and nfc
Change-Id: Iec014c8b4fbefcbcc5d865e6acba92bf6364ee3a

7 years agoreleasetools: compare size between compressed and patch while build otapackage
YOUNG HO CHA [Thu, 13 Oct 2016 04:40:46 +0000 (13:40 +0900)]
releasetools: compare size between compressed and patch while build otapackage

Currently, whether contains patch or verbatim, compute with file size
and patch size.
But ota file must be compressed with zip, so it should be better with
compressed size than uncompressed.

Test: aosp_shamu-user build without proprietary blobs between MOB30P and NRD90S
$ du -k ota_shamu_old.zip ota_shamu_new.zip
217252 ota_shamu_old.zip
216520 ota_shamu_new.zip

Change-Id: If68cb1fbe2f7815067451915a0dcfe93ea5ba8d6
Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
7 years agoMerge "Use parallel subprocesses to classify warnings."
Treehugger Robot [Tue, 18 Oct 2016 03:49:49 +0000 (03:49 +0000)]
Merge "Use parallel subprocesses to classify warnings."

7 years agoMerge "Split apart frameworks/compile into sub-projects."
Treehugger Robot [Tue, 18 Oct 2016 01:02:05 +0000 (01:02 +0000)]
Merge "Split apart frameworks/compile into sub-projects."

7 years agoUse parallel subprocesses to classify warnings.
Chih-Hung Hsieh [Tue, 11 Oct 2016 22:25:26 +0000 (15:25 -0700)]
Use parallel subprocesses to classify warnings.

* Add a --processes flag to specify number of parallel processes,
  with default multiprocessing.cpu_count().
* Wrap long line to suppress pylint warning.

Test: run warn.py with a large build.log file.
Change-Id: I9a93a9324bc531c1bce741367013051ce40a67fa

7 years agoMerge "Fix bug preventing multi-module native coverage."
Treehugger Robot [Tue, 18 Oct 2016 00:43:09 +0000 (00:43 +0000)]
Merge "Fix bug preventing multi-module native coverage."

7 years agoreleasetools: Support verity signer args.
Tao Bao [Mon, 17 Oct 2016 23:20:12 +0000 (16:20 -0700)]
releasetools: Support verity signer args.

system/extras/verity/build_verity_metadata.py now accepts
"--signer_args" to specify verity signer args.

Also remove the duplicate "--verity_signer_args" in
add_img_to_target_files.py, as we already have that in common.py.

Bug: 31500665
Test: Building and signing work w/ and w/o --signer_args.

Change-Id: I02f59c50a1ebf15c5505e9fffd5b9bbbbaa785be

7 years agoMerge "Add a dist goal for the NDK."
Treehugger Robot [Mon, 17 Oct 2016 22:59:16 +0000 (22:59 +0000)]
Merge "Add a dist goal for the NDK."

7 years agoFix bug preventing multi-module native coverage.
Ryan Campbell [Mon, 17 Oct 2016 22:43:21 +0000 (15:43 -0700)]
Fix bug preventing multi-module native coverage.

Fix a whitespace bug causing coverage to be enabled on all modules
whenever more than one module is specified. This is caused by
comparing whitespace to the empty string, which are not equal. Fix
by stripping the output to check for path matches.

Test: tested using local build with coverage enabled on NFC, lights
Change-Id: I61a775cfd135f94ea1e1ee9fdbed3c64c5bb1a2e

7 years agoSplit apart frameworks/compile into sub-projects.
Stephen Hines [Mon, 17 Oct 2016 22:39:53 +0000 (15:39 -0700)]
Split apart frameworks/compile into sub-projects.

These projects are all used by RenderScript, but it would be good to
differentiate warnings for each.

Change-Id: I983279d590630175a36075b01e8eec9100c07d26
Test: Ran warn.py

7 years agoMerge "zipalign missing header"
Treehugger Robot [Mon, 17 Oct 2016 21:47:17 +0000 (21:47 +0000)]
Merge "zipalign missing header"

7 years agozipalign missing header
Mark Salyzyn [Mon, 17 Oct 2016 17:20:33 +0000 (10:20 -0700)]
zipalign missing header

Remove assumptions about header side effects

Test: compile
Bug: 30465923
Change-Id: I117567b0f99814b9d9a955b39c56f43f7972cf62

7 years agoMerge "Add more patterns for a finer project warning list."
Chih-hung Hsieh [Sat, 15 Oct 2016 01:36:59 +0000 (01:36 +0000)]
Merge "Add more patterns for a finer project warning list."