2 %define __usrdir /usr/lib/systemd/user
3 %define __sysdir /usr/lib/systemd/system
6 Summary: This is a core application
9 Group: Applications/Core Applications
11 Source0: %{name}-%{version}.tar.gz
12 Source1: %{name}.service
13 Source2: %{name}_common.service
15 Source4: %{name}@.service
18 BuildRequires: pkgconfig(appcore-efl)
19 BuildRequires: pkgconfig(aul)
20 BuildRequires: pkgconfig(capi-appfw-application)
21 BuildRequires: pkgconfig(capi-appfw-app-manager)
22 BuildRequires: pkgconfig(capi-system-media-key)
23 BuildRequires: pkgconfig(capi-network-bluetooth)
24 BuildRequires: pkgconfig(capi-system-system-settings)
27 BuildRequires: tts-devel
28 BuildRequires: pkgconfig(capi-message-port)
29 BuildRequires: pkgconfig(capi-telephony)
30 BuildRequires: pkgconfig(capi-system-info)
31 BuildRequires: pkgconfig(efl-extension)
32 BuildRequires: pkgconfig(libsystemd-daemon)
33 BuildRequires: pkgconfig(ode)
35 BuildRequires: pkgconfig(rua)
36 BuildRequires: pkgconfig(feedback)
37 BuildRequires: pkgconfig(db-util)
38 BuildRequires: pkgconfig(dlog)
39 BuildRequires: pkgconfig(ecore)
40 BuildRequires: pkgconfig(ecore-wl2)
41 BuildRequires: pkgconfig(edje)
42 BuildRequires: pkgconfig(eina)
43 BuildRequires: pkgconfig(elementary)
44 BuildRequires: pkgconfig(evas)
45 BuildRequires: pkgconfig(glib-2.0)
46 BuildRequires: pkgconfig(syspopup-caller)
47 BuildRequires: pkgconfig(ui-gadget-1)
48 BuildRequires: pkgconfig(vconf)
49 BuildRequires: pkgconfig(alarm-service)
50 BuildRequires: pkgconfig(pkgmgr-info)
51 BuildRequires: pkgconfig(deviced)
52 BuildRequires: pkgconfig(edbus)
53 BuildRequires: pkgconfig(dbus-1)
55 BuildRequires: edje-bin
56 BuildRequires: gettext
57 BuildRequires: gettext-tools
58 Requires(post): /usr/bin/vconftool
59 Requires: %{name}-compat = %{version}-%{release}
60 Recommends: %{name}-profile_common = %{version}-%{release}
63 BuildRequires: pkgconfig(utilX)
67 This is for managing life-cycle of core applications.
69 %package profile_common
70 Summary: Starter binary for common profile
71 Provides: %{name}-compat = %{version}-%{release}
72 Provides: %{name}-profile_tv = %{version}-%{release}
73 Provides: %{name}-profile_ivi = %{version}-%{release}
74 Conflicts: %{name}-profile_mobile
75 Conflicts: %{name}-profile_wearable
76 %description profile_common
77 Starter has different build options and source codes for each profile.
78 This is for common/tv/ivi.
80 %package profile_mobile
81 Summary: Starter binary for mobile profile
82 Provides: %{name}-compat = %{version}-%{release}
83 Conflicts: %{name}-profile_common
84 Conflicts: %{name}-profile_wearable
85 %description profile_mobile
86 Starter has different build options and source codes for each profile.
89 %package profile_wearable
90 Summary: Starter binary for wearable profile
91 Provides: %{name}-compat = %{version}-%{release}
92 Conflicts: %{name}-profile_common
93 Conflicts: %{name}-profile_mobile
94 %description profile_wearable
95 Starter has different build options and source codes for each profile.
102 %if 0%{?sec_build_binary_debug_enable}
103 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
104 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
105 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
109 export CFLAGS="$CFLAGS -DTIZEN_ARCH_ARM"
110 export CXXFLAGS="$CXXFLAGS -DTIZEN_ARCH_ARM"
112 # TODO: x86/64 != EMULATOR. Please fix it with consulting from SDK (changseok oh)
113 export CFLAGS="$CFLAGS -DTIZEN_ARCH_EMULATOR"
114 export CXXFLAGS="$CXXFLAGS -DTIZEN_ARHC_EMULATOR"
118 export CFLAGS="$CFLAGS -DTIZEN_ARCH_ARM64"
119 export CXXFLAGS="$CXXFLAGS -DTIZEN_ARCH_ARM64"
122 export WAYLAND_SUPPORT=On
123 export X11_SUPPORT=Off
124 export CFLAGS+=" -DEFL_BETA_API_SUPPORT"
126 export WAYLAND_SUPPORT=Off
127 export X11_SUPPORT=On
130 export CFLAGS_COMMON="$CFLAGS"
131 export CXXFLAGS_COMMON="$CXXFLAGS"
134 export CFLAGS="$CFLAGS_COMMON -DTIZEN_PROFILE_WEARABLE"
135 export CXXFLAGS="$CXXFLAGS_COMMON -DTIZEN_PROFILE_WEARABLE"
136 mkdir -p build_wearable
138 cmake .. -DTIZEN_PROFILE_NAME=WEARABLE -DCMAKE_INSTALL_PREFIX=%{_prefix}/wearable/ -DWAYLAND_SUPPORT=${WAYLAND_SUPPORT} -DX11_SUPPORT=${X11_SUPPORT}
143 export CFLAGS="$CFLAGS_COMMON -DTIZEN_PROFILE_MOBILE"
144 export CXXFLAGS="$CXXFLAGS_COMMON -DTIZEN_PROFILE_MOBILE"
145 mkdir -p build_mobile
147 cmake .. -DTIZEN_PROFILE_NAME=MOBILE -DCMAKE_INSTALL_PREFIX=%{_prefix}/mobile/ -DWAYLAND_SUPPORT=${WAYLAND_SUPPORT} -DX11_SUPPORT=${X11_SUPPORT}
152 export CFLAGS="$CFLAGS_COMMON -DTIZEN_PROFILE_COMMON"
153 export CXXFLAGS="$CXXFLAGS_COMMON -DTIZEN_PROFILE_COMMON"
154 mkdir -p build_common
156 cmake .. -DTIZEN_PROFILE_NAME=COMMON -DCMAKE_INSTALL_PREFIX=%{_prefix} -DWAYLAND_SUPPORT=${WAYLAND_SUPPORT} -DX11_SUPPORT=${X11_SUPPORT}
173 # Remove commonly used parts (locale)
174 rm -Rf %{buildroot}%{_prefix}/mobile/share/locale
175 rm -Rf %{buildroot}%{_prefix}/wearable/share/locale
177 # Rename for subpackages, resolved by post scripts
178 mv %{buildroot}%{_prefix}/mobile/bin/starter %{buildroot}%{_prefix}/bin/starter.mobile
179 mv %{buildroot}%{_prefix}/wearable/bin/starter %{buildroot}%{_prefix}/bin/starter.wearable
181 mkdir -p %{buildroot}%{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
183 # Files for !(mobile or wearable)
184 mkdir -p %{buildroot}%{__usrdir}/default.target.wants
185 install -m 0644 %SOURCE2 %{buildroot}%{__usrdir}/starter.service.common
186 # .common is to be renamed by %post script.
187 install -m 0644 %SOURCE3 %{buildroot}%{__usrdir}/starter.path
188 ln -s ../starter.path %{buildroot}%{__usrdir}/default.target.wants/starter.path
189 # Files for mobile or wearable
190 mkdir -p %{buildroot}%{__usrdir}/basic.target.wants
191 install -m 0644 %SOURCE1 %{buildroot}%{__usrdir}/starter.service
192 ln -s ../starter.service %{buildroot}%{__usrdir}/basic.target.wants/starter.service
194 mkdir -p %{buildroot}%{__sysdir}/user-basic@.target.wants
195 install -m 0644 %SOURCE4 %{buildroot}%{__sysdir}/starter@.service
196 ln -s ../starter@.service %{buildroot}%{__sysdir}/user-basic@.target.wants/starter@.service
204 mv %{__usrdir}/starter.service.common %{__usrdir}/starter.service
205 %preun profile_common
206 mv %{__usrdir}/starter.service %{__usrdir}/starter.service.common
209 mv %{_bindir}/starter.mobile %{_bindir}/starter
210 %preun profile_mobile
211 mv %{_bindir}/starter %{_bindir}/starter.mobile
213 %post profile_wearable
214 mv %{_bindir}/starter.wearable %{_bindir}/starter
215 %preun profile_wearable
216 mv %{_bindir}/starter %{_bindir}/starter.wearable
219 %files -f %{name}.lang
220 %manifest starter.manifest
221 %defattr(-,root,root,-)
224 %files profile_common
226 %{__usrdir}/starter.path
227 %{__usrdir}/default.target.wants/starter.path
228 %{__usrdir}/starter.service.common
229 %manifest starter.manifest
231 %files profile_mobile
232 %{_bindir}/starter.mobile
233 %{__usrdir}/basic.target.wants/starter.service
234 %{__usrdir}/starter.service
235 %{__sysdir}/user-basic@.target.wants/starter@.service
236 %{__sysdir}/starter@.service
237 %manifest starter.manifest
239 %files profile_wearable
240 %{_bindir}/starter.wearable
241 %{__usrdir}/basic.target.wants/starter.service
242 %{__usrdir}/starter.service
243 %{__sysdir}/user-basic@.target.wants/starter@.service
244 %{__sysdir}/starter@.service
245 %manifest starter.manifest