Coverage Improvement of Contacts Service
[platform/core/pim/contacts-service.git] / packaging / contacts-service.spec
1 Name:       contacts-service
2 Summary:    Contacts Service
3 Version:    0.13.78
4 Release:    0
5 Group:      Social & Content/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    %{name}.service
9 Source2:    %{name}.socket
10 Source3:    %{name}-mobile.service
11 Source1001: %{name}.manifest
12 BuildRequires: cmake
13 BuildRequires: pkgconfig(db-util)
14 BuildRequires: pkgconfig(vconf)
15 BuildRequires: pkgconfig(dlog)
16 BuildRequires: pkgconfig(sqlite3)
17 BuildRequires: pkgconfig(tapi)
18 BuildRequires: pkgconfig(glib-2.0)
19 BuildRequires: pkgconfig(capi-base-common)
20 BuildRequires: pkgconfig(capi-media-image-util)
21 BuildRequires: pkgconfig(pims-ipc)
22 BuildRequires: pkgconfig(accounts-svc)
23 BuildRequires: pkgconfig(libexif)
24 BuildRequires: pkgconfig(libsmack)
25 BuildRequires: pkgconfig(libtzplatform-config)
26 BuildRequires: pkgconfig(cynara-client)
27 BuildRequires: pkgconfig(cynara-session)
28 BuildRequires: pkgconfig(cynara-creds-socket)
29 BuildRequires: pkgconfig(capi-system-info)
30 BuildRequires: pkgconfig(icu-uc)
31 BuildRequires: pkgconfig(phonenumber-utils)
32 BuildRequires: pkgconfig(libsystemd)
33 %if 0%{?gcov:1}
34 BuildRequires: lcov
35 %endif
36 Requires(post): /sbin/ldconfig
37 Requires(postun): /sbin/ldconfig
38
39 %description
40 Contacts Service Library
41
42 %package -n lib%{name}
43 Summary:        New Contacts service library
44 Requires:       %{name} = %{version}-%{release}
45 %description -n lib%{name}
46 New Contact Serivce Client Library
47
48 %package devel
49 Summary:  Contacts Service(devel)
50 Group:    Social & Content/Development
51 Requires: lib%{name} = %{version}-%{release}
52 %description devel
53 New Contacts Service Library (devel) files
54
55 %package test
56 Summary:  Contacts Service(test)
57 Group:    Social & Content/Testing
58 Requires: lib%{name} = %{version}-%{release}
59 %description test
60 New Contacts Service Test Program
61
62 #################################################
63 # gcov
64 #################################################
65 %if 0%{?gcov:1}
66 %package gcov
67 Summary:    COntacts library (gcov)
68 Group:      Service Framework/Testing
69 %description gcov
70 gcov objects for coverage test
71 %endif
72
73 %prep
74 %setup -q
75 chmod g-w %_sourcedir/*
76 cp %{SOURCE1001} ./%{name}.manifest
77 cp %{SOURCE1001} ./%{name}-test.manifest
78
79 %build
80 %if 0%{?gcov:1}
81 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
82 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
83 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
84 export LDFLAGS+=" -lgcov"
85 %endif
86
87 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
88 %cmake . -DCMAKE_VERBOSE_MAKEFILE=OFF \
89         -DMAJORVER=${MAJORVER} -DFULLVER=%{version} \
90         -DBIN_INSTALL_DIR:PATH=%{_bindir} \
91         -DTZ_SYS_ETC=%TZ_SYS_ETC \
92         -DENABLE_LOG_FEATURE:BOOL=ON \
93         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
94
95 %__make %{?_smp_mflags}
96
97 %install
98 rm -rf %{buildroot}
99
100 %make_install
101
102 %if 0%{?gcov:1}
103 builddir=$(basename $PWD)
104 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
105 mkdir -p "$gcno_obj_dir"
106 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
107 %endif
108
109 mkdir -p %{buildroot}%{_unitdir_user}/delayed.target.wants
110 install -m 0644 %SOURCE3 %{buildroot}%{_unitdir_user}/contacts-service.service.mobile
111 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir_user}/contacts-service.service
112 ln -s ../contacts-service.service %{buildroot}%{_unitdir_user}/delayed.target.wants/contacts-service.service
113
114 mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
115 install -m 0644 %SOURCE2 %{buildroot}%{_unitdir_user}/contacts-service.socket
116 ln -s ../contacts-service.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/contacts-service.socket
117
118 %post
119 _PROFILE=`grep "TZ_BUILD_PROFILE" "/etc/tizen-build.conf" | awk -F '=' '{print $2}'`
120 if [ "$_PROFILE" != "mobile" ]
121 then
122         rm %{_unitdir_user}/contacts-service.service.mobile
123 else
124         mv %{_unitdir_user}/contacts-service.service.mobile %{_unitdir_user}/contacts-service.service
125 fi
126
127 %post test
128 chsmack -e "User" /usr/bin/contacts-service-test
129
130 %post -n lib%{name} -p /sbin/ldconfig
131
132
133 %postun -n lib%{name} -p /sbin/ldconfig
134
135
136 %files
137 %manifest %{name}.manifest
138 %defattr(-,root,root,-)
139 %{_bindir}/contacts-service-ipcd*
140 %{_unitdir_user}/contacts-service.service
141 %{_unitdir_user}/contacts-service.service.mobile
142 %{_unitdir_user}/delayed.target.wants/contacts-service.service
143 %{_unitdir_user}/sockets.target.wants/contacts-service.socket
144 %{_unitdir_user}/contacts-service.socket
145 %license LICENSE.APLv2
146
147 %files -n lib%{name}
148 %manifest %{name}.manifest
149 %defattr(-,root,root,-)
150 %{_libdir}/libcontacts-service2.so.*
151 %license LICENSE.APLv2
152
153 %files devel
154 %defattr(-,root,root,-)
155 %{_libdir}/libcontacts-service2.so
156 %{_libdir}/pkgconfig/contacts-service2.pc
157 %{_includedir}/contacts-svc/contacts.h
158 %{_includedir}/contacts-svc/contacts_*.h
159 %license LICENSE.APLv2
160
161 %files test
162 %manifest %{name}-test.manifest
163 %defattr(-,root,root,-)
164 %{_bindir}/contacts-service-test
165 %license LICENSE.APLv2
166
167 %if 0%{?gcov:1}
168 %files gcov
169 %{_datadir}/gcov/obj/*
170 %endif