shell: introduce sdb user daemon for user shell
[sdk/target/sdbd.git] / packaging / sdbd.spec
1 %bcond_with emulator
2
3 Name:       sdbd
4 Summary:    SDB daemon
5 Version:    3.0.15
6 Release:    0
7 License:    Apache-2.0
8 Summary:    SDB daemon
9 Group:      System/Utilities
10 Source0:    %{name}-%{version}.tar.gz
11 Source1001:    sdbd_device.service
12 Source1002:    sdbd_emulator.service
13 Source1003:    %{name}.manifest
14 Source1004:    sdbd_tcp.service
15 Source1005:    sdbd_device_tv.service
16 Source1006:    sdbd_emulator_tv.service
17
18 BuildRequires: capi-system-info-devel >= 0.2.0
19 BuildRequires: cmake >= 2.8.3
20 BuildRequires:  pkgconfig(libtzplatform-config)
21 #BuildRequires: sec-product-features
22 BuildRequires: pkgconfig(libsmack)
23 BuildRequires: pkgconfig(capi-system-info)
24 BuildRequires: pkgconfig(vconf)
25 BuildRequires: pkgconfig(glib-2.0)
26 BuildRequires: pkgconfig(dbus-1)
27 BuildRequires: pkgconfig(dbus-glib-1)
28 BuildRequires: pkgconfig(dlog)
29 Requires: dbus
30
31 %description
32 Description: SDB daemon.
33
34 %package -n sdbd-devel
35 Summary:        SDBD plugin API
36 Group:          Development/Libraries
37
38 %description -n sdbd-devel
39 SDBD plugin API library
40
41 %prep
42 %setup -q
43 cp %{SOURCE1003} .
44
45 %build
46 %if "%{?tizen_profile_name}" == "wearable"
47 %define wearable_profile on
48 %else
49 %define wearable_profile off
50 %endif
51 %if %{with emulator}
52 %define target_arch x86
53 %else
54 %define target_arch arm
55 %endif
56 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
57         -DWEARABLE_PROFILE=%{wearable_profile} \
58         -DTARGET_ARCH=%{target_arch}
59
60 make %{?jobs:-j%jobs}
61
62 %install
63 mkdir -p %{buildroot}/usr/share/license
64 cp LICENSE %{buildroot}/usr/share/license/%{name}
65
66 %make_install
67 mkdir -p %{buildroot}%{_unitdir}
68
69 %if %{with emulator}
70 %if "%{profile}" == "tv"
71 install -m 0644 %SOURCE1006 %{buildroot}%{_unitdir}/sdbd.service
72 %else
73 install -m 0644 %SOURCE1002 %{buildroot}%{_unitdir}/sdbd.service
74 %endif
75 mkdir -p %{buildroot}/%{_unitdir}/emulator_preinit.target.wants
76 ln -s %{_unitdir}/sdbd.service %{buildroot}/%{_unitdir}/emulator_preinit.target.wants/
77
78 %else
79 %if "%{profile}" == "tv"
80 install -m 0644 %SOURCE1005 %{buildroot}%{_unitdir}/sdbd.service
81 %else
82 install -m 0644 %SOURCE1001 %{buildroot}%{_unitdir}/sdbd.service
83 %endif
84 install -m 0644 %SOURCE1004 %{buildroot}%{_unitdir}/sdbd_tcp.service
85 mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
86 ln -s %{_unitdir}/sdbd.service %{buildroot}/%{_unitdir}/multi-user.target.wants/
87
88 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
89 install -m 644 rules/99-sdbd.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
90 %endif
91
92 mkdir -p %{buildroot}%{_prefix}/sbin
93 install -m 755 script/sdk_launch %{buildroot}%{_prefix}/sbin/
94
95 mkdir -p %{buildroot}%{TZ_SYS_BIN}
96 install -m 755 script/profile_command %{buildroot}%{TZ_SYS_BIN}/
97
98 mkdir -p %{buildroot}%{_includedir}/sdb/
99 install -m 0644 src/sdbd_plugin.h %{buildroot}%{_includedir}/sdb/
100
101 mkdir -p %{buildroot}%{_libdir}/pkgconfig/
102 install -m 0644 packaging/sdbd.pc %{buildroot}%{_libdir}/pkgconfig/
103
104 %post
105 . %{_sysconfdir}/tizen-platform.conf
106 if ! getent passwd "${TZ_SDK_USER_NAME}" > /dev/null; then
107   rm -rf "${TZ_SDK_HOME}"
108   useradd -u 5100 -s /bin/false -m -d "${TZ_SDK_HOME}" "${TZ_SDK_USER_NAME}"
109   getent group developer > /dev/null || groupadd -g 5100 developer
110   for x in app_logging crash developer; do
111     usermod -A app_logging "${TZ_SDK_USER_NAME}"
112   done
113 fi
114
115 cp -f /bin/sh /bin/sh-user
116 chsmack -a "_" /bin/sh-user
117 chsmack -e "User::Shell" /bin/sh-user
118 chsmack -a "_" /sbin/sdbd-user
119 chsmack -e "User::Shell" /sbin/sdbd-user
120
121 %files
122 %manifest sdbd.manifest
123 %license LICENSE
124 %defattr(-,root,root,-)
125 %{_prefix}/sbin/sdbd
126 %{_prefix}/sbin/sdbd-user
127 %{_prefix}/sbin/sdk_launch
128 %attr(0755, root, root) %{_sysconfdir}/init.d/sdbd
129 %{_unitdir}/sdbd.service
130 %if %{with emulator}
131 %{_unitdir}/emulator_preinit.target.wants/sdbd.service
132 %else
133 %{_unitdir}/sdbd_tcp.service
134 %{_unitdir}/multi-user.target.wants/sdbd.service
135 %{_prefix}/lib/udev/rules.d/99-sdbd.rules
136 %endif
137 /usr/share/license/%{name}
138 %{TZ_SYS_BIN}/profile_command
139
140 %files -n sdbd-devel
141 %{_includedir}/sdb/sdbd_plugin.h
142 %{_libdir}/pkgconfig/sdbd.pc
143
144 %changelog