[Feature]add MT2731_MP2_MR2_SVN388 baseline version
Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/meta/meta-mediatek-ivt/recipes-platform/service-launcher/files/0002.patch b/meta/meta-mediatek-ivt/recipes-platform/service-launcher/files/0002.patch
new file mode 100644
index 0000000..8562290
--- /dev/null
+++ b/meta/meta-mediatek-ivt/recipes-platform/service-launcher/files/0002.patch
@@ -0,0 +1,48 @@
+diff --git a/system/core/init/service.cpp b/system/core/init/service.cpp
+index 20c2c9a..ac4070c 100644
+--- a/system/core/init/service.cpp
++++ b/system/core/init/service.cpp
+@@ -280,20 +280,20 @@ private:
+ Service::OptionHandlerMap::Map& Service::OptionHandlerMap::map() const {
+ constexpr std::size_t kMax = std::numeric_limits<std::size_t>::max();
+ static const Map option_handlers = {
+- {"class", {1, 1, &Service::HandleClass}},
+- {"console", {0, 1, &Service::HandleConsole}},
+- {"critical", {0, 0, &Service::HandleCritical}},
+- {"disabled", {0, 0, &Service::HandleDisabled}},
+- {"group", {1, NR_SVC_SUPP_GIDS + 1, &Service::HandleGroup}},
+- {"ioprio", {2, 2, &Service::HandleIoprio}},
+- {"keycodes", {1, kMax, &Service::HandleKeycodes}},
+- {"oneshot", {0, 0, &Service::HandleOneshot}},
+- {"onrestart", {1, kMax, &Service::HandleOnrestart}},
+- {"seclabel", {1, 1, &Service::HandleSeclabel}},
+- {"setenv", {2, 2, &Service::HandleSetenv}},
+- {"socket", {3, 6, &Service::HandleSocket}},
+- {"user", {1, 1, &Service::HandleUser}},
+- {"writepid", {1, kMax, &Service::HandleWritepid}},
++ {"class", std::make_tuple(1, 1, &Service::HandleClass)},
++ {"console", std::make_tuple(0, 1, &Service::HandleConsole)},
++ {"critical", std::make_tuple(0, 0, &Service::HandleCritical)},
++ {"disabled", std::make_tuple(0, 0, &Service::HandleDisabled)},
++ {"group", std::make_tuple(1, NR_SVC_SUPP_GIDS + 1, &Service::HandleGroup)},
++ {"ioprio", std::make_tuple(2, 2, &Service::HandleIoprio)},
++ {"keycodes", std::make_tuple(1, kMax, &Service::HandleKeycodes)},
++ {"oneshot", std::make_tuple(0, 0, &Service::HandleOneshot)},
++ {"onrestart", std::make_tuple(1, kMax, &Service::HandleOnrestart)},
++ {"seclabel", std::make_tuple(1, 1, &Service::HandleSeclabel)},
++ {"setenv", std::make_tuple(2, 2, &Service::HandleSetenv)},
++ {"socket", std::make_tuple(3, 6, &Service::HandleSocket)},
++ {"user", std::make_tuple(1, 1, &Service::HandleUser)},
++ {"writepid", std::make_tuple(1, kMax, &Service::HandleWritepid)},
+ };
+ return option_handlers;
+ }
+@@ -407,7 +407,7 @@ bool Service::Start() {
+ for (const auto& ei : envvars_) {
+ add_environment(ei.name.c_str(), ei.value.c_str());
+ }
+-
++ mkdir("/dev/socket", 0755);
+ for (const auto& si : sockets_) {
+ int socket_type = ((si.type == "stream" ? SOCK_STREAM :
+ (si.type == "dgram" ? SOCK_DGRAM :