%define major 1
-%define minor 3
-%define patchlevel 42
+%define minor 4
+%define patchlevel 00
Name: telephony-daemon
Version: %{major}.%{minor}.%{patchlevel}
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(tcore)
BuildRequires: pkgconfig(vconf)
+Requires: %{name}-compat
+Recommends: %{name}-profile_common
%description
Description: Telephony Daemon
+%package profile_common
+Summary: Telephony-daemon binary for common/wearable/mobile
+Provides: %{name}-compat = %{version}-%{release}
+Provides: %{name}-profile_wearable = %{version}-%{release}
+Provides: %{name}-profile_mobile = %{version}-%{release}
+Conflicts: %{name}-profile_tv
+Conflicts: %{name}-profile_ivi
+%description profile_common
+Telephony daemon compiled without the flavors of tv or ivi profiles
+
+%package profile_tv
+Summary: Telephony-daemon binary for TV
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_common
+Conflicts: %{name}-profile_ivi
+%description profile_tv
+Telephony daemon compiled with the flavors of TV
+
+%package profile_ivi
+Summary: Telephony-daemon binary for IVI
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_common
+Conflicts: %{name}-profile_tv
+%description profile_ivi
+Telephony daemon compiled with the flavors of IVI
+
%prep
%setup -q
%build
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+mkdir -p build_tv
+pushd build_tv
+cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix}/tv/ \
+ -DLIB_INSTALL_DIR=%{_libdir} \
+ -DUNIT_INSTALL_DIR=%{_unitdir} \
+ -DVERSION=%{version} \
+ -DTIZEN_DEBUG_ENABLE=1 \
+ -DTIZEN_PROFILE_TV=1
+make %{?_smp_mflags}
+
+popd
+mkdir -p build_ivi
+pushd build_ivi
+cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix}/ivi/ \
-DLIB_INSTALL_DIR=%{_libdir} \
-DUNIT_INSTALL_DIR=%{_unitdir} \
-DVERSION=%{version} \
-DTIZEN_DEBUG_ENABLE=1 \
-%if "%{profile}" == "tv"
- -DTIZEN_PROFILE_TV=1 \
-%endif
-%if "%{profile}" == "ivi"
- -DTIZEN_PROFILE_IVI=1 \
-%endif
+ -DTIZEN_PROFILE_IVI=1
+make %{?_smp_mflags}
+popd
+
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+ -DLIB_INSTALL_DIR=%{_libdir} \
+ -DUNIT_INSTALL_DIR=%{_unitdir} \
+ -DVERSION=%{version} \
+ -DTIZEN_DEBUG_ENABLE=1
make %{?_smp_mflags}
%install
+pushd build_tv
+%make_install
+popd
+pushd build_ivi
+%make_install
+# tv/ivi has different telephony-daemon.service file. Let's rename it so that we can distinguish it.
+mv %{buildroot}%{_unitdir}/telephony-daemon.service %{buildroot}%{_unitdir}/telephony-daemon.service.tv.ivi
+popd
%make_install
-%if "%{profile}" != "tv" && "%{profile}" != "ivi"
+
mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
ln -s %{_unitdir}/telephony-daemon.service %{buildroot}%{_unitdir}/multi-user.target.wants/telephony-daemon.service
-%endif
+mv %{buildroot}/usr/tv/bin/telephony-daemon %{buildroot}%{_bindir}/telephony-daemon.tv
+mv %{buildroot}/usr/ivi/bin/telephony-daemon %{buildroot}%{_bindir}/telephony-daemon.ivi
%post -p /sbin/ldconfig
+%post profile_tv
+ln -sf telephony-daemon.tv %{_bindir}/telephony-daemon
+mv %{_unitdir}/telephony-daemon.service.tv.ivi %{_unitdir}/telephony-daemon.service
+%preun profile_tv
+rm %{_bindir}/telephony-daemon
+mv %{_unitdir}/telephony-daemon.service %{_unitdir}/telephony-daemon.service.tv.ivi
+
+%post profile_ivi
+ln -sf telephony-daemon.ivi %{_bindir}/telephony-daemon
+mv %{_unitdir}/telephony-daemon.service.tv.ivi %{_unitdir}/telephony-daemon.service
+%preun profile_ivi
+rm %{_bindir}/telephony-daemon
+mv %{_unitdir}/telephony-daemon.service %{_unitdir}/telephony-daemon.service.tv.ivi
+
%files
%manifest telephony-daemon.manifest
%defattr(644,root,root,-)
+%{_datadir}/license/telephony-daemon
+
+%files profile_common
%caps(cap_net_admin=eip) %attr(755,root,root) %{_bindir}/telephony-daemon
-%{_unitdir}/telephony-daemon.service
-%if "%{profile}" != "tv" && "%{profile}" != "ivi"
%{_unitdir}/multi-user.target.wants/telephony-daemon.service
-%endif
-%{_datadir}/license/telephony-daemon
+%{_unitdir}/telephony-daemon.service
+
+%files profile_tv
+%caps(cap_net_admin=eip) %attr(755,root,root) %{_bindir}/telephony-daemon.tv
+%{_unitdir}/telephony-daemon.service.tv.ivi
+
+%files profile_ivi
+%caps(cap_net_admin=eip) %attr(755,root,root) %{_bindir}/telephony-daemon.ivi
+%{_unitdir}/telephony-daemon.service.tv.ivi