Commit graph

4812 commits

Author SHA1 Message Date
Tao Bao
99f0d9e52b Drop -Wno-unused-parameter.
The only one left is libedify. Will handle that in a separate CL.

Test: mmma bootable/recovery
Change-Id: I732a5f85229da90fd767bee2e46c5c95f529c396
2017-10-11 16:56:12 -07:00
Tao Bao
46d8a3b604 Merge "applypatch: Use shared libs for libbase/libcrypto/liblog/libziparchive." 2017-10-11 18:31:36 +00:00
Tao Bao
ff9b6f63a2 Merge "Move rangeset.h and print_sha1.h into otautil." 2017-10-11 17:09:25 +00:00
Tao Bao
09e468f84c Move rangeset.h and print_sha1.h into otautil.
Also drop the "bootable/recovery" path in LOCAL_C_INCLUDES from
applypatch modules.

Test: lunch aosp_{angler,bullhead,fugu,dragon,sailfish}-userdebug;
      mmma bootable/recovery
Change-Id: Idd602a796894f971ee4f8fa3eafe36c42d9de986
2017-10-10 15:52:11 -07:00
Tao Bao
3db3205b2a applypatch: Use shared libs for libbase/libcrypto/liblog/libziparchive.
This reduces the size of /system/bin/applypatch by ~69KB
(aosp_bullhead-userdebug).

Also remove the unneeded libcutils dependency.

Test: mmma bootable/recovery
Test: Check that /system/bin/install-recovery.sh successfully installs
      the recovery image.
Change-Id: I5063be9a9b7b8029d45ab5c2a7c45ef2cda81d26
2017-10-10 15:34:49 -07:00
Tao Bao
eb8a064066 Merge "otautil: Fix mac build." 2017-10-10 18:34:53 +00:00
Tao Bao
c13d2ec772 otautil: Fix mac build.
bootable/recovery/otautil/SysUtil.cpp:103:19: error: use of undeclared identifier 'mmap64'; did you mean 'mmap'?
  void* reserve = mmap64(nullptr, blocks * blksize, PROT_NONE, MAP_PRIVATE | MAP_ANON, -1, 0);
                  ^~~~~~

Test: mmma bootable/recovery
Change-Id: I22d7dc4d994069201e5a633cec21421e2c4182fa
2017-10-10 10:56:09 -07:00
Tao Bao
abade5af15 Merge changes from topic "libedify-header"
* changes:
  edify: Export the header and move to Soong.
  Revert "Revert "Move error_code.h into otautil.""
2017-10-10 16:15:30 +00:00
Tao Bao
e6f7f95d34 edify: Export the header and move to Soong.
Also make matching changes to applypatch modules which include
edify/expr.h.

Test: mmma bootable/recovery
Change-Id: Ia72be3caa010d7f56a70add2da345e631b306378
2017-10-09 14:08:00 -07:00
Tao Bao
1fc5bf353a Revert "Revert "Move error_code.h into otautil.""
This reverts commit 26436d6d60 to re-land
"Move error_code.h into otautil.".

This way it stops requiring relative path ".." in LOCAL_C_INCLUDES
(uncrypt and edify). Soong doesn't accept non-local ".." in
"local_include_dirs".

This CL needs to land with device-specific module changes (e.g. adding
the dependency on libotautil).

Test: lunch aosp_{angler,bullhead,dragon,fugu,sailfish}-userdebug;
      mmma bootable/recovery
Change-Id: If193241801af2dae73eccd31ce57cd2b81c9fd96
2017-10-09 14:07:54 -07:00
Tao Bao
7a3fc2de8e Merge "applypatch: Forward declare struct Value." 2017-10-09 20:57:58 +00:00
Tao Bao
38d78d19b9 applypatch: Forward declare struct Value.
And move '#include "edify/expr.h"' into .cpp files. This breaks the
transitive dependency on libedify. Modules that include
"applypatch/applypatch.h" don't need to add libedify into their
dependency list, unless they really need anything from libedify.

Build libedify static library for host, which is needed by
libimgpatch.

Test: mmma bootable/recovery
Change-Id: Ibb53d322579fcbf593438d058d9bcee240625941
2017-10-09 11:50:09 -07:00
Tao Bao
d999ced1d1 Merge "Don't include "error_code.h" in edify/expr.h." 2017-10-06 14:37:21 +00:00
Tao Bao
9a874a4e5f Merge "vr_ui: drawing changes" 2017-10-06 14:28:22 +00:00
Tao Bao
0bf20d5133 Don't include "error_code.h" in edify/expr.h.
Use forward declartion to avoid pull in the module that contains
error_code.h (trying to move it into libotautil). Otherwise all the
modules that include "edify/expr.h" need to depend on the module that
exports error_code.h.

.cpp sources should include "error_code.h" explicitly to use the enums.

Test: lunch aosp_{angler,bullhead,dragon,fugu,sailfish}-userdebug;
      mmma bootable/recovery
Change-Id: Ic82db2746c7deb866e8cdfb3c57e0b1ecc71c4dc
2017-10-05 12:46:18 -07:00
Luke Song
92eda4db6c vr_ui: drawing changes
Change drawing of horizontal bars.
Implement image and background drawing.

Bug: 65556996
Test: Viewed graphics test
Change-Id: I68ddd997123607dbebf972af5a455ce8ef0c7075
2017-10-05 12:02:13 -07:00
Tao Bao
9baa19012a Merge "graphics: add rotation logic" 2017-10-05 19:00:50 +00:00
Tao Bao
b23d29642d Merge "Revert "Move error_code.h into otautil."" 2017-10-05 17:18:04 +00:00
Tao Bao
26436d6d60 Revert "Move error_code.h into otautil."
This reverts commit 623fe7e701.

Reason for revert: Need to address device-specific modules.

Change-Id: Ib7a4191e7f193dfff49b02d3de76dda856800251
2017-10-05 17:16:31 +00:00
Tao Bao
916e155bab Merge "Move error_code.h into otautil." 2017-10-05 16:04:02 +00:00
Tao Bao
623fe7e701 Move error_code.h into otautil.
This way it stops requiring relative path ".." in LOCAL_C_INCLUDES
(uncrypt and edify). Soong doesn't accept non-local ".." in
"local_include_dirs".

Test: mmma bootable/recovery
Change-Id: Ia4649789cef2aaeb2785483660e9ea5a8b389c62
2017-10-04 08:55:24 -07:00
Tao Bao
281d4eefb1 Merge "edify: Remove edify_parser." 2017-10-04 15:48:18 +00:00
Treehugger Robot
2cedab7af9 Merge "otautil: Export headers." 2017-10-03 23:34:36 +00:00
Treehugger Robot
16817312a6 Merge "screen_ui: stage marker positioning" 2017-10-03 23:07:35 +00:00
Tao Bao
6e4a9ae51a edify: Remove edify_parser.
It used to be containing some unit tests for basic edify syntax, which
has been moved into recovery_component_test (commit
d770d2e7af).

The edify_parser host tool supports edify built-in functions only, but
doesn't recognize the ones defined in updater. This makes it much less
useful to do any real analyzing work.

Test: mmma bootable/recovery
Change-Id: I3c12f5402d2d6698e0ef5ac6c2e7804c0fbba78a
2017-10-03 14:55:23 -07:00
Tao Bao
cfe53c2c01 otautil: Export headers.
Test: mmma bootable/recovery
Change-Id: Ic01b68e2a394d578fc9fc09da2dabe9061b98122
2017-10-03 14:41:32 -07:00
Tao Bao
dd7a4b5264 Merge "roots: Fix an issue with volume_for_path()." 2017-10-02 20:48:50 +00:00
Treehugger Robot
88aa128e22 Merge "Use -Werror in bootable/recovery" 2017-10-02 20:25:32 +00:00
Chih-Hung Hsieh
5aa77ca73d Use -Werror in bootable/recovery
* Move -Werror from cppflags to cflags.

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: I59147fe24d8b48a0403c67ba07d4d384b8e9c5a3
2017-10-02 11:45:48 -07:00
Tao Bao
3e18f2bf40 roots: Fix an issue with volume_for_path().
The earlier commit in 2dfc1a3898
unintentionally changed the behavior. It gives a different result when
looking up non-existent mount points (e.g. /cache on marlin).

The logic behind volume_for_path("/xyz") is unclear:
- It's fine to return non-null value if it's called by
  ensure_path_mounted() before accessing that file "/xyz". (Just based
  on the function name, we're not actually having this case.)
- It should return nullptr if the caller is interested in the existence
  of that particular mount point "/xyz".

This CL renames the function to volume_for_mount_point(), which does an
exact match by querying the given mount point from libfs_mgr. The former
volume_for_path() has been moved down to function scope for serving
ensure_path_mounted() only.

Test: Build and boot into recovery on bullhead and marlin respectively.
      'View recovery logs'.
Test: 'Mount /system'
Test: 'Apply update from ADB'
Change-Id: I1a16390f57540cae08a2b8f3d439d17886975217
2017-10-02 11:18:13 -07:00
Tao Bao
e8ee697364 Merge "roots: Remove #include "common.h"." 2017-10-02 17:44:27 +00:00
Luke Song
eee1e7656f screen_ui: stage marker positioning
Small fix to position stage markers above screen margin.

Bug: 65556996
Test: Viewed graphics test
Change-Id: Idb4a56b06b8ec4e6653b3d3f3a446fa491f5ccb7
2017-09-29 14:19:23 -07:00
Tao Bao
475794a9af Merge "otafault: Move to soong." 2017-09-29 21:07:21 +00:00
Tao Bao
4289deaf82 Merge "otafault: Move headers under otafault/." 2017-09-29 19:30:16 +00:00
Tao Bao
a26e32d2a3 otafault: Move to soong.
Test: mmma bootable/recovery
Change-Id: I5f2520ea457ba66743aa3aa1d5b3b488a93084a3
2017-09-29 11:05:24 -07:00
Tao Bao
ad774b2970 roots: Remove #include "common.h".
And add the missing include of <string.h> (e.g. for strcmp(3)).

Minor update to the arg of fs_mgr_get_entry_for_mount_point(), which now
accepts std::string.

Test: mmma bootable/recovery
Change-Id: I9cb8c31fe71b5a053f4d84bf1aba00e96c02ed03
2017-09-29 11:03:08 -07:00
Tianjie Xu
e687c5a1e1 Merge "Move the png open and destroy functions into a class" 2017-09-29 17:34:20 +00:00
Tao Bao
d33b2f86b7 otafault: Move headers under otafault/.
Test: mmma bootable/recovery
Change-Id: I3ceb72f703c7c2857d656c137d71baa1fccd8238
2017-09-29 10:29:53 -07:00
Tao Bao
50f5a54a1e Merge "otafault: Remove the use of LOCAL_WHOLE_STATIC_LIBRARIES." 2017-09-29 17:08:01 +00:00
Tao Bao
d9373cf621 Merge "otafault: Clean up header inclusion." 2017-09-29 16:10:41 +00:00
Treehugger Robot
846f307c6f Merge "Integer overflow observed while formatting volume" 2017-09-29 05:09:23 +00:00
Tao Bao
646b05a66c otafault: Remove the use of LOCAL_WHOLE_STATIC_LIBRARIES.
Commit d80a99883d has explanation of
potential issues.

Test: mmma bootable/recovery
Change-Id: I25ca9920952b7bbdd8a661d9dc90962431410bc4
2017-09-28 18:25:10 -07:00
Tao Bao
ac27a7a987 otafault: Clean up header inclusion.
Remove unneeded #includes. Also remove unneeded dependency on libz and
libselinux.

Test: mmma bootable/recovery
Change-Id: Ic8f7f46f4b89762dee384921504489de75320ac0
2017-09-28 18:25:04 -07:00
Tianjie Xu
acba38c288 Move the png open and destroy functions into a class
The open_png() function used to open the png file but didn't close it;
and this caused the leak of fd. However, we cannot close the file inside
open_png() because the png file needs to remain open until the outer
function finishes parsing the file and destroys the png struct.

This CL addresses this issue by implementing a PngReader class to handle
the creation/destruction of the png struct.

Bug: 67010912
Test: Run graphic tests; also run locale tests and check fd.
Change-Id: I9a803b3cd8c16f16a9ffe8f0acc7fe0f42e95eb0
2017-09-28 15:29:37 -07:00
Tao Bao
3a1587f655 Merge "roots: volume_for_path() parses and tries prefixes." 2017-09-28 21:12:53 +00:00
Luke Song
846012fc44 graphics: add rotation logic
Bug: 65556996
Bug: 63541890
Test: Tried 4 rotations, viewed logs and graphics test
Change-Id: I2a6c18c28df03f0461663f63bf16db32c45211ec
2017-09-28 14:11:35 -07:00
Tao Bao
2dfc1a3898 roots: volume_for_path() parses and tries prefixes.
Commit cc323958f99e40fea06c511656c69c0b2e2d47f7 in system/core has
changed fs_mgr_get_entry_for_mount_point() to do an exact match only,
which breaks the behavior in volume_for_path().

This CL changes the volume_for_path() implementation to parse and pass
prefixes locally. For a given path like "/cache/recovery/last_log", it
will in turn attempt the prefixes of "/cache/recovery/last_log",
"/cache/recovery", "/cache", "/" and return the first hit.

Bug: 63912287
Test: Build and boot into recovery image on bullhead. 'View recovery
      logs' works.
Change-Id: Ic8635b0939649dd5cc9ca501ebc3a2d1fbf5849d
2017-09-27 13:22:17 -07:00
Tianjie Xu
4c7608f3ca Merge "Add a new option in recovery menu to test the background texts" 2017-09-27 17:39:05 +00:00
Tianjie Xu
29d5575fa8 Add a new option in recovery menu to test the background texts
Add a new option "Run locale test" to check the background text
images (i.e. texts for "erasing", "error", "no_command" and "installing"
with different locales.)

Use volume up/down button to cycle through all the locales embedded in
the png file, and power button to go back to recovery main menu.

Test: Run locale test with bullhead.
Change-Id: Ib16e119f372110cdb5e611ef497b0f9b9b418f51
2017-09-27 00:27:38 -07:00
Tao Bao
151f0820ac Merge "clang-format: Remove the override of PenaltyExcessCharacter." 2017-09-27 00:57:55 +00:00