Commit Graph

4652 Commits

Author SHA1 Message Date
Adrien Schildknecht
0ef3d323d5 Manually merge commit 'c13da91' into stage-aosp-master am: ada51f3b8f am: 13f3b5337a
am: f147e615ca

Change-Id: I8ef3e288ab4247d13fc655dc91f028e5ed5dadae
2016-12-03 04:19:54 +00: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
Tao Bao
44150fa69d Merge "Build recovery-two-step.img for two-step OTAs." am: 06e14e438f am: d07f9995b8 am: c180a06b20
am: 8d290959b5

Change-Id: Ic8bd67da5d018130a730037cdf5f97175d60a7f1
2016-12-02 15:41:02 +00:00
Tao Bao
d07f9995b8 Merge "Build recovery-two-step.img for two-step OTAs."
am: 06e14e438f

Change-Id: I9c5d6e5f71da88bc0f662373335b024a55ca193e
2016-12-02 15:19:00 +00:00
Tao Bao
d42e97ebb4 Build recovery-two-step.img for two-step OTAs.
In two-step OTAs, we write recovery image to /boot as the first step so
that we can reboot from there and install a new recovery image to
/recovery. However, bootloader will show "Your device is corrupt"
message when booting /boot with the recovery image. Because the recovery
image encodes the path of "/recovery" as part of the signature metadata,
which fails the verified boot.

This CL generates a special "recovery-two-step.img" in addition to the
regular recovery.img. This image encodes "/boot" when being signed,
which will be flashed to /boot at stage 1/3 in a two-step OTA.

Here are the desired changes:

- 'IMAGES/recovery-two-step.img' exists in target_files.zip for non-A/B
targets (e.g. bullhead). The image should not exist for targets that
don't have a recovery partition (e.g. A/B devices like sailfish).

- <device>-img.zip should not contain 'recovery-two-step.img'.

- Nothing should change when building non-two-step OTAs. For two-step
OTAs, 'recovery-two-step.img' should be included in the OTA package;
'updater-script' should flash this image to /boot at stage 1/3.

- When building a two-step OTA with an input TF.zip that doesn't have
  IMAGES/recovery-two-step.img, it should use the existing
  IMAGES/recovery.img instead.

Bug: 32986477
Test: Tested the steps above on bullhead and sailfish.
Change-Id: I34e6c599bcf2011d4cd5c926999418b3975d6d0f
2016-12-01 17:47:59 -08:00
Tao Bao
aeb0ee4d6d Merge "releasetools: Remove dead parameter in GetBootableImage()." am: 8df4fea85f am: 2e3f1c5258 am: dfff1ac065
am: 59da2ee4aa

Change-Id: I9f150af5698c6dcab7d7f059f009f0fca15455c0
2016-12-01 17:25:39 +00:00
Tao Bao
2e3f1c5258 Merge "releasetools: Remove dead parameter in GetBootableImage()."
am: 8df4fea85f

Change-Id: I192af3927849d0d8f995f0002b8b8f2e191b794f
2016-12-01 17:09:07 +00:00
Tao Bao
2a4336bc04 releasetools: Remove dead parameter in GetBootableImage().
The 'system_img_path' parameter was introduced in commit
d995f4b04d, but became obsolete since
commit 2ce63edab7.

Test: m dist
Change-Id: Iffd496d929db5cc3dfc955a48bfc1b1317bd012f
2016-12-01 00:08:27 -08:00
Ian Rogers
05a8a492d8 Merge "Update warn.py for new Error Prone diagnostics" am: 7ed3af23a8 am: 1eef968704 am: 0be9b84218
am: 7efc8c7b35

Change-Id: Idb3b3ff93c330dd1aa704a49a126dc5badd35ec9
2016-11-22 18:58:52 +00: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
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
William Roberts
cb4d9940dd Merge "fs_config: move sort to be consistent with other sort" am: 052a01958c am: c06559eb7b am: 15e654392a
am: 084d5b9678

Change-Id: Icbcb7ad0e36d45cedd90630367f987fce5a39a42
2016-11-18 01:22:51 +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
94bcccf4d0 Merge "fs_config: correct README" am: 4baaf905ee am: 2088e57ed8 am: 8dfc55363e
am: 5ba5f1f8c6

Change-Id: I77370837e71da7730c1bb9448f157f445ec87de2
2016-11-18 00:28:32 +00:00
William Roberts
2088e57ed8 Merge "fs_config: correct README"
am: 4baaf905ee

Change-Id: I1a3fa8a296608205a29efb94c32fbfd14d4844f2
2016-11-17 23:42:52 +00: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
Chih-hung Hsieh
d0f47c11e7 Merge "Separate parallel_classify_warnings out of parse_input_file." am: e4fb495b09 am: 70bbbdfdb1 am: dec1367ad3
am: a1a48bcfc2

Change-Id: Id9521f775af537d4ae02479b77d4248017c74314
2016-11-15 22:57:04 +00: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
Pat Tjin
9cd8b12f7c Merge "build_image: add support for specifying number of inodes" 2016-11-14 16:42:52 +00:00
Chih-Hung Hsieh
76d0065ef8 Separate parallel_classify_warnings out of parse_input_file.
* Allow other callers of this module to:
  * pass any input stream to parse_input_file,
  * pass any warning_lines to parallel_classify_warnings,
  * call dump_csv or dump_html to get output.
* No output change.
* Capture and ignore signal.SIGTERM at the end,
  to avoid bad warning/error messages from the exit clean-up process.

Test: run warn.py build.log.
Change-Id: I1414797a536c0ee622e2a34c226578621be1ddab
2016-11-09 18:19:05 -08:00
Clay Murphy
4ca20fc658 Merge "Creates a css nowrap class for non-breaking elements in source.android.com Test: build2stage 36" am: 98f15a70e9 am: 731df4f4f3 am: 74ea495250
am: ae9ee888d6

Change-Id: I488e1b12a0538922b597b9e082e76922d20f3cce
2016-11-09 21:48:00 +00:00
Clay Murphy
731df4f4f3 Merge "Creates a css nowrap class for non-breaking elements in source.android.com Test: build2stage 36"
am: 98f15a70e9

Change-Id: I19f35481e688b205790e4f2d817932422b72b93f
2016-11-09 21:29:57 +00:00
Billy Lamberta
4d41e26a54 Creates a css nowrap class for non-breaking elements
in source.android.com
Test: build2stage 36

Change-Id: I467cc66d5e205b00ed188180140b1ae972e2ebad
2016-11-09 21:17:41 +00:00
Tao Bao
4f9bef7af5 Merge "releasetools: Use java_path in sign_target_files_apks.py." am: 4a71d500c1 am: dc04f93e39 am: 36f0b8daeb
am: 14b69f4ff5

Change-Id: I59ba285fef79bf6562b020a46f10710c9870a52a
2016-11-08 23:58:58 +00:00
Tao Bao
dc04f93e39 Merge "releasetools: Use java_path in sign_target_files_apks.py."
am: 4a71d500c1

Change-Id: I61400574ac3f7d29906ca571f497554631ecd72d
2016-11-08 23:42:26 +00:00
Tao Bao
e95540e060 releasetools: Use java_path in sign_target_files_apks.py.
Prior to this CL, it was calling the hard-coded "java" although it was
accepting a "--java_path" option.

Also switch OPTIONS.java_args from string to list. Otherwise it won't
work when providing multiple args.

Bug: 32737832
Test: Specify "--java_path=" and "--java_args" when invoking
      sign_target_files_apks.py with "-v". Check the commands being
      called.
Change-Id: Id7ef98e778646d532027434de7fba9b7a104dbd0
2016-11-08 12:48:43 -08:00
Tao Bao
f7b7e69d92 Merge "releasetools: compare size between compressed and patch while build otapackage" am: 49758959f2 am: 9242e1f750 am: aa4d046bb5
am: c9b8d96c5a

Change-Id: I0a143e1a7dabc732e9e18d2a7af9eb864eb7fc79
2016-11-05 00:24:27 +00:00
Tao Bao
9242e1f750 Merge "releasetools: compare size between compressed and patch while build otapackage"
am: 49758959f2

Change-Id: I17b988878cc7ffdfbe490f404c9cd5ab996a8c5f
2016-11-05 00:13:55 +00:00
Tao Bao
49758959f2 Merge "releasetools: compare size between compressed and patch while build otapackage" 2016-11-05 00:09:35 +00:00
Tao Bao
a45d083b14 Merge "releasetools: Make BBOTA incremental generation repeatable." am: b9bd78d110 am: e3554167e2 am: 91445e5886
am: cdb29d139c

Change-Id: I37160c1a061004aefa6ed3c887ab80c63fb11cad
2016-11-04 21:40:15 +00:00
Tao Bao
e3554167e2 Merge "releasetools: Make BBOTA incremental generation repeatable."
am: b9bd78d110

Change-Id: I6402481bf300b52d36df1570cceeae6ec3ff4f8f
2016-11-04 21:29:15 +00:00
Tao Bao
b9bd78d110 Merge "releasetools: Make BBOTA incremental generation repeatable." 2016-11-04 21:26:13 +00:00
Colin Cross
9fade2fa53 findleaves.py: prevent recursion into symlink loops am: 7829ebfebd am: 7227637308 am: 7cb42e1340
am: 25dabdeb81

Change-Id: Ie5b7e506c74ae984b5e3751498bdda8b68c3e3a2
2016-11-04 18:28:35 +00:00
Colin Cross
7227637308 findleaves.py: prevent recursion into symlink loops
am: 7829ebfebd

Change-Id: Ib0ff185e2798ca57c6c28157a1182e7b4d1ed820
2016-11-04 18:17:35 +00:00
Colin Cross
7829ebfebd findleaves.py: prevent recursion into symlink loops
Keep a set of all visited inodes, and prevent recursing into a symlink
to an already visited inode.

Test: m -j
Test: compare `build/tools/findleaves.py --prune=.repo --prune=.git --mindepth=2 --dir=. Android.mk` before and after
Change-Id: Ied14c40d3066ef9f8e8a2b1535f56f7bbbbd0ab6
2016-11-03 14:29:40 -07:00
Chih-hung Hsieh
43a8298b72 Merge "Do not use multiprocessing.Pool when --processes=1." am: 948ebf5510 am: 85465a39fb am: d3242b7ae6
am: 142d6903c5

Change-Id: I53999109049990af8a954b5d043761ee50c0244d
2016-10-28 20:59:07 +00:00
Chih-hung Hsieh
85465a39fb Merge "Do not use multiprocessing.Pool when --processes=1."
am: 948ebf5510

Change-Id: Ia305f1c26706069d8e048340eac9037782f895b7
2016-10-28 20:44:35 +00:00
Chih-Hung Hsieh
63de300094 Do not use multiprocessing.Pool when --processes=1.
Purpose of this change is not to save some execution time,
but to avoid forking another process. In other applications
that use a wrapper to call this python script, it is difficult
to get overwritten file I/O functions work in a subprocess.
So the wrapper will call warn.py with --processes=1.

Test: run "warn.py --processes=1 build.log"
Change-Id: I5998d5c70d81a456c86eb4002f444a4a60135477
2016-10-28 10:53:34 -07:00
Tao Bao
3348228423 releasetools: Make BBOTA incremental generation repeatable.
set() doesn't keep elements according to the order of insertion. So
Transfers managed with set() in intermediate steps may not appear in the
same order across runs. This leads to slightly different output packages
when generating the same incremental OTA.

This CL fixes the issue by replacing set() with OrderedDict() in
blockimgdiff.GenerateDigraph() and blockimgdiff.FindVertexSequence().

It also adds a testcase that ensures blockimgdiff.GenerateDigraph()
preserves the insertion order for Transfer.goes_after set.

Bug: 32220816
Test: ota_from_target_files.py gives identical package when running
multiple times.

Change-Id: I56d551e5ca926993ab46896e33c80e0ce42e506a
2016-10-26 09:40:50 -07:00
Patrick Tjin
b59eca3586 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
2016-10-24 14:03:25 -07:00
Tao Bao
df13110881 Merge "releasetools: Support verity signer args." am: 02d2d68aec am: f4a88279ed am: c1e60bb08b
am: 2d0666a95e

Change-Id: I23762dbcd3325570dac02976d1226b131afa3680
2016-10-24 19:03:52 +00:00
Tao Bao
f4a88279ed Merge "releasetools: Support verity signer args."
am: 02d2d68aec

Change-Id: Ib1aed8ff11eeef2fd64a6520e92cfb30678dadc7
2016-10-24 18:53:33 +00:00
Tao Bao
02d2d68aec Merge "releasetools: Support verity signer args." 2016-10-24 18:50:14 +00:00
bowgotsai
63f5839071 Move AVB related properties from 'system_other' to 'system'
The original CL in AOSP is for 'system' partition.
Howerver, after automerger merges the CL from aosp to goog gerrit, it
patches part of the properties to 'system_other' partition. Correct this by
moving the system_avb* properties to 'system'.

Bug: 31264226
Test: build aosp_angler-userdebug successfully
Change-Id: I1a7128d29c1152315e9b50cfe5bbe13b47b131a7
2016-10-20 12:14:18 +08:00
YOUNG HO CHA
ccc5c40523 releasetools: compare size between compressed and patch while build otapackage
Currently, whether contains patch or verbatim, compute with file size
and patch size.
But ota file must be compressed with zip, so it should be better with
compressed size than uncompressed.

Test: aosp_shamu-user build without proprietary blobs between MOB30P and NRD90S
$ du -k ota_shamu_old.zip ota_shamu_new.zip
217252	ota_shamu_old.zip
216520	ota_shamu_new.zip

Change-Id: If68cb1fbe2f7815067451915a0dcfe93ea5ba8d6
Signed-off-by: YOUNG HO CHA <ganadist@gmail.com>
2016-10-18 17:27:09 +09:00
Chih-Hung Hsieh
6b7752ec7e Merge "Use parallel subprocesses to classify warnings." am: 92396e1747 am: e3345c438b
am: 8391419e80

Change-Id: Ie5585ba71560e1c3dd7b2fdc25b3de1188c6a8af
2016-10-18 04:14:46 +00:00