Add CPU stats for Battery Dump
[platform/core/system/batterymonitor.git] / packaging / batterymonitor.spec
1 Name:           batterymonitor
2 Summary:        batterymonitor service daemon
3 Version:        0.0.3
4 Release:        1
5 License:        Apache-2.0
6 Source0:        %{name}-%{version}.tar.gz
7 Source1:        org.tizen.battery.monitor.service
8 Source2:        org.tizen.battery.monitor.conf
9 Source3:        batterymonitor.service
10 Source4:        batterymonitor.manifest
11
12 BuildRequires:  cmake
13 BuildRequires:  pkgconfig(dlog)
14 BuildRequires:  pkgconfig(capi-system-info)
15 BuildRequires:  pkgconfig(glib-2.0) >= 2.26
16 BuildRequires:  pkgconfig(gio-2.0)
17 BuildRequires:  pkgconfig(gio-unix-2.0)
18 BuildRequires:  pkgconfig(db-util)
19 BuildRequires:  pkgconfig(sqlite3)
20 BuildRequires:  pkgconfig(pkgmgr-info)
21 BuildRequires:  pkgconfig(cynara-client)
22 BuildRequires:  pkgconfig(cynara-session)
23 BuildRequires:  pkgconfig(cynara-creds-gdbus)
24 BuildRequires:  pkgconfig(libtzplatform-config)
25 BuildRequires:  pkgconfig(json-c)
26 BuildRequires:  pkgconfig(capi-appfw-job-scheduler)
27 BuildRequires:  pkgconfig(capi-system-device)
28 BuildRequires:  pkgconfig(dumpsys-system)
29 BuildRequires:  pkgconfig(capi-network-wifi-manager)
30 BuildRequires:  pkgconfig(capi-network-bluetooth)
31 BuildRequires:  pkgconfig(capi-network-connection)
32 BuildRequires:  pkgconfig(vconf)
33 BuildRequires:  pkgconfig(tapi)
34
35 Requires(post): /sbin/ldconfig
36 Requires(postun): /sbin/ldconfig
37
38 %define power_profile_config_path /usr/etc/batterymonitor/config
39
40 %define dump_dummy OFF
41
42 %description
43 Battery-Monitor Service Daemon
44
45
46 %prep
47 %setup -q
48 cp -a %{SOURCE1} .
49 cp -a %{SOURCE2} .
50 cp -a %{SOURCE3} .
51 cp %{SOURCE4} .
52
53 %build
54 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
55 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
56                 -DLIB_INSTALL_DIR=%{_libdir} \
57                 -DBIN_INSTALL_DIR=%{_bindir} \
58                 -DINCLUDE_INSTALL_DIR=%{_includedir} \
59                 -DLIB_PATH=%{_lib} \
60                 -DFULLVER=%{version} \
61                 -DMAJORVER=${MAJORVER} \
62                 -DDUMP_DUMMY=%{dump_dummy}
63
64 %install
65 %make_install
66 mkdir -p %{buildroot}/usr/etc/batterymonitor/config
67 cp config/bm_power_profile_params.json %{buildroot}%{power_profile_config_path}/bm_power_profile_params.json
68
69 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
70 cp org.tizen.battery.monitor.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/org.tizen.battery.monitor.conf
71
72 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services/
73 cp org.tizen.battery.monitor.service %{buildroot}%{_datadir}/dbus-1/system-services/org.tizen.battery.monitor.service
74
75 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
76 cp batterymonitor.service %{buildroot}%{_unitdir}/batterymonitor.service
77 ln -s ../batterymonitor.service %{buildroot}%{_unitdir}/multi-user.target.wants/batterymonitor.service
78
79 rm %{buildroot}%{_includedir}/battery_monitor_stub.h
80
81
82 %post
83 /sbin/ldconfig
84
85 mkdir -p %{TZ_SYS_DB}
86 if [ ! -f %{TZ_SYS_DB}/.battery-monitor.db ]
87 then
88         sqlite3 %{TZ_SYS_DB}/.battery-monitor.db 'PRAGMA journal_mode = PERSIST;
89         CREATE TABLE if not exists appid_map (id INTEGER PRIMARY KEY AUTOINCREMENT, AppId TEXT);
90         CREATE TABLE if not exists appid_usage (AppId TEXT, log_time INT, rId_ble INT, rId_wifi INT, rId_cpu INT, rId_display INT, rId_device_network INT,
91         rId_gps INT, rId_hrm INT, rId_battery INT);
92         CREATE TABLE if not exists resourceid_usage (ResourceId TEXT, log_time INT, usage INT);
93         CREATE TABLE if not exists gble_stat (time_s LONG INT, ble_idle_time INT, ble_rx_time INT, ble_tx_time INT, ble_pwi_val INT);
94         CREATE TABLE if not exists gwfl_stat (time_s LONG INT, wifi_on_time INT, wifi_conn_time INT, wifi_idle_time INT,
95         wifi_rx_time INT, wifi_tx_time INT, wifi_pwi_val INT);
96         CREATE TABLE if not exists gn_stat (time_s LONG INT, dn_rx_byt INT, dn_tx_byt INT, wifi_rx_byt INT, wifi_tx_byt INT,
97         dn_rx_pkt INT, dn_tx_pkt INT, wifi_rx_pkt INT, wifi_tx_pkt INT, bt_rx_byt INT, bt_tx_byt INT);
98         CREATE TABLE if not exists gbr_stat (time_s LONG INT, dark INT, dim INT, medium INT, light INT, bright INT);
99         CREATE TABLE if not exists gsgt_stat (time_s LONG INT, scan_time INT, none_time INT, poor_time INT, med_time INT,
100         good_time INT, grt_time INT);
101         CREATE TABLE if not exists gwst_stat (time_s LONG INT, wscan_time INT, wnone_time INT, wpoor_time INT, wmed_time INT,
102         wgood_time INT, wgrt_time INT);
103         CREATE TABLE if not exists gbst_stat (time_s LONG INT, off_time INT, low_time INT, med_time INT, high_time INT);
104         CREATE TABLE if not exists gcpu_stat (time_s LONG INT, usr_time INT, sys_time INT);
105 '
106 fi
107
108 chown service_fw:service_fw %{TZ_SYS_DB}/.battery-monitor.db
109 chown service_fw:service_fw %{TZ_SYS_DB}/.battery-monitor.db-journal
110
111 chmod 644 %{TZ_SYS_DB}/.battery-monitor.db
112 chmod 644 %{TZ_SYS_DB}/.battery-monitor.db-journal
113
114 #smack labeling
115 chsmack -a "System" %{TZ_SYS_DB}/.battery-monitor.db
116 chsmack -a "System" %{TZ_SYS_DB}/.battery-monitor.db-journal
117
118 %postun -p /sbin/ldconfig
119
120 %files
121 %manifest %{name}.manifest
122 %license LICENSE
123 %defattr(-,root,root)
124 %attr(755,-,-) %{_bindir}/batterymonitor-svcd
125 %config %{_sysconfdir}/dbus-1/system.d/org.tizen.battery.monitor.conf
126 %config %attr(755,root,root) %{power_profile_config_path}/bm_power_profile_params.json
127 %attr(644,root,root) %{_datadir}/dbus-1/system-services/*
128 %attr(644,root,root) %{_unitdir}/batterymonitor.service
129 %attr(644,root,root) %{_unitdir}/multi-user.target.wants/batterymonitor.service