a53cc23197f4971cbf5c738d63d710b6bf352b69
[platform/core/api/connection.git] / packaging / capi-network-connection.spec
1 Name:           capi-network-connection
2 Summary:        Network Connection library in TIZEN C API
3 Version:        1.0.125
4 Release:        0
5 Group:          System/Network
6 License:        Apache-2.0
7 Source0:        %{name}-%{version}.tar.gz
8 BuildRequires:  cmake
9 BuildRequires:  pkgconfig(dlog)
10 BuildRequires:  pkgconfig(vconf)
11 BuildRequires:  pkgconfig(network)
12 BuildRequires:  pkgconfig(glib-2.0)
13 BuildRequires:  pkgconfig(capi-base-common)
14 BuildRequires:  pkgconfig(capi-system-info)
15 BuildRequires:  gtest-devel
16 %if 0%{?gcov:1}
17 BuildRequires:  lcov
18 %endif
19
20 Requires(post):         /sbin/ldconfig
21 Requires(postun):       /sbin/ldconfig
22
23 %description
24 Network Connection library in Tizen C API
25
26 %package devel
27 Summary:        Network Connection library in Tizen C API (Development)
28 Group:          System/Network
29 Requires:       %{name} = %{version}-%{release}
30
31 %description devel
32 Network Connection library in Tizen C API (Development)
33
34 %if 0%{?gcov:1}
35 %package gcov
36 Summary:        Network Connection library (gcov)
37 Group:          Network/Testing
38
39 %description gcov
40 gcov objects for coverage test
41 %endif
42
43 %if 0%{?asan} != 1
44 %package unittests
45 Summary:    %{name} unittests binary
46
47 %description unittests
48 unittests binary
49 %endif
50
51 %prep
52 %setup -q
53
54
55 %build
56 %if 0%{?gcov:1}
57 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
58 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
59 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
60 %endif
61
62 export CFLAGS+=' -Wno-unused-local-typedefs'
63 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
64 cmake -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \
65         -DLIB_PATH=%{_lib} -DDEBUG_GCOV=%{?debug_gcov:1}%{!?debug_gcov:0} \
66         -DBUILD_UNITTEST=%{?asan:0}%{!?asan:1} \
67 %if 0%{?model_build_feature_network_dsds} == 1
68         -DTIZEN_DUALSIM_ENABLE=1 \
69 %endif
70         .
71
72 make %{?_smp_mflags}
73
74 %install
75 %make_install
76
77 %if 0%{?gcov:1}
78 builddir=$(basename $PWD)
79 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
80 mkdir -p "$gcno_obj_dir"
81 find . -name '*.gcno' ! -iname '*mptcp*' ! -path '*/test/*' -exec cp --parents '{}' "$gcno_obj_dir" ';'
82 %endif
83
84 %if 0%{?asan} != 1
85 cat << EOF > run-unittest.sh
86 #!/bin/sh
87 setup() {
88     echo "setup start"
89 }
90
91 test_main() {
92     echo "test_main start"
93     /usr/bin/tct-connection-core
94 }
95
96 teardown() {
97     echo "teardown start"
98 }
99
100 main() {
101     setup
102     test_main
103     teardown
104 }
105
106 main "\$*"
107 EOF
108
109 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
110 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
111 %endif
112
113 %check
114 %if 0%{?gcov:1}
115 pushd unittest
116 ./run_coverage.sh
117 popd
118 %endif
119
120 %post -p /sbin/ldconfig
121
122 %postun -p /sbin/ldconfig
123
124 %files
125 %manifest capi-network-connection.manifest
126 %attr(644,-,-) %{_libdir}/libcapi-network-connection.so.*
127 %license LICENSE
128 %{_bindir}/connection_test
129
130 %files devel
131 %{_includedir}/network/*.h
132 %{_includedir}/tv/network/*.h
133 %{_libdir}/pkgconfig/*.pc
134 %{_libdir}/libcapi-network-connection.so
135
136 %if 0%{?gcov:1}
137 %files gcov
138 %{_datadir}/gcov/obj/*
139 %endif
140
141 %if 0%{?asan} != 1
142 %files unittests
143 %{_bindir}/tct-connection-core
144 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
145 %endif