diff --git a/modem/erase_modemlog/Android.bp b/modem/erase_modemlog/Android.bp new file mode 100644 index 0000000..4c3b43d --- /dev/null +++ b/modem/erase_modemlog/Android.bp @@ -0,0 +1,15 @@ +// +// SPDX-FileCopyrightText: 2024 The LineageOS Project +// SPDX-License-Identifier: Apache-2.0 +// + +package { + default_applicable_licenses: [ "Android-Apache-2.0" ], +} + +sh_binary { + name: "erase_modemlog.sh", + src: "erase_modemlog.sh", + init_rc: ["erase_modemlog.rc"], + vendor: true, +} diff --git a/modem/erase_modemlog/erase_modemlog.mk b/modem/erase_modemlog/erase_modemlog.mk new file mode 100644 index 0000000..0974257 --- /dev/null +++ b/modem/erase_modemlog/erase_modemlog.mk @@ -0,0 +1,10 @@ +# +# SPDX-FileCopyrightText: 2024 The LineageOS Project +# SPDX-License-Identifier: Apache-2.0 +# + +ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/modem/erase_modemlog/sepolicy + +PRODUCT_PACKAGES += erase_modemlog.sh +endif diff --git a/modem/erase_modemlog/erase_modemlog.rc b/modem/erase_modemlog/erase_modemlog.rc new file mode 100644 index 0000000..327dd44 --- /dev/null +++ b/modem/erase_modemlog/erase_modemlog.rc @@ -0,0 +1,10 @@ +# +# SPDX-FileCopyrightText: 2024 The LineageOS Project +# SPDX-License-Identifier: Apache-2.0 +# + +service vendor.erase_modemlog.rc /vendor/bin/erase_modemlog.sh + class main + user system + group system + oneshot diff --git a/modem/erase_modemlog/erase_modemlog.sh b/modem/erase_modemlog/erase_modemlog.sh new file mode 100644 index 0000000..960879a --- /dev/null +++ b/modem/erase_modemlog/erase_modemlog.sh @@ -0,0 +1,13 @@ +#!/vendor/bin/sh +# +# SPDX-FileCopyrightText: 2024 The LineageOS Project +# SPDX-License-Identifier: Apache-2.0 +# + +if [ ! -f /data/vendor/slog/erased ]; then + rm -rf /data/vendor/slog + mkdir /data/vendor/slog + chmod 771 /data/vendor/slog + chown -hR system.system /data/vendor/slog + touch /data/vendor/slog/erased +fi diff --git a/modem/erase_modemlog/sepolicy/erase_modemlog.te b/modem/erase_modemlog/sepolicy/erase_modemlog.te new file mode 100644 index 0000000..8d18898 --- /dev/null +++ b/modem/erase_modemlog/sepolicy/erase_modemlog.te @@ -0,0 +1,9 @@ +type erase_modemlog, domain; +type erase_modemlog_exec, vendor_file_type, exec_type, file_type; + +init_daemon_domain(erase_modemlog) + +allow erase_modemlog vendor_slog_file:dir create_dir_perms; +allow erase_modemlog vendor_slog_file:file create_file_perms; + +allow erase_modemlog vendor_toolbox_exec:file execute_no_trans; diff --git a/modem/erase_modemlog/sepolicy/file_contexts b/modem/erase_modemlog/sepolicy/file_contexts new file mode 100644 index 0000000..e253688 --- /dev/null +++ b/modem/erase_modemlog/sepolicy/file_contexts @@ -0,0 +1 @@ +/vendor/bin/erase_modemlog\.sh u:object_r:erase_modemlog_exec:s0 diff --git a/modem/modem.mk b/modem/modem.mk index d921e74..7114495 100644 --- a/modem/modem.mk +++ b/modem/modem.mk @@ -1 +1,2 @@ include device/google/gs-common/modem/dump_modemlog/dump_modemlog.mk +include device/google/gs-common/modem/erase_modemlog/erase_modemlog.mk