f05da4a4be
The file-based encryption setup code is being refactored into its own library because it applies to both ext4 and f2fs, not just ext4. Update init to use the new location. For fs_mgr, just remove the include of ext4_crypt_init_extensions.h since it was unneeded. Test: built, booted device with f2fs encryption Change-Id: I392a763e3349f001bdbc09eb9ca975aa3451fd68
269 lines
6.6 KiB
Text
269 lines
6.6 KiB
Text
//
|
|
// Copyright (C) 2017 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
cc_defaults {
|
|
name: "init_defaults",
|
|
cpp_std: "experimental",
|
|
sanitize: {
|
|
misc_undefined: ["signed-integer-overflow"],
|
|
},
|
|
cflags: [
|
|
"-DLOG_UEVENTS=0",
|
|
"-Wall",
|
|
"-Wextra",
|
|
"-Wno-unused-parameter",
|
|
"-Werror",
|
|
"-DALLOW_LOCAL_PROP_OVERRIDE=0",
|
|
"-DALLOW_PERMISSIVE_SELINUX=0",
|
|
"-DREBOOT_BOOTLOADER_ON_PANIC=0",
|
|
"-DWORLD_WRITABLE_KMSG=0",
|
|
"-DDUMP_ON_UMOUNT_FAILURE=0",
|
|
"-DSHUTDOWN_ZERO_TIMEOUT=0",
|
|
],
|
|
product_variables: {
|
|
debuggable: {
|
|
cppflags: [
|
|
"-UALLOW_LOCAL_PROP_OVERRIDE",
|
|
"-DALLOW_LOCAL_PROP_OVERRIDE=1",
|
|
"-UALLOW_PERMISSIVE_SELINUX",
|
|
"-DALLOW_PERMISSIVE_SELINUX=1",
|
|
"-UREBOOT_BOOTLOADER_ON_PANIC",
|
|
"-DREBOOT_BOOTLOADER_ON_PANIC=1",
|
|
"-UWORLD_WRITABLE_KMSG",
|
|
"-DWORLD_WRITABLE_KMSG=1",
|
|
"-UDUMP_ON_UMOUNT_FAILURE",
|
|
"-DDUMP_ON_UMOUNT_FAILURE=1",
|
|
],
|
|
},
|
|
eng: {
|
|
cppflags: [
|
|
"-USHUTDOWN_ZERO_TIMEOUT",
|
|
"-DSHUTDOWN_ZERO_TIMEOUT=1",
|
|
],
|
|
},
|
|
uml: {
|
|
cppflags: ["-DUSER_MODE_LINUX"],
|
|
},
|
|
},
|
|
static_libs: [
|
|
"libseccomp_policy",
|
|
"libprocessgroup",
|
|
"libavb",
|
|
"libprotobuf-cpp-lite",
|
|
"libpropertyinfoserializer",
|
|
"libpropertyinfoparser",
|
|
],
|
|
shared_libs: [
|
|
"libbase",
|
|
"libbinder",
|
|
"libbootloader_message",
|
|
"libcutils",
|
|
"libdl",
|
|
"libext4_utils",
|
|
"libfs_mgr",
|
|
"libfscrypt",
|
|
"libhidl-gen-utils",
|
|
"libkeyutils",
|
|
"liblog",
|
|
"liblogwrap",
|
|
"libselinux",
|
|
"libutils",
|
|
],
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "libinit",
|
|
recovery_available: true,
|
|
defaults: ["init_defaults"],
|
|
srcs: [
|
|
"action.cpp",
|
|
"action_manager.cpp",
|
|
"action_parser.cpp",
|
|
"bootchart.cpp",
|
|
"builtins.cpp",
|
|
"capabilities.cpp",
|
|
"descriptors.cpp",
|
|
"devices.cpp",
|
|
"epoll.cpp",
|
|
"firmware_handler.cpp",
|
|
"first_stage_mount.cpp",
|
|
"import_parser.cpp",
|
|
"init.cpp",
|
|
"keychords.cpp",
|
|
"modalias_handler.cpp",
|
|
"parser.cpp",
|
|
"persistent_properties.cpp",
|
|
"persistent_properties.proto",
|
|
"property_service.cpp",
|
|
"property_type.cpp",
|
|
"reboot.cpp",
|
|
"reboot_utils.cpp",
|
|
"security.cpp",
|
|
"selinux.cpp",
|
|
"service.cpp",
|
|
"sigchld_handler.cpp",
|
|
"subcontext.cpp",
|
|
"subcontext.proto",
|
|
"rlimit_parser.cpp",
|
|
"tokenizer.cpp",
|
|
"uevent_listener.cpp",
|
|
"ueventd.cpp",
|
|
"ueventd_parser.cpp",
|
|
"util.cpp",
|
|
],
|
|
whole_static_libs: ["libcap"],
|
|
header_libs: ["bootimg_headers"],
|
|
proto: {
|
|
type: "lite",
|
|
export_proto_headers: true,
|
|
},
|
|
|
|
target: {
|
|
recovery: {
|
|
cflags: ["-DRECOVERY"],
|
|
exclude_shared_libs: ["libbinder", "libutils"],
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_binary {
|
|
name: "init_second_stage",
|
|
recovery_available: true,
|
|
stem: "init",
|
|
defaults: ["init_defaults"],
|
|
static_libs: ["libinit"],
|
|
required: [
|
|
"e2fsdroid",
|
|
"mke2fs",
|
|
"sload_f2fs",
|
|
"make_f2fs",
|
|
],
|
|
srcs: ["main.cpp"],
|
|
symlinks: ["ueventd"],
|
|
target: {
|
|
recovery: {
|
|
cflags: ["-DRECOVERY"],
|
|
exclude_shared_libs: ["libbinder", "libutils"],
|
|
},
|
|
},
|
|
}
|
|
|
|
// Tests
|
|
// ------------------------------------------------------------------------------
|
|
|
|
cc_test {
|
|
name: "init_tests",
|
|
defaults: ["init_defaults"],
|
|
compile_multilib: "first",
|
|
srcs: [
|
|
"devices_test.cpp",
|
|
"init_test.cpp",
|
|
"keychords_test.cpp",
|
|
"persistent_properties_test.cpp",
|
|
"property_service_test.cpp",
|
|
"property_type_test.cpp",
|
|
"result_test.cpp",
|
|
"rlimit_parser_test.cpp",
|
|
"service_test.cpp",
|
|
"subcontext_test.cpp",
|
|
"tokenizer_test.cpp",
|
|
"ueventd_parser_test.cpp",
|
|
"ueventd_test.cpp",
|
|
"util_test.cpp",
|
|
],
|
|
static_libs: ["libinit"],
|
|
test_suites: ["device-tests"],
|
|
}
|
|
|
|
cc_benchmark {
|
|
name: "init_benchmarks",
|
|
defaults: ["init_defaults"],
|
|
srcs: [
|
|
"subcontext_benchmark.cpp",
|
|
],
|
|
static_libs: ["libinit"],
|
|
}
|
|
|
|
// Host Verifier
|
|
// ------------------------------------------------------------------------------
|
|
|
|
genrule {
|
|
name: "generated_stub_builtin_function_map",
|
|
out: ["generated_stub_builtin_function_map.h"],
|
|
srcs: ["builtins.cpp"],
|
|
cmd: "sed -n '/Builtin-function-map start/{:a;n;/Builtin-function-map end/q;p;ba}' $(in) | sed -e 's/do_[^}]*/do_stub/g' > $(out)",
|
|
}
|
|
|
|
cc_binary {
|
|
name: "host_init_verifier",
|
|
host_supported: true,
|
|
cpp_std: "experimental",
|
|
cflags: [
|
|
"-Wall",
|
|
"-Wextra",
|
|
"-Wno-unused-parameter",
|
|
"-Werror",
|
|
],
|
|
static_libs: [
|
|
"libbase",
|
|
"libselinux",
|
|
],
|
|
whole_static_libs: ["libcap"],
|
|
shared_libs: [
|
|
"libprotobuf-cpp-lite",
|
|
"libhidl-gen-utils",
|
|
"libprocessgroup",
|
|
"liblog",
|
|
"libcutils",
|
|
],
|
|
srcs: [
|
|
"action.cpp",
|
|
"action_manager.cpp",
|
|
"action_parser.cpp",
|
|
"capabilities.cpp",
|
|
"descriptors.cpp",
|
|
"epoll.cpp",
|
|
"keychords.cpp",
|
|
"import_parser.cpp",
|
|
"host_import_parser.cpp",
|
|
"host_init_verifier.cpp",
|
|
"host_init_stubs.cpp",
|
|
"parser.cpp",
|
|
"rlimit_parser.cpp",
|
|
"tokenizer.cpp",
|
|
"service.cpp",
|
|
"subcontext.cpp",
|
|
"subcontext.proto",
|
|
"util.cpp",
|
|
],
|
|
proto: {
|
|
type: "lite",
|
|
},
|
|
generated_headers: [
|
|
"generated_stub_builtin_function_map",
|
|
"generated_android_ids"
|
|
],
|
|
target: {
|
|
android: {
|
|
enabled: false,
|
|
},
|
|
darwin: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
}
|
|
|
|
subdirs = ["*"]
|