Release version 0.7.3
[platform/core/api/notification.git] / packaging / notification.spec
1 %bcond_with wayland
2 Name:       notification
3 Summary:    Notification library
4 Version:    0.7.3
5 Release:    1
6 Group:      Applications/Core Applications
7 License:    Apache-2.0
8 Source0:    %{name}-%{version}.tar.gz
9 BuildRequires: pkgconfig(sqlite3)
10 BuildRequires: pkgconfig(vconf)
11 BuildRequires: pkgconfig(bundle)
12 BuildRequires: pkgconfig(dbus-1)
13 BuildRequires: pkgconfig(dlog)
14 BuildRequires: pkgconfig(aul)
15 BuildRequires: pkgconfig(capi-appfw-app-control)
16 BuildRequires: pkgconfig(capi-appfw-app-common)
17 BuildRequires: pkgconfig(capi-appfw-package-manager)
18 BuildRequires: pkgconfig(pkgmgr-info)
19 BuildRequires: pkgconfig(libtzplatform-config)
20 BuildRequires: pkgconfig(glib-2.0)
21 BuildRequires: pkgconfig(iniparser)
22 BuildRequires: pkgconfig(security-manager)
23 BuildRequires: pkgconfig(libsmack)
24 BuildRequires: pkgconfig(gmock)
25 BuildRequires: pkgconfig(uuid)
26
27 %if 0%{?gcov:1}
28 BuildRequires:  lcov
29 BuildRequires:  zip
30 %endif
31
32 BuildRequires: cmake
33 Requires(post): /sbin/ldconfig
34 Requires(post): %{TZ_SYS_BIN}/sqlite3
35 Requires(postun): /sbin/ldconfig
36
37 %define upgrade_script_path /usr/share/upgrade/scripts
38
39 %description
40 Client/Server library for sending notifications.
41
42 %if 0%{?gcov:1}
43 %package gcov
44 Summary:  Notification API(gcov)
45 Group:    Applications/Core Applications
46
47 %description gcov
48 gcov objects of a notification library
49 %endif
50
51 %prep
52 %setup -q
53
54 %package devel
55 Summary:    Notification library (devel)
56 Group:      Development/Libraries
57 Requires:   %{name} = %{version}-%{release}
58
59 %description devel
60 Development files needed to build software that needs to system a system notification.
61
62 %build
63 %if 0%{?gcov:1}
64 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
65 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
66 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
67 export LDFLAGS+=" -lgcov"
68 %endif
69
70 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
71 %cmake . \
72         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
73         -DMAJORVER=${MAJORVER} -DFULLVER=%{version}
74 %__make %{?jobs:-j%jobs}
75
76 %check
77 ctest -V
78 %if 0%{?gcov:1}
79 lcov -c --ignore-errors graph --no-external -q -d . -o notification.info
80 genhtml notification.info -o notification.out
81 zip -r notification.zip notification.out
82 install -m 0644 notification.zip %{buildroot}%{_datadir}/gcov/obj/notification.zip
83 %endif
84
85 %install
86 rm -rf %{buildroot}
87 %make_install
88
89 %if 0%{?gcov:1}
90 builddir=$(basename $PWD)
91 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
92 mkdir -p "$gcno_obj_dir"
93 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
94 %endif
95
96 cat << EOF > run-unittest.sh
97 #!/bin/sh
98 setup() {
99     echo "setup start"
100 }
101
102 test_main() {
103     echo "test_main start"
104     /usr/bin/<NAME>-unittests
105 }
106
107 teardown() {
108     echo "teardown start"
109 }
110
111 main() {
112     setup
113     test_main
114     teardown
115 }
116
117 main "\$*"
118 EOF
119
120 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
121 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
122 sed -i -e 's/<NAME>/notification/g' %{buildroot}%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
123
124 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}-ex
125 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}-ex/
126 sed -i -e 's/<NAME>/notification-ex/g' %{buildroot}%{_bindir}/tizen-unittests/%{name}-ex/run-unittest.sh
127
128 mkdir -p %{buildroot}%{upgrade_script_path}
129 cp -f scripts/505.notification_upgrade.sh %{buildroot}%{upgrade_script_path}
130
131 %clean
132 rm -rf %{buildroot}
133
134 %post
135 /sbin/ldconfig
136
137 if [ ! -d %{TZ_SYS_DB} ]
138 then
139         mkdir %{TZ_SYS_DB}
140 fi
141
142 %postun -p /sbin/ldconfig
143
144 %files
145 %manifest notification.manifest
146 %defattr(-,root,root,-)
147 %{_libdir}/libnotification.so.*
148 %license LICENSE
149 %attr(755,root,root) %{_sysconfdir}/gumd/useradd.d/11_notification-add.post
150 %{_bindir}/notification_init
151 %attr(0755,root,root) %{upgrade_script_path}/505.notification_upgrade.sh
152 #%{_bindir}/notification-test-app
153
154 %files devel
155 %defattr(-,root,root,-)
156 %{_includedir}/notification/notification.h
157 %{_includedir}/notification/notification_db.h
158 %{_includedir}/notification/notification_internal.h
159 %{_includedir}/notification/notification_error.h
160 %{_includedir}/notification/notification_type.h
161 %{_includedir}/notification/notification_list.h
162 %{_includedir}/notification/notification_ongoing.h
163 %{_includedir}/notification/notification_ongoing_flag.h
164 %{_includedir}/notification/notification_text_domain.h
165 %{_includedir}/notification/notification_status.h
166 %{_includedir}/notification/notification_status_internal.h
167 %{_includedir}/notification/notification_setting.h
168 %{_includedir}/notification/notification_setting_internal.h
169 %{_includedir}/notification/notification_ipc.h
170 %{_includedir}/notification/notification_noti.h
171 %{_includedir}/notification/notification_setting_service.h
172 %{_includedir}/notification/notification_viewer.h
173 %{_includedir}/notification/notification_shared_file.h
174 %{_includedir}/notification/notification_type_internal.h
175 %{_libdir}/pkgconfig/notification.pc
176 %{_libdir}/libnotification.so
177
178 #################################################
179 # notification-ex
180 #################################################
181 %package -n %{name}-ex
182 Summary: Library for developing the notification
183 Group: Applications/Application Utility
184 License: Apache-2.0
185
186 %description -n %{name}-ex
187 Provide APIs to develop the notification.
188
189 %package -n %{name}-ex-devel
190 Summary: Notification development library (dev)
191 Group: Development/Libraries
192 Requires: %{name}-ex
193
194 %description -n %{name}-ex-devel
195 Header & package configuration files to support development of the notification.
196
197 %post -n %{name}-ex
198 /sbin/ldconfig
199
200 %postun -n %{name}-ex -p /sbin/ldconfig
201
202 %files -n %{name}-ex
203 %manifest %{name}-ex.manifest
204 %attr(0644,root,root) %{_libdir}/libnotification-ex.so.*
205 %license LICENSE
206
207 %files -n %{name}-ex-devel
208 %{_includedir}/notification-ex/*
209 %{_libdir}/pkgconfig/notification-ex.pc
210 %attr(0644,root,root) %{_libdir}/libnotification-ex.so
211
212 #################################################
213 # notification-ex-unittests
214 #################################################
215 %package -n notification-ex-unittests
216 Summary:    GTest for notification-ex
217 Group:      Development/Libraries
218
219 %description -n notification-ex-unittests
220 GTest for notification-ex
221
222 %files -n notification-ex-unittests
223 %{_bindir}/notification-ex-unittests
224 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
225
226 #################################################
227 # notification-unittests
228 #################################################
229 %package -n notification-unittests
230 Summary:    GTest for notification
231 Group:      Development/Libraries
232
233 %description -n notification-unittests
234 GTest for notification
235
236 %files -n notification-unittests
237 %{_bindir}/notification-unittests
238 %{_bindir}/tizen-unittests/%{name}-ex/run-unittest.sh
239
240 %if 0%{?gcov:1}
241 %files gcov
242 %{_datadir}/gcov/obj/*
243 %endif