Commit Graph

11359 Commits

Author SHA1 Message Date
Vikram Dattu 29e88b850e HOST_OUT_EXECUTABLES path is not needed in misc_info file
HOST_OUT_EXECUTABLES is already added to the PATH variable,
so it is not needed to add the path info for binaries in
misc_info.txt and <partition>_image_info.txt.

Earlier the mkuserimg item in the build_image dictionary is
hardcoded to "mkuserimg.sh", but now it is customized for
mkuserimg.sh and mkuserimg_mke2fs.sh, and maintained in
dictionary "ext_mkuserimg=$(MKEXTUSERIMG)" in misc_info.txt
and <partition>_image_info.txt, where it is used in the
build_image script while creating the images.

The problem here is the value for this key is set to build
path of the file mkuserimg file
$(HOST_OUT_EXECUTABLES)/mkuserimg.sh,
i.e. out/host/linux_x86/bin/mkuserimg.sh,
there by standalone signing the images using otatools is
not working as the executables are packed in bin folder.

Test: tools/releasetools/sign_target_files_apks
    -p <extracted ota-tools.zip folder>
    --extra_signapk_args=-f /etc/opt/cert_data.dat
    -v
    --replace_verity_private_key ~/build/target/product/security/verity
    --replace_verity_public_key ~/build/target/product/security/verity.x509.pem
    -k <key maping>
    <input target files zip>
    <output target files zip>

Change-Id: I57af1025ec38f3794f779c49faa0bf965afc6a5d
2016-12-20 13:55:06 +01:00
Daniel Cashman df1e2102c6 Revert "Add build dependencies for split sepolicy files."
This reverts commit 086189145c.

Change-Id: Idfd210d1f16eefcedda6154b0361611f53c5158f
2016-12-17 00:53:52 +00:00
dcashman 086189145c Add build dependencies for split sepolicy files.
Add build targets for split sepolicy files so they'll appear in the root dir for
on-device compilation.  nonplat_sepolicy will eventually be removed as it should
be provided by a different partition.  Also replace sepolicy.recovery with the
appropriate split components.

Bug: 31363362
Test: Policy builds on-device and boots.
Change-Id: I017dabe6940c3cd20de6c00bb5253274d5a9269b
2016-12-16 14:01:29 -08:00
Alex Klyubin 3cfff7386f Merge "aapt no longer needed for signing APKs" 2016-12-16 17:21:13 +00:00
Alex Klyubin 5a1ba84c30 Merge "Remove unused get-package-min-sdk-version-int" 2016-12-16 17:20:23 +00:00
Vijay Venkatraman e4be608d2f Merge "Revert "Extends VNDK support in Make by setting LOCAL_USE_VNDK for modules going into vendor partition, except when they already have LOCAL_SDK_VERSION set."" 2016-12-16 02:11:12 +00:00
Vijay Venkatraman 823172e209 Revert "Extends VNDK support in Make by setting LOCAL_USE_VNDK for modules going into vendor partition, except when they already have LOCAL_SDK_VERSION set."
This reverts commit 2b6c204c73.

Change-Id: I60a042f2ed0c767ec3a45c31ee1b99d43891efaa
2016-12-16 02:08:18 +00:00
Alex Klyubin 664cc31fd8 Remove unused get-package-min-sdk-version-int
The only user of get-package-min-sdk-version-int was signapk. signapk
no longer needs to be provided with the APK's minSdkVersion though.

(cherry picked from commit e185da21ca)
Test: make clean && make

Change-Id: I6867a004aec0f3752cbbc99cc30e02ca5404b3c4
2016-12-15 16:37:37 -08:00
Alex Klyubin 1b391c002d aapt no longer needed for signing APKs
signapk now auto-detects the APK's minSdkVersion, removing the need to
run aapt dump badging during APK signing.

Test: make clean && make
Change-Id: Ifc74292a9900443d053e437b50b540c8d0b33dbd
2016-12-15 16:37:21 -08:00
Vijay Venkatraman b777f169f8 Merge "Extends VNDK support in Make by setting LOCAL_USE_VNDK for modules going into vendor partition, except when they already have LOCAL_SDK_VERSION set." 2016-12-15 21:26:16 +00:00
Treehugger Robot f61205d5c7 Merge "Remove variables exported by Soong" 2016-12-15 07:19:03 +00:00
Treehugger Robot e9c4079e91 Merge "Don't clean generated java sources when AIDL list changes" 2016-12-15 07:01:13 +00:00
Dan Willemsen 3c6bba0af0 Don't clean generated java sources when AIDL list changes
AIDL doesn't generate into the intermediate src directory, we pass exact
aidl->java files to the compiler. So there is no need to clean the
intermediate src directory when the aidl file list changes for a module.

Test: None, just code inspection
Change-Id: I01feff7cc399ac5b88b83333a1ac86928d0a81e6
2016-12-14 19:53:54 -08:00
Dan Willemsen d3cc4950f8 Merge "Identify non-local EXPORT_C_INCLUDE_DIRS in soong_to_convert" 2016-12-15 00:30:04 +00:00
Dan Willemsen 56c6a9d1ff Remove variables exported by Soong
LLVM_RELEASE_VERSION is unused from envsetup.sh and during product
config loading.  LLVM_PREBUILTS_VERSION is still used in envsetup.sh, so
needs to stay.

Delay reading core/clang/config.mk until after Soong's variables are
read so that we don't need a copy of LLVM_PREBUILTS_BASE.

Test: Compare build-aosp_flounder.ninja
Change-Id: I85b5836a2230838c8f3766fb19c6108fc5c9ca50
2016-12-14 16:27:08 -08:00
Alex Klyubin 9b75e272b6 Faster auto-detection of APK's minSdkVersion
Prior to this change, when signing APKs, the build system invoked
'aapt dump badging' on each APK, to detect the value to pass into
signapk as --min-sdk-version. Now that signapk uses the apksig
library, it can auto-detect that value on its own, thus avoiding the
need to invoke 'aapt dump badging' and thus speeding up the build
process.

The semantics of signapk's --min-sdk-version flag is changed by this
commit from having the default value of 0 to having the default value
of "auto-detect from APK".

P.S. The get-package-min-sdk-version-int is not removed from
core/definitions.mk in this commnit, because this function is used in
another project's .mk file and thus that .mk file needs to be modified
first.

Test: rm -Rf out/ && make
Change-Id: I0972fcf0abbde9cbf6794e6c05c743c77c8a78f9
2016-12-14 12:53:44 -08:00
Dan Willemsen 0be6907b2b Identify non-local EXPORT_C_INCLUDE_DIRS in soong_to_convert
Soong only supports exporting include directories under the current
directory. So bring non-local directories up as a potential problem in
soong_to_convert.txt

Test: m -j $OUT/soong_to_convert.txt, inspect
Change-Id: I7a15b92e10a1d8b8d3496c6f0529a0d0824f301e
2016-12-13 18:29:59 -08:00
Dan Willemsen d07ba4e2a6 Implement LOCAL_TEST_DATA to ship data with tests
This can be used to ship source data as test artifacts next to native
tests. It works for both local builds and the test bundles using
package_modules.mk.

You just specify a file list relative to the local directory, and those
files will be copied next to the executable under
/data/nativetest*/<module>/...:

  LOCAL_MODULE := mytest
  LOCAL_TEST_DATA := data/file1 file2

  /data/nativetest/mytest/mytest
  /data/nativetest/mytest/data/file1
  /data/nativetest/mytest/file2

If the data is in another directory, you may also specify a different
prefix for the source files:

  LOCAL_TEST_DATA := external/skia:resources/f.xml

  /data/nativetest/skia_test/resources/f.xml

And there's a new convenience macro to find a list of files in this
format:

  LOCAL_TEST_DATA := $(call find-test-data-in-subdirs,external/skia,"*.xml",resources)

I'll expand this to native benchmarks and fuzz tests in a later change,
since they don't have their own module classes yet.

Bug: 30564705
Test: m -j minikin_tests; ls $OUT/data/nativetest*/minikin_tests
Test: m -j continuous_native_tests dist; zipinfo -1 out/dist/*continuous_native_tests*.zip
Change-Id: Ic76a7b62e7f567f259c4ab1510ee97d26600ba9a
2016-12-13 17:18:36 -08:00
Dan Willemsen e26036ad5e Merge "Sort and reorganize clear_vars.mk to make merges easier" 2016-12-13 22:22:59 +00:00
Dan Willemsen d78d6c9fc0 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
2016-12-13 21:14:25 +00:00
Paul Duffin e28eb9ff0e Merge "Use legacy-test instead of core-junit" 2016-12-13 09:34:17 +00:00
Treehugger Robot d1b10b20f6 Merge "Fix PDK dupbuild issues" 2016-12-10 07:14:12 +00:00
Dan Willemsen e0bba6fa12 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
2016-12-09 21:15:41 -08:00
Colin Cross d76e2e63ae 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
2016-12-09 13:08:27 -08:00
Paul Duffin 5bf0587461 Use legacy-test instead of core-junit
The core-junit library has been replaced with the legacy-test
library. The latter included everything that was in core-junit
plus some android.test classes that were in frameworks.

Bug: 30188076
Test: make checkbuild
Change-Id: Id2ba827705dbd2c27a1183e1153b03c11a8a4074
2016-12-09 15:21:45 +00:00
Colin Cross 3753e8a335 Pass eng product varible to soong
Test: mmma -j frameworks/compile/libbcc
Change-Id: I79a903528948b728f730385a9de5e431617ff257
2016-12-08 10:05:55 -08:00
Treehugger Robot 6d4123aeb8 Merge "Build: Skip JNI lib symlink in second-stage build" 2016-12-07 17:35:53 +00:00
Patrick Tjin a1900841bb 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 b59eca3586)
2016-12-06 21:07:23 -08:00
Treehugger Robot 52897d4ecb Merge "custom_image: fix build break" 2016-12-07 03:20:13 +00:00
Andreas Gampe 445553f4e7 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
2016-12-06 17:56:29 -08:00
Benoit Lamarche fcf364b15a Merge "Disable Jack's NNode cache"
am: 3c731228ba

Change-Id: Iea59e0c4cd0fa11277913d70a9de698565ae13fc
2016-12-06 15:54:45 +00:00
Benoit Lamarche 3c731228ba Merge "Disable Jack's NNode cache" 2016-12-06 15:47:35 +00:00
Benoit Lamarche 9e0d21d96b Disable Jack's NNode cache
Test: N/A
Bug: 33367537
Change-Id: Idf7a518dfcbf5665917465b1ae2f0e09f4532688
2016-12-06 15:00:03 +01:00
Benoit Lamarche 0e61b46673 resolve merge conflicts of e04c941 to stage-aosp-master
Change-Id: I92ca7c5a10532220031dc799ad8900c9b20dc6fe
2016-12-06 11:32:41 +01:00
Benoit Lamarche e04c941668 Merge "Set platform min sdk for Jack to o-b1" 2016-12-06 10:16:26 +00:00
bowgotsai 0f72bca96b 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
2016-12-06 17:36:31 +08:00
Dan Willemsen 0deb783a52 Merge "Tell Soong about TARGET_COPY_OUT_VENDOR"
am: 47b0322534

Change-Id: I55ac26073caf34173f6c051f87e10b651c23589b
2016-12-06 03:32:05 +00:00
Treehugger Robot 47b0322534 Merge "Tell Soong about TARGET_COPY_OUT_VENDOR" 2016-12-06 03:27:01 +00:00
Dan Willemsen 55b1651181 Merge "Remove aidl, proto, objc from soong_problems"
am: bbc072f716

Change-Id: Ifba3b1ebb0e9ca018495fc1f93104823d51a516e
2016-12-06 02:32:30 +00:00
Treehugger Robot bbc072f716 Merge "Remove aidl, proto, objc from soong_problems" 2016-12-06 02:28:36 +00:00
Dan Willemsen f1e23b77f4 Merge "Soong now exports AIDL_CPP"
am: 06a2daac72

Change-Id: I704c568b71cd95c6a17545d6694095b72e5c097c
2016-12-06 02:25:36 +00:00
Treehugger Robot 06a2daac72 Merge "Soong now exports AIDL_CPP" 2016-12-06 02:20:40 +00:00
Vijay Venkatraman 2b6c204c73 Extends VNDK support in Make by setting LOCAL_USE_VNDK
for modules going into vendor partition, except when
they already have LOCAL_SDK_VERSION set.

Test: Any module that uses VNDK
Change-Id: Ic90b165ade8d9845595f371f410635cae6477d7c
2016-12-05 18:19:44 -08:00
Dan Willemsen c077871f68 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
2016-12-05 17:46:30 -08:00
Dan Willemsen a1c3183455 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
2016-12-05 16:38:14 -08:00
Dan Willemsen 32b283171e Soong now exports AIDL_CPP
So remove it here.

Test: mmma -j system/tools/aidl
Change-Id: Ia92ce6499881c1aec42900fcfdb4e790a67b62b5
2016-12-05 15:16:38 -08:00
The Android Automerger ada51f3b8f Manually merge commit 'c13da91' into stage-aosp-master
* commit 'c13da91':
  Add support for creating ext4 images with mke2fs

BUG:33304034
2016-12-03 04:02:09 +00:00
Treehugger Robot c13da91023 Merge "Add support for creating ext4 images with mke2fs" 2016-12-02 22:48:23 +00:00
Colin Cross 51c1eeefb3 Merge "Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES"
am: 1498712a6b

Change-Id: Iec7d58d837879bc4a63818d09881873f56d14779
2016-12-02 22:00:26 +00:00
Colin Cross 1498712a6b Merge "Fix warning with AAPT2 and LOCAL_STATIC_ANDROID_LIBRARIES" 2016-12-02 21:47:58 +00:00