forked from PeterGSI/android_device_peter_gsi
init_gsi: statically link resetprop
This commit is contained in:
parent
aaba77ede8
commit
f23c2fc06a
|
@ -26,10 +26,6 @@ PRODUCT_SOONG_NAMESPACES += device/peter/gsi
|
|||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.setupwizard.mode=OPTIONAL
|
||||
|
||||
# Resetprop
|
||||
PRODUCT_PACKAGES += \
|
||||
resetprop_sys
|
||||
|
||||
# Init
|
||||
PRODUCT_PACKAGES += \
|
||||
init_gsi
|
||||
|
|
|
@ -3,5 +3,12 @@ cc_binary {
|
|||
system_ext_specific: true,
|
||||
srcs: ["init_gsi.cpp"],
|
||||
shared_libs: ["libbase", "libdl", "libutils"],
|
||||
static_libs: ["libresetprop"],
|
||||
init_rc: ["init_gsi.rc"],
|
||||
target: {
|
||||
android: {
|
||||
ldflags: ["-Wl,--rpath,/system/${LIB}/bootstrap"],
|
||||
},
|
||||
},
|
||||
bootstrap: true,
|
||||
}
|
||||
|
|
|
@ -4,20 +4,11 @@
|
|||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
#include <sys/wait.h>
|
||||
|
||||
using namespace android;
|
||||
using namespace std;
|
||||
|
||||
template<typename... Args>
|
||||
void fork_execl(Args... args) {
|
||||
int pid, status;
|
||||
if ((pid = fork()) == 0) {
|
||||
execl(args..., nullptr);
|
||||
} else {
|
||||
waitpid(pid, &status, 0);
|
||||
}
|
||||
}
|
||||
// From libresetprop
|
||||
extern int setprop(const char *name, const char *value, bool trigger);
|
||||
|
||||
void override_ro_prop(string prefix, string source, string postfix, string value) {
|
||||
if (value.length() == 0) return;
|
||||
|
@ -33,7 +24,7 @@ void override_ro_prop(string prefix, string source, string postfix, string value
|
|||
std::cout << prop << std::endl;
|
||||
std::cout << value << std::endl;
|
||||
|
||||
fork_execl("/system/system_ext/bin/resetprop_sys", "resetprop_sys", prop.c_str(), value.c_str());
|
||||
setprop(prop.c_str(), value.c_str(), true);
|
||||
}
|
||||
|
||||
std::string RO_PROP_SOURCES[] = {
|
||||
|
|
|
@ -1,50 +1,55 @@
|
|||
cc_library_static {
|
||||
name: "libresetprop",
|
||||
srcs: [
|
||||
//nanopb
|
||||
"Magisk/native/jni/external/nanopb/pb_common.c",
|
||||
"Magisk/native/jni/external/nanopb/pb_encode.c",
|
||||
"Magisk/native/jni/external/nanopb/pb_decode.c",
|
||||
|
||||
//Magisk resetprop
|
||||
"Magisk/native/jni/resetprop/resetprop.cpp",
|
||||
"Magisk/native/jni/resetprop/persist_properties.cpp",
|
||||
"Magisk/native/jni/resetprop/system_property_api.cpp",
|
||||
"Magisk/native/jni/resetprop/system_property_set.cpp",
|
||||
|
||||
//Systemproperties
|
||||
"Magisk/native/jni/systemproperties/context_node.cpp",
|
||||
"Magisk/native/jni/systemproperties/contexts_serialized.cpp",
|
||||
"Magisk/native/jni/systemproperties/contexts_split.cpp",
|
||||
"Magisk/native/jni/systemproperties/prop_area.cpp",
|
||||
"Magisk/native/jni/systemproperties/prop_info.cpp",
|
||||
"Magisk/native/jni/systemproperties/property_info_parser.cpp",
|
||||
"Magisk/native/jni/systemproperties/system_properties.cpp",
|
||||
|
||||
//Magisk utils
|
||||
"Magisk/native/jni/utils/file.cpp",
|
||||
"Magisk/native/jni/utils/logging.cpp",
|
||||
"Magisk/native/jni/utils/misc.cpp",
|
||||
"Magisk/native/jni/utils/selinux.cpp",
|
||||
"Magisk/native/jni/utils/xwrap.cpp",
|
||||
],
|
||||
local_include_dirs: [
|
||||
"Magisk/native/jni/include",
|
||||
"Magisk/native/jni/utils/include",
|
||||
"Magisk/native/jni/",
|
||||
"Magisk/native/jni/resetprop/",
|
||||
"Magisk/native/jni/systemproperties/include/",
|
||||
"Magisk/native/jni/external/nanopb/",
|
||||
],
|
||||
}
|
||||
|
||||
cc_binary {
|
||||
name: "resetprop_sys",
|
||||
system_ext_specific: true,
|
||||
srcs: [
|
||||
//nanopb
|
||||
"Magisk/native/jni/external/nanopb/pb_common.c",
|
||||
"Magisk/native/jni/external/nanopb/pb_encode.c",
|
||||
"Magisk/native/jni/external/nanopb/pb_decode.c",
|
||||
|
||||
//Magisk resetprop
|
||||
"Magisk/native/jni/resetprop/resetprop.cpp",
|
||||
"Magisk/native/jni/resetprop/persist_properties.cpp",
|
||||
"Magisk/native/jni/resetprop/system_property_api.cpp",
|
||||
"Magisk/native/jni/resetprop/system_property_set.cpp",
|
||||
|
||||
//Systemproperties
|
||||
"Magisk/native/jni/systemproperties/context_node.cpp",
|
||||
"Magisk/native/jni/systemproperties/contexts_serialized.cpp",
|
||||
"Magisk/native/jni/systemproperties/contexts_split.cpp",
|
||||
"Magisk/native/jni/systemproperties/prop_area.cpp",
|
||||
"Magisk/native/jni/systemproperties/prop_info.cpp",
|
||||
"Magisk/native/jni/systemproperties/property_info_parser.cpp",
|
||||
"Magisk/native/jni/systemproperties/system_properties.cpp",
|
||||
|
||||
//Magisk utils
|
||||
"Magisk/native/jni/utils/file.cpp",
|
||||
"Magisk/native/jni/utils/logging.cpp",
|
||||
"Magisk/native/jni/utils/misc.cpp",
|
||||
"Magisk/native/jni/utils/selinux.cpp",
|
||||
"Magisk/native/jni/utils/xwrap.cpp",
|
||||
|
||||
//glue
|
||||
"resetprop.cpp",
|
||||
],
|
||||
local_include_dirs: [
|
||||
"Magisk/native/jni/include",
|
||||
"Magisk/native/jni/utils/include",
|
||||
"Magisk/native/jni/",
|
||||
"Magisk/native/jni/resetprop/",
|
||||
"Magisk/native/jni/systemproperties/include/",
|
||||
"Magisk/native/jni/external/nanopb/",
|
||||
],
|
||||
|
||||
bootstrap: true,
|
||||
name: "resetprop_sys",
|
||||
system_ext_specific: true,
|
||||
srcs: [
|
||||
//glue
|
||||
"resetprop.cpp",
|
||||
],
|
||||
static_libs: ["libresetprop"],
|
||||
target: {
|
||||
android: {
|
||||
ldflags: ["-Wl,--rpath,/system/${LIB}/bootstrap"],
|
||||
},
|
||||
},
|
||||
},
|
||||
bootstrap: true,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue