CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(system_server C)
+ # deviced
+ SET(DEVICED_NAME deviced)
+ SET(VERSION 0.1.0)
+
SET(SRCS
ss_main.c
ss_sysnoti.c
ss_procmgr.c
ss_timemgr.c
ss_cpu_handler.c
- ss_vibrator.c
- )
+ ss_common.c
+ ss_vibrator.c)
+
+ # libdeviced
+ SET(DEVICED_SRCS
+ src/shared/battery.c)
+
+ SET(DEVICED_HEADERS
+ src/deviced/dd-battery.h)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+ # libdeviced
+ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/deviced)
+
SET(MOVINAND_FORMAT movi_format.sh)
INCLUDE(FindPkgConfig)
dlog
syspopup-caller
notification
- devman
- device-node)
+ device-node
+ libsmack
+ libsystemd-daemon)
FOREACH(flag ${pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
+ # libdeviced
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
+
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
MESSAGE("FLAGS: ${CMAKE_C_FLAGS}")
ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DPREDEFINE_SO_DIR=\"${LIB_INSTALL_DIR}/ss_predefine/\"")
ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
IF( $ENV{ARCH} MATCHES "arm" )
ADD_DEFINITIONS("-DTARGET")
CONFIGURE_FILE(${UDEV_RULES}.in ${UDEV_RULES} @ONLY)
- ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
- TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl")
+ # libdeviced
+ ADD_LIBRARY(${DEVICED_NAME} SHARED ${DEVICED_SRCS})
+ TARGET_LINK_LIBRARIES(${DEVICED_NAME} ${pkgs_LDFLAGS})
+ SET_TARGET_PROPERTIES(${DEVICED_NAME} PROPERTIES VERSION ${VERSION})
+ INSTALL(TARGETS ${DEVICED_NAME} DESTINATION lib COMPONENT RuntimeLibraries)
+ FOREACH(hfile ${DEVICED_HEADERS})
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${hfile} DESTINATION include/${DEVICED_NAME})
+ ENDFOREACH(hfile)
+
+ CONFIGURE_FILE(${DEVICED_NAME}.pc.in ${DEVICED_NAME}.pc @ONLY)
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DEVICED_NAME}.pc DESTINATION lib/pkgconfig)
+
+ ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+ TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} "-ldl" "-ludev" "-lsmack")
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
+
INSTALL(FILES ${MOVINAND_FORMAT} DESTINATION bin)
INSTALL(FILES ${UDEV_RULES} DESTINATION ${UDEV_RULES_PATH})
-INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/system_server.sh DESTINATION /etc/rc.d/init.d)
INSTALL(FILES system-server.conf DESTINATION /etc/dbus-1/system.d)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/packaging/system-server.rule DESTINATION /opt/etc/smack/accesses.d)
+ INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/mmc-smack-label DESTINATION bin)
+
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.service DESTINATION /usr/lib/systemd/system)
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/systemd/system-server.socket DESTINATION /usr/lib/systemd/system)
ADD_SUBDIRECTORY(restarter)
ADD_SUBDIRECTORY(sys_event)
- ADD_SUBDIRECTORY(sys_device_noti)
ADD_SUBDIRECTORY(sys_pci_noti)
Group: Framework/system
License: Apache License, Version 2.0
Source0: system-server-%{version}.tar.gz
- Source1: system-server.service
Source2: system-server.manifest
+ Source3: deviced.manifest
BuildRequires: cmake
BuildRequires: libattr-devel
BuildRequires: pkgconfig(ecore)
BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(sysman)
BuildRequires: pkgconfig(tapi)
- BuildRequires: pkgconfig(devman)
BuildRequires: pkgconfig(pmapi)
BuildRequires: pkgconfig(edbus)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(syspopup-caller)
BuildRequires: pkgconfig(x11)
- BuildRequires: pkgconfig(svi)
BuildRequires: pkgconfig(notification)
BuildRequires: pkgconfig(usbutils)
+ BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(device-node)
+ BuildRequires: pkgconfig(libsmack)
BuildRequires: gettext
+ BuildRequires: pkgconfig(libsystemd-daemon)
+ %{?systemd_requires}
Requires(preun): /usr/bin/systemctl
Requires(post): /usr/bin/systemctl
Requires(post): /usr/bin/vconftool
%description
Description: System server
+ %package -n libdeviced
+ Summary: Deviced library
+ Group: Development/Libraries
+
+ %description -n libdeviced
+ Deviced library for device control
+
+ %package -n libdeviced-devel
+ Summary: Deviced library for (devel)
+ Group: Development/Libraries
+ Requires: libdeviced = %{version}-%{release}
+
+ %description -n libdeviced-devel
+ Deviced library for device control (devel)
+
%prep
%setup -q
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
+%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
%build
cp %{SOURCE2} .
+ cp %{SOURCE3} .
make %{?jobs:-j%jobs}
%install
rm -rf %{buildroot}
%make_install
-mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc3.d/
-ln -s %{_sysconfdir}/init.d/system_server.sh %{buildroot}%{_sysconfdir}/rc.d/rc3.d/S35system-server
-mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc5.d/
-ln -s %{_sysconfdir}/init.d/system_server.sh %{buildroot}%{_sysconfdir}/rc.d/rc5.d/S00system-server
-
-mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
-mkdir -p %{buildroot}%{_libdir}/systemd/system/sockets.target.wants
-ln -s ../system-server.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/system-server.service
-ln -s ../system-server.service %{buildroot}%{_libdir}/systemd/system/sockets.target.wants/system-server.socket
+mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
- install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/system-server.service
++mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
+ln -s ../system-server.service %{buildroot}%{_unitdir}/multi-user.target.wants/system-server.service
++ln -s ../system-server.service %{buildroot}%{_unitdir}/sockets.target.wants/system-server.socket
%post
vconftool set -t int memory/sysman/usbhost_status -1 -i
- vconftool set -t int memory/sysman/mmc -1 -i
+ vconftool set -t int memory/sysman/mmc 0 -i
vconftool set -t int memory/sysman/earjack_key 0 -i
vconftool set -t int memory/sysman/added_usb_storage 0 -i
vconftool set -t int memory/sysman/removed_usb_storage 0 -i
heynotitool set mmcblk_add
heynotitool set mmcblk_remove
+ heynotitool set device_charge_chgdet
+ heynotitool set device_usb_host_add
+ heynotitool set device_usb_host_remove
+ heynotitool set device_pci_keyboard_add
+ heynotitool set device_pci_keyboard_remove
heynotitool set device_usb_chgdet
heynotitool set device_ta_chgdet
heynotitool set device_earkey_chgdet
heynotitool set device_tvout_chgdet
heynotitool set device_hdmi_chgdet
- heynotitool set device_charge_chgdet
heynotitool set device_keyboard_chgdet
- heynotitool set device_usb_host_add
- heynotitool set device_usb_host_remove
- heynotitool set device_pci_keyboard_add
- heynotitool set device_pci_keyboard_remove
mkdir -p /etc/udev/rules.d
%files
-%manifest system-server.manifest
+%manifest %{name}.manifest
%config %{_sysconfdir}/dbus-1/system.d/system-server.conf
-%{_sysconfdir}/rc.d/init.d/system_server.sh
-%{_sysconfdir}/rc.d/rc3.d/S35system-server
-%{_sysconfdir}/rc.d/rc5.d/S00system-server
%{_bindir}/system_server
/opt/etc/smack/accesses.d/system-server.rule
%if 0%{?simulator}
%endif
%{_bindir}/movi_format.sh
%{_bindir}/sys_event
- %{_bindir}/sys_device_noti
%{_bindir}/sys_pci_noti
-%{_libdir}/systemd/system/multi-user.target.wants/system-server.service
-%{_libdir}/systemd/system/sockets.target.wants/system-server.socket
-%{_libdir}/systemd/system/system-server.service
-%{_libdir}/systemd/system/system-server.socket
+ %{_bindir}/mmc-smack-label
- %{_datadir}/system-server/sys_device_noti/batt_full_icon.png
+%{_unitdir}/multi-user.target.wants/system-server.service
++%{_unitdir}/sockets.target.wants/system-server.socket
+%{_unitdir}/system-server.service
++%{_unitdir}/system-server.socket
%{_datadir}/system-server/udev-rules/91-system-server.rules
- %{_datadir}/system-server/sys_device_noti/res/locale/*/LC_MESSAGES/*.mo
%{_datadir}/system-server/sys_pci_noti/res/locale/*/LC_MESSAGES/*.mo
+
+ %files -n libdeviced
+ %defattr(-,root,root,-)
+ %{_libdir}/libdeviced.so.*
+ %manifest deviced.manifest
+
+ %files -n libdeviced-devel
+ %defattr(-,root,root,-)
+ %{_includedir}/deviced/dd-battery.h
+ %{_libdir}/libdeviced.so
+ %{_libdir}/pkgconfig/deviced.pc