2 Summary: STC(Smart Traffic Control) manager
5 Group: Network & Connectivity/Other
7 Source0: %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
11 BuildRequires: pkgconfig(glib-2.0)
12 BuildRequires: pkgconfig(gio-2.0)
13 BuildRequires: pkgconfig(gobject-2.0)
14 BuildRequires: pkgconfig(gio-unix-2.0)
15 BuildRequires: pkgconfig(dlog)
16 BuildRequires: pkgconfig(libtzplatform-config)
17 BuildRequires: pkgconfig(vconf)
18 BuildRequires: pkgconfig(capi-system-info)
19 BuildRequires: pkgconfig(openssl1.1)
21 BuildRequires: python-xml
22 BuildRequires: pkgconfig(sqlite3)
24 BuildRequires: pkgconfig(gmock)
28 A smart traffic control manager to manage traffic counting and bandwidth limitation
30 %package plugin-appstatus
31 Summary: STC manager application status plugin
32 BuildRequires: pkgconfig(bundle)
33 BuildRequires: pkgconfig(syspopup-caller)
34 Requires: stc-manager-plugin-monitor
36 %description plugin-appstatus
37 A smart traffic control manager extension for application status plugin
39 %package plugin-exception
40 Summary: STC manager exception list plugin
41 BuildRequires: pkgconfig(pkgmgr-info)
42 Requires: stc-manager-plugin-monitor
44 %description plugin-exception
45 A smart traffic control manager extension for exception list plugin
47 %package plugin-procfs
48 Summary: STC manager exception proc file system plugin
49 Requires: stc-manager-plugin-monitor
51 %description plugin-procfs
52 A smart traffic control manager extension for proc file system plugin
55 Summary: STC manager exception packet capture plugin
56 BuildRequires: libpcap-devel
58 %description plugin-pcap
59 A smart traffic control manager extension for packet capture plugin
61 %package plugin-tether
62 Summary: Tethering plugin for data usage of tethering clients
63 Requires: stc-manager-plugin-monitor
65 %description plugin-tether
66 A smart traffic control manager extension for tethering client data usage plugin
68 %package plugin-monitor
69 Summary: Monitor plugin for data usage of clients
70 BuildRequires: pkgconfig(bundle)
71 BuildRequires: pkgconfig(syspopup-caller)
73 %description plugin-monitor
74 A smart traffic control manager extension for monitoring client data usage plugin
76 %package plugin-firewall
77 Summary: Firewall plugin for managing firewall rules
79 %description plugin-firewall
80 A smart traffic control manager extension for firewall plugin
84 Summary: Coverage Data of %{name}
88 The %{name}-gcov pacakge contains gcov objects
91 %global stc_db_file %{TZ_SYS_GLOBALUSER_DB}/.%{name}-datausage.db
92 %global stc_backup_db_file %{TZ_SYS_RO_SHARE}/stc/.%{name}-datausage.db
96 cp %{SOURCE1001} ./%{name}.manifest
99 %if "%{tizen_profile_name}" == "tv"
100 CFLAGS+=" -DTIZEN_TV_EXT"
104 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
105 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
106 export LDFLAGS+=" -lgcov -Wl,--dynamic-list-data"
109 %cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
110 -DCMAKE_VERBOSE_MAKEFILE=OFF \
111 -DBIN_INSTALL_DIR:PATH=%{_bindir} \
112 -DSYSTEMD_DIR:PATH=%{_unitdir} \
113 -DSYSCONF_DIR:PATH=%{_sysconfdir} \
114 -DSTC_RW_DIR:PATH=%{_localstatedir}/lib/stc \
115 -DDATABASE_FULL_PATH=%{stc_db_file} \
116 -DDATABASE_BACKUP_PATH=%{stc_backup_db_file} \
117 -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
118 -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
125 find .. -name '*.gcno' | tar cf %{name}-gcov.tar -T -
126 install -d -m 0755 %{buildroot}%{_datadir}/gcov/obj
127 tar xf %{name}-gcov.tar -C %{buildroot}%{_datadir}/gcov/obj
130 #database initialization
131 mkdir -p %{buildroot}%{TZ_SYS_GLOBALUSER_DB}
132 sqlite3 %{buildroot}%{stc_db_file} < res/traffic_db.sql
133 sqlite3 %{buildroot}%{stc_db_file} < res/firewall_db.sql
134 install -D -m 0660 %{buildroot}%{stc_db_file} %{buildroot}%{stc_backup_db_file}
136 mkdir -p %{buildroot}%{TZ_SYS_UPGRADE_SCRIPTS}
137 install -m 0755 res/500.%{name}_upgrade.sh %{buildroot}%{TZ_SYS_UPGRADE_SCRIPTS}
139 %install_service multi-user.target.wants %{name}.service
143 %manifest %{name}.manifest
145 %{_unitdir}/%{name}.service
146 %{_unitdir}/multi-user.target.wants/%{name}.service
147 %{_localstatedir}/lib/stc/exceptions
148 %{_sysconfdir}/dbus-1/system.d/*
149 %{_datadir}/dbus-1/system-services/*
150 %dir %attr(0755,network_fw,network_fw) %{_localstatedir}/lib/stc
151 %config(noreplace) %{stc_db_file}*
152 %config(noreplace) %{stc_backup_db_file}
153 %{TZ_SYS_UPGRADE_SCRIPTS}/500.%{name}_upgrade.sh
157 %license LICENSE.APLv2
159 %files plugin-appstatus
160 %manifest %{name}.manifest
161 %{_datadir}/icons/*.png
162 %{_libdir}/stc-plugin-appstatus.so
163 %license LICENSE.APLv2
165 %files plugin-exception
166 %manifest %{name}.manifest
167 %{_libdir}/stc-plugin-exception.so
168 %license LICENSE.APLv2
171 %manifest %{name}.manifest
172 %{_libdir}/stc-plugin-procfs.so
173 %license LICENSE.APLv2
176 %manifest %{name}.manifest
177 %{_libdir}/stc-plugin-pcap.so
178 %license LICENSE.APLv2
181 %manifest %{name}.manifest
182 %{_libdir}/stc-plugin-tether.so
183 %license LICENSE.APLv2
185 %files plugin-monitor
186 %manifest %{name}.manifest
187 %{_libdir}/stc-plugin-monitor.so
188 %license LICENSE.APLv2
190 %files plugin-firewall
191 %manifest %{name}.manifest
192 %{_libdir}/stc-plugin-firewall.so
193 %license LICENSE.APLv2