Remove unused pkgmgr dependency
[platform/core/api/system-settings.git] / packaging / capi-system-system-settings.spec
1 Name:       capi-system-system-settings
2 Summary:    A System Settings library in Tizen Native API
3 Version:    0.0.5
4 Release:    0
5
6 Group:      System/System Info
7 License:    Apache-2.0
8 URL : https://git.tizen.org/cgit/platform/core/api/system-settings
9 Source0:    %{name}-%{version}.tar.gz
10 Source1001: %{name}.manifest
11
12 BuildRequires:  cmake
13 BuildRequires:  pkgconfig(dlog)
14 BuildRequires:  pkgconfig(vconf)
15 BuildRequires:  pkgconfig(aul)
16 BuildRequires:  pkgconfig(fontconfig)
17 BuildRequires:  pkgconfig(libxml-2.0)
18 BuildRequires:  pkgconfig(pkgmgr-info)
19 BuildRequires:  pkgconfig(libtzplatform-config)
20 BuildRequires:  pkgconfig(alarm-service)
21 BuildRequires:  pkgconfig(uuid)
22 BuildRequires:  pkgconfig(capi-media-metadata-extractor)
23 BuildRequires:  pkgconfig(capi-system-info)
24 BuildRequires:  pkgconfig(libsystemd)
25 BuildRequires:  pkgconfig(json-glib-1.0)
26 BuildRequires:  pkgconfig(glib-2.0)
27 BuildRequires:  pkgconfig(capi-appfw-app-manager)
28 BuildRequires:  pkgconfig(capi-appfw-package-manager)
29 BuildRequires:  pkgconfig(efl-extension)
30 BuildRequires:  pkgconfig(gmock)
31 Requires(post): /sbin/ldconfig
32 Requires(postun): /sbin/ldconfig
33 BuildRequires:  pkgconfig(sqlite3)
34 BuildRequires:  capi-system-info-test
35 BuildRequires:  default-fonts-sdk
36 %if 0%{?gcov:1}
37 BuildRequires:  lcov
38 %endif
39
40 %description
41 System setting api for get,set configuration
42
43 %package util-lib
44 Summary: Utility library for %{name}
45 Group: System/System Info
46 Requires: %{name} = %{version}
47
48 %description util-lib
49 The %{name}-utils pacakge contains an utility library for handling font and image
50
51 %package devel
52 Summary:  A System Settings library in Tizen Native API (Development)
53 Group:    System/System Info
54 Requires: %{name} = %{version}
55 Requires:  pkgconfig(capi-base-common)
56
57 %description devel
58 System setting api for get,set configuration
59
60 %package unittests
61 Summary: Test Programs for %{name}
62 Group: System/Testing
63
64 %description unittests
65 The %{name}-unittests pacakge contains programs for checking the %{name}.
66
67 %if 0%{?gcov:1}
68 %package gcov
69 Summary:  A System Settings library in Tizen Native API
70 Group:    System/Testing
71
72 %description gcov
73 System Settings library gcov objects
74 %endif
75
76 %define tizen_profile_name mobile
77 %define sys_setting_test_dir  %{_bindir}/sys-settings
78
79 %prep
80 %setup -q
81 cp %{SOURCE1001} ./%{name}.manifest
82
83 %build
84 %if "%{?tizen_profile_name}" == "wearable"
85 export CFLAGS="$CFLAGS -DTIZEN_WEARABLE"
86 export CXXFLAGS="$CXXFLAGS -DTIZEN_WEARABLE"
87 export FFLAGS="$FFLAGS -DTIZEN_WEARABLE"
88 %else
89 export CFLAGS="$CFLAGS -DTIZEN_MOBILE"
90 export CXXFLAGS="$CXXFLAGS -DTIZEN_MOBILE"
91 export FFLAGS="$FFLAGS -DTIZEN_MOBILE"
92 %endif
93
94 %if 0%{?gcov:1}
95 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
96 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
97 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
98 export LDFLAGS+=" -lgcov"
99 %endif
100
101 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
102 %cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} \
103         -DCMAKE_VERBOSE_MAKEFILE=OFF \
104         -DTZ_SYS_DATA=%{TZ_SYS_DATA} \
105         -DTZ_SYS_ETC=%{TZ_SYS_ETC} \
106         -DTZ_SYS_RO_SHARE=%{TZ_SYS_RO_SHARE} \
107         -DTZ_SYS_SHARE=%{TZ_SYS_SHARE} \
108         -DSYSCONF_DIR=%{_sysconfdir} \
109         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} \
110         -DTEST_INSTALL_DIR:PATH=%{sys_setting_test_dir} \
111         -DSST_RES_DIR=%{TZ_SYS_GLOBALUSER_DATA}/settings \
112         -DSTDOUT_LOG=%{?stdlog:1}%{!?stdlog:0} \
113 %if 0%{?thread_number}
114         -DN_THREADS=%{thread_number}
115 %else
116         -DN_THREADS=1
117 %endif
118
119 make %{?_smp_mflags}
120
121 %install
122 %make_install
123
124 %if 0%{?gcov:1}
125 builddir=$(basename $PWD)
126 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
127 mkdir -p "$gcno_obj_dir"
128 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
129 %endif
130
131 cat << EOF > run-unittest.sh
132 #!/bin/sh
133 setup() {
134         echo "setup start"
135         if [ -d "conf_example" ]; then
136                 rm -rf ./conf_example
137                 rm -rf ./tests
138         fi
139         ln -s /usr/bin/sys-settings/tests ./tests
140         ln -s /usr/bin/sys-settings/conf_example ./conf_example
141 }
142
143 test_main() {
144         echo "test_main start"
145         /usr/bin/sys-settings/sst-unit-test
146         /usr/bin/sys-settings/sst-unit-test-err-interface
147         /usr/bin/sys-settings/sst-unit-test-err-font
148 }
149
150 teardown() {
151         echo "teardown start"
152         rm -rf ./tests
153         rm -rf ./conf_example
154 }
155
156 main() {
157         setup
158         test_main
159         teardown
160 }
161
162 main "\$*"
163 EOF
164
165 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
166 install -m 0755 run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}/
167
168 %check
169 #bash tests/scripts/vconf_golden_master.sh
170 LD_LIBRARY_PATH=.:tests:libutil tests/sst-unit-test-err-interface
171 LD_LIBRARY_PATH=.:tests:libutil tests/sst-unit-test
172 LD_LIBRARY_PATH=.:tests:libutil tests/sst-unit-test-err-font
173 %if 0%{?gcov:1}
174 lcov -c --ignore-errors mismatch,graph,unused --no-external -b . -d . -o %{name}.info
175 genhtml %{name}.info -o out --legend --show-details
176 %endif
177
178 %post -p /sbin/ldconfig
179 %post util-lib -p /sbin/ldconfig
180
181 %postun -p /sbin/ldconfig
182 %postun util-lib -p /sbin/ldconfig
183
184 %files
185 %manifest %{name}.manifest
186 %{_libdir}/lib*settings.so.*
187 %license LICENSE.APLv2
188
189 %files util-lib
190 %manifest %{name}.manifest
191 %{_libdir}/lib*settings-util.so
192 %license LICENSE.APLv2
193
194 %files devel
195 %manifest %{name}.manifest
196 %{_libdir}/lib*settings.so
197 %{_libdir}/pkgconfig/*.pc
198 %{_includedir}/system/*.h
199
200 %files unittests
201 %manifest %{name}.manifest
202 %{sys_setting_test_dir}/*
203 %{_libdir}/libsys-settings-mock.so
204 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
205 %license LICENSE.APLv2
206
207 %if 0%{?gcov:1}
208 %files gcov
209 %{_datadir}/gcov/*
210 %endif