Additionally it adds rndis.service to ISU configuration.
Change-Id: Ic616d09d0dbe23aae56b3b2a55f2a0b99be3d861
ADD_DEFINITIONS("-DENABLE_DEVICED_DLOG")
ADD_DEFINITIONS("-DENABLE_LIBDEVICED_DLOG")
ADD_DEFINITIONS("-DENABLE_PM_LOG")
+ADD_DEFINITIONS("-DDD_PLUGIN_PATH=\"${DD_PLUGIN_PATH}\"")
IF(BATTERY_MODULE STREQUAL on)
ADD_DEFINITIONS("-DBATTERY_MODULE")
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${REQUIRED_PKGS_LDFLAGS} "-lrt -ldl -lm" deviced-common-private)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
+INSTALL(DIRECTORY DESTINATION ${MAKE_INSTALL_PREFIX}${DD_PLUGIN_PATH})
+
IF(POWER_MODULE STREQUAL on)
ADD_EXECUTABLE(deviced-shutdown src/power-shutdown/shutdown.c src/shared/common.c src/shared/execute.c)
SET(deviced-shutdown_LDFLAGS ${REQUIRED_PKGS_LDFLAGS})
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/deviced/ PERMISSIONS OWNER_WRITE OWNER_READ)
INSTALL(FILES deviced.service DESTINATION /etc/isu/deviced/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ)
INSTALL(FILES etc-deviced.mount DESTINATION /etc/isu/deviced/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ)
+
+IF(USE_32BIT)
+ INSTALL(FILES usr-lib-deviced.mount DESTINATION /etc/isu/deviced/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ)
+ELSEIF(USE_64BIT)
+ INSTALL(FILES usr-lib-deviced.mount DESTINATION /etc/isu/deviced/system-services/ RENAME usr-lib64-deviced.mount PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ)
+ENDIF()
+
+INSTALL(FILES rndis.service DESTINATION /etc/isu/deviced/system-services/ PERMISSIONS OWNER_WRITE OWNER_READ WORLD_READ)
[Unit]
Description=System device daemon
-After=etc-deviced.mount
-BindsTo=etc-deviced.mount
+After=##PLUGIN_MOUNT##
+BindsTo=##PLUGIN_MOUNT##
+DefaultDependencies=no
# Caution: never uncomment below "Wants=" and "After=" entries.
# Just information, deviced internally wait for /run/.wm_ready
What=#ISU_RUN_PATH#/deviced/rootfs/etc/deviced
Where=/etc/deviced
Options=defaults,relatime,bind,ro
-
[isu]
name=#NAME#
version=#VERSION#
-system_service=deviced.service etc-deviced.mount
+system_service=deviced.service ##PLUGIN_MOUNT## etc-deviced.mount rndis.service
[files]
/usr/bin/deviced
/etc/deviced/
-/usr/lib*/libdeviced-common-private.so
+/usr/bin/rndis.sh
+##LIBDIR##/deviced
+##LIBDIR##/libdeviced-common-private.so
\ No newline at end of file
--- /dev/null
+[Unit]
+Description=rndis service
+
+[Service]
+Type=oneshot
+User=network_fw
+Group=network_fw
+SmackProcessLabel=System
+ExecStart=#ISU_RUN_PATH#/deviced/rootfs/usr/bin/rndis.sh start
+ExecStop=#ISU_RUN_PATH#/deviced/rootfs/usr/bin/rndis.sh stop
+Capabilities=cap_net_admin=i
+SecureBits=keep-caps
+RemainAfterExit=yes
--- /dev/null
+[Unit]
+Before=local-fs.target
+After=etc-deviced.mount
+BindsTo=etc-deviced.mount
+ConditionPathIsMountPoint=!##PLUGIN_LIB_DIR##
+DefaultDependencies=no
+
+[Mount]
+What=#ISU_RUN_PATH#/deviced/rootfs##PLUGIN_LIB_DIR##
+Where=##PLUGIN_LIB_DIR##
+Options=defaults,relatime,bind,ro
Source1: deviced.manifest
Source2: libdeviced.manifest
+%define plugindir %{_libdir}/deviced
+
BuildRequires: cmake
BuildRequires: gettext-devel
BuildRequires: pkgconfig(mount)
%description plugin-profile-iot-headless
Plugin libraries for IoT headless devices
-%isu_package
+%package isu
+Summary: ISU package for deviced
+Group: System/Management
+Requires: %{name} = %{version}-%{release}
+
+%description isu
+Configuration files to generate the ISU (Individual Service Upgrade) package
+>>>>>>> 6e21e8ad... Add plugins to deviced ISU configuration
%prep
%setup -q
-DARCH=%{ARCH} \
-DARCH_BIT=%{ARCH_BIT} \
-DDPMS=%{DPMS} \
+ -DDD_PLUGIN_PATH=%{plugindir} \
-DBATTERY_MODULE=%{battery_module} \
-DDISPLAY_MODULE=on \
-DEXTCON_MODULE=on \
make %{?jobs:-j%jobs}
+LIB_DIR=%{_libdir}
+sed -ie s,"##LIBDIR##,$LIB_DIR,g" isu/isu.cfg
+DD_PLUGIN_PATH=%{plugindir}
+DD_PLUGIN_MOUNT_NAME=$(systemd-escape $DD_PLUGIN_PATH).mount
+DD_PLUGIN_MOUNT_NAME=$(cut -c2- <<< $DD_PLUGIN_MOUNT_NAME) > /dev/null
+sed -ie s,"##PLUGIN_MOUNT##,$DD_PLUGIN_MOUNT_NAME,g" isu/isu.cfg
+sed -ie s,"##PLUGIN_MOUNT##,$DD_PLUGIN_MOUNT_NAME,g" isu/deviced.service
+sed -ie s,"##PLUGIN_LIB_DIR##,$DD_PLUGIN_PATH,g" isu/usr-lib-deviced.mount
+
%install
rm -rf %{buildroot}
%make_install
%{_unitdir}/multi-user.target.wants/deviced.service
%{_unitdir}/deviced.service
%{_datadir}/dbus-1/system-services/org.tizen.system.deviced.service
+%dir %{plugindir}
%if %{?sdb_prestart} == on
%{_unitdir}/sdb-prestart.service
%{_unitdir}/basic.target.wants/sdb-prestart.service
%{_libdir}/iot-headless-display.so
%{_unitdir}/rndis.service
%{_bindir}/rndis.sh
+
+%files isu
+/etc/isu/deviced/*