Load plugin for sdbd service
[sdk/target/sdbd.git] / packaging / sdbd.spec
1 %bcond_with emulator
2
3 Name:       sdbd
4 Summary:    SDB daemon
5 Version:    3.0.48
6 Release:    0
7 License:    Apache-2.0
8 Summary:    SDB daemon
9 Group:      System/Utilities
10 Source0:    %{name}-%{version}.tar.gz
11 Source10:   %{name}.manifest
12 Source1000:    sdbd.service
13 Source1004:    sdbd_tcp.socket
14 Source1007:    sdbd.socket
15 Source1010:    reset-privs.conf
16 Source1011:    oom-adj-1000.conf
17 Source1012:    emulator.conf
18 Source1013:    restart-on-fail.conf
19 Source1020:    sdbd-env-generator
20
21 BuildRequires: capi-system-info-devel >= 0.2.0
22 BuildRequires: cmake >= 2.8.3
23 BuildRequires: pkgconfig
24 BuildRequires: pkgconfig(libsystemd)
25 BuildRequires:  pkgconfig(libtzplatform-config)
26 #BuildRequires: sec-product-features
27 BuildRequires: pkgconfig(libsmack)
28 BuildRequires: pkgconfig(capi-system-info)
29 BuildRequires: pkgconfig(vconf)
30 BuildRequires: pkgconfig(glib-2.0)
31 BuildRequires: pkgconfig(gio-2.0)
32 BuildRequires: pkgconfig(dlog)
33 BuildRequires: pkgconfig(libsystemd)
34 BuildRequires: pkgconfig(capi-system-device)
35
36 Requires: dbus
37 Provides:      %{name}-profile_common = %{version}-%{release}
38 Provides:      %{name}-profile_mobile = %{version}-%{release}
39 Provides:      %{name}-profile_ivi = %{version}-%{release}
40 Provides:      %{name}-profile_wearable = %{version}-%{release}
41
42 %description
43 Description: SDB daemon.
44
45 %package profile_tv
46 Summary:   SDB daemon extension for TV
47 Requires:  %{name} = %{version}-%{release}
48 %description profile_tv
49 SDB daemon extension for TV.
50 This changes the service unit files of the default SDB daemon service files.
51
52 %ifarch %{ix86} x86_64
53 %package extension-emulator
54 Summary:    SDB daemon for emulator
55 Requires:   %{name} = %{version}-%{release}
56 %description extension-emulator
57 SDB daemon for emulator
58
59 %package extension-tv-emulator
60 Summary:    SDB daemon for tv emulator
61 Requires:   %{name}-profile_tv = %{version}-%{release}
62 Requires:   %{name}-extension-emulator = %{version}-%{release}
63 %description extension-tv-emulator
64 SDB daemon for tv emulator
65 %endif // ifarch %{ix86} x86_64
66
67 %package -n sdbd-devel
68 Summary:        SDBD plugin API
69 Group:          Development/Libraries
70
71 %description -n sdbd-devel
72 SDBD plugin API library
73
74 %prep
75 %setup -q
76 cp %{SOURCE10} .
77
78 %build
79 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} %{?asan:-DCMAKE_EXE_LINKER_FLAGS="-pthread"}
80
81 make %{?jobs:-j%jobs}
82
83 %install
84 mkdir -p %{buildroot}%{_unitdir}/sdbd.service.d/
85
86 # extension-*-emulator
87 %ifarch %{ix86} x86_64
88 install -m 0644 %SOURCE1010 %{buildroot}%{_unitdir}/sdbd.service.d/
89 install -m 0644 %SOURCE1011 %{buildroot}%{_unitdir}/sdbd.service.d/
90 install -m 0644 %SOURCE1012 %{buildroot}%{_unitdir}/sdbd.service.d/
91 mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-generators/
92 install -m 0755 %SOURCE1020 %{buildroot}%{_prefix}/lib/systemd/system-generators/
93 mkdir -p %{buildroot}/%{_unitdir}/emulator_preinit.target.wants
94 ln -s %{_unitdir}/sdbd.service %{buildroot}/%{_unitdir}/emulator_preinit.target.wants/
95 %endif // ifarch %{ix86} x86_64
96
97 %make_install
98
99 install -m 0644 %SOURCE1000 %{buildroot}%{_unitdir}/sdbd.service
100 install -m 0644 %SOURCE1004 %{buildroot}%{_unitdir}/sdbd_tcp.socket
101 install -m 0644 %SOURCE1013 %{buildroot}%{_unitdir}/sdbd.service.d/restart-on-fail.conf
102 install -m 0755 -d %{buildroot}%{_unitdir}/sockets.target.wants/
103 ln -s ../sdbd_tcp.socket %{buildroot}%{_unitdir}/sockets.target.wants/
104
105 mkdir -p %{buildroot}%{_prefix}/lib/udev/rules.d/
106 install -m 644 rules/99-sdbd.rules %{buildroot}%{_prefix}/lib/udev/rules.d/
107 install -m 0644 %SOURCE1007 %{buildroot}%{_unitdir}/sdbd.socket
108
109 mkdir -p %{buildroot}%{_prefix}/sbin
110 install -m 755 script/sdk_launch %{buildroot}%{_prefix}/sbin/
111
112 mkdir -p %{buildroot}%{TZ_SYS_BIN}
113 install -m 755 script/profile_command %{buildroot}%{TZ_SYS_BIN}/
114
115 mkdir -p %{buildroot}%{_includedir}/sdb/
116 install -m 0644 src/sdbd_plugin.h %{buildroot}%{_includedir}/sdb/
117
118 mkdir -p %{buildroot}%{_libdir}/pkgconfig/
119 install -m 0644 packaging/sdbd.pc %{buildroot}%{_libdir}/pkgconfig/
120
121 %post
122 . %{_sysconfdir}/tizen-platform.conf
123 if ! getent passwd "${TZ_SDK_USER_NAME}" > /dev/null; then
124   rm -rf "${TZ_SDK_HOME}"
125   useradd -u 5100 -s /bin/false -m -d "${TZ_SDK_HOME}" "${TZ_SDK_USER_NAME}"
126   getent group developer > /dev/null || groupadd -g 5100 developer
127   for x in app_logging crash developer; do
128     usermod -A app_logging "${TZ_SDK_USER_NAME}"
129   done
130 fi
131
132 chsmack -a "System" /sbin/sdbd-user
133 chsmack -e "User::Shell" /sbin/sdbd-user
134
135 %files
136 %manifest sdbd.manifest
137 %license LICENSE
138 %defattr(-,root,root,-)
139 %{_prefix}/sbin/sdbd
140 %{_prefix}/sbin/sdbd-user
141 %{_prefix}/sbin/sdbd-service
142 %{_prefix}/sbin/sdk_launch
143 %attr(0755, root, root) %{_sysconfdir}/init.d/sdbd
144 %{_unitdir}/sdbd.service
145 %{_unitdir}/sdbd.socket
146 %{_unitdir}/sdbd_tcp.socket
147 %{_unitdir}/sockets.target.wants/sdbd_tcp.socket
148 %{_prefix}/lib/udev/rules.d/99-sdbd.rules
149 %{TZ_SYS_BIN}/profile_command
150 %{_sysconfdir}/sdbd/descs
151 %{_sysconfdir}/sdbd/strs
152
153 %ifarch %{ix86} x86_64
154 %files extension-emulator
155 %manifest sdbd.manifest
156 %{_unitdir}/sdbd.service.d/emulator.conf
157 %{_unitdir}/emulator_preinit.target.wants/sdbd.service
158 %{_prefix}/lib/systemd/system-generators/sdbd-env-generator
159
160 %files extension-tv-emulator
161 %manifest sdbd.manifest
162 %{_unitdir}/sdbd.service.d/reset-privs.conf
163 %{_unitdir}/sdbd.service.d/oom-adj-1000.conf
164 %endif // ifarch %{ix86} x86_64
165
166 %files profile_tv
167 %{_unitdir}/sdbd.service.d/restart-on-fail.conf
168
169 %files -n sdbd-devel
170 %{_includedir}/sdb/sdbd_plugin.h
171 %{_libdir}/pkgconfig/sdbd.pc
172
173 %changelog