summaryrefslogtreecommitdiff
path: root/packaging/libwidget_service.spec
blob: edcb704155d60c8a2e745d61771a8d3472fd2b48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
Name: libwidget_service
Summary: Service API for gathering installed widget information
Version: 1.2.59
Release: 1
Group: Applications/Core Applications
License: Flora-1.1
Source0: %{name}-%{version}.tar.gz
Source1001: %{name}.manifest
BuildRequires: cmake, gettext-tools, coreutils
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(db-util)
BuildRequires: pkgconfig(pkgmgr)
BuildRequires: pkgconfig(pkgmgr-info)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(bundle)
BuildRequires: pkgconfig(capi-appfw-app-common)
BuildRequires: pkgconfig(capi-base-common)
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(libtzplatform-config)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(aul)
BuildRequires: pkgconfig(cynara-client)
BuildRequires: pkgconfig(pkgmgr-installer)
BuildRequires: pkgconfig(iniparser)
BuildRequires: pkgconfig(libsmack)
BuildRequires: pkgconfig(gmock)

%if 0%{?gcov:1}
BuildRequires:  lcov
BuildRequires:  zip
%endif

%if "%{model_build_feature_widget}" == "0"
ExclusiveArch:
%endif

%define upgrade_script_path /usr/share/upgrade/scripts

%description
Service API for gathering information of installed widgetes

%package devel
Summary: Files for widget service
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}

%description devel
Gathering the installed widget information.

#################################################
# widget_service_gcov
#################################################
%if 0%{?gcov:1}
%package gcov
Summary:  Widget Service API(gcov)
Group:    Applications/Core Applications

%description gcov
gcov objects of a widget service library
%endif

%prep
%setup -q
cp %{SOURCE1001} .

%build
%if 0%{?gcov:1}
export CFLAGS+=" -fprofile-arcs -ftest-coverage"
export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
export FFLAGS+=" -fprofile-arcs -ftest-coverage"
export LDFLAGS+=" -lgcov"
%endif

MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
%cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
%__make %{?jobs:-j%jobs}

%if 0%{?gcov:1}
mkdir -p gcov-obj
find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
%endif

%check
ctest -V
%if 0%{?gcov:1}
lcov -c --ignore-errors graph --no-external -q -d . -o widget_service.info
genhtml widget_service.info -o widget_service.out
zip -r widget_service.zip widget_service.out widget_service.info
install -m 0644 widget_service.zip %{buildroot}%{_datadir}/gcov/
%endif

%install
rm -rf %{buildroot}
%make_install
mkdir -p %{buildroot}%{TZ_SYS_DB}
mkdir -p %{buildroot}%{_sysconfdir}/skel/.applications/dbspace

cat /dev/null > .widget.db
cat /dev/null > .widget.db-journal

install -m 0666 .widget.db %{buildroot}%{TZ_SYS_DB}
install -m 0666 .widget.db-journal %{buildroot}%{TZ_SYS_DB}
install -m 0666 .widget.db %{buildroot}%{_sysconfdir}/skel/.applications/dbspace
install -m 0666 .widget.db-journal %{buildroot}%{_sysconfdir}/skel/.applications/dbspace

%if 0%{?gcov:1}
mkdir -p %{buildroot}%{_datadir}/gcov/obj
install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
%endif

mkdir -p %{buildroot}%{upgrade_script_path}
cp -f scripts/505.widget_service_upgrade.sh %{buildroot}%{upgrade_script_path}

%post -n %{name}
/sbin/ldconfig
%{_bindir}/widget_recovery init

%postun -n %{name}
/sbin/ldconfig

%posttrans
if [ -e %{_sysconfdir}/config/model-config.xml ]; then
	PROFILE=`grep "feature\/profile" %{_sysconfdir}/config/model-config.xml`
	if [[ "${PROFILE}" == *"mobile"* ]]; then
		rm %{_datarootdir}/widget_service/wearable.resolution.ini
		mv -f %{_datarootdir}/widget_service/mobile.resolution.ini %{_datarootdir}/widget_service/resolution.ini
	elif [[ "${PROFILE}" == *"wearable"* ]]; then
		rm %{_datarootdir}/widget_service/mobile.resolution.ini
		mv -f %{_datarootdir}/widget_service/wearable.resolution.ini %{_datarootdir}/widget_service/resolution.ini
	else
		rm %{_datarootdir}/widget_service/mobile.resolution.ini
		rm %{_datarootdir}/widget_service/wearable.resolution.ini
	fi
else
	rm %{_datarootdir}/widget_service/mobile.resolution.ini
	rm %{_datarootdir}/widget_service/wearable.resolution.ini
fi

#################################################
# widget_service_unittests
#################################################
%package -n widget_service_unittests
Summary:    GTest for widget_service
Group:      Development/Libraries

%description -n widget_service_unittests
GTest for widget_service

%files -n widget_service_unittests
%{_bindir}/widget_service_unittests

%files -n %{name}
%manifest %{name}.manifest
%defattr(-,root,root,-)
%license LICENSE
%{_libdir}/libwidget_service.so.*
%{_sysconfdir}/package-manager/parserlib/libwidget-application.so
%{_sysconfdir}/skel/.applications/dbspace/.widget.db
%{_sysconfdir}/skel/.applications/dbspace/.widget.db-journal
%{TZ_SYS_DB}/.widget.db
%{TZ_SYS_DB}/.widget.db-journal
%{_bindir}/widget_test
%{_bindir}/widget_recovery
%{_datarootdir}/widget_service/*
%{_datarootdir}/parser-plugins/widget.info
%attr(0755,root,root) %{upgrade_script_path}/505.widget_service_upgrade.sh

%files devel
%manifest %{name}.manifest
%defattr(-,root,root,-)
%{_includedir}/widget_service/*
%{_libdir}/pkgconfig/widget_service.pc
%{_libdir}/libwidget_service.so

%if 0%{?gcov:1}
%files gcov
%{_datadir}/gcov/*
%endif

# End of a file