Commit graph

3573 commits

Author SHA1 Message Date
Dan Willemsen
3f60c4b6c0 Allow building kati & makeparallel with soong
This uses far fewer hacks in order to build these host tools, but will
require more libraries(libc++,etc) from unbundled and stripped down
branches.

Once this becomes the only option, all builds will happen after soong
runs. Then the toolchain / global cflags information will be able to be
moved from make to soong (and exported back to make).

Change-Id: I270b1d92bcef28a96fbc3ec9910d9bd0c101ac0f
2016-01-13 13:08:29 -08:00
Colin Cross
dc74441928 Merge "makeparallel: print path on exec failure"
am: e56ef1bee7

* commit 'e56ef1bee78f7b9a0c74c25087a869f382599080':
  makeparallel: print path on exec failure
2016-01-13 20:43:27 +00:00
Colin Cross
e56ef1bee7 Merge "makeparallel: print path on exec failure" 2016-01-13 20:32:45 +00:00
Alex Klyubin
45f1403b7e Merge "Unconditionally use SHA-256 when minSdkVersion is 18 or higher."
am: fbee4f2e42

* commit 'fbee4f2e42c31aa392869d813687c7648ae41e80':
  Unconditionally use SHA-256 when minSdkVersion is 18 or higher.
2016-01-13 18:46:25 +00:00
Alex Klyubin
c2c49ed0c1 Unconditionally use SHA-256 when minSdkVersion is 18 or higher.
SHA-1 is deprecated, but the replacement SHA-256 is only supported
for JAR/APK and OTA update package signatures on API Level 18 and
newer. This change thus adds a --min-sdk-version command-line
parameter to signapk. When this parameter is set to 18 or higher,
SHA-256 is used instead of SHA-1. When the parameter is not provided,
SHA-1 is used same as before.

This change also removes any other digests from the MANIFEST.MF.
This is to ignore any MANIFEST.MF digests already there in the APK,
such as when re-signing an already signed APK.

Build scripts will be modified to provide the --min-sdk-version
parameter in a follow-up change. This is not done in this change
because of prebuilts which require a prebuilt version of signapk
to support this parameter before the build scripts can be modified.

Bug: 25643280
Change-Id: I6a2782e465600fe2a3ad0c10bd80db2b80a6fb76
2016-01-12 13:31:59 -08:00
Alex Klyubin
bad18cd9cf Merge "List SHA-1 digests of APK entries\' contents in .SF files."
am: 6b452b2767

* commit '6b452b276773e7f1149845e99777e119cf9754ca':
  List SHA-1 digests of APK entries' contents in .SF files.
2016-01-12 21:26:01 +00:00
Alex Klyubin
6b452b2767 Merge "List SHA-1 digests of APK entries' contents in .SF files." 2016-01-12 21:22:12 +00:00
Alex Klyubin
8502937cff List SHA-1 digests of APK entries' contents in .SF files.
Due to a bug introduced in 8562fd478d
SHA-1 digests of APK entries' contents were listed under wrong
attribute name. The effect is equivalent to not listing SHA-1
digests.

This change fix the issue by listing SHA-1 digests under the correct
attribute name. However, these digests are not that useful because:
(1) typically the digest of the MANIFEST.MF verifies and thus the
per-entry digests are ignored, and (2) per-entry digests of entries
with names longer than 64 characters are wrong in any case because the
digest generation code does not take into account that such names are
split over multiple lines.

An alternative to this change would be to completely omit outputting
per-entry sections of .SF files, thus saving space and speeding up APK
verification (.SF files would decompress faster).

Bug: 26513901
Change-Id: If95d58e9baa62b1113639fe70724e1e9c9f4e15c
2016-01-12 12:36:46 -08:00
Clay Murphy
308033ba6b Merge "Docs: Shorten feedback button text."
am: a3a9d929a6

* commit 'a3a9d929a61bf0574d8372d5932af6bde2e12920':
  Docs: Shorten feedback button text.
2016-01-12 19:49:33 +00:00
Clay Murphy
b43f809da9 Docs: Shorten feedback button text.
Bug: 26452230
Change-Id: I8069d5087775a38f23e2aae86eb16fea81a65cd3
2016-01-12 10:55:44 -08:00
Colin Cross
2862458bbb makeparallel: print path on exec failure
If ninja is missing makeparallel prints an unhelpful error:
out/host/linux-x86/bin/makeparallel: exec failed: No such file or directory
which suggests that makeparallel is what is missing, not what is
reporting the error.  Print the path passed to exec as well.

Change-Id: Ic04c1cde6da9c3a974b5c43e3fb3bdb6da6605f7
2016-01-11 13:43:27 -08:00
Gina Dimino
256dbdc76d Merge "Docs: Changing text on Feedback button. Bug: 26452230"
am: 49d5d5576e

* commit '49d5d5576e714a733b952506bcc49d660d8a4afb':
  Docs: Changing text on Feedback button. Bug: 26452230
2016-01-08 18:37:02 +00:00
Gina Dimino
49d5d5576e Merge "Docs: Changing text on Feedback button. Bug: 26452230" 2016-01-08 18:31:38 +00:00
Tianjie Xu
3236cfd672 Merge "Check block0 for remounting partition R/W"
am: 0b109751b8

* commit '0b109751b8f767e9191f1d84f345ee70690be9fa':
  Check block0 for remounting partition R/W
2016-01-08 00:54:12 +00:00
Tianjie Xu
0b109751b8 Merge "Check block0 for remounting partition R/W" 2016-01-08 00:49:49 +00:00
Gina Dimino
261bb0871d Docs: Changing text on Feedback button.
Bug: 26452230

Change-Id: I716b773ed649dea4634f3db3fcb9daba0d0fab86
2016-01-07 16:22:36 -08:00
Gina Dimino
e1e7d93cfe Merge "Docs: Encode URL input to search box Bug: 26287939"
am: 634e4a2a39

* commit '634e4a2a39b32df838d750374ce390fa25f1710b':
  Docs: Encode URL input to search box Bug: 26287939
2016-01-06 17:41:52 +00:00
Gina Dimino
bbde9363fa Docs: Encode URL input to search box
Bug: 26287939

Change-Id: Ica656034412b517e182333f5fe4f6e9bc5f300f3
2016-01-05 15:08:40 -08:00
Elliott Hughes
b938cbc7a7 Merge "Clean up Mac OS hacks in acp slightly."
am: 0e80edd259

* commit '0e80edd259d1ce7f35d8c9841f88296416c1e2cf':
  Clean up Mac OS hacks in acp slightly.
2016-01-05 17:48:29 +00:00
Elliott Hughes
636c1c4a44 Clean up Mac OS hacks in acp slightly.
Change-Id: I7cba3a345cd8907ae050961cc4f173003ac90f39
2016-01-05 09:32:42 -08:00
Tao Bao
c27ad030b6 Merge "Allow building recovery as boot."
am: 781b7b20d4

* commit '781b7b20d41cfe80472707aec46d0eac5473bfc5':
  Allow building recovery as boot.
2015-12-21 19:22:00 +00:00
Daniel Rosenberg
40ef35b9e9 Allow building recovery as boot.
With BOARD_USES_RECOVERY_AS_BOOT = true, we skip building the
non-ramdisk boot.img but building the recovery image as boot.img. It
contains recovery's ramdisk (e.g. with /sbin/recovery). It depends on
the bootloader parameter (skip_initramfs) to determine the actual mode
to boot into.

Change-Id: Id6e2d0a2b94383944ca8f35bba688c6401745622
(cherry picked from commit d80bef2b9e)
2015-12-21 11:17:08 -08:00
Sami Tolvanen
ba788ce6e6 Merge "build_image: don\'t call append2simg for FEC"
am: e2476f82a1

* commit 'e2476f82a1c83c5efda8d8e29d25305439e91985':
  build_image: don't call append2simg for FEC
2015-12-21 11:30:44 +00:00
Sami Tolvanen
c734083df3 Merge "build_image: remove an unnecessary call to append2simg"
am: 06b4ff6696

* commit '06b4ff6696dfc11fafde52e17c6e9d46f0ec1be5':
  build_image: remove an unnecessary call to append2simg
2015-12-21 11:30:35 +00:00
Sami Tolvanen
e2476f82a1 Merge "build_image: don't call append2simg for FEC" 2015-12-21 11:21:16 +00:00
Sami Tolvanen
06b4ff6696 Merge "build_image: remove an unnecessary call to append2simg" 2015-12-21 11:19:26 +00:00
Alex Klyubin
fe20ca0229 Merge "Move signapk sources to src dir."
am: 421d84f911

* commit '421d84f911218387dc638dd7ef897aa3199b96b6':
  Move signapk sources to src dir.
2015-12-18 13:45:16 -08:00
Tianjie Xu
fc3422ad36 Check block0 for remounting partition R/W
Add a function check_first_block to read block0 and output a message
on screen if the device has been remounted. The function is called
for version >= 4 only; it executes after a failing block verification
and before recovery attempts.

Bug: 21124327
Change-Id: I49dc0b861c702698896a2495ca094215705d4650
(cherry picked from commit 9dac797013)
2015-12-18 11:05:34 -08:00
Alex Klyubin
421d84f911 Merge "Move signapk sources to src dir." 2015-12-18 18:06:37 +00:00
Sami Tolvanen
4a0600406e build_image: don't call append2simg for FEC
append2simg can be slow, so generate error correction data before verity
data is appended, and append all metadata to the image at the same time.

Needs matching changes from
  I09349368925e5e2f2a7961a712a1e933eb0b9ec8

Bug: 26251929
Change-Id: Iea8cee0aee353b4d029d9581e8fbd68ec7b7dd4b
2015-12-18 15:50:25 +00:00
Sami Tolvanen
ff914f5dd0 build_image: remove an unnecessary call to append2simg
append2simg on a large image is fairly slow, so append verity metadata to
the hash tree to avoid two calls.

Bug: 26251929
Change-Id: I5ec84dcd6e8500e990af13b1f9cef5e809b41605
2015-12-18 13:28:25 +00:00
Todd Poynor
77d1b2ec31 Merge "Make squashfs sparse image generation optional"
am: ffce16c7e6

* commit 'ffce16c7e6bdabb909a36c2b97b7881eddd5ba54':
  Make squashfs sparse image generation optional
2015-12-16 22:32:31 +00:00
Todd Poynor
ffce16c7e6 Merge "Make squashfs sparse image generation optional" 2015-12-16 22:12:53 +00:00
Gina Dimino
2635974ed8 Merge "Docs: Replace custom search engine Bug: 25778395"
am: 36412fa8f9

* commit '36412fa8f9cc59c3aa31988d8a38576aeae6b6bd':
  Docs: Replace custom search engine Bug: 25778395
2015-12-16 19:01:13 +00:00
Gina Dimino
8cc3a9e117 Docs: Replace custom search engine
Bug: 25778395

Change-Id: I432698f63088a3e4ec285e46c7de2295c4cefad3
2015-12-16 10:00:33 -08:00
Todd Poynor
b2a555e6fc Make squashfs sparse image generation optional
Allow non-sparse squashfs image generation, a la ext filesystems.

Bug: 26218766
Change-Id: Ifd596af16411e0cf69a2e7e05d725fd9442dc79c
2015-12-15 20:11:12 -08:00
Colin Cross
1452e0a389 Merge "Remove unneccessary TARGET_BUILD_APPS conditional"
am: e416a5f716

* commit 'e416a5f71638bc324a368e4c66a4834117322c7a':
  Remove unneccessary TARGET_BUILD_APPS conditional
2015-12-16 01:33:33 +00:00
Colin Cross
493205eee4 Remove unneccessary TARGET_BUILD_APPS conditional
The prebuilt tools no longer conflict with the tools built from source,
remove the conditional.

Change-Id: Id334e25d9cfa2d5934450dd223bc9e30cd890062
2015-12-15 15:49:53 -08:00
Alex Klyubin
fe7c1e59d1 Move signapk sources to src dir.
This also makes source files follow the standard directory structure
based on Java package names.

Bug: 25794543
Change-Id: Ie0b568057f836e56407f76d29eeacd28ab907ba8
2015-12-15 09:08:45 -08:00
Alex Klyubin
dfd2199ef6 Merge "Make signapk use Conscrypt."
am: 7884a63731

* commit '7884a63731a876f483c13288c87d8e7af7a533e4':
  Make signapk use Conscrypt.
2015-12-11 10:37:16 -08:00
Alex Klyubin
9667b18f23 Make signapk use Conscrypt.
This makes the signapk tool use Conscrypt (where possible) instead of
the platform-default JCA providers and the Bouncy Castle JCA provider.
This speeds up (by 10-30%) APK and OTA update signing because
Conscrypt's crypto primitives are backed by BoringSSL.

Previously, the signapk tool consisted only of the signapk.jar.
Because Conscrypt is backed by native code, signapk now consists of
signapk.jar and crypto_openjdk_jni shared library. This requires that
users of the tool be updated to provide a suitable -Djava.library.path
argument to the Java runtime. This change updates all known users of
the tool inside the Android source tree to do so.

Bug: 26097626
Change-Id: I8411b37d7f771ed99269751a3007dff103083552
2015-12-11 08:36:42 -08:00
Alex Klyubin
95ba90d1f0 Merge "Do not run zipalign when re-signing APKs."
am: 31066abfde

* commit '31066abfde08abdefe00be67074a2c7401917f97':
  Do not run zipalign when re-signing APKs.
2015-12-08 20:23:37 +00:00
Alex Klyubin
eb756d7b7b Do not run zipalign when re-signing APKs.
Running zipalign is no longer needed because signapk takes care of
alignment.

Bug: 25794543
Change-Id: I1080240a67ea6f1b41585fff83d18d57fdcf44e2
2015-12-08 11:05:13 -08:00
Alex Klyubin
3ad587e9ff Merge "Make signapk align .so entries to 4096 bytes." am: dbb5527a9e
am: 7f1eda800d

* commit '7f1eda800d8cdb793b521e20798eaacb3fe410ad':
  Make signapk align .so entries to 4096 bytes.
2015-12-04 17:13:36 +00:00
Alex Klyubin
7f1eda800d Merge "Make signapk align .so entries to 4096 bytes."
am: dbb5527a9e

* commit 'dbb5527a9ef27f292794d1e51ae56d1df68c328b':
  Make signapk align .so entries to 4096 bytes.
2015-12-04 17:10:01 +00:00
Alex Klyubin
dbb5527a9e Merge "Make signapk align .so entries to 4096 bytes." 2015-12-04 17:05:27 +00:00
Shinichiro Hamaji
ba1277549d Merge "Remove warnings from ijar/classfile.cc" am: 128053b91b
am: 8707422e4e

* commit '8707422e4ee24ca96befbf2bf54deca2590bedfa':
  Remove warnings from ijar/classfile.cc
2015-12-03 05:45:48 +00:00
Shinichiro Hamaji
8707422e4e Merge "Remove warnings from ijar/classfile.cc"
am: 128053b91b

* commit '128053b91b959d0664c33659063c5246eb57a594':
  Remove warnings from ijar/classfile.cc
2015-12-03 05:42:52 +00:00
Shinichiro Hamaji
128053b91b Merge "Remove warnings from ijar/classfile.cc" 2015-12-03 05:39:24 +00:00
Alex Klyubin
924a683760 Make signapk align .so entries to 4096 bytes.
This makes signapk align uncompressed .so entries to memory page
boundary (4096 bytes) to enable such libraries to be loaded at runtime
through memory-mapping the APK.

With this change in place, there should no longer be a need to run
zipalign after (or before) signapk.

Bug: 25794543
Change-Id: I74775af15a683791f57fcbd3497a79951b3f63a1
2015-12-02 19:02:01 -08:00
Tao Bao
50aa7c731b Merge "releasetools: Always use recovery mount options." am: 643d466f7b
am: 1709cf3768

* commit '1709cf3768b54c1abc267b5ee92f57023e206c26':
  releasetools: Always use recovery mount options.
2015-12-03 01:35:04 +00:00
Tao Bao
1709cf3768 Merge "releasetools: Always use recovery mount options."
am: 643d466f7b

* commit '643d466f7b853ab4009723e2da200e3a6642d2ad':
  releasetools: Always use recovery mount options.
2015-12-03 01:30:40 +00:00
Tao Bao
269d785ce0 releasetools: Always use recovery mount options.
Change-Id: I6e96c417ffb5ad36405f4a6f5342f80f358f375f
2015-12-02 15:51:47 -08:00
Tao Bao
21362f024b Merge "releasetools: Abort the update on apply_patch failures." am: 2a23c0c859
am: d77af53fc6

* commit 'd77af53fc673229a1e9b59d99592272f689df10f':
  releasetools: Abort the update on apply_patch failures.
2015-12-02 22:05:02 +00:00
Tao Bao
d77af53fc6 Merge "releasetools: Abort the update on apply_patch failures."
am: 2a23c0c859

* commit '2a23c0c85919bada137985f9e3b32514185b38c5':
  releasetools: Abort the update on apply_patch failures.
2015-12-02 22:00:18 +00:00
Tao Bao
c386890d0e releasetools: Abort the update on apply_patch failures.
We used to silently ignore the return value from apply_patch() even if
it had failed. It gives us more trouble to investigate the failure when
the affected file/partition gets touched in subsequent OTAs. This CL
adds the checking of the return value and aborts the update accordingly.

Bug: 25893277
Change-Id: Ie5e1c563576e503343e6a5b28ed4d7039f6f919c
2015-12-02 12:26:57 -08:00
Shinichiro Hamaji
8f2968f095 Remove warnings from ijar/classfile.cc
Also add -Werror.

Change-Id: I2f9fda288d31bd34735856ade33916c93c45922a
2015-12-01 16:44:32 +09:00
Colin Cross
dbeab8de65 Merge changes I1de10391,I4399ca26,Iec3b2b0b am: bff3c9b4c1
am: bae8872294

* commit 'bae88722945130a0c8ebbb1ef27eaa845e9f03fd':
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:05:38 +00:00
Colin Cross
bae8872294 Merge changes I1de10391,I4399ca26,Iec3b2b0b
am: bff3c9b4c1

* commit 'bff3c9b4c10dcb3ce3820d3a5e144e3df20313dc':
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:03:27 +00:00
Colin Cross
bff3c9b4c1 Merge changes I1de10391,I4399ca26,Iec3b2b0b
* changes:
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:00:36 +00:00
Tao Bao
94792ca281 Merge "releasetools: Allow logging the diff for incrementals." am: 6d6e0481fa
am: e88245ddf0

* commit 'e88245ddf0a4920ff90866b9d66b2a3e4bd89f18':
  releasetools: Allow logging the diff for incrementals.
2015-11-30 20:18:45 +00:00
Tao Bao
e88245ddf0 Merge "releasetools: Allow logging the diff for incrementals."
am: 6d6e0481fa

* commit '6d6e0481fa86cb552e1b386e5449fe1fde2325cf':
  releasetools: Allow logging the diff for incrementals.
2015-11-30 20:15:39 +00:00
Tao Bao
d62c603573 releasetools: Allow logging the diff for incrementals.
Add an option "--log_diff <filename>" to ota_from_target_files.py
script. When enabled, it logs the differences between the source
and target builds into <filename> when generating incremental OTAs.

Also move target_files_diff.py into releasetools/ so that it can be
packed into otatools.zip.

Bug: 25372309
Change-Id: Ifd4ed0f2f12ef040ee377621ec8c35a873cec34f
2015-11-30 11:26:40 -08:00
Colin Cross
b15149cb2f Use libstdc++ for ijar
For some reason ijar won't build against libc++ for TARGET_BUILD_APPS
builds, but does build with libstdc++.

(cherry picked from commit 718bab6aec)

Bug: 25904002
Change-Id: I1de103918faa5bb574af6f12cc954e7fed44dc62
2015-11-30 11:16:30 -08:00
Shinichiro Hamaji
80876a6303 Build ijar for apps build
This fixes git_master-linux-apps build.

(cherry picked from commit 9084705744)

Change-Id: I4399ca2662e08c9b3cc2ad5a317e84d91b728115
2015-11-30 11:16:28 -08:00
Shinichiro Hamaji
89b255ab71 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

(cherry picked from commit c1f5d9c203)

Bug: 24597504
Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
2015-11-30 11:16:23 -08:00
Shinichiro Hamaji
371b8c7f77 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" am: 2ff3ad9045
am: 51ef51c4ad

* commit '51ef51c4ad283198d5fb4a2ec9caecdc7a677838':
  Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
2015-11-27 04:05:01 +00:00
Shinichiro Hamaji
15bead2c59 Merge "Revert "Build ijar for apps build"" am: d17c3a57f6
am: c3725c256b

* commit 'c3725c256b5d786007f2565324324b386287725a':
  Revert "Build ijar for apps build"
2015-11-27 04:04:53 +00:00
Shinichiro Hamaji
51ef51c4ad Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files""
am: 2ff3ad9045

* commit '2ff3ad90455e868a1805d065f0aa2b8babbc6660':
  Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
2015-11-27 04:02:09 +00:00
Shinichiro Hamaji
c3725c256b Merge "Revert "Build ijar for apps build""
am: d17c3a57f6

* commit 'd17c3a57f6f183b97cc557e10e221b4dc1acf47f':
  Revert "Build ijar for apps build"
2015-11-27 04:02:01 +00:00
Shinichiro Hamaji
2ff3ad9045 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" 2015-11-27 03:59:30 +00:00
Shinichiro Hamaji
d17c3a57f6 Merge "Revert "Build ijar for apps build"" 2015-11-27 03:59:18 +00:00
Shinichiro Hamaji
3ae7f66bab Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
This reverts commit c1f5d9c203.

Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
2015-11-27 03:58:51 +00:00
Shinichiro Hamaji
ea2da50e17 Revert "Build ijar for apps build"
This reverts commit 9084705744.

Change-Id: I8a9958788c51dcec5028ef396cb67abd541ce31f
2015-11-27 03:57:17 +00:00
Colin Cross
06c44241da Merge "Revert "Use libstdc++ for ijar"" am: 41dca40376
am: 6cd88d7514

* commit '6cd88d75147217bc42fed67b558f9e4c836a20a0':
  Revert "Use libstdc++ for ijar"
2015-11-26 22:25:12 +00:00
Colin Cross
6cd88d7514 Merge "Revert "Use libstdc++ for ijar""
am: 41dca40376

* commit '41dca403766d22373ba469d99ba1625d0930d02e':
  Revert "Use libstdc++ for ijar"
2015-11-26 22:23:02 +00:00
Colin Cross
39cca23d41 Revert "Use libstdc++ for ijar"
This reverts commit 718bab6aec.

Change-Id: I9aa222fc2936d7d89ae0700eeef505c6b317d777
2015-11-26 22:20:22 +00:00
Colin Cross
8713fde1c3 Merge "Use libstdc++ for ijar" am: c97b5272d7
am: 4c1944083f

* commit '4c1944083f03e1ddf55f16f815b89a337ffc60f6':
  Use libstdc++ for ijar
2015-11-26 22:14:40 +00:00
Colin Cross
4c1944083f Merge "Use libstdc++ for ijar"
am: c97b5272d7

* commit 'c97b5272d715ab9f4ff52748bd2f403235f94426':
  Use libstdc++ for ijar
2015-11-26 22:12:38 +00:00
Colin Cross
718bab6aec Use libstdc++ for ijar
For some reason ijar won't build against libc++ for TARGET_BUILD_APPS
builds, but does build with libstdc++.

Change-Id: I8e900b0f764f0bb8f827705cb9173f07e4f33862
2015-11-26 14:09:50 -08:00
Colin Cross
93e138b723 Merge "Build ijar for apps build" am: ec4db56e58
am: 3b5dbebe8d

* commit '3b5dbebe8d9a8beac49a8c16605df6afbec4de72':
  Build ijar for apps build
2015-11-26 17:38:34 +00:00
Colin Cross
3b5dbebe8d Merge "Build ijar for apps build"
am: ec4db56e58

* commit 'ec4db56e5802171bc2d0237f496e97ec093f0be0':
  Build ijar for apps build
2015-11-26 17:36:29 +00:00
Colin Cross
ec4db56e58 Merge "Build ijar for apps build" 2015-11-26 17:34:50 +00:00
Shinichiro Hamaji
9084705744 Build ijar for apps build
This fixes git_master-linux-apps build.

Change-Id: I1a77b2495d98d89f570cb165d7f25f617c9af9aa
2015-11-26 17:24:40 +09:00
Shinichiro Hamaji
b42da32564 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" am: c9a1b27845
am: 27770abe27

* commit '27770abe272eb54de5eea5fa94342c1393b681a0':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-11-26 05:33:54 +00:00
Shinichiro Hamaji
27770abe27 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
am: c9a1b27845

* commit 'c9a1b278458eddd3065c0e9fc06e12b2cb1c38cb':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-11-26 05:30:54 +00:00
Shinichiro Hamaji
c9a1b27845 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" 2015-11-26 05:25:58 +00:00
Tao Bao
fe1373e194 Merge "target_files_diff: Allow writing outputs to file." am: 7b5eddd52b
am: acd1b8e160

* commit 'acd1b8e160c8114bd07be2175388f7dcefe09687':
  target_files_diff: Allow writing outputs to file.
2015-11-25 00:06:08 +00:00
Tao Bao
acd1b8e160 Merge "target_files_diff: Allow writing outputs to file."
am: 7b5eddd52b

* commit '7b5eddd52bfb70485488458a115a33f1af92759a':
  target_files_diff: Allow writing outputs to file.
2015-11-25 00:03:01 +00:00
Tao Bao
5dd9a2ce11 target_files_diff: Allow writing outputs to file.
Also clean up some pylint warnings.

Bug: 25372309
Change-Id: I226bfd72cb1310ba77352f8d367803e815e1cfa3
2015-11-24 15:23:20 -08:00
Alex Klyubin
21f2e7bf0f Merge "Clean up compiler warnings in signapk." am: 0aaf7aa53c
am: febce01c64

* commit 'febce01c64c18a4dea9d6f966939c3642b4381ed':
  Clean up compiler warnings in signapk.
2015-11-24 17:39:18 +00:00
Alex Klyubin
febce01c64 Merge "Clean up compiler warnings in signapk."
am: 0aaf7aa53c

* commit '0aaf7aa53ce5d1a8b5880303a21b83959bf1a432':
  Clean up compiler warnings in signapk.
2015-11-24 17:36:06 +00:00
Alex Klyubin
0aaf7aa53c Merge "Clean up compiler warnings in signapk." 2015-11-24 17:30:42 +00:00
Alex Klyubin
c218d3eca3 Clean up compiler warnings in signapk.
Bug: 25794543
Change-Id: Ia7da4fbaed77af4020e5aa0b14fe5e1bd8521edb
2015-11-24 09:27:55 -08:00
Tao Bao
842e858f0c Merge "releasetools: Fix the bug with TARGET_NO_RECOVERY." am: 4ed5735a68
am: 733ba8f0e4

* commit '733ba8f0e473b214e55e3b93ded7739c35d85b10':
  releasetools: Fix the bug with TARGET_NO_RECOVERY.
2015-11-20 04:53:32 +00:00
Tao Bao
733ba8f0e4 Merge "releasetools: Fix the bug with TARGET_NO_RECOVERY."
am: 4ed5735a68

* commit '4ed5735a68090e9eec240693ff6b97ea57576151':
  releasetools: Fix the bug with TARGET_NO_RECOVERY.
2015-11-20 04:50:31 +00:00
Tao Bao
48550cceb0 releasetools: Fix the bug with TARGET_NO_RECOVERY.
The packaging script is broken when we set TARGET_NO_RECOVERY and
SYSTEM_ROOT_IMAGE both. With TARGET_NO_RECOVERY set, we don't have
RECOVERY/RAMDISK/etc/recovery.fstab. It thus fails the assertion in
common.LoadRecoveryFSTab() that "/" must exist in fstab when enabling
SYSTEM_ROOT_IMAGE.

Change-Id: Id509d724f18be7cf7389dd786924ead894ac0cc1
2015-11-19 17:14:21 -08:00
Tao Bao
c684a97329 Add ro.build.ab_update property.
am: 532fdf4479

* commit '532fdf4479acb50cdb480e6fdfe24f0698fcd67b':
  Add ro.build.ab_update property.
2015-11-19 18:42:52 +00:00
Shinichiro Hamaji
c1f5d9c203 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

Bug: 24597504
Change-Id: Id54953aea25e497c8ebbe783b03f13b488577c6a
2015-11-19 17:10:35 +09:00
Tao Bao
2c1a4b9e88 Merge "releasetools: Pack updatable images into IMAGES/ for A/B update."
am: 128466cea5

* commit '128466cea5358eadbde19f52f16eef03f2685446':
  releasetools: Pack updatable images into IMAGES/ for A/B update.
2015-11-17 05:37:01 +00:00
Tao Bao
128466cea5 Merge "releasetools: Pack updatable images into IMAGES/ for A/B update." 2015-11-17 05:32:56 +00:00
Tao Bao
a0421cd1bd releasetools: Pack updatable images into IMAGES/ for A/B update.
Vendor-specific images (radio, bootloader and etc) used to stay in
RADIO/ in target_files zip. A/B updater expects them to be available
under IMAGES/. Make a copy for such images when calling
add_img_to_target_files.py.

We cannot move them directly from RADIO/ to IMAGES/, because we will
delete everything under IMAGES/ when signing for release.

Bug: 25674625
Change-Id: I977c879d0ff7e45c83b3f5c63844a5b135caa383
2015-11-16 16:42:43 -08:00
Tao Bao
532fdf4479 Add ro.build.ab_update property.
Set ro.build.ab_update if AB_OTA_UPDATER is true. Device will depend on
this property to call the proper update API.

Change-Id: I5916ef5b30ea3351d323382f7ce83a17df2b0a70
2015-11-16 12:38:07 -08:00
Tao Bao
b11d2c5dd6 releasetools: Support packaging for system_root_image.
For system images that contain the root directory, we need to find the
root directory at ROOT/ instead of BOOT/RAMDISK/.

 Conflicts:
	tools/releasetools/common.py

Change-Id: Ica345c8b1b03475f8ac6c44fd576045fcf17c882
2015-11-16 12:38:07 -08:00
Tao Bao
6ed1491402 Support systems that use a full copy of recovery image.
If BOARD_USES_FULL_RECOVERY_IMAGE == true, a full copy of recovery
image will be carried as /system/etc/recovery.img instead of a patch
at /system/recovery_from_boot.p.

Bug: 22641135
Change-Id: Ie271d3e2d55d7b003f667ac5b44203d69b23c63b
(cherry picked from commit 8beab69bd5)
2015-11-16 12:02:24 -08:00
Daniel Rosenberg
b3b8ce6241 Add support for system images that contain the root directory
When the root directory is included in system, the assumption that
system is mounted at /system breaks down. Redirect /system to /
in that case.

Change-Id: I8031b32d7cb9ca699c1cc22939e28afce9d1c847
2015-11-16 12:02:24 -08:00
Daniel Rosenberg
fa7f9f7e0c Add ro.build.system_root_image
ro.build.system_root_image is true if the root directory is built
into the system image.

Change-Id: I17208ebd004c63aebb09db6c3e5f795619e73bd2
2015-11-16 12:02:24 -08:00
Tao Bao
37b96ef26b Honor TARGET_NO_RECOVERY flag.
Don't generate recovery.img when calling 'make dist' if
TARGET_NO_RECOVERY is set. The build system passes the flag to the
packaging script which then generates recovery.img conditionally.

Bug: 25329471
Change-Id: Ia7f08943834ee39e781d7e9b5beb1b31d95a73d9
(cherry picked from commit db45efa647)
2015-11-16 12:02:24 -08:00
Tao Bao
116977c7db DO NOT MERGE Change the cache partition size check into warnings.
For some old builds, we may not define cache partition size. Change the
exception into a warning to make the script backward compatible.

Change-Id: Ia90531e3455d4888cfac6510cab879c50883be53
(cherry picked from commit 575d68a48e)
2015-11-16 12:02:24 -08:00
Tao Bao
741c16686e Merge "build: Remove check_prereq."
am: 79dd4b2983

* commit '79dd4b29831b5fe5b6d9627c0b0373374c4e3036':
  build: Remove check_prereq.
2015-11-12 16:46:13 +00:00
Tao Bao
79dd4b2983 Merge "build: Remove check_prereq." 2015-11-12 16:41:45 +00:00
Tao Bao
cb4abef523 build: Remove check_prereq.
check_prereq is a tool for recovery API v2, which has been obselete
since we moved to v3 in [1].

[1] commit e08991e02a7d678f2574e85289a34b2a9a537c82

Bug: 24621915
Change-Id: Ie96348fb56c5a3e029cac2417b59d8eb62dc085b
2015-11-11 21:26:29 -08:00
Dan Willemsen
44c9fc0c28 Merge "Add tool to diff two target files packages"
am: 5685af316e

* commit '5685af316e5e3f9601c8c56a68cad9b833153268':
  Add tool to diff two target files packages
2015-11-12 05:20:03 +00:00
Dan Willemsen
5685af316e Merge "Add tool to diff two target files packages" 2015-11-12 05:16:29 +00:00
Tao Bao
58dcdc41c0 Merge "releasetools: Support generating verify packages."
am: 6af8ef528b

* commit '6af8ef528b97614bbb6cd6733ae5a8bc2fb8fbda':
  releasetools: Support generating verify packages.
2015-11-11 21:58:52 +00:00
Tao Bao
6af8ef528b Merge "releasetools: Support generating verify packages." 2015-11-11 21:53:11 +00:00
Tao Bao
a95168b221 Merge "releasetools: Refactor ota_from_target_files.py."
am: c1c01c6504

* commit 'c1c01c65042a84f9d12a1683451433ebaa111545':
  releasetools: Refactor ota_from_target_files.py.
2015-11-11 19:45:41 +00:00
Tao Bao
c1c01c6504 Merge "releasetools: Refactor ota_from_target_files.py." 2015-11-11 19:38:44 +00:00
Dan Willemsen
eb861a7bc1 Merge "Create reproducible NOTICE collections"
am: 92d746d158

* commit '92d746d1580054722e0bdab9283f515a69e9c1ec':
  Create reproducible NOTICE collections
2015-11-10 21:46:09 +00:00
Tao Bao
9bc6bb23b5 releasetools: Support generating verify packages.
We can generate a special OTA package that verifies all the partitions
(boot, recovery, system, vendor and etc) on a device. It also calls
device-specific script to verify bootloader and radio images. This
ensures a flashed device contains all the desired images faithfully.

Usage:
ota_from_target_files.py --gen_verify target_files.zip output.zip

Bug: 24679956
Change-Id: Ib3091d98c4b17a6fad305b3edf16d09efbda5c38
2015-11-10 12:49:33 -08:00
Dan Willemsen
8ae4984c2c Create reproducible NOTICE collections
Sort the lists of notice files instead of relying on the filesystem
ordering returned by os.walk

Bug: 23972440
Change-Id: Id32be9ce8e540244ad9d67b6fc7883fc2963fe5c
2015-11-10 12:37:23 -08:00
Tao Bao
767e3ac246 releasetools: Refactor ota_from_target_files.py.
Factor out some common lines between generating incremental and full
OTAs. Remove the outer while loop for cleaner logic.

Change-Id: I0a4d44a4a59b488748222c2031bd63f67d45e0b5
2015-11-10 12:23:10 -08:00
Dan Willemsen
9956862b4b Add tool to diff two target files packages
This tool will help identify unexpected differences between two target
files packages. Expected changes (build number / date) are hidden, along
with known bugs.

It ignores anything that is just packaging for other files that are
already being diffed, like the recovery patching, and all of IMAGES/*

Bug 25372309

Change-Id: I4641754dd5dfbdfd3a89d8fa5262b9a9595e8e9c
2015-11-06 18:42:57 -08:00
Dan Willemsen
163196aa48 Merge "Use explicitly sized types in zipalign/ziptime"
am: 1b2685137e

* commit '1b2685137ee9cde6ea24ff37b54c5d8e1ee18b01':
  Use explicitly sized types in zipalign/ziptime
2015-11-05 20:32:46 +00:00
Dan Willemsen
41bc424c32 Use explicitly sized types in zipalign/ziptime
getLongLE would return a 64-bit number with the upper 32-bits set when
decoding a 32-bit number with the top bit set. Per the zip file format,
it was only expected to return a 32-bit number. Use explicitly sized
types so that we use the proper sizes and don't do any implicit
extensions.

Change-Id: I5a4304dc99ce5f8f17284d4ca3094ae115207a1e
2015-11-04 23:52:52 +00:00
Clay Murphy
97b8e290b5 Merge "Docs: Add Security tab to top"
am: e47d8b99a2

* commit 'e47d8b99a2274b7689371685a819b5d1bf6e1cb1':
  Docs: Add Security tab to top
2015-11-03 23:56:54 +00:00
Clay Murphy
e47d8b99a2 Merge "Docs: Add Security tab to top" 2015-11-03 23:45:56 +00:00
Bill Yi
af05ad919a Merge commit '4f5e8cc3ca6da83f11bf42d04f1a57b9af16a582' into HEAD 2015-11-03 14:28:58 -08:00
Dan Willemsen
a0975edc16 Merge "Remove changing uids/timestamps from zip/jar files" 2015-11-03 21:38:45 +00:00
Dan Willemsen
48a621c277 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new tool, ziptime, that uses a very stripped down copy of
zipalign. It no longer depends on libandroidfw, and now rewrites the
timestamps in place instead of making a copy of the zipfile. This should
improve speed and reduce disk requirements, especially with the large
packaging zip files.

Bug: 24201956
Change-Id: I50f68669f659da1b4393e964ad40b6aafb00c1e7
2015-11-02 14:51:54 -08:00
Clay Murphy
2a0522b277 Docs: Add Security tab to top
Bug: 24908502
Change-Id: If3331bc4ba84a8694bc30cfa81d9dc080e93fa09
2015-10-29 15:19:06 -07:00
Dan Willemsen
d8d06da814 Merge "Revert "Remove changing uids/timestamps from zip/jar files""
am: 49d8c5196e

* commit '49d8c5196eb690fc987673c27cb61087c5886be4':
  Revert "Remove changing uids/timestamps from zip/jar files"
2015-10-29 21:33:39 +00:00
Dan Willemsen
b589ae4e26 Revert "Remove changing uids/timestamps from zip/jar files"
This reverts commit 3c2c064c87.

zipalign depends on libandroidfw, and some setups don't include frameworks/base.

Bug: 24201956
Change-Id: I48ee95808924f6b2221f0a49ab205c2565096b1f
2015-10-29 21:26:18 +00:00
Dan Willemsen
a51b1d532e Merge "Remove changing uids/timestamps from zip/jar files"
am: 9f25219371

* commit '9f252193714c82dbce702e8055ffaa7eec4afe66':
  Remove changing uids/timestamps from zip/jar files
2015-10-29 19:12:37 +00:00
Dan Willemsen
3c2c064c87 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new option to zipalign, -t, to replace all timestamps with static
timestamps (2008 Jan 1 00:00:00). Use this for all non-APK zip files.
APK zip timestamps are set based on the certificate date in SignApk.

Bug: 24201956
Change-Id: Ifb619fc499ba9d99fc624f2acd5f8de36d78ef8e
2015-10-29 11:57:16 -07:00
Tao Bao
e5eb4567d4 Merge "Honor TARGET_NO_RECOVERY flag."
am: c448e91c3d

* commit 'c448e91c3d3d095f8f200c9925f7db2ad525132f':
  Honor TARGET_NO_RECOVERY flag.
2015-10-29 16:45:31 +00:00
Sami Tolvanen
a25cced65f Merge "Error correction: Use block_image_recover in block OTAs"
am: fe4e86c7fd

* commit 'fe4e86c7fd1b9c8903fda194b8515451c477ced9':
  Error correction: Use block_image_recover in block OTAs
2015-10-29 16:45:14 +00:00
Tao Bao
c448e91c3d Merge "Honor TARGET_NO_RECOVERY flag." 2015-10-29 16:13:52 +00:00
Sami Tolvanen
f0a7c76b45 Error correction: Use block_image_recover in block OTAs
If block_image_verify fails, attempt to recover using FEC before giving up.

Bug: 21893453
Change-Id: Ibc1fe5d28b2a8099d2b5094277b572ec08229c3a
2015-10-29 11:39:31 +00:00
Ying Wang
4f5e8cc3ca Merge "Normalize the product makefile path in inherit-product." am: aabff90bfe
am: 3482ea54a2

* commit '3482ea54a2fecc756c79a94f37a66113d21d7558':
  Normalize the product makefile path in inherit-product.
2015-10-28 23:59:12 +00:00
Ying Wang
3482ea54a2 Merge "Normalize the product makefile path in inherit-product."
am: aabff90bfe

* commit 'aabff90bfe2312a95d3cf57564845fef8dc469a2':
  Normalize the product makefile path in inherit-product.
2015-10-28 23:55:10 +00:00
Ying Wang
a174261042 Normalize the product makefile path in inherit-product.
Some vendor product makefiles call $(inherit-product) on the same
product makefile with different paths, by using "../" in relative paths.
However inherit-product requires unique path as ID for a product
makefile, for bookkeeping purpose.
Normalize the product makefile path in inherit-product, if the path
contains "../".

Change-Id: I1a864ce120c713d8e79ec179213b9fc9352aba53
2015-10-28 15:20:41 -07:00
Tao Bao
db45efa647 Honor TARGET_NO_RECOVERY flag.
Don't generate recovery.img when calling 'make dist' if
TARGET_NO_RECOVERY is set. The build system passes the flag to the
packaging script which then generates recovery.img conditionally.

Bug: 25329471
Change-Id: Ifbc999300d5c31e897878f81e231ae7dd2aca660
2015-10-27 20:00:10 -07:00
Ying Wang
8ac0c4bebb Merge "Normalize java source file paths before running "sort -u"." am: 0d4dad46f4
am: 471d347b89

* commit '471d347b8928e6b030d94869a2a9229086b79528':
  Normalize java source file paths before running "sort -u".
2015-10-23 20:28:15 +00:00
Ying Wang
471d347b89 Merge "Normalize java source file paths before running "sort -u"."
am: 0d4dad46f4

* commit '0d4dad46f44d6f4a498a1a8205a4b26ae2e55ac5':
  Normalize java source file paths before running "sort -u".
2015-10-23 20:24:52 +00:00
Ying Wang
4d68879ca6 Normalize java source file paths before running "sort -u".
We rely on "sort -u" to dedupe aidl/logtags generated java files added
by both from $(all_java_sources) and from "find
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java".
But "sort -u" doesn't work if any of the aidl/logtags source file path
has "../" in it.
This change fixes this issue by normalizing the source file paths before
passing them to "sort -u".

Change-Id: I12d2c4e0397bed9f426a1ed9b13608d72d01e0df
2015-10-23 13:19:47 -07:00
Tao Bao
5ddc4ac802 Merge "Bump up the BBOTA version to 4." am: ac4ec1a4ea
am: ada3927e53

* commit 'ada3927e53f5ff99beb6919162ea186924cb7621':
  Bump up the BBOTA version to 4.
2015-10-23 18:49:59 +00:00
Tao Bao
ada3927e53 Merge "Bump up the BBOTA version to 4."
am: ac4ec1a4ea

* commit 'ac4ec1a4ea83a150e08ccd43f30fe34de52cdebf':
  Bump up the BBOTA version to 4.
2015-10-23 18:45:35 +00:00
Tao Bao
eba409c4da Bump up the BBOTA version to 4.
To accommodate new changes (such as error correction in [1]) to BBOTA
in N release. We bump up the version to keep the OTA script backward
compatible.

Needs the matching CL in commit
1fdec8685af858c5ff4f45d2e3059186ab5ed2ab.

[1]: commit 0a7b47397db3648afe6f3aeb2abb175934c2cbca

Change-Id: Ib9158b455cd5905fe2d4742ce81feb1b7583054f
2015-10-23 10:45:36 -07:00
Tao Bao
cae2a34bf8 Merge "Fix calculation of stashed blocks." am: db08d835d0
am: 8287572f7f

* commit '8287572f7fefe72e4519aab96ea4e93d3c02ed2b':
  Fix calculation of stashed blocks.
2015-10-22 19:13:42 +00:00