Release version 0.3.23
[platform/core/appfw/badge.git] / packaging / badge.spec
1 Name:       badge
2 Summary:    Badge library
3 Version:    0.3.23
4 Release:    1
5 Group:      Applications/Core Applications
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 BuildRequires: pkgconfig(aul)
9 BuildRequires: pkgconfig(dbus-1)
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(vconf)
12 BuildRequires: pkgconfig(capi-appfw-package-manager)
13 BuildRequires: pkgconfig(db-util)
14 BuildRequires: pkgconfig(libtzplatform-config)
15 BuildRequires: pkgconfig(pkgmgr-info)
16 BuildRequires: pkgconfig(libsmack)
17 BuildRequires: pkgconfig(capi-system-info)
18 BuildRequires: pkgconfig(gio-2.0)
19 BuildRequires: pkgconfig(gmock)
20
21 %if 0%{?gcov:1}
22 BuildRequires:  lcov
23 BuildRequires:  zip
24 %endif
25
26 BuildRequires: cmake
27 Requires(post): /sbin/ldconfig
28 requires(postun): /sbin/ldconfig
29
30 %description
31 Client/Server library for updating badge information
32
33 %package devel
34 Summary:    Badge library (devel)
35 Group:      Development/Libraries
36 Requires:   %{name} = %{version}-%{release}
37
38 %description devel
39 Development files needed to build software that needs to system a system badge.
40
41 %package service-devel
42 Summary:    Badge library (service-devel)
43 Group:      Development/Libraries
44 Requires:   %{name} = %{version}-%{release}
45
46 %description service-devel
47 Development files needed to build badge service
48
49 #################################################
50 # badge-unittests
51 #################################################
52 %package unittests
53 Summary:    GTest for badge API
54 Group:      Development/Libraries
55 Requires:   %{name}
56
57 %description unittests
58 GTest for badge API
59
60 #################################################
61 # gcov
62 #################################################
63 %if 0%{?gcov:1}
64 %package gcov
65 Summary:  Badge library (gcov)
66 Group:    System/API
67
68 %description gcov
69 gcov objects of a Badge library
70 %endif
71
72 %prep
73 %setup -q
74
75 %build
76 %if 0%{?gcov:1}
77 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
78 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
79 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
80 export LDFLAGS+=" -lgcov"
81 %endif
82
83 export LDFLAGS+=" -Wl,--rpath=%{_prefix}/lib -Wl,--as-needed"
84 LDFLAGS="$LDFLAGS"
85 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
86 %cmake . \
87         -DMAJORVER=${MAJORVER} \
88         -DFULLVER=%{version}
89 make %{?jobs:-j%jobs}
90
91 %check
92 export LD_LIBRARY_PATH=../../src
93 ctest -V
94 %if 0%{?gcov:1}
95 lcov -c --ignore-errors graph --no-external -q -d . -o badge.info
96 genhtml badge.info -o badge.out
97 zip -r badge.zip badge.out
98 install -m 0644 badge.zip %{buildroot}%{_datadir}/gcov/badge.zip
99 %endif
100
101 %install
102
103 %make_install
104
105 %if 0%{?gcov:1}
106 builddir=$(basename $PWD)
107 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
108 mkdir -p "$gcno_obj_dir"
109 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
110 %endif
111
112 cat << EOF > run-unittest.sh
113 #!/bin/sh
114 setup() {
115     echo "setup start"
116 }
117
118 test_main() {
119     echo "test_main start"
120     /usr/bin/badge_unittests
121 }
122
123 teardown() {
124     echo "teardown start"
125 }
126
127 main() {
128     setup
129     test_main
130     teardown
131 }
132
133 main "\$*"
134 EOF
135
136 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
137 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
138
139 %post
140 /sbin/ldconfig
141
142 if [ ! -d %{TZ_SYS_DB} ]
143 then
144         mkdir -p %{TZ_SYS_DB}
145 fi
146
147 %postun -p /sbin/ldconfig
148
149 %files
150 %manifest badge.manifest
151 %defattr(-,root,root,-)
152 %{_libdir}/libbadge.so.*
153 %license LICENSE
154 %{_includedir}/badge/badge.h
155 %{_includedir}/badge/badge_error.h
156 %{_includedir}/badge/badge_internal.h
157 %{_includedir}/badge/badge_setting.h
158 %{_includedir}/badge/badge_setting_service.h
159 %{_includedir}/badge/badge_ipc.h
160 %attr(755,root,root) %{_sysconfdir}/gumd/useradd.d/11_badge-add.post
161 %{_bindir}/badge_init
162
163 %files devel
164 %defattr(-,root,root,-)
165 %{_includedir}/badge/badge.h
166 %{_includedir}/badge/badge_error.h
167 %{_includedir}/badge/badge_internal.h
168 %{_includedir}/badge/badge_db.h
169 %{_includedir}/badge/badge_setting.h
170 %{_includedir}/badge/badge_setting_service.h
171 %{_includedir}/badge/badge_ipc.h
172 %{_libdir}/pkgconfig/%{name}.pc
173 %{_libdir}/libbadge.so
174
175 %files unittests
176 %{_bindir}/badge_unittests
177 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
178
179 #################################################
180 # badge-gcov
181 #################################################
182 %if 0%{?gcov:1}
183 %files gcov
184 %{_datadir}/gcov/*
185 %endif
186 # End of a file