diff options
-rw-r--r-- | isu/CMakeLists.txt | 12 | ||||
-rw-r--r-- | isu/etc-resourced.mount | 2 | ||||
-rw-r--r-- | isu/isu.cfg | 4 | ||||
-rw-r--r-- | isu/resourced.service | 4 | ||||
-rw-r--r-- | isu/usr-lib-resourced-plugins.mount | 11 | ||||
-rw-r--r-- | packaging/resourced.spec | 27 | ||||
-rw-r--r-- | src/CMakeLists.txt | 2 |
7 files changed, 57 insertions, 5 deletions
diff --git a/isu/CMakeLists.txt b/isu/CMakeLists.txt index 6aab07c5..b45dee7f 100644 --- a/isu/CMakeLists.txt +++ b/isu/CMakeLists.txt @@ -1,6 +1,18 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(ISU C) +IF("${ISU_ARCH_BIT}" STREQUAL "32") + OPTION(USE_32BIT "Use 32bit architecture" ON) +ELSEIF("${ISU_ARCH_BIT}" STREQUAL "64") + OPTION(USE_64BIT "Use 64bit architecture" ON) +ENDIF() + INSTALL(FILES isu.cfg DESTINATION /etc/isu/resourced/ PERMISSIONS OWNER_WRITE OWNER_READ) INSTALL(FILES resourced.service DESTINATION /etc/isu/resourced/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ) INSTALL(FILES etc-resourced.mount DESTINATION /etc/isu/resourced/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ) + +IF(USE_32BIT) + INSTALL(FILES usr-lib-resourced-plugins.mount DESTINATION /etc/isu/resourced/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ) +ELSEIF(USE_64BIT) + INSTALL(FILES usr-lib-resourced-plugins.mount DESTINATION /etc/isu/resourced/system-services/ RENAME usr-lib64-resourced-plugins.mount PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ) +ENDIF() diff --git a/isu/etc-resourced.mount b/isu/etc-resourced.mount index d1b06c0c..1595bf65 100644 --- a/isu/etc-resourced.mount +++ b/isu/etc-resourced.mount @@ -1,9 +1,9 @@ [Unit] Before=local-fs.target ConditionPathIsMountPoint=!/etc/resourced +DefaultDependencies=no [Mount] What=#ISU_RUN_PATH#/resourced/rootfs/etc/resourced Where=/etc/resourced Options=defaults,relatime,bind,ro - diff --git a/isu/isu.cfg b/isu/isu.cfg index 0cbb509f..d487584a 100644 --- a/isu/isu.cfg +++ b/isu/isu.cfg @@ -1,8 +1,10 @@ [isu] name=#NAME# version=#VERSION# -system_service=resourced.service etc-resourced.mount +system_service=resourced.service ##PLUGIN_MOUNT## etc-resourced.mount [files] /usr/bin/resourced /etc/resourced +-##LIBDIR##/resourced/plugins +##LIBDIR##/libresourced-private-api.so.* diff --git a/isu/resourced.service b/isu/resourced.service index 95445d5c..730f3396 100644 --- a/isu/resourced.service +++ b/isu/resourced.service @@ -5,9 +5,9 @@ Description=Resource management daemon # launchpad to have knowledge of all applications. The Before= line below # refers to user-sessions, because tlm, and consequently user@.service # starts after user-sessions are allowed. -After=etc-resourced.mount +After=##PLUGIN_MOUNT## Before=systemd-user-sessions.service -BindsTo=etc-resourced.mount +BindsTo=##PLUGIN_MOUNT## DefaultDependencies=no Requires=resourced.socket diff --git a/isu/usr-lib-resourced-plugins.mount b/isu/usr-lib-resourced-plugins.mount new file mode 100644 index 00000000..58352e90 --- /dev/null +++ b/isu/usr-lib-resourced-plugins.mount @@ -0,0 +1,11 @@ +[Unit] +Before=local-fs.target +After=etc-resourced.mount +BindsTo=etc-resourced.mount +ConditionPathIsMountPoint=!##PLUGIN_LIB_DIR## +DefaultDependencies=no + +[Mount] +What=#ISU_RUN_PATH#/resourced/rootfs##PLUGIN_LIB_DIR## +Where=##PLUGIN_LIB_DIR## +Options=defaults,relatime,bind,ro diff --git a/packaging/resourced.spec b/packaging/resourced.spec index e9ca7478..a93250ec 100644 --- a/packaging/resourced.spec +++ b/packaging/resourced.spec @@ -101,16 +101,28 @@ Summary: watchdog module for resourced %description watchdog-handler %endif -%isu_package +%package isu +Summary: ISU package for resourced +Group: Application Framework/Service + +%description isu +Configuration files to generate the ISU (Individual Service Upgrade) package %prep %setup -q +%ifarch %{arm} %ix86 +%define ISU_ARCH_BIT 32 +%else +%define ISU_ARCH_BIT 64 +%endif + %build mkdir -p build pushd build %cmake .. -DFULLVER=%{version} \ -DCMAKE_BUILD_TYPE=Release \ + -DISU_ARCH_BIT=%{ISU_ARCH_BIT} \ -DCPU_THROTTLING_MODULE=%{cpu_throttling_module} \ -DCPU_BOOSTING_MODULE=%{cpu_boosting_module} \ -DMEMORY_MODULE=%{memory_module} \ @@ -127,6 +139,15 @@ pushd build make %{?jobs:-j%jobs} popd +LIB_DIR=%{_libdir} +sed -ie s,"##LIBDIR##,$LIB_DIR,g" isu/isu.cfg +RD_PLUGIN_PATH=%{plugindir} +RD_PLUGIN_MOUNT_NAME=$(systemd-escape $RD_PLUGIN_PATH).mount +RD_PLUGIN_MOUNT_NAME=$(cut -c2- <<< $RD_PLUGIN_MOUNT_NAME) > /dev/null +sed -ie s,"##PLUGIN_MOUNT##,$RD_PLUGIN_MOUNT_NAME,g" isu/isu.cfg +sed -ie s,"##PLUGIN_MOUNT##,$RD_PLUGIN_MOUNT_NAME,g" isu/resourced.service +sed -ie s,"##PLUGIN_LIB_DIR##,$RD_PLUGIN_PATH,g" isu/usr-lib-resourced-plugins.mount + %install rm -rf %{buildroot} pushd build @@ -155,6 +176,7 @@ mv %{confdir}/optimizer-profile-tv.conf %{confdir}/optimizer.conf %manifest resourced.manifest %{_libdir}/libresourced-private-api.so.* %{_bindir}/resourced +%dir %{plugindir} %attr(-,root, root) %{_bindir}/resourced %attr(700, root, root) %{TZ_SYS_ETC}/dump.d/module.d/dump_heart_data.sh @@ -198,3 +220,6 @@ mv %{confdir}/optimizer-profile-tv.conf %{confdir}/optimizer.conf %defattr(-,root,root) %{_libdir}/resourced-tests/run_tests.sh %{_libdir}/resourced-tests/watchdog-test + +%files isu +/etc/isu/resourced/* diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9613cf16..907deb70 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -142,6 +142,8 @@ INSTALL(FILES ${RESOURCED_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/resou CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/resourced-private-api.pc.in ${CMAKE_SOURCE_DIR}/resourced-private-api.pc @ONLY) INSTALL(FILES ${CMAKE_SOURCE_DIR}/resourced-private-api.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +INSTALL(DIRECTORY DESTINATION ${MAKE_INSTALL_PREFIX}${RD_PLUGIN_PATH}) + ADD_LIBRARY(plugin-resourced-process-block MODULE ${BLOCK_SOURCE_DIR}/block.c ${BLOCK_SOURCE_DIR}/block-monitor.c) |