2 Summary: RPC Port library
5 Group: Application Framework/Libraries
7 Source0: %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 Source1002: rpc-port-benchmark-server-dbus.service
10 Source1003: rpc-port-benchmark-server-tidl.service
11 Source1004: rpc-port-benchmark-server-tidl.socket
12 Source1005: tizen.appfw.rpcport.benchmark.dbus.busname
13 Source1006: tizen.appfw.rpcport.benchmark.dbus.service
14 Source1007: rpc-port-benchmark-client-dbus.service
15 Source1008: rpc-port-benchmark-client-tidl.service
17 BuildRequires: pkgconfig(aul)
18 BuildRequires: pkgconfig(bundle)
19 BuildRequires: pkgconfig(cynara-client)
20 BuildRequires: pkgconfig(cynara-creds-socket)
21 BuildRequires: pkgconfig(dlog)
22 BuildRequires: pkgconfig(glib-2.0)
23 BuildRequires: pkgconfig(gmock)
24 BuildRequires: pkgconfig(libtzplatform-config)
25 BuildRequires: pkgconfig(parcel)
26 BuildRequires: pkgconfig(pkgmgr-info)
27 BuildRequires: pkgconfig(tizen-shared-queue)
28 BuildRequires: pkgconfig(uuid)
29 BuildRequires: pkgconfig(grpc)
30 BuildRequires: pkgconfig(protobuf)
31 BuildRequires: pkgconfig(libsystemd)
38 Requires(post): /sbin/ldconfig
39 Requires(post): coreutils
40 Requires(postun): /sbin/ldconfig
42 Recommends: amd-mod-rpc-port
45 RPC Port library package.
48 Summary: RPC Port library (Development)
49 Group: Application Framework/Development
50 Requires: %{name} = %{version}-%{release}
53 RPC Port library (Development) package.
55 #################################################
57 #################################################
59 Summary: GTest for rpc-port
60 Group: Development/Libraries
63 %description unittests
66 #################################################
68 #################################################
71 Summary: RPC Port(gcov)
72 Group: Application Framework/Testing
79 Summary: Benchmark tool for rpc-port
80 Group: Application Framework/Testing
83 %description benchmark
84 Benchmark tool for rpc-port
99 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
100 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
101 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
102 export LDFLAGS+=" -lgcov"
105 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
106 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
107 # Call make instruction with smp support
108 %__make %{?jobs:-j%jobs}
111 export LD_LIBRARY_PATH="../../src"
112 ctest -V %{?_smp_mflags}
115 lcov -c --ignore-errors mismatch,graph,unused --no-external -b . -d . -o %{name}.info
116 genhtml %{name}.info -o out --legend --show-details
124 mkdir -p %{buildroot}%{_unitdir}
125 install -m 0644 %{SOURCE1002} %{buildroot}%{_unitdir}/rpc-port-benchmark-server-dbus.service
126 install -m 0644 %{SOURCE1003} %{buildroot}%{_unitdir}/rpc-port-benchmark-server-tidl.service
128 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
129 install -m 0644 %{SOURCE1004} %{buildroot}%{_unitdir}/rpc-port-benchmark-server-tidl.socket
130 ln -sf ../rpc-port-benchmark-server-tidl.socket %{buildroot}%{_unitdir}/sockets.target.wants/rpc-port-benchmark-server-tidl.socket
132 mkdir -p %{buildroot}%{_unitdir}/busnames.target.wants
133 install -m 0644 %{SOURCE1005} %{buildroot}%{_unitdir}/tizen.appfw.rpcport.benchmark.dbus.busname
134 ln -sf ../tizen.appfw.rpcport.benchmark.dbus.busname %{buildroot}%{_unitdir}/busnames.target.wants/tizen.appfw.rpcport.benchmark.dbus.busname
136 mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
137 install -m 0644 %{SOURCE1006} %{buildroot}%{_datadir}/dbus-1/system-services/tizen.appfw.rpcport.benchmark.dbus.service
139 mkdir -p %{buildroot}%{_unitdir}/sysinit.target.wants
140 install -m 0644 %{SOURCE1007} %{buildroot}%{_unitdir}/rpc-port-benchmark-client-dbus.service
141 ln -sf ../rpc-port-benchmark-client-dbus.service %{buildroot}%{_unitdir}/sysinit.target.wants/rpc-port-benchmark-client-dbus.service
143 install -m 0644 %{SOURCE1008} %{buildroot}%{_unitdir}/rpc-port-benchmark-client-tidl.service
144 ln -sf ../rpc-port-benchmark-client-tidl.service %{buildroot}%{_unitdir}/sysinit.target.wants/rpc-port-benchmark-client-tidl.service
147 builddir=$(basename $PWD)
148 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
149 mkdir -p "$gcno_obj_dir"
150 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
153 cat << EOF > run-unittest.sh
155 GCOV_PATH="/tmp/home/abuild/rpmbuild/BUILD"
156 PAKCAGE="%{name}-%{version}"
159 ## Sets the permission for applications
160 /usr/bin/find /tmp/home/ -print | /usr/bin/xargs -n1 /usr/bin/chsmack -a "System::Run" &> /dev/null
161 /usr/bin/find /tmp/home/ -print | /usr/bin/xargs -n1 /usr/bin/chsmack -a "System::Run" -t &> /dev/null
162 /usr/bin/chmod -R 777 /tmp/home/
167 /usr/bin/mkdir -p "${GCOV_PATH}/${PACKAGE}"
172 echo "test_main start"
173 export "GCOV_PREFIX=/tmp"
174 /usr/bin/rpc-port-util -n test_port &
175 /usr/bin/rpc-port_unittests
179 echo "teardown start"
181 killall rpc-port-util
193 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
194 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
196 %post -p /sbin/ldconfig
198 %postun -p /sbin/ldconfig
201 %manifest %{name}.manifest
202 %attr(0644,root,root) %{_libdir}/lib%{name}.so.*
203 %license LICENSE.APLv2
204 %{_bindir}/rpc-port-util
205 %config %{_sysconfdir}/dbus-1/system.d/rpc-port.conf
208 %{_includedir}/rpc-port/*.h
209 %{_libdir}/pkgconfig/*.pc
210 %{_libdir}/lib%{name}.so
212 #################################################
214 #################################################
216 %{_bindir}/rpc-port_unittests
217 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
219 #################################################
221 #################################################
228 %manifest %{name}.manifest
229 %config %{_sysconfdir}/dbus-1/system.d/rpc-port-benchmark.conf
230 %{_bindir}/rpc-port-benchmark-server-tidl
231 %{_bindir}/rpc-port-benchmark-server-dbus
232 %{_bindir}/rpc-port-benchmark-server-grpc
233 %{_bindir}/rpc-port-benchmark-tool
234 %attr(0644,root,root) %{_unitdir}/rpc-port-benchmark-server-tidl.service
235 %attr(0644,root,root) %{_unitdir}/rpc-port-benchmark-server-tidl.socket
236 %attr(0644,root,root) %{_unitdir}/sockets.target.wants/rpc-port-benchmark-server-tidl.socket
237 %attr(0644,root,root) %{_unitdir}/rpc-port-benchmark-server-dbus.service
238 %attr(0644,root,root) %{_unitdir}/tizen.appfw.rpcport.benchmark.dbus.busname
239 %attr(0644,root,root) %{_unitdir}/busnames.target.wants/tizen.appfw.rpcport.benchmark.dbus.busname
240 %attr(0644,root,root) %{_datadir}/dbus-1/system-services/tizen.appfw.rpcport.benchmark.dbus.service
241 %attr(0644,root,root) %{_unitdir}/rpc-port-benchmark-client-tidl.service
242 %attr(0644,root,root) %{_unitdir}/sysinit.target.wants/rpc-port-benchmark-client-tidl.service
243 %attr(0644,root,root) %{_unitdir}/rpc-port-benchmark-client-dbus.service
244 %attr(0644,root,root) %{_unitdir}/sysinit.target.wants/rpc-port-benchmark-client-dbus.service