Release version 1.2.69
[platform/core/appfw/widget-service.git] / packaging / libwidget_service.spec
1 Name: libwidget_service
2 Summary: Service API for gathering installed widget information
3 Version: 1.2.69
4 Release: 1
5 Group: Applications/Core Applications
6 License: Flora-1.1
7 Source0: %{name}-%{version}.tar.gz
8 Source1001: %{name}.manifest
9 BuildRequires: cmake, gettext-tools, coreutils
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(glib-2.0)
12 BuildRequires: pkgconfig(gio-2.0)
13 BuildRequires: pkgconfig(sqlite3)
14 BuildRequires: pkgconfig(db-util)
15 BuildRequires: pkgconfig(pkgmgr)
16 BuildRequires: pkgconfig(pkgmgr-info)
17 BuildRequires: pkgconfig(uuid)
18 BuildRequires: pkgconfig(vconf)
19 BuildRequires: pkgconfig(icu-uc)
20 BuildRequires: pkgconfig(bundle)
21 BuildRequires: pkgconfig(capi-appfw-app-common)
22 BuildRequires: pkgconfig(capi-base-common)
23 BuildRequires: pkgconfig(capi-system-info)
24 BuildRequires: pkgconfig(libtzplatform-config)
25 BuildRequires: pkgconfig(libxml-2.0)
26 BuildRequires: pkgconfig(aul)
27 BuildRequires: pkgconfig(cynara-client)
28 BuildRequires: pkgconfig(pkgmgr-installer)
29 BuildRequires: pkgconfig(iniparser)
30 BuildRequires: pkgconfig(libsmack)
31 BuildRequires: pkgconfig(gmock)
32
33 %if 0%{?gcov:1}
34 BuildRequires:  lcov
35 BuildRequires:  zip
36 %endif
37
38 %if "%{model_build_feature_widget}" == "0"
39 ExclusiveArch:
40 %endif
41
42 %define upgrade_script_path /usr/share/upgrade/scripts
43
44 %description
45 Service API for gathering information of installed widgetes
46
47 %package devel
48 Summary: Files for widget service
49 Group: Development/Libraries
50 Requires: %{name} = %{version}-%{release}
51
52 %description devel
53 Gathering the installed widget information.
54
55 #################################################
56 # widget_service_gcov
57 #################################################
58 %if 0%{?gcov:1}
59 %package gcov
60 Summary:  Widget Service API(gcov)
61 Group:    Applications/Core Applications
62
63 %description gcov
64 gcov objects of a widget service library
65 %endif
66
67 %prep
68 %setup -q
69 cp %{SOURCE1001} .
70
71 %build
72 %if 0%{?gcov:1}
73 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
74 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
75 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
76 export LDFLAGS+=" -lgcov"
77 %endif
78
79 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
80 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
81 %__make %{?jobs:-j%jobs}
82
83 %check
84 ctest -V
85 %if 0%{?gcov:1}
86 lcov -c --ignore-errors graph --no-external -q -d . -o widget_service.info
87 genhtml widget_service.info -o widget_service.out
88 zip -r widget_service.zip widget_service.out widget_service.info
89 install -m 0644 widget_service.zip %{buildroot}%{_datadir}/gcov/obj/
90 %endif
91
92 %install
93 rm -rf %{buildroot}
94 %make_install
95 mkdir -p %{buildroot}%{TZ_SYS_DB}
96 mkdir -p %{buildroot}%{_sysconfdir}/skel/.applications/dbspace
97
98 cat /dev/null > .widget.db
99 cat /dev/null > .widget.db-journal
100
101 install -m 0666 .widget.db %{buildroot}%{TZ_SYS_DB}
102 install -m 0666 .widget.db-journal %{buildroot}%{TZ_SYS_DB}
103 install -m 0666 .widget.db %{buildroot}%{_sysconfdir}/skel/.applications/dbspace
104 install -m 0666 .widget.db-journal %{buildroot}%{_sysconfdir}/skel/.applications/dbspace
105
106 %if 0%{?gcov:1}
107 builddir=$(basename $PWD)
108 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
109 mkdir -p "$gcno_obj_dir"
110 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
111 %endif
112
113 cat << EOF > run-unittest.sh
114 #!/bin/sh
115 setup() {
116     echo "setup start"
117 }
118
119 test_main() {
120     echo "test_main start"
121     /usr/bin/widget_service_unittests
122 }
123
124 teardown() {
125     echo "teardown start"
126 }
127
128 main() {
129     setup
130     test_main
131     teardown
132 }
133
134 main "\$*"
135 EOF
136
137 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
138 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
139
140 mkdir -p %{buildroot}%{upgrade_script_path}
141 cp -f scripts/505.widget_service_upgrade.sh %{buildroot}%{upgrade_script_path}
142
143 %post -n %{name}
144 /sbin/ldconfig
145 %{_bindir}/widget_recovery init
146
147 %postun -n %{name}
148 /sbin/ldconfig
149
150 %posttrans
151 if [ -e %{_sysconfdir}/config/model-config.xml ]; then
152         PROFILE=`grep "feature\/profile" %{_sysconfdir}/config/model-config.xml`
153         if [[ "${PROFILE}" == *"mobile"* ]]; then
154                 rm %{_datarootdir}/widget_service/wearable.resolution.ini
155                 mv -f %{_datarootdir}/widget_service/mobile.resolution.ini %{_datarootdir}/widget_service/resolution.ini
156         elif [[ "${PROFILE}" == *"wearable"* ]]; then
157                 rm %{_datarootdir}/widget_service/mobile.resolution.ini
158                 mv -f %{_datarootdir}/widget_service/wearable.resolution.ini %{_datarootdir}/widget_service/resolution.ini
159         else
160                 rm %{_datarootdir}/widget_service/mobile.resolution.ini
161                 rm %{_datarootdir}/widget_service/wearable.resolution.ini
162         fi
163 else
164         rm %{_datarootdir}/widget_service/mobile.resolution.ini
165         rm %{_datarootdir}/widget_service/wearable.resolution.ini
166 fi
167
168 #################################################
169 # widget_service_unittests
170 #################################################
171 %package -n widget_service_unittests
172 Summary:    GTest for widget_service
173 Group:      Development/Libraries
174
175 %description -n widget_service_unittests
176 GTest for widget_service
177
178 %files -n widget_service_unittests
179 %{_bindir}/widget_service_unittests
180 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
181
182 %files -n %{name}
183 %manifest %{name}.manifest
184 %defattr(-,root,root,-)
185 %license LICENSE
186 %{_libdir}/libwidget_service.so.*
187 %{_sysconfdir}/package-manager/parserlib/libwidget-application.so
188 %{_sysconfdir}/skel/.applications/dbspace/.widget.db
189 %{_sysconfdir}/skel/.applications/dbspace/.widget.db-journal
190 %{TZ_SYS_DB}/.widget.db
191 %{TZ_SYS_DB}/.widget.db-journal
192 %{_bindir}/widget_test
193 %{_bindir}/widget_recovery
194 %{_datarootdir}/widget_service/*
195 %{_datarootdir}/parser-plugins/widget.info
196 %attr(0755,root,root) %{upgrade_script_path}/505.widget_service_upgrade.sh
197
198 %files devel
199 %manifest %{name}.manifest
200 %defattr(-,root,root,-)
201 %{_includedir}/widget_service/*
202 %{_libdir}/pkgconfig/widget_service.pc
203 %{_libdir}/libwidget_service.so
204
205 %if 0%{?gcov:1}
206 %files gcov
207 %{_datadir}/gcov/obj/*
208 %endif
209
210 # End of a file