Commit Graph

32383 Commits

Author SHA1 Message Date
William Roberts 8f42ce71ac 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>
2016-11-29 16:21:17 -08:00
William Roberts 5f059a7691 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>
2016-11-29 16:21:17 -08:00
William Roberts cfc51f5347 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>
2016-11-29 16:21:17 -08:00
William Roberts d7104bca65 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>
2016-11-29 16:21:17 -08:00
William Roberts 64edf5bb97 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>
2016-11-29 16:21:17 -08:00
William Roberts 11c29283ec 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>
2016-11-29 16:21:17 -08:00
Dan Willemsen 474bba8831 Merge changes from topic 'basic_vndk'
am: e69f15c9dc

Change-Id: Idf95a23c4b1341145f9e39364235413c82f659ac
2016-11-29 20:42:40 +00:00
Dan Willemsen dc556b4bc0 Prohibit host modules from using LOCAL_COPY_HEADERS
am: 6e51ef61a7

Change-Id: Id7c80e4dba5a505a04ce47d459c0a525debc4d53
2016-11-29 20:42:37 +00:00
Dan Willemsen 323efd3035 Add basic VNDK support in Make
am: bab0fa6928

Change-Id: Ie2bc9062891b2f8000b1db471b27f58c74190e92
2016-11-29 20:42:32 +00:00
Dan Willemsen 28cf7d49ab Remove GLOBAL_LD_DIRS
am: e5836c4bb0

Change-Id: I6683ed19bff601075e82065c5c1dc783d62249b4
2016-11-29 20:42:26 +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
Colin Cross fe10963496 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
2016-11-29 11:12:56 -08: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 5cd53f7e22 Merge "Makefile: Pack verity_verifier into otatools.zip."
am: 31543713fc

Change-Id: I94587dc4f80edd61d5d414742513c4360609259f
2016-11-28 18:13:45 +00:00
Tao Bao 3b35352e1b Makefile: Pack verity_verifier into otatools.zip.
am: 7f02f3413b

Change-Id: Ib9c73dd16016b582dbaf2c40ebfc9b20c1adabe3
2016-11-28 18:13:43 +00: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 1eef968704 Merge "Update warn.py for new Error Prone diagnostics"
am: 7ed3af23a8

Change-Id: Iae1dec6c0b48be23d874c01b9d87627bbf0c0caf
2016-11-22 18:50:21 +00: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
Adrien Schildknecht 9a072cc0b0 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
2016-11-18 17:06:29 -08:00
Dan Albert 6cac9ba834 Merge "Support `LOCAL_SDK_VERSION := current` for NDK."
am: c7d2fe614e

Change-Id: Ibf9a4ffa74f5d05f68bd34db908fe4e5a67fe173
2016-11-18 19:09:36 +00: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 2a2442c6f2 Merge "Build: Bring back SDK dependencies"
am: eb06c77b80

Change-Id: I0c15adcd387980b94c5544427d4f4fdad3f7ff31
2016-11-18 02:57:28 +00: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
Andreas Gampe bd7d5aea2a Merge "Build: Refactor and clean up runtime_libart"
am: 020f5275d5

Change-Id: Ifff0829fe3b7e306527e3654ee3833a1935c1ac3
2016-11-18 01:32:20 +00:00
Treehugger Robot 020f5275d5 Merge "Build: Refactor and clean up runtime_libart" 2016-11-18 01:25:53 +00:00
William Roberts c06559eb7b Merge "fs_config: move sort to be consistent with other sort"
am: 052a01958c

Change-Id: If18ab459d74e20f96db56d80ecdbf94580583463
2016-11-18 00:57:15 +00:00
Treehugger Robot 052a01958c Merge "fs_config: move sort to be consistent with other sort" 2016-11-18 00:29:53 +00:00
William Roberts 2088e57ed8 Merge "fs_config: correct README"
am: 4baaf905ee

Change-Id: I1a3fa8a296608205a29efb94c32fbfd14d4844f2
2016-11-17 23:42:52 +00:00
Andreas Gampe 349b67c6ba Merge "Build: Add agent library to default packages"
am: 709aaa5aea

Change-Id: I61e55b948838d8845d04802e87d435ac8b9f9b3c
2016-11-17 23:42:38 +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 70bbbdfdb1 Merge "Separate parallel_classify_warnings out of parse_input_file."
am: e4fb495b09

Change-Id: I5353f10ea0d78d8d9cd4539e4095b9c0ff010520
2016-11-15 22:34:03 +00:00
Chih-hung Hsieh e4fb495b09 Merge "Separate parallel_classify_warnings out of parse_input_file." 2016-11-15 22:19:36 +00:00
Robert Sesek cda21868aa Merge "Add webview_zygote target to core_minimal.mk PRODUCT_PACKAGES."
am: 07b4a59843

Change-Id: Ie5dc3d3d617203ea467ace4440ef0119cb75ad75
2016-11-15 19:30:51 +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 676610e090 Merge "Use new -ninja flag to aidl-cpp"
am: 7d4c926ed7

Change-Id: I165926e0c23a8a9a7dd8f3e46956b53f53d7fc9f
2016-11-13 20:00:16 +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 39826d3cc7 Merge "Remove transform-d-to-p"
am: da85fecaf1

Change-Id: Ieb010ebfe46ce9312b833191319d56155cc0b397
2016-11-11 21:42:29 +00:00
Dan Willemsen da85fecaf1 Merge "Remove transform-d-to-p" 2016-11-11 21:38:53 +00:00