Commit Graph

34208 Commits

Author SHA1 Message Date
Simran Basi c8f21f6c4e device-tests & general-tests: build out zips.
Generates the output zips of the device-tests & general-tests
buildable suites.

Bug: 35386840
Test: make dist device-tests general-tests -j
Change-Id: I253bcd8615379334b52b4d770a5c4f7e07a58795
2017-03-15 17:56:50 -07:00
Dimitry Ivanov d994a73989 Add ld.config.txt to rootdir/etc
This file is used by linker to create custom namespace
configuration for binaries.

Bug: http://b/30706810
Test: m
Change-Id: Ifc4e43ed51c6906c75a7f0d9f00a816b5e16c4d8
2017-03-15 14:47:35 -07:00
Alex Klyubin ac5ac23bb3 Merge "Remove unused /selinux_version"
am: f32107fbb2

Change-Id: Iba4f3d7eca37bbf20d9527245baf44f32b67c07f
2017-03-15 20:05:15 +00:00
Treehugger Robot f32107fbb2 Merge "Remove unused /selinux_version" 2017-03-15 19:59:03 +00:00
Colin Cross 2afade582d resolve merge conflicts of da00e137ec to stage-aosp-master
Change-Id: Ie81c0f4f5f14ae3e51ee717a50d0c29b26161b90
2017-03-15 10:20:24 -07:00
Treehugger Robot da00e137ec Merge "Compute PLATFORM_VERSION and PLATFORM_VERSION_CODENAME" 2017-03-15 17:04:58 +00:00
Alex Klyubin 4fe461d2a0 Remove unused /selinux_version
This file is no longer needed because it was needed for supporting
reloadable/dynamic SELinux policy which is no longer supported.

Test: Clean build, flash, device boots without additional denials.
      Reboot to recovery works, no additional denials.
Bug: 33642277
Change-Id: Ie65e74b8c8437694bc1ea019ab844f60f9e89ade
2017-03-15 09:47:36 -07:00
Colin Cross 8843039368 Merge "package-modules: use && instead of ; between copy commands"
am: e0e20079c2

Change-Id: I5984eeac0581b8fdd5ae6186291cce02f430e450
2017-03-15 02:18:40 +00:00
Colin Cross e0e20079c2 Merge "package-modules: use && instead of ; between copy commands" 2017-03-15 02:09:20 +00:00
Tianjie Xu b59c17fc8f Provide more info for bsdiff/imgdiff exceptions.
When bsdiff/imgdiff fails, dump the output along with the src/tgt
filenames and block ranges. Also, exit the script gracefully instead
of raising an exception about iterating over 'NoneType'.

Bug: 31381530
Test: Package generates successfully for angler, and error outputs
      correctly with error injection.

Change-Id: I06a2dfe545fbdff7043de05fee34b378453a9291
2017-03-14 18:51:21 -07:00
Colin Cross b3bfc7172b Compute PLATFORM_VERSION and PLATFORM_VERSION_CODENAME
Compute PLATFORM_VERSION and PLATFORM_VERSION_CODENAME from
TARGET_PLATFORM_VERSION.  Add explicit values for O, even though
they are the same as the fall backs, as placeholders for future
values.

Bug: 35445510
Test: manual
Merged-In: I30a7142f732c85b637d2ce072373bc867cedcd42
Change-Id: I30a7142f732c85b637d2ce072373bc867cedcd42
2017-03-15 01:10:28 +00:00
Colin Cross f075bcbc98 package-modules: use && instead of ; between copy commands
Using ; to join commands in a rule causes failures to be ignored by
make.  Use && instead, and add true at the end as the second operand
to the last && operator.

Also inline copy-test-in-batch, batching is no longer necessary as
kati will fall back to a shell script if the recipe is too long to
fit in a command line.

Test: builds
Change-Id: I4a2528bf2a15106cfabaae0336662c4a0464271d
2017-03-14 16:58:34 -07:00
Alex Klyubin 47b3e3d92e Merge "Add /file_contexts.bin only to devices which need it"
am: 77dab1ed35

Change-Id: Ic290b4c919b28bd9110f0f7fd782a564beb53ca0
2017-03-14 14:47:24 +00:00
Treehugger Robot 77dab1ed35 Merge "Add /file_contexts.bin only to devices which need it" 2017-03-14 14:41:31 +00:00
Jaesoo Lee 371f5d502c Merge "configstore: add default implementation of configstore@1.0 HAL"
am: 2b61f19254

Change-Id: Ie122892697d2073575fcbb7dae4ba9838778517e
2017-03-14 06:50:30 +00:00
Jaesoo Lee 2b61f19254 Merge "configstore: add default implementation of configstore@1.0 HAL" 2017-03-14 06:44:13 +00:00
Jiyong Park 0871e0029f Merge "fix: cannot determine the type of modules with class 'samples'"
am: b1331938a3

Change-Id: I2908df25418d37f4be1c653110233900a063af8c
2017-03-14 02:21:43 +00:00
Treehugger Robot b1331938a3 Merge "fix: cannot determine the type of modules with class 'samples'" 2017-03-14 02:14:59 +00:00
Jiyong Park d4ca89bfd6 fix: cannot determine the type of modules with class 'samples'
Test: make sdk should not break

Change-Id: I849befde3c6b91f0b417aa6b11a909c6c4aad627
2017-03-14 09:40:29 +09:00
Jiyong Park a2b86b14a5 Merge "install *.so in different paths for their types"
am: 55b14bdaa4

Change-Id: I170c49e7107dc7f345e844e544e89d1590ad59d3
2017-03-14 00:22:47 +00:00
Treehugger Robot 55b14bdaa4 Merge "install *.so in different paths for their types" 2017-03-14 00:15:50 +00:00
Alex Klyubin 092c9025a9 Add /file_contexts.bin only to devices which need it
/file_contexts.bin is needed only by devices which do not have
PRODUCT_FULL_TREBLE set to true. Adding this file to devices which
have PRODUCT_FULL_TREBLE set to true causes confusion and wastes
about 800 kB of space.

/file_contexts.bin was being added unconditionally to all devices due
to the build system needing the combined file_contexts file for
host-side labelling of filesystems in images and for inclusion into
target files ZIP (again, to be used for host-side labelling later).

This change switches these targets to depend on the same file, but
from intermediates directory. As a result, everything continues to
work just fine, but without pulling in /file_contexts.bin. On devices
which need /file_contexts.bin, it is pulled in by
system/core/init/Android.mk.

Test: /file_contexts.bin still there on bullhead, but not there on
      sailfish with PRODUCT_FULL_TREBLE set to true.
Test: Clean build, device boots up with, no new denials.
      Reboot to recovery, recovery boots up fine too, no denials.
      This was tested on sailfish-eng and marlin-eng.
Bug: 36002414

Change-Id: I9bbbb08bbf7d874bba0bafcc19bcbf9eec564326
2017-03-13 13:28:34 -07:00
Dan Willemsen 83667a3821 Merge "Speed up *TS zip file creation"
am: 6d0f949296

Change-Id: I082a5072d27d4e93008de98fc864be1e20f03748
2017-03-13 19:55:17 +00:00
Dan Willemsen 6d0f949296 Merge "Speed up *TS zip file creation" 2017-03-13 19:50:44 +00:00
Tao Bao 81c01a9adc Merge "releasetools: Fix the diff_worker progress report."
am: e5b2ff2a97

Change-Id: Iafdf8970a25092a2bb13fe9f51c91f36fd66d859
2017-03-13 19:19:14 +00:00
Tao Bao e5b2ff2a97 Merge "releasetools: Fix the diff_worker progress report." 2017-03-13 19:12:26 +00:00
Tianjie Xu 82e63d3037 Merge "Switch command to subprocess in build_image.py"
am: 36e612b753

Change-Id: Ia6597a647704cc357759283b5136fa384478545d
2017-03-13 18:25:11 +00:00
Alex Klyubin 05796fe8b3 Merge "Explicitly depend on sepolicy artifacts in recovery targets"
am: cc6e84223b

Change-Id: I129bfe67ed120254d5b6c8e8f00b0ddfed346156
2017-03-13 18:24:43 +00:00
Tianjie Xu 36e612b753 Merge "Switch command to subprocess in build_image.py" 2017-03-13 18:23:08 +00:00
Treehugger Robot cc6e84223b Merge "Explicitly depend on sepolicy artifacts in recovery targets" 2017-03-13 18:17:56 +00:00
Alex Klyubin 2a7171a71a Explicitly depend on sepolicy artifacts in recovery targets
This makes recoveryimage/bootimage targets explicitly depend on SELinux
policy artifacts needed by recovery. Prior to this change, the
dependency was contrived: these targets would rely on copying these
files from "root" directory, and then overwriting sepolicy file with
sepolicy.recovery.

Test: Clean build, flash, device boots up just fine. No new denials.
      Reboot into recovery, recovery boot up just fine, no denials.
      This was tested on bullhead (non A/B device) and sailfish (A/B
      device).
Bug: 33642277
Change-Id: Id2369253d0c7e02e079ae01ac7140b41880fd5ad
2017-03-13 08:43:02 -07:00
Jiyong Park 842a985f90 install *.so in different paths for their types
Shared libraries are now installed to different directories depending on
their types.

* NDK libraries: /system/lib/ndk (with symlink from /system/lib)
* VNDK libraries: /system/lib/vndk
* VNDK-ext libraries: /system/lib/vndk-ext
* Framework-only libraries: /system/lib
* Vendor-only libraries: /vendor/lib
* Same-process HALs: /vendor/lib/sameprocess

However, if LOCAL_MODULE_PATH is explicitly set, then it is respected,
with a warning message. Module owners are highly encouraged to
investigate the warnings and use alternatives to LOCAL_MODULE_PATH;
combination of LOCAL_[PROPRIETARY|OEM|ODM]_MODULE, LOCAL_MODULE_CLASS
and LOCAL_RELATIVE_PATH will cover most of the cases.

Furthermore, for each shared libraries whose path is changed, a symolic
link from the original path to the new path is *temporarily* generated.
e.g. /system/lib/libbase.so -> vndk/libbase.so. This is
to prevent sudden breakage of the code expecting the lib from the old
path. This symbolic links will eventually be removed before O launch
(b/34917183).

Finally, BOARD_SAME_PROCESS_HAL_DEPS is added. It contains the list of
shared libraries implementing the same-process HALs and its internal sub
libraries. This is designed to be defined in BoardConfig.mk

Bug: 33681361
Test: build & run. Libraries must be in the correct directories.
Symlinks from the old path to the new path must exist.

Change-Id: I46130aac09ae65400fd4d0abbc2e12dddd154fb1
2017-03-13 08:27:09 +09:00
Tao Bao 33635b1f32 releasetools: Fix the diff_worker progress report.
Test: Observe the progress update during an incremental generation.
Change-Id: Ib0629a0fd9f925076fd20a040345c4f169133c30
2017-03-12 13:02:51 -07:00
Jeff Vander Stoep 10539b3253 Merge "Include file_contexts conditionally elsewhere"
am: e65af5ce72

Change-Id: Ib781e0237f2bd68431d50890b9d9beaeff86bf74
2017-03-10 23:59:39 +00:00
Treehugger Robot e65af5ce72 Merge "Include file_contexts conditionally elsewhere" 2017-03-10 23:54:18 +00:00
Tianjie Xu e3ad41bb2f Switch command to subprocess in build_image.py
Bug: 36012162
Test: image builds successfully for bullhead and sailfish

Change-Id: Iaa83034b39d392ff8a2154c7b32b21bf33ef552f
2017-03-10 15:16:24 -08:00
Dan Willemsen c4cf49569f Speed up *TS zip file creation
This also makes the resulting zip files more repeatable -- the file list
is sorted and the entries have static timestamps.

On my machine, this saves ~30 seconds for android-cts.zip, it now takes
less than a second.

Test: m -j cts; compare output from without this change
Change-Id: Ia71e35878ff98ba9775115860530e87eee47739f
2017-03-10 13:39:26 -08:00
Tao Bao a592924505 Merge "releasetools: Drop the support for BBOTA v1 and v2."
am: c3e3406125

Change-Id: Id4903588e514c5182f2db1126c5778f69e86a370
2017-03-10 19:32:18 +00:00
Tao Bao c3e3406125 Merge "releasetools: Drop the support for BBOTA v1 and v2." 2017-03-10 19:25:06 +00:00
Jiyong Park 4ed780c454 configstore: add default implementation of configstore@1.0 HAL
This change adds default implementation of configstore@1.0 HAL to all
embedded devices.

Bug: 34314793
Test: build. make sure /system/bin/hw has file
android.hardware.configstore@1.0-service

cherry-picked
1d6ab958c configstore: add default implementation of configstore@1.0 HAL

Merged-in: I65f416560de9d65c57e6cfcb9a6fe26b0140d4a6
Change-Id: Ib68fa325a0f0ce60db0701e16a5a9056411fb398
2017-03-10 10:13:17 +09:00
Tao Bao b538502353 Merge "releasetools: Fix the missing 'post-build' in full OTAs."
am: 1e8364a8be

Change-Id: I663f53f36a7cbc29a6135b548af3371b54dfe688
2017-03-10 00:39:07 +00:00
Treehugger Robot 1e8364a8be Merge "releasetools: Fix the missing 'post-build' in full OTAs." 2017-03-10 00:30:55 +00:00
Tao Bao 39f3eaf221 releasetools: Fix the missing 'post-build' in full OTAs.
The line was unintentionally removed in commit 7f804ba.

Test: ota_from_target_files.py generates a full OTA. Check the package
      metadata.

Change-Id: Icae88e2a9bb2bfc450a3d0d7ab524d6a6eac9df5
2017-03-09 15:01:11 -08:00
Tao Bao debedc3343 Merge "releasetools: Remove dead functions in EdifyGenerator."
am: c87b38f547

Change-Id: Ia1eae3a4e401048c8cbfbf9bc85597dfc450fc4c
2017-03-09 20:31:19 +00:00
Tao Bao 8fad03e771 releasetools: Drop the support for BBOTA v1 and v2.
BBOTA v1 and v2 (introduced in L and L MR1 respectively) don't support
resumable OTA. We shouldn't generate packages using v1/v2 at the risk of
bricking devices.

BBOTA v3 (since M) and v4 (since N) both support resumable OTAs. BBOTA
v4 additionally supports using FEC to possibly recover a corrupted
image.

Bug: 33694730
Test: Generate full and incremental OTAs w/ and w/o the CL. They should
      give identical packages (in v4).
Change-Id: Ib89d9cd63ba08e8e9aa4131bed18876b89d244c0
2017-03-09 12:25:46 -08:00
Tao Bao c87b38f547 Merge "releasetools: Remove dead functions in EdifyGenerator." 2017-03-09 20:24:19 +00:00
Jeff Vander Stoep f57a154f2e Include file_contexts conditionally elsewhere
Test: Marlin and Bullhead build and boot with no new denials.
Test: Marlin and Bullhead recovery boots with no new denials.
Test: Bullhead boots with file_contexts.bin in /
Test: Marlin boot with /system/etc/selinux/plat_file_contexts and
      /vendor/etc/selinux/nonplat_file_contexts.
Bug: 36002414

Change-Id: I25af653e060c0c72ea6ad08db8869132885adff8
2017-03-08 21:12:47 -08:00
Tao Bao f388104eaa releasetools: Remove dead functions in EdifyGenerator.
Remove the following functions that are needed for file-based OTAs only:
 - SetPermissions()
 - SetPermissionsRecursive()
 - MakeSymlinks()
 - DeleteFiles()
 - DeleteFilesIfNotMatching()
 - RenameFiles()
 - SkipNextActionIfTargetExists()

Bug: 35853185
Test: Verified there's no reference to these functions.
Change-Id: Iff24a9d705476211effaef28eed2a147fa5fcbce
2017-03-08 16:37:07 -08:00
Steven Moreland 05a7a4da70 Merge "hardware/interfaces: Android.mk always -Werror"
am: df58de6303

Change-Id: I5bc41aee011d13f7579563fa0e8e6aa6988ddc04
2017-03-08 23:20:58 +00:00
Treehugger Robot df58de6303 Merge "hardware/interfaces: Android.mk always -Werror" 2017-03-08 23:16:35 +00:00