Add initial source codes for gtest
[platform/core/connectivity/stc-manager.git] / packaging / stc-manager.spec
1 Name:       stc-manager
2 Summary:    STC(Smart Traffic Control) manager
3 Version:    0.0.43
4 Release:    0
5 Group:      Network & Connectivity/Other
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8
9 %define enable_database YES
10 %define enable_statistics YES
11 %define enable_restriction YES
12 %define database_full_path /opt/usr/dbspace/.stc-manager-datausage.db
13
14 BuildRequires:  cmake
15 BuildRequires:  pkgconfig(glib-2.0)
16 BuildRequires:  pkgconfig(gio-2.0)
17 BuildRequires:  pkgconfig(gobject-2.0)
18 BuildRequires:  pkgconfig(gio-unix-2.0)
19 BuildRequires:  pkgconfig(dlog)
20 BuildRequires:  pkgconfig(libtzplatform-config)
21 BuildRequires:  pkgconfig(vconf)
22 BuildRequires:  pkgconfig(capi-system-info)
23 BuildRequires:  pkgconfig(pkgmgr-info)
24 BuildRequires:  pkgconfig(openssl)
25
26 %if %{?enable_database} == YES
27 BuildRequires:  pkgconfig(sqlite3)
28 %endif
29
30 BuildRequires:  python
31 BuildRequires:  python-xml
32
33 %if 0%{?gtests:1}
34 BuildRequires: pkgconfig(gmock)
35 %endif
36
37 %description
38 A smart traffic control manager to manage traffic counting and bandwidth limitation
39
40 %package plugin
41 Summary: STC manager plugin
42 BuildRequires:  pkgconfig(bundle)
43 BuildRequires:  pkgconfig(syspopup-caller)
44
45 %description plugin
46 A smart traffic control manager extension for plugin
47
48 %prep
49 %setup -q
50 chmod 644 %{SOURCE0}
51
52 %build
53
54 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE -D_GNU_SOURCE"
55 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE -D_GNU_SOURCE"
56 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
57
58 %cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
59         -DBIN_DIR=%{_bindir} \
60         -DLIB_PATH=%{_lib} \
61         -DENABLE_DATABASE=%{enable_database} \
62         -DDATABASE_FULL_PATH=%{database_full_path} \
63         -DENABLE_STATISTICS=%{enable_statistics} \
64         -DENABLE_RESTRICTION=%{enable_restriction} \
65         -DBUILD_GTESTS=%{?gtests:1}%{!?gtests:0} \
66         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
67
68 make %{?_smp_mflags}
69
70 %install
71 rm -rf %{buildroot}
72
73 %make_install
74
75 #database initialization
76 %if %{?enable_database} == YES
77         mkdir -p %{buildroot}/opt/usr/dbspace
78         sqlite3 %{buildroot}%{database_full_path} < %{buildroot}/usr/share/traffic_db.sql
79         rm %{buildroot}/usr/share/traffic_db.sql
80 %endif
81
82 #Exceptions file
83 mkdir -p %{buildroot}/%{_localstatedir}/lib/stc
84 cp data/exceptions %{buildroot}/%{_localstatedir}/lib/stc/exceptions
85
86 #Systemd service file
87 mkdir -p %{buildroot}%{_libdir}/systemd/system/
88 cp resources/systemd/stc-manager.service %{buildroot}%{_libdir}/systemd/system/stc-manager.service
89
90 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/
91 ln -s ../stc-manager.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/stc-manager.service
92
93 #DBus DAC (stc-manager.manifest enables DBus SMACK)
94 mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
95 cp resources/dbus/stc-manager.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/stc-manager.conf
96
97 %files
98 %manifest %{name}.manifest
99 %license LICENSE
100 %defattr(-,root,root,-)
101 %attr(500,root,root) %{_bindir}/*
102
103 %attr(644,root,root) %{_libdir}/systemd/system/stc-manager.service
104 %attr(644,root,root) %{_libdir}/systemd/system/multi-user.target.wants/stc-manager.service
105
106 %attr(755,root,root) /%{_localstatedir}/lib/stc
107 %attr(600,root,root) /%{_localstatedir}/lib/stc/exceptions
108
109 #DBus DAC
110 %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/*
111
112 %if %{?enable_database} == YES
113 %config(noreplace) %attr(660, root, root) %{database_full_path}
114 %config(noreplace) %attr(660, root, root) %{database_full_path}-journal
115 %endif
116
117 %if 0%{?gtests:1}
118 %{_bindir}/gtest*
119 %endif
120
121 %files plugin
122 %manifest %{name}.manifest
123 %attr(644, -,-) %{_datadir}/icons/*.png
124 %attr(500,root,root) %{_libdir}/stc-manager-plugin.so