Name: sdbd
Summary: SDB daemon
-Version: 3.0.1
+Version: 3.0.15
Release: 0
License: Apache-2.0
Summary: SDB daemon
Source1002: sdbd_emulator.service
Source1003: %{name}.manifest
Source1004: sdbd_tcp.service
+Source1005: sdbd_device_tv.service
+Source1006: sdbd_emulator_tv.service
BuildRequires: capi-system-info-devel >= 0.2.0
BuildRequires: cmake >= 2.8.3
BuildRequires: pkgconfig(libtzplatform-config)
+#BuildRequires: sec-product-features
+BuildRequires: pkgconfig(libsmack)
+BuildRequires: pkgconfig(capi-system-info)
+BuildRequires: pkgconfig(vconf)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(dbus-1)
+BuildRequires: pkgconfig(dbus-glib-1)
+BuildRequires: pkgconfig(dlog)
Requires: dbus
+
%description
Description: SDB daemon.
+%package -n sdbd-devel
+Summary: SDBD plugin API
+Group: Development/Libraries
+
+%description -n sdbd-devel
+SDBD plugin API library
%prep
%setup -q
cp %{SOURCE1003} .
%build
-%cmake
-make %{?jobs:-j%jobs}
+%if "%{?tizen_profile_name}" == "wearable"
+%define wearable_profile on
+%else
+%define wearable_profile off
+%endif
+%if %{with emulator}
+%define target_arch x86
+%else
+%define target_arch arm
+%endif
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+ -DWEARABLE_PROFILE=%{wearable_profile} \
+ -DTARGET_ARCH=%{target_arch}
+make %{?jobs:-j%jobs}
%install
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/%{name}
+
%make_install
+mkdir -p %{buildroot}%{_unitdir}
-mkdir -p %{buildroot}%{_libdir}/systemd/system
%if %{with emulator}
-install -m 0644 %SOURCE1002 %{buildroot}%{_libdir}/systemd/system/sdbd.service
-mkdir -p %{buildroot}/%{_libdir}/systemd/system/emulator.target.wants
-ln -s %{_libdir}/systemd/system/sdbd.service %{buildroot}/%{_libdir}/systemd/system/emulator.target.wants/
+%if "%{profile}" == "tv"
+install -m 0644 %SOURCE1006 %{buildroot}%{_unitdir}/sdbd.service
+%else
+install -m 0644 %SOURCE1002 %{buildroot}%{_unitdir}/sdbd.service
+%endif
+mkdir -p %{buildroot}/%{_unitdir}/emulator_preinit.target.wants
+ln -s %{_unitdir}/sdbd.service %{buildroot}/%{_unitdir}/emulator_preinit.target.wants/
+
+%else
+%if "%{profile}" == "tv"
+install -m 0644 %SOURCE1005 %{buildroot}%{_unitdir}/sdbd.service
%else
-install -m 0644 %SOURCE1001 %{buildroot}%{_libdir}/systemd/system/sdbd.service
-install -m 0644 %SOURCE1004 %{buildroot}%{_libdir}/systemd/system/sdbd_tcp.service
+install -m 0644 %SOURCE1001 %{buildroot}%{_unitdir}/sdbd.service
+%endif
+install -m 0644 %SOURCE1004 %{buildroot}%{_unitdir}/sdbd_tcp.service
+mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
+ln -s %{_unitdir}/sdbd.service %{buildroot}/%{_unitdir}/multi-user.target.wants/
+
+mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
+install -m 644 rules/99-sdbd.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
%endif
mkdir -p %{buildroot}%{_prefix}/sbin
install -m 755 script/sdk_launch %{buildroot}%{_prefix}/sbin/
+mkdir -p %{buildroot}%{TZ_SYS_BIN}
+install -m 755 script/profile_command %{buildroot}%{TZ_SYS_BIN}/
+
+mkdir -p %{buildroot}%{_includedir}/sdb/
+install -m 0644 src/sdbd_plugin.h %{buildroot}%{_includedir}/sdb/
+
+mkdir -p %{buildroot}%{_libdir}/pkgconfig/
+install -m 0644 packaging/sdbd.pc %{buildroot}%{_libdir}/pkgconfig/
+
+%post
+. %{_sysconfdir}/tizen-platform.conf
+if ! getent passwd "${TZ_SDK_USER_NAME}" > /dev/null; then
+ rm -rf "${TZ_SDK_HOME}"
+ useradd -u 5100 -s /bin/false -m -d "${TZ_SDK_HOME}" "${TZ_SDK_USER_NAME}"
+ getent group developer > /dev/null || groupadd -g 5100 developer
+ for x in app_logging crash developer; do
+ usermod -A app_logging "${TZ_SDK_USER_NAME}"
+ done
+fi
+
+cp -f /bin/sh /bin/sh-user
+chsmack -a "_" /bin/sh-user
+chsmack -e "User::Shell" /bin/sh-user
+chsmack -a "_" /sbin/sdbd-user
+chsmack -e "User::Shell" /sbin/sdbd-user
+
%files
%manifest sdbd.manifest
%license LICENSE
%defattr(-,root,root,-)
%{_prefix}/sbin/sdbd
+%{_prefix}/sbin/sdbd-user
%{_prefix}/sbin/sdk_launch
%attr(0755, root, root) %{_sysconfdir}/init.d/sdbd
-%{_libdir}/systemd/system/sdbd.service
+%{_unitdir}/sdbd.service
%if %{with emulator}
-%{_libdir}/systemd/system/emulator.target.wants/sdbd.service
+%{_unitdir}/emulator_preinit.target.wants/sdbd.service
%else
-%{_libdir}/systemd/system/sdbd_tcp.service
+%{_unitdir}/sdbd_tcp.service
+%{_unitdir}/multi-user.target.wants/sdbd.service
+%{_prefix}/lib/udev/rules.d/99-sdbd.rules
%endif
+/usr/share/license/%{name}
+%{TZ_SYS_BIN}/profile_command
+
+%files -n sdbd-devel
+%{_includedir}/sdb/sdbd_plugin.h
+%{_libdir}/pkgconfig/sdbd.pc
%changelog