OSDN Git Service

android-x86/build.git
7 years agoSort and reorganize clear_vars.mk to make merges easier
Dan Willemsen [Tue, 13 Dec 2016 00:52:57 +0000 (16:52 -0800)]
Sort and reorganize clear_vars.mk to make merges easier

Moved common variables from other sections back to the common section,
then sort each section.

Test: build-aosp_angler.ninja is identical before/after
Change-Id: Ibb75935205aa80aaa392c358f8d0599ba624f90d
Merged-In: Ibb75935205aa80aaa392c358f8d0599ba624f90d

7 years agoMerge "Fix PDK dupbuild issues"
Treehugger Robot [Sat, 10 Dec 2016 07:14:11 +0000 (07:14 +0000)]
Merge "Fix PDK dupbuild issues"

7 years agoFix PDK dupbuild issues
Dan Willemsen [Sat, 10 Dec 2016 05:15:41 +0000 (21:15 -0800)]
Fix PDK dupbuild issues

The PDK uses pattern rules in order to install files from the PDK. When
those files already have build rules, the explicit rules override the
pattern rules, and everything works. But because Make (and Kati) doesn't
attempt to clean the file paths, if one of the rules has a redundant /,
we'll export two ninja rules, and ninja will error out with a dupbuild
error.

The PDK pattern rules are clean, but the explicit notice file creation
was not, it was always adding a double // in between NOTICE_FILES/src
and the module path.

Some modules were also setting a LOCAL_MODULE_PATH with a trailing /,
which is redundant, and also hits the above problem. Instead of fixing
all of the modules, just strip a trailing / from my_module_path.

Bug: 33451638
Test: Build with a PDK
Change-Id: Iff3e98fd191ea90626b9b89f179537e8a75f5ef2

7 years agoMerge changes from topic 'fsconfig-2'
Elliott Hughes [Sat, 10 Dec 2016 00:13:04 +0000 (00:13 +0000)]
Merge changes from topic 'fsconfig-2'

* changes:
  fs_config: add unit tests
  fs_config: drop fs_config_files/dirs PRODUCT_PACKAGES requirement
  fs_config: add group to build
  fs_config: introduce group generator
  fs_config: add passwd to build
  fs_config: introduce passwd generator
  fs_config: generate friendly in AID class
  fs_config: limit characters for AID_<name> sections
  fs_config: generate oem AID header file
  fs_config: android_id header generator
  fs_config: support parsing android_filesystem_config.h
  fs_config: modularize fs_config_generator

7 years agoMerge "Add more module targets for host, host-cross, host32, host64"
Treehugger Robot [Fri, 9 Dec 2016 22:54:59 +0000 (22:54 +0000)]
Merge "Add more module targets for host, host-cross, host32, host64"

7 years agoAdd more module targets for host, host-cross, host32, host64
Colin Cross [Fri, 9 Dec 2016 21:08:27 +0000 (13:08 -0800)]
Add more module targets for host, host-cross, host32, host64

Previously, clang-host would build the clang module for 32-bit and
64-bit for the host and for windows.  Make clang-host only compile
for host, and add clang-host-cross for windows.  Also add targets
that only build 32-bit or 64-bit: clang-host32, clang-host64,
clang-host-cross32, clang-host-cross64, clang-target32, and
clang-target64.

Test: inspect build.ninja
Change-Id: I7676f9497dfc852f2a0255dda8da06c88eec0db8

7 years agoMerge "Pass eng product varible to soong"
Colin Cross [Thu, 8 Dec 2016 23:42:16 +0000 (23:42 +0000)]
Merge "Pass eng product varible to soong"

7 years agoPass eng product varible to soong
Colin Cross [Thu, 8 Dec 2016 18:05:55 +0000 (10:05 -0800)]
Pass eng product varible to soong

Test: mmma -j frameworks/compile/libbcc
Change-Id: I79a903528948b728f730385a9de5e431617ff257

7 years agoMerge "Build: Skip JNI lib symlink in second-stage build"
Treehugger Robot [Wed, 7 Dec 2016 17:35:53 +0000 (17:35 +0000)]
Merge "Build: Skip JNI lib symlink in second-stage build"

7 years agoMerge "build_image: add support for specifying number of inodes"
Pat Tjin [Wed, 7 Dec 2016 07:07:25 +0000 (07:07 +0000)]
Merge "build_image: add support for specifying number of inodes"

7 years agobuild_image: add support for specifying number of inodes
Patrick Tjin [Thu, 20 Oct 2016 17:58:12 +0000 (10:58 -0700)]
build_image: add support for specifying number of inodes

Add support for specifying number of inodes when creating
system, vendor, oem partitions.  These are all read-only
and have no use for extra inodes.  Removing extra inodes
saves a lot of space.

Bug: 32246383
Change-Id: I13f1d4614b64a4abc752c42a1c65d3d151481c21
(cherry picked from commit b59eca358603a4174d4f7c9b70749e7cd0e6f3fe)

7 years agoMerge "custom_image: fix build break"
Treehugger Robot [Wed, 7 Dec 2016 03:20:12 +0000 (03:20 +0000)]
Merge "custom_image: fix build break"

7 years agoBuild: Skip JNI lib symlink in second-stage build
Andreas Gampe [Wed, 7 Dec 2016 01:56:29 +0000 (17:56 -0800)]
Build: Skip JNI lib symlink in second-stage build

When creating a sanitized image, skip creating JNI library
symlinks in the second round.

Bug: 33279120
Test: m && m SANITIZE_TARGET=address & ls -l $OUT/system/app/NfcNci/lib/*
Change-Id: Ib5eace9a49eb8b693603ba5cc59e392d575c44e3

7 years agoMerge "Disable Jack's NNode cache"
Benoit Lamarche [Tue, 6 Dec 2016 15:54:45 +0000 (15:54 +0000)]
Merge "Disable Jack's NNode cache"
am: 3c731228ba

Change-Id: Iea59e0c4cd0fa11277913d70a9de698565ae13fc

7 years agoMerge "Disable Jack's NNode cache"
Benoit Lamarche [Tue, 6 Dec 2016 15:47:34 +0000 (15:47 +0000)]
Merge "Disable Jack's NNode cache"

7 years agoDisable Jack's NNode cache
Benoit Lamarche [Tue, 6 Dec 2016 14:00:03 +0000 (15:00 +0100)]
Disable Jack's NNode cache

Test: N/A
Bug: 33367537
Change-Id: Idf7a518dfcbf5665917465b1ae2f0e09f4532688

7 years agoresolve merge conflicts of e04c941 to stage-aosp-master
Benoit Lamarche [Tue, 6 Dec 2016 10:32:41 +0000 (11:32 +0100)]
resolve merge conflicts of e04c941 to stage-aosp-master

Change-Id: I92ca7c5a10532220031dc799ad8900c9b20dc6fe

7 years agoMerge "Set platform min sdk for Jack to o-b1"
Benoit Lamarche [Tue, 6 Dec 2016 10:16:25 +0000 (10:16 +0000)]
Merge "Set platform min sdk for Jack to o-b1"

7 years agocustom_image: fix build break
bowgotsai [Tue, 6 Dec 2016 09:30:44 +0000 (17:30 +0800)]
custom_image: fix build break

Fix build break caused by
https://android-review.googlesource.com/#/c/305575/.

Bug: 33358681
Test: make custom_images

Change-Id: I1ba7cf61491c8593b20bdac58e984f1928697b8c

7 years agoMerge "Tell Soong about TARGET_COPY_OUT_VENDOR"
Dan Willemsen [Tue, 6 Dec 2016 03:32:05 +0000 (03:32 +0000)]
Merge "Tell Soong about TARGET_COPY_OUT_VENDOR"
am: 47b0322534

Change-Id: I55ac26073caf34173f6c051f87e10b651c23589b

7 years agoMerge "Tell Soong about TARGET_COPY_OUT_VENDOR"
Treehugger Robot [Tue, 6 Dec 2016 03:27:00 +0000 (03:27 +0000)]
Merge "Tell Soong about TARGET_COPY_OUT_VENDOR"

7 years agoMerge "Remove aidl, proto, objc from soong_problems"
Dan Willemsen [Tue, 6 Dec 2016 02:32:30 +0000 (02:32 +0000)]
Merge "Remove aidl, proto, objc from soong_problems"
am: bbc072f716

Change-Id: Ifba3b1ebb0e9ca018495fc1f93104823d51a516e

7 years agoMerge "Remove aidl, proto, objc from soong_problems"
Treehugger Robot [Tue, 6 Dec 2016 02:28:35 +0000 (02:28 +0000)]
Merge "Remove aidl, proto, objc from soong_problems"

7 years agoMerge "Soong now exports AIDL_CPP"
Dan Willemsen [Tue, 6 Dec 2016 02:25:36 +0000 (02:25 +0000)]
Merge "Soong now exports AIDL_CPP"
am: 06a2daac72

Change-Id: I704c568b71cd95c6a17545d6694095b72e5c097c

7 years agoMerge "Soong now exports AIDL_CPP"
Treehugger Robot [Tue, 6 Dec 2016 02:20:39 +0000 (02:20 +0000)]
Merge "Soong now exports AIDL_CPP"

7 years agoTell Soong about TARGET_COPY_OUT_VENDOR
Dan Willemsen [Tue, 6 Dec 2016 01:46:14 +0000 (17:46 -0800)]
Tell Soong about TARGET_COPY_OUT_VENDOR

So that it can properly install proprietary components in system/vendor/
or vendor/

Test: lunch aosp_arm-eng; m -j vulkan.default
Test: lunch aosp_flounder-eng; m -j vulkan.default
Change-Id: I98384d2b4f09c3b5de2ed04417880f366828234e

7 years agoRemove aidl, proto, objc from soong_problems
Dan Willemsen [Tue, 6 Dec 2016 00:38:14 +0000 (16:38 -0800)]
Remove aidl, proto, objc from soong_problems

We support these in Soong now, so stop marking them in soong_to_convert.

Test: Compare soong_to_convert.txt
Change-Id: I89befdfd8c4eaa04ab626d8be090765a1b879d8b

7 years agoSoong now exports AIDL_CPP
Dan Willemsen [Mon, 5 Dec 2016 23:16:38 +0000 (15:16 -0800)]
Soong now exports AIDL_CPP

So remove it here.

Test: mmma -j system/tools/aidl
Change-Id: Ia92ce6499881c1aec42900fcfdb4e790a67b62b5

7 years agoManually merge commit 'c13da91' into stage-aosp-master
The Android Automerger [Sat, 3 Dec 2016 04:02:09 +0000 (04:02 +0000)]
Manually merge commit 'c13da91' into stage-aosp-master

* commit 'c13da91':
  Add support for creating ext4 images with mke2fs

BUG:33304034

7 years agoMerge "Add support for creating ext4 images with mke2fs"
Treehugger Robot [Fri, 2 Dec 2016 22:48:21 +0000 (22:48 +0000)]
Merge "Add support for creating ext4 images with mke2fs"

7 years agoMerge "Sort SELinux package inclusion."
dcashman [Fri, 2 Dec 2016 22:36:28 +0000 (22:36 +0000)]
Merge "Sort SELinux package inclusion."
am: 15e1b5e239

Change-Id: I2411d85662baf7278d34955bd6eb7ae6938b1956

7 years agoMerge "Sort SELinux package inclusion."
Treehugger Robot [Fri, 2 Dec 2016 22:25:42 +0000 (22:25 +0000)]
Merge "Sort SELinux package inclusion."

7 years agoMerge "Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES"
Colin Cross [Fri, 2 Dec 2016 22:00:26 +0000 (22:00 +0000)]
Merge "Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES"
am: 1498712a6b

Change-Id: Iec7d58d837879bc4a63818d09881873f56d14779

7 years agoMerge "Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES"
Colin Cross [Fri, 2 Dec 2016 21:47:57 +0000 (21:47 +0000)]
Merge "Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES"

7 years agoSort SELinux package inclusion.
dcashman [Fri, 2 Dec 2016 17:32:15 +0000 (09:32 -0800)]
Sort SELinux package inclusion.

This section will be modified as part of splitting these packages into platform
and non-platform components.  Sort them all to avoid conflicts.

Bug: 31363362
Test: Builds
Change-Id: I91fb4d4d7c0a6971a19047ef2eb2981770a122ff

7 years agoMerge "Build recovery-two-step.img for two-step OTAs."
Tao Bao [Fri, 2 Dec 2016 15:19:00 +0000 (15:19 +0000)]
Merge "Build recovery-two-step.img for two-step OTAs."
am: 06e14e438f

Change-Id: I9c5d6e5f71da88bc0f662373335b024a55ca193e

7 years agoMerge "Build recovery-two-step.img for two-step OTAs."
Tao Bao [Fri, 2 Dec 2016 15:09:13 +0000 (15:09 +0000)]
Merge "Build recovery-two-step.img for two-step OTAs."

7 years agoSet platform min sdk for Jack to o-b1
Yohann Roussel [Fri, 18 Nov 2016 18:30:28 +0000 (19:30 +0100)]
Set platform min sdk for Jack to o-b1

Test: m core-all
(cherry picked from commit 94acfe908b3e70cdd11920c92715ef06de7ed212)

Change-Id: I26a558677f2fa8ede09ad1ae7f31b786c4ba0a43

7 years agoBuild recovery-two-step.img for two-step OTAs.
Tao Bao [Wed, 30 Nov 2016 20:11:57 +0000 (12:11 -0800)]
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

7 years agoMerge "Do not *directly* package libbcc.so"
Pirama Arumuga Nainar [Thu, 1 Dec 2016 18:11:13 +0000 (18:11 +0000)]
Merge "Do not *directly* package libbcc.so"
am: ec0d7cbc49

Change-Id: I15871b1ca4cb5fa5488721a5f6a21bfa2a72feab

7 years agoMerge "Do not *directly* package libbcc.so"
Pirama Arumuga Nainar [Thu, 1 Dec 2016 17:58:46 +0000 (17:58 +0000)]
Merge "Do not *directly* package libbcc.so"

7 years agoMerge "releasetools: Remove dead parameter in GetBootableImage()."
Tao Bao [Thu, 1 Dec 2016 17:09:07 +0000 (17:09 +0000)]
Merge "releasetools: Remove dead parameter in GetBootableImage()."
am: 8df4fea85f

Change-Id: I192af3927849d0d8f995f0002b8b8f2e191b794f

7 years agoMerge "releasetools: Remove dead parameter in GetBootableImage()."
Tao Bao [Thu, 1 Dec 2016 17:02:06 +0000 (17:02 +0000)]
Merge "releasetools: Remove dead parameter in GetBootableImage()."

7 years agoMerge "Replace core-junit with legacy-test"
Paul Duffin [Thu, 1 Dec 2016 10:42:16 +0000 (10:42 +0000)]
Merge "Replace core-junit with legacy-test"
am: 32cc1f80e5

Change-Id: Id425eff2aaafdf8ad63bc66ef2d28f71d32d6e8b

7 years agoMerge "Replace core-junit with legacy-test"
Paul Duffin [Thu, 1 Dec 2016 10:34:07 +0000 (10:34 +0000)]
Merge "Replace core-junit with legacy-test"

7 years agoreleasetools: Remove dead parameter in GetBootableImage().
Tao Bao [Thu, 1 Dec 2016 08:08:05 +0000 (00:08 -0800)]
releasetools: Remove dead parameter in GetBootableImage().

The 'system_img_path' parameter was introduced in commit
d995f4b04df46d9e9ac1be8d58ca961e94b783d1, but became obsolete since
commit 2ce63edab715ae4ff34e1a2ef240b05216f6ca5d.

Test: m dist
Change-Id: Iffd496d929db5cc3dfc955a48bfc1b1317bd012f

7 years agoMerge changes from topic 'simplify_app_process_asan_modules'
Andreas Gampe [Thu, 1 Dec 2016 02:48:21 +0000 (02:48 +0000)]
Merge changes from topic 'simplify_app_process_asan_modules'
am: 9a3bd76ab4

Change-Id: I07d79da80ce2fce035c87e768d12c1b136bf6fdd

7 years agoRevert "Build: Add sanitized app_process"
Andreas Gampe [Thu, 1 Dec 2016 02:47:34 +0000 (02:47 +0000)]
Revert "Build: Add sanitized app_process"
am: 88d43677f5

Change-Id: I358a67f5e89bf72e7bba9d97a16d34d9a3e79afb

7 years agoRevert "Build: Add asanwrapper in SANITIZE_LITE"
Andreas Gampe [Thu, 1 Dec 2016 02:47:29 +0000 (02:47 +0000)]
Revert "Build: Add asanwrapper in SANITIZE_LITE"
am: 4938f3300a

Change-Id: Ic3745664db0b89baaea8b98b79ead63a77e95440

7 years agoMerge changes from topic 'simplify_app_process_asan_modules'
Treehugger Robot [Thu, 1 Dec 2016 02:38:29 +0000 (02:38 +0000)]
Merge changes from topic 'simplify_app_process_asan_modules'

* changes:
  Revert "Build: Add sanitized app_process"
  Revert "Build: Add asanwrapper in SANITIZE_LITE"

7 years agoRevert "Build: Add sanitized app_process"
Andreas Gampe [Wed, 30 Nov 2016 23:38:43 +0000 (15:38 -0800)]
Revert "Build: Add sanitized app_process"

This reverts commit a35d92e4312b2247b0a27e17a6f08f82dae49fdf.

The app_process__asan module is merged into app_process.

Bug: 33224213
Test: m
Change-Id: I5e3e836c67b5bd17cf967f1b2429e39c4e18557b

7 years agoRevert "Build: Add asanwrapper in SANITIZE_LITE"
Andreas Gampe [Wed, 30 Nov 2016 23:38:31 +0000 (15:38 -0800)]
Revert "Build: Add asanwrapper in SANITIZE_LITE"

This reverts commit eee31511f70398ada44c7f8811234311ce8c7a7f.

Rewriting of app_process adds an automatic dependency.

Bug: 33224213
Test: m
Change-Id: Idd9509d116692954224f4d2ffd6c81b69e9a85a3

7 years agoMerge changes from topic 'app_process_sanitized_binaries'
Andreas Gampe [Thu, 1 Dec 2016 00:09:03 +0000 (00:09 +0000)]
Merge changes from topic 'app_process_sanitized_binaries'
am: de24e6198e

Change-Id: Ie077774c7816e7bf19c4474e9fa36824e10d58d4

7 years agoBuild: Add asanwrapper in SANITIZE_LITE
Andreas Gampe [Thu, 1 Dec 2016 00:06:26 +0000 (00:06 +0000)]
Build: Add asanwrapper in SANITIZE_LITE
am: eee31511f7

Change-Id: I2fda3c98543296418b7c4741e8425f1ab35f7fb1

7 years agoBuild: Add sanitized app_process
Andreas Gampe [Thu, 1 Dec 2016 00:06:20 +0000 (00:06 +0000)]
Build: Add sanitized app_process
am: a35d92e431

Change-Id: Idc10fa334820dab5de1a697092e4c14fb6023425

7 years agoDo not *directly* package libbcc.so
Pirama Arumuga Nainar [Wed, 30 Nov 2016 23:40:43 +0000 (15:40 -0800)]
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

7 years agoMerge changes from topic 'app_process_sanitized_binaries'
Treehugger Robot [Wed, 30 Nov 2016 21:00:55 +0000 (21:00 +0000)]
Merge changes from topic 'app_process_sanitized_binaries'

* changes:
  Build: Add asanwrapper in SANITIZE_LITE
  Build: Add sanitized app_process

7 years agoBuild: Add asanwrapper in SANITIZE_LITE
Andreas Gampe [Wed, 30 Nov 2016 18:20:20 +0000 (10:20 -0800)]
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

7 years agoReplace core-junit with legacy-test
Paul Duffin [Tue, 29 Nov 2016 12:15:13 +0000 (12:15 +0000)]
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

7 years agofs_config: add unit tests
William Roberts [Sat, 19 Nov 2016 00:12:41 +0000 (16:12 -0800)]
fs_config: add unit tests

Add some initial unit tests.

The unit tests themselves are inlined into the tool and
can be executed by running the "test" commandlet.

Example:
$ python -m unittest test_fs_config_generator.Tests
.............
----------------------------------------------------------------------
Ran 13 tests in 0.004s

OK

Test: run the test commandlet and observe for failures.

Change-Id: I1bada385fa841fd50fa958997d440f1198e15198
Signed-off-by: William Roberts <william.c.roberts@intel.com>
7 years agoBuild: Add sanitized app_process
Andreas Gampe [Wed, 30 Nov 2016 03:22:01 +0000 (19:22 -0800)]
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

7 years agoMerge "Revert "Build: Bring back SDK dependencies""
Andreas Gampe [Wed, 30 Nov 2016 00:48:39 +0000 (00:48 +0000)]
Merge "Revert "Build: Bring back SDK dependencies""
am: 2bbeae7f8a

Change-Id: I9560d6a8f9971db89c87499b2e177bd0bb921cff

7 years agoMerge "Revert "Build: Bring back SDK dependencies""
Treehugger Robot [Wed, 30 Nov 2016 00:39:33 +0000 (00:39 +0000)]
Merge "Revert "Build: Bring back SDK dependencies""

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 changes from topic 'basic_vndk'
Dan Willemsen [Tue, 29 Nov 2016 20:42:40 +0000 (20:42 +0000)]
Merge changes from topic 'basic_vndk'
am: e69f15c9dc

Change-Id: Idf95a23c4b1341145f9e39364235413c82f659ac

7 years agoProhibit host modules from using LOCAL_COPY_HEADERS
Dan Willemsen [Tue, 29 Nov 2016 20:42:37 +0000 (20:42 +0000)]
Prohibit host modules from using LOCAL_COPY_HEADERS
am: 6e51ef61a7

Change-Id: Id7c80e4dba5a505a04ce47d459c0a525debc4d53

7 years agoAdd basic VNDK support in Make
Dan Willemsen [Tue, 29 Nov 2016 20:42:32 +0000 (20:42 +0000)]
Add basic VNDK support in Make
am: bab0fa6928

Change-Id: Ie2bc9062891b2f8000b1db471b27f58c74190e92

7 years agoRemove GLOBAL_LD_DIRS
Dan Willemsen [Tue, 29 Nov 2016 20:42:26 +0000 (20:42 +0000)]
Remove GLOBAL_LD_DIRS
am: e5836c4bb0

Change-Id: I6683ed19bff601075e82065c5c1dc783d62249b4

7 years agoMerge changes from topic 'basic_vndk'
Treehugger Robot [Tue, 29 Nov 2016 20:36:04 +0000 (20:36 +0000)]
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

7 years agoFix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES
Colin Cross [Tue, 29 Nov 2016 19:12:56 +0000 (11:12 -0800)]
Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES

Building with LOCAL_STATIC_ANDROID_LIBARIES and LOCAL_USE_APPT2
causes a warning:
build/core/package_internal.mk:143: Empty argument supplied to find-subdir-assets

Only call find-subdir-assets if my_res_dir is not empty.

Also improve the warning message to make it easier to find the module
that caused it.

Test: m -j
Change-Id: I9a71162c7e2ed82f64d6844baca256968ac77317

7 years agoProhibit host modules from using LOCAL_COPY_HEADERS
Dan Willemsen [Wed, 23 Nov 2016 00:17:38 +0000 (16:17 -0800)]
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

7 years agoAdd basic VNDK support in Make
Dan Willemsen [Fri, 18 Nov 2016 22:05:39 +0000 (14:05 -0800)]
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

7 years agoRemove GLOBAL_LD_DIRS
Dan Willemsen [Tue, 22 Nov 2016 23:13:56 +0000 (15:13 -0800)]
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

7 years agoMerge "Makefile: Pack verity_verifier into otatools.zip."
Tao Bao [Mon, 28 Nov 2016 18:13:45 +0000 (18:13 +0000)]
Merge "Makefile: Pack verity_verifier into otatools.zip."
am: 31543713fc

Change-Id: I94587dc4f80edd61d5d414742513c4360609259f

7 years agoMakefile: Pack verity_verifier into otatools.zip.
Tao Bao [Mon, 28 Nov 2016 18:13:43 +0000 (18:13 +0000)]
Makefile: Pack verity_verifier into otatools.zip.
am: 7f02f3413b

Change-Id: Ib9c73dd16016b582dbaf2c40ebfc9b20c1adabe3

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:50:21 +0000 (18:50 +0000)]
Merge "Update warn.py for new Error Prone diagnostics"
am: 7ed3af23a8

Change-Id: Iae1dec6c0b48be23d874c01b9d87627bbf0c0caf

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 agoAdd support for creating ext4 images with mke2fs
Adrien Schildknecht [Sat, 19 Nov 2016 01:06:29 +0000 (17:06 -0800)]
Add support for creating ext4 images with mke2fs

We are investigating replacing make_ext4fs with the upstream tool mke2fs.
To mitigate the trouble that may arise if the new tool behave differently
compared to the old one, there will be a transition period.

Devices that want to use the new way of creating ext4 images can set the
variable "TARGET_USES_MKE2FS" to true in their BoardConfig.mk
By default, the build system will choose the old tool 'make_ext4fs'.

Test: m otapackage with TARGET_USES_MKE2FS={,false,true}
Change-Id: I282bcb9efe335a86c53986283090ca947d65c7f8

7 years agoMerge "Support `LOCAL_SDK_VERSION := current` for NDK."
Dan Albert [Fri, 18 Nov 2016 19:09:36 +0000 (19:09 +0000)]
Merge "Support `LOCAL_SDK_VERSION := current` for NDK."
am: c7d2fe614e

Change-Id: Ibf9a4ffa74f5d05f68bd34db908fe4e5a67fe173

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 agoRevert "Build: Bring back SDK dependencies"
Andreas Gampe [Fri, 18 Nov 2016 03:42:51 +0000 (19:42 -0800)]
Revert "Build: Bring back SDK dependencies"

This reverts commit ff00c5d78faeacfaae1abc69d69d7cd8c0e9d3ff.

Test: m

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

Change-Id: I0c15adcd387980b94c5544427d4f4fdad3f7ff31

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"
Andreas Gampe [Fri, 18 Nov 2016 01:32:20 +0000 (01:32 +0000)]
Merge "Build: Refactor and clean up runtime_libart"
am: 020f5275d5

Change-Id: Ifff0829fe3b7e306527e3654ee3833a1935c1ac3

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"
William Roberts [Fri, 18 Nov 2016 00:57:15 +0000 (00:57 +0000)]
Merge "fs_config: move sort to be consistent with other sort"
am: 052a01958c

Change-Id: If18ab459d74e20f96db56d80ecdbf94580583463