shell: introduce sdb user daemon for user shell
[sdk/target/sdbd.git] / packaging / sdbd.spec
index dc2c194..e595e8c 100644 (file)
@@ -2,7 +2,7 @@
 
 Name:       sdbd
 Summary:    SDB daemon
-Version:    3.0.1
+Version:    3.0.15
 Release:    0
 License:    Apache-2.0
 Summary:    SDB daemon
@@ -12,52 +12,133 @@ Source1001:    sdbd_device.service
 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