Merge "Make a gcov package for measuring coverage easier" into tizen
[platform/core/api/notification.git] / packaging / notification.spec
1 %bcond_with wayland
2 Name:       notification
3 Summary:    Notification library
4 Version:    0.5.22
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 BuildRequires: cmake
28 Requires(post): /sbin/ldconfig
29 Requires(post): %{TZ_SYS_BIN}/sqlite3
30 Requires(postun): /sbin/ldconfig
31
32 %define upgrade_script_path /usr/share/upgrade/scripts
33
34 %description
35 Client/Server library for sending notifications.
36
37 %if 0%{?gcov:1}
38 %package gcov
39 Summary:  Notification API(gcov)
40 Group:    Applications/Core Applications
41
42 %description gcov
43 gcov objects of a notification library
44 %endif
45
46 %prep
47 %setup -q
48
49 %package devel
50 Summary:    Notification library (devel)
51 Group:      Development/Libraries
52 Requires:   %{name} = %{version}-%{release}
53
54 %description devel
55 Development files needed to build software that needs to system a system notification.
56
57 %build
58 %if 0%{?gcov:1}
59 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
60 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
61 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
62 export LDFLAGS+=" -lgcov"
63 %endif
64
65 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
66 %cmake . \
67         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
68         -DMAJORVER=${MAJORVER} -DFULLVER=%{version}
69 %__make %{?jobs:-j%jobs}
70
71 %if 0%{?gcov:1}
72 mkdir -p gcov-obj
73 find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
74 %endif
75
76
77 %install
78 rm -rf %{buildroot}
79
80 %make_install
81
82 %if 0%{?gcov:1}
83 mkdir -p %{buildroot}%{_datadir}/gcov/obj
84 install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
85 %endif
86
87 mkdir -p %{buildroot}%{upgrade_script_path}
88 cp -f scripts/505.notification_upgrade.sh %{buildroot}%{upgrade_script_path}
89
90 %check
91 ctest --output-on-failure %{?_smp_mflags}
92
93 %clean
94 rm -rf %{buildroot}
95
96 %post
97 /sbin/ldconfig
98
99 if [ ! -d %{TZ_SYS_DB} ]
100 then
101         mkdir %{TZ_SYS_DB}
102 fi
103
104 %postun -p /sbin/ldconfig
105
106 %files
107 %manifest notification.manifest
108 %defattr(-,root,root,-)
109 %{_libdir}/libnotification.so.*
110 %license LICENSE
111 %attr(755,root,root) %{_sysconfdir}/gumd/useradd.d/11_notification-add.post
112 %{_bindir}/notification_init
113 %{upgrade_script_path}/505.notification_upgrade.sh
114 #%{_bindir}/notification-test-app
115
116 %files devel
117 %defattr(-,root,root,-)
118 %{_includedir}/notification/notification.h
119 %{_includedir}/notification/notification_db.h
120 %{_includedir}/notification/notification_internal.h
121 %{_includedir}/notification/notification_error.h
122 %{_includedir}/notification/notification_type.h
123 %{_includedir}/notification/notification_list.h
124 %{_includedir}/notification/notification_ongoing.h
125 %{_includedir}/notification/notification_ongoing_flag.h
126 %{_includedir}/notification/notification_text_domain.h
127 %{_includedir}/notification/notification_status.h
128 %{_includedir}/notification/notification_status_internal.h
129 %{_includedir}/notification/notification_setting.h
130 %{_includedir}/notification/notification_setting_internal.h
131 %{_includedir}/notification/notification_ipc.h
132 %{_includedir}/notification/notification_noti.h
133 %{_includedir}/notification/notification_setting_service.h
134 %{_includedir}/notification/notification_viewer.h
135 %{_includedir}/notification/notification_shared_file.h
136 %{_includedir}/notification/notification_type_internal.h
137 %{_libdir}/pkgconfig/notification.pc
138 %{_libdir}/libnotification.so
139
140
141
142 #################################################
143 # notification-ex
144 #################################################
145 %package -n %{name}-ex
146 Summary: Library for developing the notification
147 Group: Applications/Application Utility
148 License: Apache-2.0
149
150 %description -n %{name}-ex
151 Provide APIs to develop the notification.
152
153 %package -n %{name}-ex-devel
154 Summary: Notification development library (dev)
155 Group: Development/Libraries
156 Requires: %{name}-ex
157
158 %description -n %{name}-ex-devel
159 Header & package configuration files to support development of the notification.
160
161 %post -n %{name}-ex
162 /sbin/ldconfig
163
164 %postun -n %{name}-ex -p /sbin/ldconfig
165
166 %files -n %{name}-ex
167 %manifest %{name}-ex.manifest
168 %attr(0644,root,root) %{_libdir}/libnotification-ex.so.*
169 %license LICENSE
170
171 %files -n %{name}-ex-devel
172 %{_includedir}/notification-ex/*
173 %{_libdir}/pkgconfig/notification-ex.pc
174 %attr(0644,root,root) %{_libdir}/libnotification-ex.so
175
176
177 #################################################
178 # notification-ex_unittests
179 #################################################
180 %package -n notification-ex_unittests
181 Summary:    GTest for notification-ex
182 Group:      Development/Libraries
183
184 %description -n notification-ex_unittests
185 GTest for notification-ex
186
187 %files -n notification-ex_unittests
188 %{_bindir}/notification-ex_unittests
189
190 %if 0%{?gcov:1}
191 %files gcov
192 %{_datadir}/gcov/obj/*
193 %endif