Name: stc-manager Summary: STC(Smart Traffic Control) manager Version: 0.0.87 Release: 0 Group: Network & Connectivity/Other License: Apache-2.0 Source0: %{name}-%{version}.tar.gz %define enable_database YES %define enable_statistics YES %define enable_restriction YES %define database_full_path /opt/usr/dbspace/.stc-manager-datausage.db BuildRequires: cmake BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(libtzplatform-config) BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(capi-system-info) BuildRequires: pkgconfig(openssl) %if %{?enable_database} == YES BuildRequires: pkgconfig(sqlite3) %endif BuildRequires: python BuildRequires: python-xml %if 0%{?gtests:1} BuildRequires: pkgconfig(gmock) %endif %description A smart traffic control manager to manage traffic counting and bandwidth limitation %package plugin-appstatus Summary: STC manager application status plugin BuildRequires: pkgconfig(bundle) BuildRequires: pkgconfig(syspopup-caller) %description plugin-appstatus A smart traffic control manager extension for application status plugin %package plugin-exception Summary: STC manager exception list plugin BuildRequires: pkgconfig(pkgmgr-info) %description plugin-exception A smart traffic control manager extension for exception list plugin %package plugin-procfs Summary: STC manager exception proc file system plugin %description plugin-procfs A smart traffic control manager extension for proc file system plugin %package plugin-pcap Summary: STC manager exception packet capture plugin BuildRequires: libpcap-devel %description plugin-pcap A smart traffic control manager extension for packet capture plugin %package plugin-tether Summary: Tethering plugin for data usage of tethering clients %description plugin-tether A smart traffic control manager extension for tethering client data usage plugin %package plugin-monitor Summary: Monitor plugin for data usage of clients %description plugin-monitor A smart traffic control manager extension for monitoring client data usage plugin %package plugin-firewall Summary: Firewall plugin for managing firewall rules %description plugin-firewall A smart traffic control manager extension for firewall plugin %prep %setup -q chmod 644 %{SOURCE0} %build export CFLAGS="$CFLAGS -D_GNU_SOURCE" export CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE" %if "%{tizen_profile_name}" == "tv" CFLAGS+=" -DTIZEN_TV_EXT" %endif %cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DBIN_DIR=%{_bindir} \ -DLIB_PATH=%{_lib} \ -DENABLE_DATABASE=%{enable_database} \ -DDATABASE_FULL_PATH=%{database_full_path} \ -DENABLE_STATISTICS=%{enable_statistics} \ -DENABLE_RESTRICTION=%{enable_restriction} \ -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \ -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} make %{?_smp_mflags} %install rm -rf %{buildroot} %make_install #database initialization %if %{?enable_database} == YES mkdir -p %{buildroot}/opt/usr/dbspace sqlite3 %{buildroot}%{database_full_path} < %{buildroot}/usr/share/traffic_db.sql sqlite3 %{buildroot}%{database_full_path} < %{buildroot}/usr/share/firewall_db.sql rm %{buildroot}/usr/share/traffic_db.sql rm %{buildroot}/usr/share/firewall_db.sql %endif #Exceptions file mkdir -p %{buildroot}/%{_localstatedir}/lib/stc cp data/exceptions %{buildroot}/%{_localstatedir}/lib/stc/exceptions #Systemd service file mkdir -p %{buildroot}%{_libdir}/systemd/system/ cp resources/systemd/stc-manager.service %{buildroot}%{_libdir}/systemd/system/stc-manager.service mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/ ln -s ../stc-manager.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/stc-manager.service #DBus DAC (stc-manager.manifest enables DBus SMACK) mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d cp resources/dbus/stc-manager.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/stc-manager.conf %files %manifest %{name}.manifest %license LICENSE %defattr(-,root,root,-) %attr(500,root,root) %{_bindir}/* %attr(644,root,root) %{_libdir}/systemd/system/stc-manager.service %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/stc-manager.service %attr(755,network_fw,network_fw) /%{_localstatedir}/lib/stc %attr(600,root,root) /%{_localstatedir}/lib/stc/exceptions #DBus DAC %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/* %if %{?enable_database} == YES %config(noreplace) %attr(660, root, root) %{database_full_path} %config(noreplace) %attr(660, root, root) %{database_full_path}-journal %endif %if 0%{?gtests:1} %{_bindir}/gtest* %endif %files plugin-appstatus %manifest %{name}.manifest %attr(644, -,-) %{_datadir}/icons/*.png %attr(500,root,root) %{_libdir}/stc-plugin-appstatus.so %files plugin-exception %manifest %{name}.manifest %attr(500,root,root) %{_libdir}/stc-plugin-exception.so %files plugin-procfs %manifest %{name}.manifest %attr(500,root,root) %{_libdir}/stc-plugin-procfs.so %files plugin-pcap %manifest %{name}.manifest %attr(500,root,root) %{_libdir}/stc-plugin-pcap.so %files plugin-tether %manifest %{name}.manifest %attr(500,root,root) %{_libdir}/stc-plugin-tether.so %files plugin-monitor %manifest %{name}.manifest %attr(500,root,root) %{_libdir}/stc-plugin-monitor.so %files plugin-firewall %manifest %{name}.manifest %attr(500,root,root) %{_libdir}/stc-plugin-firewall.so