revise log macro and pointer allign
[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.4
4 Release:    5
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)
19 BuildRequires:  pkgconfig(pkgmgr-info)
20 BuildRequires:  pkgconfig(libtzplatform-config)
21 BuildRequires:  pkgconfig(alarm-service)
22 BuildRequires:  pkgconfig(uuid)
23 BuildRequires:  pkgconfig(capi-media-metadata-extractor)
24 BuildRequires:  pkgconfig(capi-system-info)
25 BuildRequires:  pkgconfig(libsystemd)
26 BuildRequires:  pkgconfig(json-glib-1.0)
27 BuildRequires:  pkgconfig(glib-2.0)
28 BuildRequires:  pkgconfig(capi-appfw-app-manager)
29 BuildRequires:  pkgconfig(capi-appfw-package-manager)
30 Requires(post): /sbin/ldconfig
31 Requires(postun): /sbin/ldconfig
32
33 BuildRequires:  pkgconfig(sqlite3)
34 BuildRequires:  efl
35 BuildRequires:  capi-system-info-test
36 BuildRequires:  default-fonts-sdk
37 # BuildRequires:  model-config-tm1
38 %if 0%{?gcov:1}
39 BuildRequires:  lcov
40 %endif
41
42 %description
43 System setting api for get,set configuration
44
45 %package devel
46 Summary:  A System Settings library in Tizen Native API (Development)
47 Group:    System/System Info
48 Requires: %{name} = %{version}-%{release}
49 Requires:  pkgconfig(capi-base-common)
50
51 %description devel
52 System setting api for get,set configuration
53
54 %package unittests
55 Summary: Test Programs for %{name}
56 Group: System/Testing
57
58 %description unittests
59 The %{name}-unittests pacakge contains programs for checking the %{name}.
60
61 %if 0%{?gcov:1}
62 %package gcov
63 Summary:  A System Settings library in Tizen Native API
64 Group:    System/Testing
65
66 %description gcov
67 System Settings library gcov objects
68 %endif
69
70 %define tizen_profile_name mobile
71 %define sys_setting_test_dir  %{_bindir}/sys-settings
72
73 %prep
74 %setup -q
75 cp %{SOURCE1001} ./%{name}.manifest
76
77 %build
78 %if "%{?tizen_profile_name}" == "wearable"
79 export CFLAGS="$CFLAGS -DTIZEN_WEARABLE"
80 export CXXFLAGS="$CXXFLAGS -DTIZEN_WEARABLE"
81 export FFLAGS="$FFLAGS -DTIZEN_WEARABLE"
82 %else
83 export CFLAGS="$CFLAGS -DTIZEN_MOBILE"
84 export CXXFLAGS="$CXXFLAGS -DTIZEN_MOBILE"
85 export FFLAGS="$FFLAGS -DTIZEN_MOBILE"
86 %endif
87
88 %if 0%{?gcov:1}
89 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
90 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
91 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
92 export LDFLAGS+=" -lgcov"
93 %endif
94
95 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
96 %cmake . -DMAJORVER=${MAJORVER} -DFULLVER=%{version} \
97         -DCMAKE_VERBOSE_MAKEFILE=OFF \
98         -DTZ_SYS_DATA=%{TZ_SYS_DATA} \
99         -DTZ_SYS_ETC=%{TZ_SYS_ETC} \
100         -DTZ_SYS_RO_SHARE=%{TZ_SYS_RO_SHARE} \
101         -DTZ_SYS_SHARE=%{TZ_SYS_SHARE} \
102         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0} \
103         -DTEST_INSTALL_DIR:PATH=%{sys_setting_test_dir} \
104         -DSETTING_DEF_RES=%{TZ_SYS_GLOBALUSER_DATA}/settings \
105         -DSTDOUT_LOG=%{?stdlog:1}%{!?stdlog:0} \
106 %if 0%{?thread_number}
107         -DN_THREADS=%{thread_number}
108 %else
109         -DN_THREADS=1
110 %endif
111
112 make %{?_smp_mflags}
113
114 %install
115 %make_install
116
117 %if 0%{?gcov:1}
118 find .. -name '*.gcno' | tar cf %{name}-gcov.tar -T -
119 install -d -m 755 %{buildroot}%{_datadir}/gcov/obj
120 tar xf %{name}-gcov.tar -C %{buildroot}%{_datadir}/gcov/obj
121 %endif
122
123 %check
124 bash tests/scripts/vconf_golden_master.sh
125 LD_LIBRARY_PATH=.:tests:utils LD_PRELOAD=tests/libsys-settings-mock.so tests/sys-settings-test
126
127 %post unittests
128 XDG_RUNTIME_DIR=/run %{sys_setting_test_dir}/sys-settings-test
129
130 %post -p /sbin/ldconfig
131
132 %postun -p /sbin/ldconfig
133
134 %files
135 %manifest %{name}.manifest
136 %{_libdir}/lib*settings.so.*
137 %{_libdir}/lib*settings-util.so
138 %license LICENSE.APLv2
139
140 %files devel
141 %manifest %{name}.manifest
142 %{_libdir}/lib*settings.so
143 %{_libdir}/pkgconfig/*.pc
144 %{_includedir}/system/*.h
145
146 %files unittests
147 %manifest %{name}.manifest
148 %{sys_setting_test_dir}/*
149 %license LICENSE.APLv2
150
151 %if 0%{?gcov:1}
152 %files gcov
153 %{_datadir}/gcov/*
154 %endif