From 5ee46adc8ba4ca557fe0b3bc64c1ebe0d8171d15 Mon Sep 17 00:00:00 2001 From: SangYoun Kwak Date: Thu, 9 Feb 2023 20:03:09 +0900 Subject: [PATCH] Modify and add files to make this repository buildable Files like spec file, cmakelists, license file were added to make this repository buildable and callable from plugin-resourced. Signed-off-by: SangYoun Kwak --- CMakeLists.txt | 15 ++++++ LICENSE => LICENSE.Apache-2.0 | 0 .../plugin-backend-resourced-rpi.manifest | 5 ++ packaging/plugin-backend-resourced-rpi.spec | 47 +++++++++++++++++++ .../resourced-plugin-backend-iot-headed.spec | 0 src/low_memory_killer/CMakeLists.txt | 21 +++++++++ src/low_memory_killer/low_memory_killer.c | 40 ++++++++++++++++ src/plugin-backend-lmk.cpp | 0 8 files changed, 128 insertions(+) create mode 100644 CMakeLists.txt rename LICENSE => LICENSE.Apache-2.0 (100%) create mode 100644 packaging/plugin-backend-resourced-rpi.manifest create mode 100644 packaging/plugin-backend-resourced-rpi.spec delete mode 100644 packaging/resourced-plugin-backend-iot-headed.spec create mode 100644 src/low_memory_killer/CMakeLists.txt create mode 100644 src/low_memory_killer/low_memory_killer.c delete mode 100644 src/plugin-backend-lmk.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..a319c08 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,15 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(${PLUGIN_NAME} C) + +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Werror") + +IF(${ENABLE_DLOG}) + ADD_DEFINITIONS("-DENABLE_DLOG") +ENDIF() + +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.Apache-2.0 + DESTINATION ${PLUGIN_LICENSE_DIR}) + +ADD_SUBDIRECTORY(src/low_memory_killer) diff --git a/LICENSE b/LICENSE.Apache-2.0 similarity index 100% rename from LICENSE rename to LICENSE.Apache-2.0 diff --git a/packaging/plugin-backend-resourced-rpi.manifest b/packaging/plugin-backend-resourced-rpi.manifest new file mode 100644 index 0000000..a76fdba --- /dev/null +++ b/packaging/plugin-backend-resourced-rpi.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/plugin-backend-resourced-rpi.spec b/packaging/plugin-backend-resourced-rpi.spec new file mode 100644 index 0000000..c8486a0 --- /dev/null +++ b/packaging/plugin-backend-resourced-rpi.spec @@ -0,0 +1,47 @@ +%define PLUGIN_LIBDIR %{_libdir}/plugin/%{name} +%define PLUGIN_LICENSEDIR /usr/share/plugin/%{name} + +Name: plugin-backend-resourced-rpi +Summary: Resourced plugin backend for rpi targets +Version: 0.0.1 +Release: 0 +Group: System/Libraries +License: Apache-2.0 +Source0: %{name}-%{version}.tar.gz +Source1: %{name}.manifest + +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + +BuildRequires: cmake +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(libsyscommon) + +%description +Resourced plugin backend for rpi targets + +%prep +%setup -q +cp %{SOURCE1} . + +%build +%cmake . -DENABLE_DLOG=1 \ + -DPLUGIN_NAME=%{name} \ + -DPLUGIN_LICENSE_DIR=%{PLUGIN_LICENSEDIR} \ + -DPLUGIN_LIB_DIR=%{PLUGIN_LIBDIR} + +make %{?jobs:-j%jobs} + +%install +%make_install + +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig + +%files +%{PLUGIN_LIBDIR}/libplugin-backend-resourced-low_memory_killer.so +%manifest %{name}.manifest +%{PLUGIN_LICENSEDIR}/LICENSE.Apache-2.0 diff --git a/packaging/resourced-plugin-backend-iot-headed.spec b/packaging/resourced-plugin-backend-iot-headed.spec deleted file mode 100644 index e69de29..0000000 diff --git a/src/low_memory_killer/CMakeLists.txt b/src/low_memory_killer/CMakeLists.txt new file mode 100644 index 0000000..7aa1534 --- /dev/null +++ b/src/low_memory_killer/CMakeLists.txt @@ -0,0 +1,21 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(plugin-backend-resourced-low_memory_killer C) + +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) + +SET(PKG_MODULES + libsyscommon) + +INCLUDE(FindPkgConfig) +pkg_check_modules(pkgs REQUIRED ${PKG_MODULES}) +FOREACH(flag ${pkgs_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + +ADD_LIBRARY(${PROJECT_NAME} SHARED low_memory_killer.c) +MESSAGE("pkgs_LDFLAGS: ${pkgs_LDFLAGS}") +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS}) +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${PLUGIN_LIB_DIR} COMPONENT RuntimeLibraries) diff --git a/src/low_memory_killer/low_memory_killer.c b/src/low_memory_killer/low_memory_killer.c new file mode 100644 index 0000000..a5461c9 --- /dev/null +++ b/src/low_memory_killer/low_memory_killer.c @@ -0,0 +1,40 @@ +#include + +#include +#include + +#define EXPORT __attribute__ ((visibility("default"))) + +GArray *get_kill_candidates(GSList *proc_app_list, int start_oom, int end_oom, int killer_flags) +{ + return (GArray *)100; +} + +int low_memory_killer_init(void **data) +{ + plugin_backend_low_memory_killer_funcs *funcs = NULL; + + funcs = calloc(1, sizeof(*funcs)); + if (!funcs) + return -ENOMEM; + + funcs->get_kill_candidates = get_kill_candidates; + + *data = (void *)funcs; + + return 0; +} + +int low_memory_killer_exit(void *data) +{ + free(data); + return 0; +} + +plugin_backend EXPORT plugin_backend_resourced_low_memory_killer_data = { + .name = "low_memory_killer", + .vendor = "Samsung", + .abi_version = PLUGIN_ABI_VERSION_TIZEN_7_5, + .init = low_memory_killer_init, + .exit = low_memory_killer_exit, +}; diff --git a/src/plugin-backend-lmk.cpp b/src/plugin-backend-lmk.cpp deleted file mode 100644 index e69de29..0000000 -- 2.34.1