Commit Graph

695 Commits

Author SHA1 Message Date
Colin Cross f37b455858 Read BUILD_NUMBER from file in rules
Using $(BUILD_NUMBER) inside a rule causes odd behavior, as the rule
is different every time make is run, but since make doesn't depend
on the command line it only ends up being built with the new value
if some other dependency has changed.

To allow ninja, which does depend on the command line, to provide the
same behavior, store the build number in out/build_number.txt, and
use a shell expansion to cat the file in rules that use it.  This will
cause the rule command to stay identical between builds, while still
getting the new build number if the rule is rerun for a dependency.

Also use the same trick for BUILD_FINGERPRINT, and the date in
droiddoc rules.

Change-Id: I6c5e6b6b3ef4c613563d7f5604df0e401575ba5f
2015-07-18 12:15:04 -07:00
Tao Bao 7055791db5 Enable verbose output for add_img_to_target_files.
Change-Id: I7246c59c79ccf6a7589c884391d0f690746fc129
2015-07-15 11:53:39 -07:00
Tao Bao 2c15d9eefe Pack file_contexts into target_files zip.
file_contexts (specified by SELINUX_FC) is needed both when building
and (re)packaging. We used to use the copy in out/ when building, and
looked for the copy in BOOT/RAMDISK/ when packaging from target_files
zip. With system_root_image enabled, the file_contexts needed for
building and packaging might be different from the one on device. So
we explicitly pack the file as META/file_contexts in target_files zip.

Also refactor out the overriding of selinux_fc property into
common.LoadInfoDict().

Change-Id: I94f9ea6671b3792c12c1c21573840743d63da39a
(cherry picked from commit aa7318c384)
2015-07-10 14:21:16 -07:00
Tao Bao 4e66343b2b Retry adjusting the size computation for reserved blocks.
Due to the change in https://lwn.net/Articles/546473/, kernel reserves a
few extra blocks (lesser of 2% and 4096 blocks) on ext4 FS which leads to
OTA update failures. Adjust the size computation if the device has
BOARD_HAS_EXT4_RESERVED_BLOCKS := true.

It amends the last attemp in [1]. Now it computes the used blocks from the
make_ext4fs output, instead of altering its argument.

[1]: commit efbb5d2e69.

Bug: 21522719
Bug: 22023465
Bug: 22174684
Change-Id: Iaae6507f6de68a5892f2e3035d330039287b4492
(cherry picked from commit c7a6f1e4f8)
2015-06-30 12:17:28 -07:00
Ying Wang 8f180b904f Merge "Create userdata.img with real data when SANITIZE_TARGET=address." 2015-06-25 21:29:52 +00:00
Ying Wang 2a04839aec Create userdata.img with real data when SANITIZE_TARGET=address.
Bug: 21785137
Change-Id: Ie0c36988759fe07419ad29bab5a71cdd0d992d2a
2015-06-25 14:29:04 -07:00
Mohamad Ayyash 19cfe7db4c Merge "Add img2simg in host and ota packages" 2015-06-25 18:44:03 +00:00
Mohamad Ayyash 9764892031 Add img2simg in host and ota packages
Change-Id: Ide660cf3cf69c74bbd15d0ac6642b60d58f076fa
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-06-24 16:08:15 -07:00
Ying Wang e6e544e596 Don't include static executables when SANITIZE_TARGET=address
Also we can't build the ota package without these static executables.

Bug: 21785137
Change-Id: I11b35abebced4b0608378a072ece2ab2dbadeffb
2015-06-23 10:46:03 -07:00
Ying Wang 1b96592aab Merge "Add build_verity_metadata.py to dist-tools" 2015-06-09 16:20:49 +00:00
Mark Salyzyn 911637bf33 Merge "Add missing shared libraries to dist tools" 2015-06-08 23:51:33 +00:00
Ying Wang 8e42131ba2 Merge "Strip path from verity_signer_cmd in the target-files meta data." 2015-06-08 23:40:01 +00:00
Claes Elgemark 82a19d3662 Add build_verity_metadata.py to dist-tools
Preserve path as it is referenced by build_image.py.

Change-Id: Id6833d243b5a15b4ee5e0013340aeb2cd35f3578
2015-06-05 10:31:53 +02:00
Claes Elgemark d0ec665727 Add missing shared libraries to dist tools
Add missing libraries used by e2fsck and build_verity_tree.

Change-Id: I8bf0341300863ef0090b395b2aba0b7a952f6b58
2015-06-04 14:31:56 +02:00
Claes Elgemark d53cd9b0b1 Add VeritySigner.jar to ota tools
Used by verity_signer

Change-Id: I6e2b654144b40573c3f3c0dc0d1c943889ffcd7d
2015-06-03 16:41:51 +00:00
Claes Elgemark ec99604b07 Strip path from verity_signer_cmd in the target-files meta data.
Strip path to be able to use outside a build e.g.
when resigning using the dist tools zip.

Change-Id: I492dcfd5791b66c17ae2e751cc8f67127e97b800
2015-06-03 15:09:54 +02:00
Mark Salyzyn c506e74dc8 disttools: add liblog, libcutils and libselinux shared libraries
Bug: 19908228
Change-Id: I48450a9fb917408cb3bc0e41d70c0593acd2b884
2015-04-14 15:17:16 -07:00
Tao Bao 87df99f2f6 Merge "Fix the font size selection for recovery mode" 2015-04-08 23:57:31 +00:00
Ying Wang 62925a993a Remove unnecessary confusing use of $(intermediate).
Change-Id: I0e73c3c1bf94540419e1fd227a3096da148e2459
2015-04-08 16:37:34 -07:00
Tao Bao abbc911632 Fix the font size selection for recovery mode
shamu has a 560dpi density, which is between xxhdpi and xxxhdpi. It
deserves the large font (18x32), otherwise it falls back to use the
small one and makes it mostly unreadable under recovery mode. Amend
the list to include 560dpi and 400dpi that are higher than xhdpi.
Ideally we should map string formats back to numbers for easy
comparison (and to handle any high but odd density values).

Change-Id: Ie08d9ce5e1c8850ff30a79bcbfd1b89e971b7e07
2015-04-08 15:39:33 -07:00
Ying Wang c45a47b5f3 Better way to package up the otatools-package.
With this, you can easily add more executables, jars or shared libraries
to the package. Also now it automatically takes care of
32-bit-v.s.-64-bit library issue.

Change-Id: I5afe00fadc978d0da229b192eca1a4b1c149764e
2015-04-08 12:40:37 -07:00
Ying Wang 58912c874b Merge "Don't fail build of otatools if there are no device certificates" 2015-04-03 15:57:57 +00:00
Ying Wang 36b039a2d6 Fix typo.
Change-Id: Ic934ed8610a4f03fbfb3d06dff4d911734a9d818
2015-04-02 12:48:32 -07:00
Claes Elgemark ed1158e01f Don't fail build of otatools if there are no device certificates
Change-Id: I32723701d952ef2243ce0234132fa9876f0f21b6
2015-04-02 17:38:29 +00:00
Tao Bao d95e9fd267 Add support to sign bootable images with vboot_signer
Add vboot properties to the dictionary file, which will be packed into
the target_files zip. Add support in packaging and OTA scripts to
sign the generated bootable images (boot.img and recovery.img) when
vboot is enabled.

Change-Id: I08758ced03d173219415bca762bbdb66c464a9f5
(cherry picked from commit 5d5a3bd9e8d8b14b71d1b2105417a2958d13d3d2)
2015-04-01 09:23:08 -07:00
Ying Wang 1b23b33d92 Merge "MKBOOTIMG override were missing in two places" 2015-03-27 16:47:15 +00:00
Ying Wang a2292c94d1 Support to build image of root file system with /system and ramdisk combined.
Added support to build system.img that combines contents of /system and
the ramdisk, and can be mounted at the root of the file system.
To enable this feature, define BoardConfig.mk variable:
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true

Ideally we would just change TARGET_OUT (the path of the staging system
directory) to under TARGET_ROOT_OUT. But at this point many places in
the build system assume TARGET_OUT is independent of TARGET_ROOT_OUT and
we can't make it easily configurable.
Instead this implementation takes the least intrusive approach:
We don't change TARGET_OUT or TARGET_ROOT_OUT. We just assemble a
temporary staging directory that contains contents of both TARGET_OUT
and TARGET_ROOT_OUT, in build_image.BuildImage() of
tools/releasetools/build_image.py.
When build_image.py is directly called from the makefile, we pass in the
parameters from the global dictionary; when build_image.BuildImage() is
called from add_img_to_target_files.py, we need to override values to
point to files extracted from the target_files zip file.
We need to combine the fs_config files of both /system and ramdisk,
when fs_config is enabled.

Also this change refactored build_image.BuildImage() by moving the extra
parameters to the image property dictionary.

(cherry-picked from commit 0eabd4f2c5)

Bug:19868522
Change-Id: Iafc467a0e3427b0d6ad3b575abcc98ddcc9ea0f1
2015-03-26 10:35:00 -07:00
Per Astrand cab6699160 MKBOOTIMG override were missing in two places
The change follows the patten found in "Package OTA" and other places
to allow for overriding the mkbootimg command.

Now pass MKBOOTIMG variable to get make_recovery_patch and add_image_to_target
to use the tool set in BOARD_CUSTOM_MKBOOTIMG for boot/recovery image
generation.

Change-Id: I78533c25e87c2750eb24ac1bf39e4b7ca321a441
2015-03-25 16:02:50 +01:00
Ying Wang 95a543c987 Set up environmental variable PATH before calling releasetools scripts.
Some releasetools python sripts rely on $PATH to search for the
executables. With this change, you don't need to run lunch even after you
change the build system variable OUT_DIR.

Bug: 19320328
Change-Id: Ia44b11084fb1bdcceb60b1d33cb7e460c9b705a8
(cherry picked from commit 9d252e1009)
2015-03-13 11:36:15 -07:00
Doug Zongker b2cdb1cca5 include oem.prop files in otatools_package
Change-Id: I2f28936edda5d8d9bff6213828c16d607263cd95
(cherry picked from commit ce43bc8df2)
2015-03-13 11:36:15 -07:00
Jesse Zhao f749b4b664 DO NOT MERGE: Bundle libc++.so into otatools-package.
Change-Id: I6b7d16eca18dce3e2990464f3d1a34740ad8a8ee
(cherry picked from commit f7daa92cff)
2015-03-13 11:36:14 -07:00
Doug Zongker 0c6c03269e add otatools-package target
Add a target to zip up all the otatools and releasetools, for easy
copying to the OTA builder machine.

Change-Id: If14b4afefcc1a20ea19dfca3f3b9f9fae73189a6
(cherry picked from commit f22b0f43ef)
2015-03-13 11:36:14 -07:00
Sami Tolvanen 8cdf72066b Merge "Change transfer list format to include block hashes" 2015-03-13 11:02:02 +00:00
Ying Wang 437e43b555 Use "rsync -a" to copy over $(TARGET_ROOT_OUT) to $(TARGET_RECOVERY_OUT)
"cp -Rf" fails on Mac OS when some broken symlinks exist in the dest
dir.
Also switch to better shell error handling when copying
init.recovery.*.rc.

Change-Id: Idd05f7604736b234619f62be12dd108fac91fed1
2015-03-11 16:55:33 -07:00
Ying Wang f25838a7ea Support modules to be installed directly to recovery.img
Previously the recovery binary was configured to be installed to the
system.img and then got copied to recovery.img in the recovery.img's
build rule.
With this change, a module, such as the recovery binary, can configure
itself to be installed directly to the recovery.img, just like how other
modules get installed to system.img.

Bug: 19667686
Change-Id: I46b0b4a95cf078a68999db9c0f6635d6a3f5cd86
2015-03-11 10:38:13 -07:00
Sami Tolvanen dd67a295cc Change transfer list format to include block hashes
Add source and target block hashes as parameters to transfer list
commands that copy or patch data to a partition. This allows the
updater to verify the status of each command in the transfer list
and makes resuming block based OTAs possible. Due to the changes,
update the transfer list version to 3.

Needs matching changes from
  I1e752464134aeb2d396946348e6041acabe13942

Bug: 18262110
Change-Id: Ia5c56379f570047f10f0aa7373a1025439495c98
(cherry picked from commit cac671a9d1)
2015-03-11 17:22:06 +00:00
Mohamad Ayyash 9b19382f0e resolved conflicts for merge of fc759204 to stage-aosp-master
Change-Id: Icf58e881286a66cb3ca4cb122fa8c11ec217fbab
2015-03-04 15:43:45 -08:00
Mohamad Ayyash b97746ef09 Allow flashing a squashfs system image
Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-03-03 18:54:50 -08:00
Ying Wang 8485fb074b am 4eec22a6: Merge "Use a less freqent dummy file name: zipdummy"
* commit '4eec22a6627927aaa11a67e3e18d36534af81856':
  Use a less freqent dummy file name: zipdummy
2015-02-26 18:04:07 +00:00
Ying Wang dcd90831e5 Use a less freqent dummy file name: zipdummy
Previously if user has a directory with name dummy in the root of the
source tree, "zip -qd package.apk dummy" fails with:
"zip error: Nothing to do!".
This change mitigates the error.

Change-Id: I642e3bf0378e5b9911a068ecb72f795b3e92f1fe
2015-02-26 09:36:27 -08:00
JP Abgrall 92e0682f05 resolved conflicts for merge of 7fc55db3 to lmp-mr1-dev-plus-aosp
Change-Id: I27b9c65d654d4cc8b806043de0ebaa5dbf7b7a7c
2015-02-11 20:05:03 -08:00
JP Abgrall 7bb75e4f6c core: remove dependencies on genext2fs
We don't use EXT2 for bootimage anymore.
This will allow getting rid of external/genext2fs

Bug: 19282953
Change-Id: Ie56528c7877036d2501a09888a4420637f9cd647
2015-02-11 15:04:59 -08:00
Andres Morales 89a87488db am b5df7d48: Merge "Add version strings from android-info.txt into build.prop"
* commit 'b5df7d483772d1dd08a1d5c8614f38a79e43ec12':
  Add version strings from android-info.txt into build.prop
2015-02-10 16:52:58 +00:00
Andres Morales b5df7d4837 Merge "Add version strings from android-info.txt into build.prop" 2015-02-09 22:45:57 +00:00
Andres Morales 085a0ce756 Add version strings from android-info.txt into build.prop
Allows runtime checking of expected baseband/bootloader.

Change-Id: Iccb053fee5f72f4e082a5c3482c0710b13ee7eb8
2015-02-09 08:33:31 -08:00
Andres Morales 8859f02949 am b998054f: Merge "Add system/build.prop dependency on vendor/bootimg"
* commit 'b998054f50043c23e8599ee3cfae058ac378c5cb':
  Add system/build.prop dependency on vendor/bootimg
2015-02-06 18:23:12 +00:00
Andres Morales b998054f50 Merge "Add system/build.prop dependency on vendor/bootimg" 2015-02-06 18:11:30 +00:00
Andres Morales a09f2f44cc Add system/build.prop dependency on vendor/bootimg
When incremental builds only affect the system partition,
the build.prop file for other partitions might go out of
date.

Add a dependency on system/build.prop s.t. when
it's rebuilt,
the fingerprints are updated on the other
partition's build.prop's.

Bug:19058575
Change-Id: Iea7b761e0800c402eb4ce1154e8f6af5a17f7b06
2015-02-05 12:42:43 -08:00
Elliott Hughes 1888ab842a am 9edd7649: Merge "Remove mkyaffs2image references."
* commit '9edd76494d4378bd740dd22a2eb4f5d0eb0db40f':
  Remove mkyaffs2image references.
2015-02-05 18:47:25 +00:00
Elliott Hughes 65d4186f85 Remove mkyaffs2image references.
Change-Id: I1d112515bc92353a5b48ec668e1cadfb51ecdaad
2015-02-04 19:58:09 -08:00