Commit Graph

32656 Commits

Author SHA1 Message Date
Dan Willemsen
2ee00d5f66 Allow add_img_to_target_files to work on a directory
In addition to the current behavior of add_img_to_target_files working
on an existing zip file, allow passing in a directory where the target
files have already been extracted. When in this mode, it writes the
images out to that directory instead of the zip file.

This allows us to call add_img_to_target_files on the temp directory
used during the build to create the target files package, saving the
time and space of unzipping what we just zipped. This also allows us to
use the parallel soong_zip, which compresses the images much faster.

Test: aosp_marlin target_files zip is the same before/after this change
Test: marlin target_files zip is the same before/after this change
Test: bullhead target_files zip is the same before/after this change
Change-Id: I155654cdc7ad7754ba4ef76ec69c31f504a58198
2017-03-07 14:37:52 -08:00
Tao Bao
7dc54e9761 Merge "releasetools: Remove the obsolete path in GetImage()." 2017-03-07 06:20:04 +00:00
Tao Bao
0c9e8d87c4 Merge "releasetools: Fix two minor issues with _LoadOemDicts()." 2017-03-07 00:24:44 +00:00
Tao Bao
7e0f160f30 releasetools: Remove the obsolete path in GetImage().
We must have created the images (system.img, system.map etc) prior to
calling ota_from_target_files.py (added by commit
2e0d8fcf08, into Lollipop).

Remove the obsolete suppport for handling "old" target_files zips that
don't have such images. This simplies the logic for BuildSystem() and
BuildVendor(), which now would only be called by
add_img_to_target_files.py itself.

Test: Generating full and incremental OTAs give the same results, w/ and
      w/o this CL.
Change-Id: I0ea243d09d3378249d7982701ae4ec339b04b7b8
2017-03-06 16:22:44 -08:00
Mathieu Chartier
4d42fef1db Merge "Fix profile dependency" 2017-03-06 19:45:00 +00:00
Mathieu Chartier
fb6c6b38c3 Fix profile dependency
Otherwise it doesn't work for incremental builds.

Bug: 34929159
Bug: 35997300

Test: repo sync && m

Change-Id: I78ead57cf89a9d0f26dbf4f3a225a9357bdca1b3
2017-03-06 11:38:49 -08:00
Tao Bao
ebce697429 releasetools: Fix two minor issues with _LoadOemDicts().
The first one in WriteVerifyPackage() is mismatching function parameters
that can be trivially fixed.

The other one is in WriteABOTAPackageWithBrilloScript(), where we don't
have edify script instance.

Test: `pylint --rcfile=pylintrc ota_from_target_files.py`.
Change-Id: Ie238ef5b296dfe9e725b61376992447b662d2376
2017-03-06 10:29:13 -08:00
Tao Bao
8e02284362 Merge "Revert "Revert "releasetools: Use pattern filter when unzipping.""" 2017-03-06 16:45:26 +00:00
Tao Bao
6b0b2f9db0 Revert "Revert "releasetools: Use pattern filter when unzipping.""
This reverts commit a7316ce094.

This CL differs from the original CL by not unzipping RADIO/*. This is
because: a) AOSP targets don't have RADIO/ entries in the TF.zip; b)
we're not using the unzipped RADIO files (but reading them from the zip
files directly) - checked all the device-specific releasetools for
angler, bullhead, ryu, shamu, volantis, fugu, marlin and sailfish.

Test: `m dist` with AOSP targets (tested fugu and bullhead).
Change-Id: I4d0c67214ddd6202fc27c71bb79f52b5f4d40c64
2017-03-05 13:11:42 -08:00
Tao Bao
0c3e31c69b Merge "Revert "releasetools: Use pattern filter when unzipping."" 2017-03-05 17:44:58 +00:00
Tao Bao
a7316ce094 Revert "releasetools: Use pattern filter when unzipping."
This reverts commit aa3a04f19d.

Reason for revert: Some AOSP targets don't include RADIO/ in the TF.zip. We may possibly skip unzipping RADIO/, or by always creating a dummy RADIO folder in TF.zip. Revert this CL for now.

Change-Id: I8e90d322706a4fe82129bdfab5ffa1eab989c648
2017-03-05 17:43:33 +00:00
Tao Bao
cc63bc3a91 Merge "Change the default parameter values in common.MakeTempFile()." 2017-03-05 17:00:38 +00:00
Tao Bao
76f038a63c Merge "releasetools: Use pattern filter when unzipping." 2017-03-05 16:49:21 +00:00
Treehugger Robot
2f6c2b44d0 Merge "Support kernel modules in vendor, recovery images" 2017-03-04 03:35:00 +00:00
Howard Chen
adbb9c30d1 Support kernel modules in vendor, recovery images
Support BOARD_VENDOR_KERNEL_MODULES which accepts a list of the
kernel module binaries. Binaries listed there are copied to
$(TARGET_OUT_VENDOR)/lib/modules and 'depmod' is executed to generate
the dependencies. BOARD_RECOVERY_KERNEL_MODULES is similarly
implemented to provide a way to specify kernel modules to be copied
to the recovery image.

Bug: 33305644
Test: android master build on marlin and load dummy modules
Merged-In: I0a58a270dbb0d2d38fd089f4abff66e62e14fac1
Change-Id: Ia5f429508ca3d7c77448358e42af6efa98fa8624
2017-03-03 18:35:30 -08:00
Mathieu Chartier
b05880e311 Merge "Move profile logic to dex_preopt_odex_install" 2017-03-04 02:21:24 +00:00
Alex Deymo
a57a2fd118 Merge "Update product_id and product_version location." 2017-03-04 01:46:21 +00:00
Alex Deymo
e90295014f Merge "Add PRODUCT_IOT to the list of product vars." 2017-03-04 01:46:06 +00:00
Tao Bao
aa3a04f19d releasetools: Use pattern filter when unzipping.
When building BBOTAs, it only needs *some* unzipped entries in the given
target_files zip(s). In particular, it needs 'IMAGES/*', 'META/*',
'RADIO/*'. (It also reads 'SYSTEM/build.prop' and 'OTA/bin/updater', but
directly from the zip file.)

This CL specifies the entries to unzip. It saves the I/O cost, as well as
the temporary storage.

Test: ota_from_target_files.py gives the same package w/ and w/o the CL.
Test: check_target_files_signatures.py still works.
Change-Id: I728428aa0e138879e49f9efbdb46a85892fc7038
2017-03-03 16:38:17 -08:00
Mathieu Chartier
2ac264fe13 Move profile logic to dex_preopt_odex_install
It is not necessary to have it in setup_one_odex since the profile is
the same for multilib.

Prevents errors related to using ../ in profile path resulting in not
having a directory.

Bug: 34929159
Test: m

Change-Id: Ifdcba119f3599b0c80e27594781db5e4d64bd473
2017-03-03 16:23:14 -08:00
Mathieu Chartier
c2159fd5b6 Merge "Avoid copying profile" 2017-03-03 22:36:46 +00:00
Sen Jiang
cf858d873b Merge "Remove DBus support." 2017-03-03 20:54:38 +00:00
Mathieu Chartier
62e1ed7a63 Avoid copying profile
We can just use the source profile.

Bug: 34929159
Test: m

Change-Id: Ibbc0b392052f2a7f76bada13493ca62dc0334ace
2017-03-03 12:47:30 -08:00
Mathieu Chartier
4fdf2189b0 Merge "Use ANDROID_LOG_TAGS to filter spammy profman output" 2017-03-03 17:47:08 +00:00
Alex Deymo
b4309d4f54 Update product_id and product_version location.
These files are used by the update console to determine the product
associated with a given target_files.zip.

Bug: 35804180
Bug: 33211225
Test: `make dist` generates a target_files.zip with these files.
Change-Id: I6066da07d76749ae64c26d5f661c7a6d06f3fb3d
2017-03-03 17:32:42 +00:00
Alex Deymo
8fe63c3899 Add PRODUCT_IOT to the list of product vars.
This variable tells whether the product is an Android Things variant of
Android.

Bug: 32549448
Test: `make dist` on an iot product.
Change-Id: I0875951ae57867bc8bf47885e77e494d6284acdb
2017-03-02 22:08:41 -08:00
Vijay Venkatraman
69e8252aec Merge "Fix for compile error when BUILD_HEADER_LIBRARY is used" 2017-03-03 04:10:50 +00:00
Treehugger Robot
3e78704825 Merge "Include secilc and sepolicy conditionally, elsewhere" 2017-03-03 03:50:48 +00:00
Sen Jiang
d1f397e8b4 Remove DBus support.
external/dbus and external/dbus-binding-generator was removed from
the manifest.

Bug: 31602715
Test: make checkbuild
Change-Id: Iea0277720acad8ac0fa630b8745f90fb3c3b5f00
2017-03-02 18:00:21 -08:00
Mathieu Chartier
fea31c0b9e Merge "Add local preopt options for generating app image and profile" 2017-03-03 01:14:03 +00:00
Mathieu Chartier
1e91c9db07 Use ANDROID_LOG_TAGS to filter spammy profman output
Test: mm

Bug: 34929159

Change-Id: I794c4a063ab3b4e515ecc20b58a6f985e093fa21
2017-03-02 17:03:06 -08:00
Calin Juravle
34200a1ad1 Merge "Enable secondary dex compilation in the background dexopt job" 2017-03-02 23:54:24 +00:00
Mathieu Chartier
a4b993b5b9 Add local preopt options for generating app image and profile
If true, LOCAL_DEX_PREOPT_APP_IMAGE cause dex2oat to generate an app
image.

If true, LOCAL_DEX_PREOPT_GENERATE_PROFILE generates a profile based
on a class listing. LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING must be
defined in this case.

Bug: 34929159

Test: device booting, image loaded

(cherry picked from commit 9968fdcd85)

Change-Id: Ib79ada86a4ac617491723f80d99a3add3d52a7f4
2017-03-02 15:17:04 -08:00
Tianjie Xu
d9880a0246 Merge "Do not read the block device when generating the care map" 2017-03-02 21:36:12 +00:00
Calin Juravle
148d23106b Enable secondary dex compilation in the background dexopt job
Test: adb shell cmd package bg-dexopt-job
Bug: 32871170

(cherry picked from commit dc308c1b1d)

Change-Id: I21664d5e11dada868dab502498b7c5e598852289

Merged-In: I473e291a26335bd766c8845d2ea28c4f1e45db53
2017-03-02 13:04:17 -08:00
Alex Klyubin
8e87853a04 Include secilc and sepolicy conditionally, elsewhere
This removes the unconditional inclusion of secilc and sepolicy.
These artefacts are now conditionally included by system/core/init.
The reason for declaring the conditional inclusion there is because
the desired conditional inclusion based on PRODUCT_FULL_TREBLE cannot
be declared here because PRODUCT_FULL_TREBLE is not yet available when
this file is interpreted.

Test: Device boots, no additional SELinux denials. This test is
      performed on a device with PRODUCT_FULL_TREBLE set to true, and
      on a device with PRODUCT_FULL_TREBLE set to false.
Test: Device with PRODUCT_FULL_TREBLE set to true contains secilc and
      the three *.cil files, but does not contain the sepolicy file.
      Device with PRODUCT_FULL_TREBLE set to false contains sepolicy
      file but does not contain the secilc file or any *.cil files.
Bug: 31363362

Change-Id: Ia3f38948b71a054918f5f63c594ba62a033e1066
2017-03-02 12:58:38 -08:00
Vijay Venkatraman
465b17fc3c Fix for compile error when BUILD_HEADER_LIBRARY is used
Test: include $(BUILD_HEADER_LIBRARY) in Android.mk and compile
Change-Id: If720be2d73b1c026961c75b65d82887b5dd41442
2017-03-02 11:47:33 -08:00
Treehugger Robot
afc0ea14d8 Merge "releasetools: Drop the support for fstab_version 1." 2017-03-02 19:19:09 +00:00
Tianjie Xu
955629b4aa Do not read the block device when generating the care map
This remove the fstab dependency when building the OTA package for
marlin/sailfish.

Bug: 35811655
Test: OTA package builds successfully for sailfish.
Change-Id: If223d11dddca396c47262042c576f9e7d0cb5b33
(cherry picked from commit 7d051adc3b)
2017-03-02 11:07:12 -08:00
Richard Uhler
6f8e0d06e4 Merge "Don't include patch information for dex preopt." 2017-03-02 09:18:48 +00:00
Treehugger Robot
5236e11c54 Merge "Add PRODUCT_FULL_TREBLE." 2017-03-02 04:31:39 +00:00
Treehugger Robot
aeec3bfde7 Merge "sintf.xml => manifest.xml" 2017-03-02 03:41:21 +00:00
Steven Moreland
c10f1413d5 Add PRODUCT_FULL_TREBLE.
PRODUCT_FULL_TREBLE: whether the device has Treble fully enabled (no
passthrough hals, vendor.img, split sepolicy, etc..)

PRODUCT_FULL_TREBLE_OVERRIDE: used if someone wants to consider a device
as full Treble even if it didn't launch with Android O.

Bug: 35809750
Test: PRODUCT_FULL_TREBLE set appropriately with
PRODUCT_FULL_TREBLE_OVERRIDE and PRODUCT_SHIPPING_API_LEVEL = 24/25

Change-Id: I069448beaf26c70acb6c45d4228d8fdfe9476410
2017-03-01 19:08:24 -08:00
Yifan Hong
c3373a32e4 sintf.xml => manifest.xml
Bug: 35870239
Test: make -j64 and ensure manifest.xml is there.
Change-Id: I5eccc6dcdc04a3caadc3ccce1d8b58c12f5950ee
2017-03-01 18:09:28 -08:00
Tao Bao
d1de6f326e releasetools: Drop the support for fstab_version 1.
fstab_version is defined by RECOVERY_FSTAB_VERSION in
bootable/recovery. We have moved to fstab_version 2 since commit
f35d1cef7c19db975a1295e8c23c7fb8bd2489f9 (landed into JB MR2).

Drop the support for fstab_version 1, since we won't run the latest OTA
script over a JB target_files zip.

Test: No impact on building full/incremental OTAs.
Change-Id: Ia87c4e7da6c5e71ce0908fca2e4f1ad1c06ba869
2017-03-01 16:56:45 -08:00
Tao Bao
e889893776 Merge "releasetools: Add support for --override_timestamp." 2017-03-02 00:00:59 +00:00
Treehugger Robot
aea79fa207 Merge "Fix stacks on 64 bit processes." 2017-03-01 21:05:34 +00:00
Josh Gao
310b6ff676 Fix stacks on 64 bit processes.
debuggerd64 doesn't exist anymore, `debuggerd $PID` works on both 32
and 64 bit processes.

Bug: http://b/35872661
Change-Id: I47be05c7ec346e5d657d06e6c3aff1723494639b
2017-03-01 11:34:58 -08:00
Philip P. Moltmann
779ba5e692 Merge "Ship BuiltInPrintService in default repo" 2017-03-01 19:21:48 +00:00
Treehugger Robot
59978ab6e3 Merge "releasetools: Merge two identical conditional branches." 2017-03-01 17:58:12 +00:00