Release version 1.4.21
[platform/core/appfw/message-port.git] / packaging / message-port.spec
1 Name:       message-port
2 Summary:    Message Port library
3 Version:    1.4.21
4 Release:    0
5 Group:      Application Framework/Libraries
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 BuildRequires:  cmake
10 BuildRequires:  pkgconfig(dlog)
11 BuildRequires:  pkgconfig(bundle)
12 BuildRequires:  pkgconfig(glib-2.0)
13 BuildRequires:  pkgconfig(aul)
14 BuildRequires:  pkgconfig(pkgmgr)
15 BuildRequires:  pkgconfig(pkgmgr-info)
16 BuildRequires:  pkgconfig(gmock)
17
18 %if 0%{?gcov:1}
19 BuildRequires:  lcov
20 %endif
21
22 Requires(post): /sbin/ldconfig
23 Requires(post): coreutils
24 Requires(postun): /sbin/ldconfig
25
26 Provides: capi-message-port
27 Provides: libcapi-message-port.so.1
28
29 %description
30 Message Port library package.
31
32 %package devel
33 Summary:  Message Port library (Development)
34 Group:    Application Framework/Development
35 Requires: %{name} = %{version}-%{release}
36
37 %description devel
38 Message Port library (Development) package.
39
40 %if 0%{?gcov:1}
41 %package gcov
42 Summary:  Message Port API(gcov)
43 Group:    Application Framework/Libraries
44
45 %description gcov
46 gcov objects of a message port library
47 %endif
48
49 %package unittests
50 Summary:    %{name} unittests binary
51
52 %description unittests
53 unittests binary
54
55 %prep
56 %setup -q
57 cp %{SOURCE1001} .
58
59 %build
60 %if 0%{?gcov:1}
61 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
62 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
63 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
64 export LDFLAGS+=" -lgcov"
65 %endif
66
67 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
68 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
69 # Call make instruction with smp support
70 %__make %{?jobs:-j%jobs}
71
72 %install
73 rm -rf %{buildroot}
74
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' -exec cp --parents '{}' "$gcno_obj_dir" ';'
82 %endif
83
84 cat << EOF > run-unittest.sh
85 #!/bin/sh
86 setup() {
87     echo "setup start"
88 }
89
90 test_main() {
91     echo "test_main start"
92     /usr/bin/message-port-unit-tests
93 }
94
95 teardown() {
96     echo "teardown start"
97 }
98
99 main() {
100     setup
101     test_main
102     teardown
103 }
104
105 main "\$*"
106 EOF
107
108 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
109 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
110
111 %check
112 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir}/
113 ctest -V
114
115 %if 0%{?gcov:1}
116 lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
117 genhtml %{name}.info -o out --legend --show-details
118 %endif
119
120 %post -p /sbin/ldconfig
121
122 %postun -p /sbin/ldconfig
123
124 %files
125 %manifest %{name}.manifest
126 %attr(0644,root,root) %{_libdir}/lib%{name}.so.*
127 %attr(0644,root,root) %{_libdir}/libcapi-message-port.so.*
128 %config %{_sysconfdir}/dbus-1/session.d/message-port.conf
129 %license LICENSE.APLv2
130
131 %files devel
132 %{_includedir}/appfw/*.h
133 %{_libdir}/pkgconfig/*.pc
134 %{_libdir}/lib%{name}.so
135
136 %files unittests
137 %attr(0755,root,root) %{_bindir}/message-port-unit-test
138 %attr(0755,root,root) %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
139
140 %if 0%{?gcov:1}
141 %files gcov
142 %{_datadir}/gcov/*
143
144 %endif