Commit graph

3573 commits

Author SHA1 Message Date
Tao Bao
83cd79d340 releasetools: Use fixed timestamp in otacerts.zip.
We were using zipfile.write() to write system/etc/security/otacerts.zip
when signing for release. It led to unexpected timestamp change in the
generated otacerts.zip and non-idempotent signed images when signing the
same target_files.zip.

Replace with common.ZipWrite() to always use a fixed timestamp.

Bug: 28122968
Change-Id: Ia6cf4b7d380cbf72ed7050ebb60c932dc8826d87
(cherry picked from commit 7ee3a9678e)
2016-04-12 08:34:43 -07:00
Ying Wang
d63ec28bcf Merge "Correct usage message for build_image.py" 2016-04-07 21:51:21 +00:00
Alex Klyubin
d71e12028b Merge "Remove support for DSA with SHA-512 from v2 signing." 2016-04-07 19:56:03 +00:00
Alex Klyubin
60817689fa Remove support for DSA with SHA-512 from v2 signing.
Android platform does not support DSA with SHA-512. Thus, it does not
make sense to support this unsupported algorithm in APK Signature
Scheme v2.

Bug: 24331392
Change-Id: Ifba90ad5b11188bb968c28d9e0ed3f9cb13ce2e7
2016-04-07 10:24:56 -07:00
Colin Cross
8f9a53258b makeparallel: reset make's unlimited stack
make 3.81 sets its own stack size to be unlimited, but accidentally
leaves it unlimited for all child processes.  If it is unlimited, reset
it back to a reasonable default (8MB).

See http://savannah.gnu.org/bugs/?22010

Change-Id: Ieb0289823f12a421b59d8ab5292d3df3c6dfc27e
2016-04-06 17:59:14 -07:00
Maria Bornski
885dbb5111 Correct usage message for build_image.py
target_out_dir is now a required argument. Include this in the usage message.

Change-Id: If77d94ec5350b2c737d1dd1df28a51167b173058
2016-04-06 17:26:31 -07:00
Mark Salyzyn
54cb05c01a Merge "fs_config: introduce TARGET_FS_CONFIG_GEN" 2016-04-04 22:37:33 +00:00
Chih-Hung Hsieh
d742e90fe9 Recognize more Clang-Tidy google warning patterns.
* Many AOSP C/C++ code have google-readability warnings.

Bug: http://b/27779618
Change-Id: Ic7d33b957da5c1062410f48ef18bb68a5aa259e9
2016-03-31 16:14:55 -07:00
Chih-Hung Hsieh
90d4619f02 Recognize Clang-Tidy warning messages.
* Put all Clang-Tidy warning messages in a group for now.
  There are too many coding style warnings.
* Change the 'top' link to the top of the page.
* Add a few more new clang compiler warnings.

Bug: http://b/27779618
Change-Id: I385b9db927a397704b56f53440301352da8694cf
2016-03-29 15:33:11 -07:00
Tao Bao
8179d68458 rangelib.py: Add parse_raw() method.
parse_raw() parses a string generated by RangeSet.to_string_raw().

>>> RangeSet.parse_raw(RangeSet("0-9").to_string_raw())
<RangeSet("0-9")>

Change-Id: Ia74daa30476d5e9ad73c368f4ecc64c755b734a5
2016-03-24 11:08:51 -07:00
Alex Klyubin
37a0ecd329 Fix bug in APK entry alignment.
APK entry alignment logic assumes that input entries have zero-length
comment and extra fields. When the assumption is broken, the logic
silently breaks alignment of output entries. This happens, for
example, when the APK to be signed is already aligned and thus may
contain entries with non-empty extra fields.

Given that APKs are not supposed to use comment and extra fields for
anything useful and given that this signer already discards comment
and extra fields of compressed entries, this change makes the signer
discard comment and extra fields of STORED input entries as well.
This unbreaks the existing alignment logic.

Bug: 27814973
Change-Id: I8242b037e21ba7bcf45d0fe2afc8bfc47f1ec314
2016-03-23 13:09:42 -07:00
Chih-Hung Hsieh
a9be47e782 Dump table of warning counts before all warnings.
* The table of warning counts has links to each warning pattern section,
  which has a new anchor.
* Each warning pattern section has a new link to the 'top' of the table
  of warning counts.
* Background color of unknown warnings is changed to more visible light blue.

BUG: 27698849
Change-Id: Ia3d4a8511bd42f44f6a47afcb9c3889f6d62b9f2
2016-03-22 10:44:11 -07:00
Chih-Hung Hsieh
ba0ddcd099 Add more patterns, dump sorted unique warnings.
* Sort and remove duplicated warning messages.
* Recognize more warning message patterns from new clang compiler.

BUG: http://b/27698849

Change-Id: Iebbe8600353269d8c2d49ef9d97a72be1d978a24
2016-03-22 16:31:18 +00:00
David Zeuthen
d995f4b04d Add support for Brillo Verified Boot.
The following variables are introduced

 BOARD_BVB_ENABLE: can be set to true to build boot.img and system.img
 files compatible with Brillo Verfied Boot.

 BOARD_BVB_ROLLBACK_INDEX: can be set to an integer to use for the
 rollback index.

 BOARD_BVB_KEY_PATH, BOARD_BVB_ALGORITHM: If set, the former must be a
 path to the private key used to sign the boot image and the latter must
 be the algorithm to use. If unset, a test-key stored in the tree will
 be used.

 BOARD_BVB_MAKE_BOOT_IMAGE_ARGS: Extra options to pass to 'bvbtool
 make_boot_image'.

 BOARD_BVB_SIGN_BOOT_IMAGE_ARGS: Extra options to pass to 'bvbtool
 sign_boot_image'.

 BOARD_BVB_ADD_IMAGE_HASHES_ARGS: Extra options to pass to 'bvbtool
 add_image_hashes'.

 BOARD_CUSTOM_BVBTOOL: Can be set to specify what bvbtool program to
 use.

The existing BOARD_KERNEL_CMDLINE variable is also used, as are existing
kernel and initrd-related variables. Therefore, simply adding

 BOARD_BVB_ENABLE := true

to an existing Makefile should do the trick.

Bug: 26185038
TEST=Added 'BOARD_BVB_ENABLE := true' to hardware/bsp/intel/soc/edison/soc.mk
  and built an image and then ran bvbtool's info_boot_image and
  info_image_hashes commands on the resulting boot.img and system.img
  files and verified that the information was correct. Also ran 'm dist'
  and verified that the boot.img and system.img files in the resulting
  target_files.zip file had similar information.

Change-Id: I08045ed8b0cbddc7c3acdd3a6f2c4bb75cb44bbc
2016-03-18 15:25:43 -04:00
Ying Wang
2c6fbca557 Enable -Werror on zipalign
And fix the last warning to enable this flag.

Bug: 27695718
Change-Id: I70eb9c87530a9b982fbe83abea706908f0ce0356
2016-03-18 10:04:07 -07:00
Ying Wang
5af0991bfc Merge "Fix compilation warning." 2016-03-17 22:44:29 +00:00
Ying Wang
0c38bc5762 Fix compilation warning.
Fix compilation warning:
" destination for this 'memcpy' call is a pointer to dynamic class
'CentralDirEntry'; vtable pointer will be overwritten"
by removing unnecessary virtual desctructor.

Bug: 27695718
Change-Id: Id3c451f82374f2232176115b7bc3291ac4275c00
2016-03-17 14:48:16 -07:00
Chih-hung Hsieh
b569c06036 Merge "Classify more warning patterns." 2016-03-17 16:01:27 +00:00
Chih-Hung Hsieh
f8aaf60ceb Classify more warning patterns.
Some warnings are from clang static analyzer
and they do not have compiler -W flag.

BUG: 27698849
Change-Id: I3d1fc9c2d6c60100e87f8ea201d3f8314370fccd
2016-03-16 15:15:40 -07:00
Tao Bao
3e30d97dde Revert "Revert "releasetools: Support OTAs that have OEM properties changes.""
This CL fixes the bug in [1] (copy-paste error) and reenables it.

We need to handle a special case that an OTA goes from a source build
without OEM properties to a target build with those properties (or vice
versa). Add support in OTA scripts to deal the case properly, by a)
using two oem_props variables to handle source and target builds
respectively; b) adjusting the fingerprint/thumbprint assertions to
allow a mix of both.

[1] commit c086370440

Change-Id: I98118d77d5a0ff694fa1ee33602b5ee5e048599b
2016-03-15 13:28:49 -07:00
Tao Bao
3c37889299 Merge "Revert "releasetools: Support OTAs that have OEM properties changes."" 2016-03-15 19:16:33 +00:00
Tao Bao
838c68fa1a Revert "releasetools: Support OTAs that have OEM properties changes."
Broke some builds.

This reverts commit c086370440.

Change-Id: If07006db412fea6c04f8698776a2ab418125a469
2016-03-15 19:16:18 +00:00
Tao Bao
61cebe79f4 Merge "releasetools: Support OTAs that have OEM properties changes." 2016-03-15 18:33:20 +00:00
Sami Tolvanen
b1e99acb00 Merge "Revert "Revert "build: pass version and patch level to mkbootimg""" 2016-03-15 17:37:27 +00:00
Sami Tolvanen
3303d909a1 Revert "Revert "build: pass version and patch level to mkbootimg""
This reverts commit 494a9090f9.

Bug: 27498078
Bug: 22914603
Change-Id: Iee6a784271ec32c6bfcc0a6ad3f0395d82016df3
2016-03-15 16:49:30 +00:00
Alex Klyubin
82bf99bb4e Fix two cosmetic issues in signapk.
* Zip EoCD record comment length was referred to as 32-bit whereas it
  is a 16-bit field. The implementation was fine, but the comment and
  the naming of a constant were wrong.
* System.out.println was left over from early prototyping days.
  Removed.

Bug: 25794543
Change-Id: I97199310d4b4451271a75bb6c6d0463e0b788be9
2016-03-14 13:33:26 -07:00
Sami Tolvanen
926096eff6 Merge "Revert "build: pass version and patch level to mkbootimg"" 2016-03-11 00:11:25 +00:00
Sami Tolvanen
494a9090f9 Revert "build: pass version and patch level to mkbootimg"
This reverts commit 8fb47f191f.

Bug: 27580174
Change-Id: Id87fd1e8da217438757d5a0fa4bbef7aea6770fc
2016-03-11 00:08:57 +00:00
Tao Bao
4996cf03d2 Use the update-binary in the source build for downgrade OTAs.
We used to use the update-binary from the target build when creating
incremental OTAs. But for downgrade OTAs, we should use the one in the
source build instead, which is actually newer.

Bug: 27556903
Change-Id: Ib6415729b979dbffdebdda24902f7f560942801a
2016-03-08 17:57:40 -08:00
William Roberts
c950a353c6 fs_config: introduce TARGET_FS_CONFIG_GEN
Introduce TARGET_FS_CONFIG_GEN, an option for generating
android_filesystem_config.h files from multiple intermediate
file formats. See the README for more details.

Change-Id: Ibdb2f65702657802e34b0cec18fb43709d7452bb
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-03-08 13:54:33 -08:00
Sami Tolvanen
450f15111c Merge "build: pass version and patch level to mkbootimg"
am: b32d845090

* commit 'b32d845090d19d2dfbbf32d4628ef81478325927':
  build: pass version and patch level to mkbootimg
2016-03-08 16:08:14 +00:00
Sami Tolvanen
b32d845090 Merge "build: pass version and patch level to mkbootimg" 2016-03-08 16:02:24 +00:00
Tao Bao
cc9c8ce966 Merge "releasetools: Fix the bug in AssertSequenceGood."
am: 236e664efa

* commit '236e664efa04bd92ce28ba553afebf8e79ca17fa':
  releasetools: Fix the bug in AssertSequenceGood.
2016-03-07 22:35:40 +00:00
Tao Bao
c086370440 releasetools: Support OTAs that have OEM properties changes.
We need to handle a special case that an OTA goes from a source build
without OEM properties to a target build with those properties (or vice
versa). Add support in OTA scripts to deal the case properly, by a)
using two oem_props variables to handle source and target builds
respectively; b) adjusting the fingerprint/thumbprint assertions to
allow a mix of both.

Change-Id: Ib517c366730b967a974c89528df9d42887c92ec2
2016-03-07 13:14:49 -08:00
Sami Tolvanen
8fb47f191f build: pass version and patch level to mkbootimg
Add --os_version and --os_patch_level arguments to mkbootimg.

Needs matching changes from
  I57682611e0c27fec5ed284da7d9a788383ff98b1

Bug: 27498078
Bug: 22914603
Change-Id: I04e20b0de40d864aac92ac7bcf466a6cbde3d0e4
2016-03-07 11:55:22 -08:00
Tao Bao
dca2200c8a releasetools: Fix the bug in AssertSequenceGood.
We use a bitset for blocks in the target image to assert a block hasn't
been touched before reading. Skip checking the blocks that are in the
source image only.

Change-Id: I3a77292da673c813bd20d8dc177ff36419d8ecae
2016-03-04 15:26:26 -08:00
Tao Bao
aa82bd62cb Merge "releasetools: Fix one missing case for --oem_no_mount."
am: 4e677900f7

* commit '4e677900f7b0017fcd926dc66d778e355e6a1bae':
  releasetools: Fix one missing case for --oem_no_mount.
2016-03-04 19:30:01 +00:00
Tao Bao
1bb5a18918 releasetools: Fix one missing case for --oem_no_mount.
The CL in [1] added support for --oem_no_mount. It missed one place that
guards the OEM mounting.

[1] commit 8608cde944

Change-Id: I6ecaa94cd0866e0fd4fc88cb0aa3ebf55cde2968
2016-03-04 09:45:39 -08:00
Dan Willemsen
e39455faa2 Merge "Ensure prebuilt executables are executable"
am: c92dc59c86

* commit 'c92dc59c86f09526735625c605b8e7ded1070e90':
  Ensure prebuilt executables are executable
2016-03-02 18:25:58 +00:00
Dan Willemsen
08420cbc8a Ensure prebuilt executables are executable
Use 'chmod +x' to make sure that they're executable, even if the source
file is not.

Change-Id: Id155f6b4ff188f5c909fd6237fd64183af264f79
2016-03-01 22:11:41 -08:00
Dan Willemsen
cdaf748e3a Merge changes I12810c1b,I62287a80,Ied96fdc3
am: a65b01fc09

* commit 'a65b01fc09b47c83e59dc4757c76eafba1e15cbc':
  Remove LOCAL_ACP_UNAVAILABLE
  Remove unused dependencies on $(ACP)
  Replace some uses of acp with cp
2016-03-01 23:19:33 +00:00
Dan Willemsen
479311bc7c Remove LOCAL_ACP_UNAVAILABLE
Now that copy-file-to-target doesn't use acp, nothing in the acp build
path uses acp, so we don't need to special case it to prevent loops.

Change-Id: I12810c1b064d0c03135a80077a76bc4c9cc18b24
2016-03-01 13:16:53 -08:00
Dan Willemsen
7f016150a0 Remove unused dependencies on $(ACP)
Most of these are calling to copy-file-to-target or similar, which no
longer use $(ACP).

Change-Id: I62287a80c577c34df587b74e70055c2f56050ce7
2016-03-01 13:15:35 -08:00
Tao Bao
f457860e46 Merge "releasetools: Add --oem_no_mount option."
am: 1e0367410d

* commit '1e0367410d3c79fcd7e64a584029a3c756757c80':
  releasetools: Add --oem_no_mount option.
2016-02-27 00:12:08 +00:00
Tao Bao
8608cde944 releasetools: Add --oem_no_mount option.
We may have devices with OEM-specific properties but without an OEM
partition (e.g. the properties might be set by init based on hardware
SKUs). For such devices, we supply --oem_no_mount to skip mounting the
OEM partition in the updater-script. The option is only meaningful when
-o (--oem_settings) is specified.

Bug: 27359929
Change-Id: Ic08396e478a82be4188e980e704b33b4f704a8d7
2016-02-26 16:07:16 -08:00
Tao Bao
5a697261fd Merge "releasetools: Support generating downgrade incremental OTAs."
am: 1284954db0

* commit '1284954db036e5c2fdf5576bd03f415b8a201078':
  releasetools: Support generating downgrade incremental OTAs.
2016-02-26 00:41:29 +00:00
Tao Bao
5d1825664a releasetools: Support generating downgrade incremental OTAs.
Add --downgrade flag to ota_from_target_files.py script. It allows
generating an incremental OTA that updates from a newer build to an
older one (based on timestamp comparison). "post-timestamp" line in the
metadata file will be replaced by "ota-downgrade=yes". A data wipe will
always be enforced, so "ota-wipe=yes" will also be included in the
metadata file.

Bug: 26883782
Change-Id: Iaa05f662d948b7ab632a9fbb7051cc3f8bf68c21
2016-02-24 11:31:17 -08:00
Bill Yi
4a459aee75 Merge commit '75bbddecaa9f9d82c2f2751b389188f0a41e3284' into HEAD 2016-02-17 09:50:15 -08:00
Alex Klyubin
d131a5a813 Merge "Switch to production constant for v2 signing scheme ID." 2016-02-17 16:41:14 +00:00
Alex Deymo
1bd78f399f Merge "Include Brillo's cannonical .clang-format file." 2016-02-16 22:32:06 +00:00