Modify api documentation
[platform/core/api/application.git] / packaging / capi-appfw-application.spec
1 Name:       capi-appfw-application
2 Summary:    An Application library in SLP C API
3 Version:    0.9.4
4 Release:    0
5 Group:      System/API
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001:     capi-appfw-application.manifest
9 Source1002:     appcore-ui-app-ambient.manifest
10
11 BuildRequires:  cmake
12 BuildRequires:  pkgconfig(alarm-service)
13 BuildRequires:  pkgconfig(app-core-efl-cpp)
14 BuildRequires:  pkgconfig(aul)
15 BuildRequires:  pkgconfig(bundle)
16 BuildRequires:  pkgconfig(capi-appfw-app-common)
17 BuildRequires:  pkgconfig(capi-appfw-app-control)
18 BuildRequires:  pkgconfig(capi-base-common)
19 BuildRequires:  pkgconfig(dlog)
20 BuildRequires:  pkgconfig(elementary)
21 BuildRequires:  pkgconfig(glib-2.0)
22 BuildRequires:  pkgconfig(gmock)
23 BuildRequires:  pkgconfig(libtzplatform-config)
24 BuildRequires:  pkgconfig(vconf-internal-keys)
25
26 %if 0%{?gcov:1}
27 BuildRequires:  lcov
28 BuildRequires:  zip
29 %endif
30
31 %description
32 An Application library in SLP C API package.
33
34 %package devel
35 Summary:  An Application library in SLP C API (Development)
36 Group:    System/API
37 Requires: %{name} = %{version}
38
39 %description devel
40 An Application library in SLP C API (Development) package.
41
42 %package unittests
43 Summary:    GTest for application API
44 Group:      Development/Libraries
45 Requires:   %{name}
46
47 %description unittests
48 GTest for application API
49
50 %if 0%{?gcov:1}
51 %package gcov
52 Summary:  An application library(gcov)
53 Group:    System/API
54
55 %description gcov
56 gcov objects of an application library
57 %endif
58
59 %prep
60 %setup -q
61 cp %{SOURCE1001} .
62 cp %{SOURCE1002} .
63
64 %build
65 %if 0%{?gcov:1}
66 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
67 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
68 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
69 export LDFLAGS+=" -lgcov"
70 %endif
71
72 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
73 %cmake . -DFULLVER=%{version} -DMAJORVER=${MAJORVER} \
74          -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
75 %__make %{?jobs:-j%jobs}
76
77 %check
78 export LD_LIBRARY_PATH="../../appcore_ui_app_ambient:../../src"
79 ctest --verbose %{?_smp_mflags}
80 %if 0%{?gcov:1}
81 lcov -c --ignore-errors mismatch,graph,unused --no-external -q -d . -o appcore_ui_app_ambient.info
82 genhtml appcore_ui_app_ambient.info -o appcore_ui_app_ambient.out
83 zip -r appcore_ui_app_ambient.zip appcore_ui_app_ambient.out
84 install -m 0644 appcore_ui_app_ambient.zip %{buildroot}%{_datadir}/gcov/
85 %endif
86
87 %install
88 rm -rf %{buildroot}
89 %make_install
90
91 %if 0%{?gcov:1}
92 builddir=$(basename $PWD)
93 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
94 mkdir -p "$gcno_obj_dir"
95 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
96 %endif
97
98 cat << EOF > run-unittest.sh
99 #!/bin/sh
100 GCOV_PATH="/tmp/home/abuild/rpmbuild/BUILD"
101 PAKCAGE="%{name}-%{version}"
102
103 set_perm() {
104     ## Sets the permission for applications
105     /usr/bin/find /tmp/home/ -print | /usr/bin/xargs -n1 /usr/bin/chsmack -a "System::Run" &> /dev/null
106     /usr/bin/find /tmp/home/ -print | /usr/bin/xargs -n1 /usr/bin/chsmack -a "System::Run" -t &> /dev/null
107     /usr/bin/chmod -R 777 /tmp/home/
108 }
109
110 setup() {
111     echo "setup start"
112     /usr/bin/mkdir -p "${GCOV_PATH}/${PACKAGE}"
113     set_perm
114 }
115
116 test_main() {
117     echo "test_main start"
118     export "GCOV_PREFIX=/tmp"
119     /usr/bin/application_unittests
120     /usr/bin/ui-app-ambient_unittests
121 }
122
123 teardown() {
124     echo "teardown start"
125     set_perm
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 %post -p /sbin/ldconfig
141 %postun -p /sbin/ldconfig
142
143 ################################################
144 # libappcore-ui-app-ambient
145 %package -n appcore-ui-app-ambient
146 Summary: APIs to set lifecycle ui application ambient
147 Version: 0.0.1
148 License: Apache-2.0
149 Group: Applications/Core Applications
150
151 %description -n appcore-ui-app-ambient
152 A set of APIs to set lifecycle ui application ambient
153
154 %package -n appcore-ui-app-ambient-devel
155 Summary: APIs to set lifecycle ui application ambient
156 Group: Development/Libraries
157
158 %description -n appcore-ui-app-ambient-devel
159 Header & package configuration of appcore-ui-app-ambient
160
161 %post -n appcore-ui-app-ambient -p /sbin/ldconfig
162 %postun -n appcore-ui-app-ambient -p /sbin/ldconfig
163
164 %files
165 %manifest %{name}.manifest
166 %{_libdir}/libcapi-appfw-application.so.*
167 %license LICENSE
168
169 %files devel
170 %manifest %{name}.manifest
171 %{_includedir}/appfw/app.h
172 %{_includedir}/appfw/app.hpp
173 %{_includedir}/appfw/app_internal.h
174 %{_includedir}/appfw/app_extension.h
175 %{_libdir}/pkgconfig/capi-appfw-application.pc
176 %{_libdir}/libcapi-appfw-application.so
177
178 %files -n appcore-ui-app-ambient
179 %manifest appcore-ui-app-ambient.manifest
180 %license LICENSE
181 %{_libdir}/libappcore-ui-app-ambient.so.*
182
183 %files unittests
184 %{_bindir}/application_unittests
185 %{_bindir}/ui-app-ambient_unittests
186 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
187
188 %files -n appcore-ui-app-ambient-devel
189 %{_includedir}/appcore-ui-app-ambient/*.h
190 %{_libdir}/pkgconfig/appcore-ui-app-ambient.pc
191 %{_libdir}/libappcore-ui-app-ambient.so
192
193 %if 0%{?gcov:1}
194 %files gcov
195 %{_datadir}/gcov/*
196 %endif