Commit Graph

48254 Commits

Author SHA1 Message Date
Elliott Hughes 91a531897a Merge "adb: fail better in install-multiple." 2019-08-06 19:33:34 +00:00
Elliott Hughes dad291fc46 Merge "adb: add `--abi` to the `adb install` help." 2019-08-06 19:31:54 +00:00
Elliott Hughes 8c4db55f66 Merge "Fix `adb install` on very old Android releases." 2019-08-06 19:31:44 +00:00
Elliott Hughes 5b3672a8a2 Merge "libstats: remove _USING_LIBCXX." 2019-08-06 19:28:42 +00:00
Daniel Norman d2533c3395 Adds check_interface_{restart,start,stop} check_builtins.
Includes refactoring out interface inheritance hierarchy logic to a new
interface_utils file.

Bug: 137397100
Test: 'm' with an init_rc that misspells an interface in an
interface_start, interface_restart, or interface_stop line.
Change-Id: I9f650289d64ae2b13435a81e1693c7ab5e6e9ecf
2019-08-06 11:10:42 -07:00
Treehugger Robot c6c574a9a4 Merge "libmodprobe: add OWNERS file" 2019-08-06 16:02:27 +00:00
Treehugger Robot bb89da85c4 Merge "libsnapshot: forward declare IImageManager" 2019-08-06 15:28:47 +00:00
Tom Cherry 980cbef0c5 Merge "init: Check onrestart commands" 2019-08-06 15:20:11 +00:00
Tom Cherry e269a721dc Merge "init: ignore ENOENT from fewer builtins" 2019-08-06 15:19:48 +00:00
Treehugger Robot e5fa9b80ac Merge "liblp: Make kDefaultGroup a string_view" 2019-08-06 03:59:33 +00:00
Yifan Hong 6250360390 libsnapshot: correct DeviceInfo paths
Test: pass
Bug: 135752105
Change-Id: Icb8eb35db9c297537131076721eb7ce868d59625
2019-08-06 02:45:10 +00:00
Elliott Hughes 541d7408c1 adb: fail better in install-multiple.
If we're failing out, don't print any messages from the shutdown code:
it's not interesting (and actively confusing!) to talk about the
"Success" of finalizing an aborted session.

Also fail early if stat fails the first time (we have to tell
PackageManager how much data to expect, for some reason).

Also use `bool` as the boolean type and add quotes around filenames in
error messages.

`install_multi_package` looks like the same nonsense copy & pasted, but
I don't know what that is, and haven't seen any bug reports, so I'm
ignoring that for now.

Bug: http://b/133522725
Test: manual
Change-Id: Id054dff44f21f4c4cc5877dcc2735fc1eb25f9a0
2019-08-05 17:06:04 -07:00
Yifan Hong 6917c638b9 libsnapshot: forward declare IImageManager
to avoid header dependency.
Test: builds
Bug: 134536978

Change-Id: I3749f3106812f68b83c96af850bd6e4e16482c39
2019-08-05 15:36:25 -07:00
Tom Cherry 6737a6bf3f init: Check onrestart commands
Test: have bad users/groups in onrestart chown commands fail the build
Change-Id: Ic7fea6395c1f6e09f06800ba373d402a81cb774c
2019-08-05 15:03:58 -07:00
Vic Yang f3a7988e30 liblp: Make kDefaultGroup a string_view
Changing the type of kDefaultGroup from std::string to std::string_view
allows us to make it a constexpr object.  Since kDefaultGroup is the
only dirty object in liblp .bss at runtime, this change turns the .bss
page clean and thus saves 4KB per library load.

Bug: 138856262
Test: Boot cuttlefish and check liblp bss is clean for all 5 processes
      that are using it.
Change-Id: I7d7c0992e0ab769f070807f24e1275ffed424b5b
2019-08-05 13:02:50 -07:00
Steve Muckle 025cad4269 libmodprobe: add OWNERS file
Change-Id: I812c0420d982d2c927f40ca43545bdd15bc7b8be
2019-08-05 11:29:01 -07:00
Elliott Hughes a1f2005121 libstats: remove _USING_LIBCXX.
Bug: http://b/137876753
Test: treehugger
Change-Id: I1a1162a931c2cbbe3883eb9925993d48ce7bb8cf
2019-08-05 08:15:17 -07:00
David Anderson 23a87716b5 Merge "Implement basic libsnapshot functionality." 2019-08-03 01:30:49 +00:00
Elliott Hughes c0ebd59073 adb: add `--abi` to the `adb install` help.
A bit of a break with convention, but we do already document `-t` which
is actually a PackageManager option, not an adb option, and `--abi`
seems like it'll be seeing increased usage these next few years.

Also add a pointer to `adb shell pm help` for full details of
PackageManager options.

Bug: http://b/122487331
Test: manual
Change-Id: I93f48d202e5707b27caadb5af2a65c485c6d3407
2019-08-02 17:09:30 -07:00
Elliott Hughes 94350737e3 Fix `adb install` on very old Android releases.
See the code comment for the gory details.

Bug: https://issuetracker.google.com/37035817
Bug: http://b/37704384
Test: manual testing on a variety of devices & emulators
Change-Id: If9e481924a8a2f3ec1e926342b2ecd522fa933a2
2019-08-02 16:10:45 -07:00
Daniel Norman a022e47a0b Merge "Fixes incorrect flag info for the inheritance hierarchy file." 2019-08-02 23:00:27 +00:00
Daniel Norman e6586c4c8e Fixes incorrect flag info for the inheritance hierarchy file.
Test: n/a
Change-Id: I65d6437f4192d969932e01019826827c98a2669c
2019-08-02 15:22:13 -07:00
Daniel Norman fb54b74fa0 Merge changes from topic "services_serve_interfaces_test"
* changes:
  Adds new property for service name -> PID.
  Adds a library to parse service info from init_rc files for use in tests.
  Adds a visibility rule for init defaults.
2019-08-02 21:51:17 +00:00
Treehugger Robot 41a5c022b4 Merge "logcat: error on multiple PID argument" 2019-08-02 21:09:49 +00:00
David Anderson 456e50193b Implement basic libsnapshot functionality.
This CL implements some of the libsnapshot internals necessary to work
with update_engine. In particular it implements snapshot and update
state, as well as creating and mapping snapshot devices. It does not
implement anything related to merging, nor does it implement the full
update_engine flow.

Update state is stored in /metadata/ota/state. To synchronize callers of
libsnapshot, we always flock() this file at the top of public functions
in SnapshotManager. Internal functions are only called while the lock is
held, and a "LockedFile" guard object is always passed through to
indicate proof-of-lock.

Low-level functions, such as snapshot management, have been moved to
private methods. Higher-level methods designed for update_engine will
ultimately call into these.

This CL also adds some functional tests for SnapshotManager. Test state
is stored in /metadata/ota/test to avoid conflicts with the rest of the
system.

Bug: 136678799
Test: libsnapshot_test gtest
Change-Id: I78c769ed33b307d5214ee386bb13648e35db6cc6
2019-08-02 13:30:08 -07:00
Treehugger Robot d7546f1d57 Merge "Remove two more unused utf32 functions." 2019-08-02 19:29:45 +00:00
Treehugger Robot 77a4f372c4 Merge "dmctl: add replace command" 2019-08-02 19:24:14 +00:00
Yurii Zubrytskyi e800af5c23 [adb] Cache features set inside the client process
Test: manual
Change-Id: I99962edd85e9694c3ca309624368cda6355da008
2019-08-02 11:37:32 -07:00
Steven Moreland b0e867a1e6 logcat: error on multiple PID argument
Since they are dropped.

Bug: N/A
Test: manual try w/ 1 and 2 --pid arguments
Change-Id: I5945c12dc080a8c046b8071106f7d87ecb2b018c
2019-08-02 10:14:37 -07:00
Alessio Balsini 81d4ea79e2 dmctl: add replace command
The replace command is used to substitute the current table of a
device-mapper with the provided one.
The new table will be available as soon as the command returns
successfully.

Bug: 137759376
Test: manual
Change-Id: Iaf258d9043fab3a8770702f4e1c8c0e583c81519
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-08-02 03:27:00 +01:00
David Anderson f7970cee69 Merge "Fix storaged memory leak" 2019-08-02 00:15:28 +00:00
Treehugger Robot ab80f54949 Merge "libdm: compute percentage of snapshot-merge" 2019-08-01 23:32:16 +00:00
Tom Cherry 549ea4801b Merge changes Ied888249,Id8857c45
* changes:
  init: check the arguments of builtins during the build
  init: don't log in expand_props directly
2019-08-01 22:04:30 +00:00
Tom Cherry 4772f1da47 init: check the arguments of builtins during the build
Host init verifier already checks that the names and number of
arguments for builtins are correct, but it can check more.  This
change ensures that property expansions are well formed, and that
arguments that can be parsed on the host are correct.  For example it
checks that UIDs and GIDs exist, that numerical values can be parsed,
and that rlimit strings are correct.

Test: build

Change-Id: Ied8882498a88a9f8324db6b8d1020aeeccc8177b
2019-08-01 10:54:47 -07:00
Tom Cherry c5cf85db23 init: don't log in expand_props directly
It's better to pass the error message to the caller to determine how
best to print the error.

Test: build
Change-Id: Id8857c459df2f26c031650166609608d20e4d051
2019-08-01 10:34:58 -07:00
Treehugger Robot 1553cf829a Merge "libdm: improve ParseStatusText() and test it" 2019-08-01 02:42:23 +00:00
Treehugger Robot 873d867e3a Merge "Don't fail if default namespace isn't found" 2019-08-01 02:23:23 +00:00
Alessio Balsini 3565e31b42 libdm: compute percentage of snapshot-merge
Computes the merge completion percentage from the sector information.

Provided test for the function.

Change-Id: I64d83baa0478f9e6969636ee067174910d9b8e03
Bug: N/A
Test: dm_test
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-08-01 02:22:24 +01:00
Treehugger Robot 6bac7cd942 Merge "adb: fix track-devices-l." 2019-08-01 01:09:42 +00:00
Jiyong Park c5e85bf9ba Don't fail if default namespace isn't found
This fixes a regression caused by 8f4afc8298
that libnativeloader can't no longer handle the case that it has failed
to find the default namespace. Previously before the change,
libnativeloader continued to use nullptr as the parent namespace which
is reconized as the default namespace inside the linker.

This change recovers the previous behavior. When the default namespace
is not found, NativeLoaderNamespace object is constructed from nullptr.

Bug: 138607234
Test: run app-compat/app-startup-gce on cf_x86_phone using forrest
Change-Id: If518fbc055399b73e7d3a6b45ace0f71e9c25dae
(cherry picked from commit db825ceba6)
Merged-In: If518fbc055399b73e7d3a6b45ace0f71e9c25dae
2019-08-01 09:30:01 +09:00
Wei Wang 81e25f5e32 Merge "init: add timing log for oneshot and exec_background services" 2019-08-01 00:05:07 +00:00
Treehugger Robot 1be681cf50 Merge "dmctl: return detailed device information" 2019-07-31 23:37:29 +00:00
Treehugger Robot 6f4f7091aa Merge changes from topic "ion-unit-tests"
* changes:
  libion: make tests work with Ion from common kernel.
  libion: Add missing error checks for input parameters to APIs.
2019-07-31 22:32:45 +00:00
Elliott Hughes fc2f5f6728 adb: fix track-devices-l.
Also add a -l to the undocumented `adb track-devices` for easier
testing.

Bug: https://issuetracker.google.com/118470090
Test: manual
Change-Id: I436f6e45b249b98a073aa147ad4ed67d4d87f9bd
2019-07-31 14:14:59 -07:00
Alessio Balsini 4560856e33 libdm: improve ParseStatusText() and test it
Simplify the argument parsing of DmTargetSnapshot::ParseStatusText() and
improve its robustness when dealing with wrong imputs.

Add test for DmTargetSnapshot::ParseStatusText().

Change-Id: I7f078c9ecacb402e71db49e3e7072e37cffbc234
Test: dm_test
Signed-off-by: Alessio Balsini <balsini@google.com>
2019-07-31 21:23:58 +01:00
Elliott Hughes 690c8c8f25 Merge "Restore default port for `adb connect`." 2019-07-31 19:48:02 +00:00
Treehugger Robot 11295b7f8b Merge "Allow overriding the log path." 2019-07-31 19:44:58 +00:00
Treehugger Robot 51406823c1 Merge "Clarify `adb sync -l` help text." 2019-07-31 19:44:49 +00:00
Wei Wang f7c2bfee08 init: add timing log for oneshot and exec_background services
Bug: 136523746
Bug: 138732985
Test: boot
Change-Id: I713edd2ba8a391d5afbea796c6d58ffac9477436
2019-07-31 11:53:18 -07:00
Treehugger Robot ae898442d1 Merge "Revert "fs_mgt: Fix remount failure in case of non-overlayfs system"" 2019-07-31 18:44:38 +00:00