aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0001-Fixes-for-yocto-build.patch
blob: 1d18d47ec314d7af0998248e8241bb7aef67a2cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
From 5de85f8273c7284aa93e35c40f025d4d43d42df9 Mon Sep 17 00:00:00 2001
From: Etienne Cordonnier <ecordonnier@snap.com>
Date: Thu, 16 Mar 2023 18:59:35 +0100
Subject: [PATCH] Fixes for yocto build

Signed-off-by: JJ Robertson <jrobertson@snapchat.com>
[rebased on version 29]
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>

---
Upstream-Status: Pending

 system/core/adb/daemon/file_sync_service.cpp | 4 ++--
 system/core/adb/daemon/framebuffer_service.h | 2 --
 system/core/adb/daemon/main.cpp              | 5 +++--
 system/core/adb/daemon/restart_service.h     | 2 --
 system/core/adb/daemon/services.cpp          | 6 ++----
 system/core/adb/daemon/shell_service.cpp     | 5 ++++-
 system/core/adb/types.h                      | 1 +
 7 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/system/core/adb/daemon/file_sync_service.cpp b/system/core/adb/daemon/file_sync_service.cpp
index d6af7087..92e7087a 100644
--- a/system/core/adb/daemon/file_sync_service.cpp
+++ b/system/core/adb/daemon/file_sync_service.cpp
@@ -111,7 +111,7 @@ static bool secure_mkdirs(const std::string& path) {
         partial_path += path_component;
 
         if (should_use_fs_config(partial_path)) {
-            fs_config(partial_path.c_str(), 1, nullptr, &uid, &gid, &mode, &capabilities);
+            // fs_config(partial_path.c_str(), 1, nullptr, &uid, &gid, &mode, &capabilities);
         }
         if (adb_mkdir(partial_path.c_str(), mode) == -1) {
             if (errno != EEXIST) {
@@ -469,7 +469,7 @@ static bool do_send(int s, const std::string& spec, std::vector<char>& buffer) {
         uint64_t capabilities = 0;
         if (should_use_fs_config(path)) {
             unsigned int broken_api_hack = mode;
-            fs_config(path.c_str(), 0, nullptr, &uid, &gid, &broken_api_hack, &capabilities);
+            // fs_config(path.c_str(), 0, nullptr, &uid, &gid, &broken_api_hack, &capabilities);
             mode = broken_api_hack;
         }
 
diff --git a/system/core/adb/daemon/framebuffer_service.h b/system/core/adb/daemon/framebuffer_service.h
index bab44be3..264da597 100644
--- a/system/core/adb/daemon/framebuffer_service.h
+++ b/system/core/adb/daemon/framebuffer_service.h
@@ -18,6 +18,4 @@
 
 #include "adb_unique_fd.h"
 
-#if defined(__ANDROID__)
 void framebuffer_service(unique_fd fd);
-#endif
diff --git a/system/core/adb/daemon/main.cpp b/system/core/adb/daemon/main.cpp
index 3322574c..e807d13d 100644
--- a/system/core/adb/daemon/main.cpp
+++ b/system/core/adb/daemon/main.cpp
@@ -208,6 +208,9 @@ int adbd_main(int server_port) {
     umask(0);
 
     signal(SIGPIPE, SIG_IGN);
+    signal(SIGINT, SIG_DFL);
+    signal(SIGQUIT, SIG_DFL);
+
 
 #if defined(__BIONIC__)
     auto fdsan_level = android_fdsan_get_error_level();
@@ -254,13 +257,11 @@ int adbd_main(int server_port) {
 
     bool is_usb = false;
 
-#if defined(__ANDROID__)
     if (access(USB_FFS_ADB_EP0, F_OK) == 0) {
         // Listen on USB.
         usb_init();
         is_usb = true;
     }
-#endif
 
     // If one of these properties is set, also listen on that port.
     // If one of the properties isn't set and we couldn't listen on usb, listen
diff --git a/system/core/adb/daemon/restart_service.h b/system/core/adb/daemon/restart_service.h
index 19840bd5..7a97614b 100644
--- a/system/core/adb/daemon/restart_service.h
+++ b/system/core/adb/daemon/restart_service.h
@@ -18,9 +18,7 @@
 
 #include "adb_unique_fd.h"
 
-#if defined(__ANDROID__)
 void restart_root_service(unique_fd fd);
 void restart_unroot_service(unique_fd fd);
 void restart_tcp_service(unique_fd fd, int port);
 void restart_usb_service(unique_fd fd);
-#endif
diff --git a/system/core/adb/daemon/services.cpp b/system/core/adb/daemon/services.cpp
index 4ec90d27..d8541c23 100644
--- a/system/core/adb/daemon/services.cpp
+++ b/system/core/adb/daemon/services.cpp
@@ -156,7 +156,7 @@ static void spin_service(unique_fd fd) {
     }
 #endif
     // Fall through
-    std::string cmd = "/system/bin/reboot ";
+    std::string cmd = "/sbin/reboot ";
     cmd += name;
     return StartSubprocess(cmd, nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone);
 }
@@ -265,11 +265,10 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) {
     }
 #endif
 
-#if defined(__ANDROID__)
     if (name.starts_with("framebuffer:")) {
         return create_service_thread("fb", framebuffer_service);
     } else if (android::base::ConsumePrefix(&name, "remount:")) {
-        std::string cmd = "/system/bin/remount ";
+        std::string cmd = "/sbin/remount ";
         cmd += name;
         return StartSubprocess(cmd, nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone);
     } else if (android::base::ConsumePrefix(&name, "reboot:")) {
@@ -303,7 +302,6 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) {
     } else if (name.starts_with("usb:")) {
         return create_service_thread("usb", restart_usb_service);
     }
-#endif
 
     if (android::base::ConsumePrefix(&name, "dev:")) {
         return unique_fd{unix_open(name, O_RDWR | O_CLOEXEC)};
diff --git a/system/core/adb/daemon/shell_service.cpp b/system/core/adb/daemon/shell_service.cpp
index f62032d0..ebcfe18d 100644
--- a/system/core/adb/daemon/shell_service.cpp
+++ b/system/core/adb/daemon/shell_service.cpp
@@ -273,13 +273,16 @@ bool Subprocess::ForkAndExec(std::string* error) {
         env["HOSTNAME"] = GetHostName();
         env["LOGNAME"] = pw->pw_name;
         env["SHELL"] = pw->pw_shell;
-        env["TMPDIR"] = "/data/local/tmp";
         env["USER"] = pw->pw_name;
     }
 
     if (!terminal_type_.empty()) {
         env["TERM"] = terminal_type_;
     }
+    if (env.find("PS1") == env.end()) {
+        env["PS1"] = "\\h:\\w\\$ ";
+    }
+
 
     std::vector<std::string> joined_env;
     for (const auto& it : env) {
diff --git a/system/core/adb/types.h b/system/core/adb/types.h
index c619fffc..f8e0f521 100644
--- a/system/core/adb/types.h
+++ b/system/core/adb/types.h
@@ -22,6 +22,7 @@
 #include <memory>
 #include <utility>
 #include <vector>
+#include <string.h>
 
 #include <android-base/logging.h>