Update path replacement function
[platform/core/multimedia/media-server.git] / packaging / media-server.spec
1 Name:       media-server
2 Summary:    A server for media content management
3 Version:    0.3.64
4 Release:    0
5 Group:      Multimedia/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    media-server.service
9 Source2:        media-server-user.service
10 Source3:    media-server-user.path
11 Source4:    media-server.path
12 Source1001:     %{name}.manifest
13 Source1002:     libmedia-utils.manifest
14 Source1003:     libmedia-utils-devel.manifest
15 Requires(post): /usr/bin/buxton2ctl
16 BuildRequires:  pkgconfig(glib-2.0)
17 BuildRequires:  pkgconfig(vconf)
18 BuildRequires:  pkgconfig(dlog)
19 BuildRequires:  pkgconfig(sqlite3)
20 BuildRequires:  pkgconfig(db-util)
21 BuildRequires:  pkgconfig(notification)
22 BuildRequires:  pkgconfig(iniparser)
23 BuildRequires:  pkgconfig(libsmack)
24 BuildRequires:  pkgconfig(libsystemd-login)
25 BuildRequires:  pkgconfig(libtzplatform-config)
26 BuildRequires:  pkgconfig(cynara-client)
27 BuildRequires:  pkgconfig(cynara-session)
28 BuildRequires:  pkgconfig(capi-system-info)
29 BuildRequires:  pkgconfig(capi-system-device)
30 BuildRequires:  gettext-tools
31
32 %if "%{tizen_profile_name}" == "tv"
33 BuildRequires:  pkgconfig(capi-system-usbdevice)
34 BuildRequires:  pkgconfig(power-defs)
35 BuildRequires:  pkgconfig(capi-system-power-tv)
36 BuildRequires:  pkgconfig(deviced)
37 %define product_tv 1
38 %else
39 %define product_tv 0
40 %endif
41 Provides:       %{name}-profile_common = %{version}-%{release}
42 Provides:       %{name}-profile_wearable = %{version}-%{release}
43 Provides:       %{name}-profile_tv = %{version}-%{release}
44 Provides:       %{name}-profile_ivi = %{version}-%{release}
45
46 %description
47 Description: A server for media content management.
48
49 %package service-extension
50 Summary:       media-server service extension for Tizen mobile profile
51 Requires:      %{name} = %{version}-%{release}
52 Provides:      %{name}-profile_mobile = %{version}-%{release}
53 %description service-extension
54 Media-server's modified service files for mobile profile.
55 Note that this package overwrites some of %{name} and you need to
56 reinstall %{name} if you want to keep using %{name} after uninstalling this.
57
58 %package -n libmedia-utils
59 Summary:   The media server runtime library
60 Group:     Multimedia/Libraries
61 Requires:  media-server = %{version}-%{release}
62
63 %description -n libmedia-utils
64 Description : The media server runtime library.
65
66 %package -n libmedia-utils-devel
67 Summary:   The media server runtime library (development)
68 Group:     Multimedia/Development
69 Requires:  libmedia-utils = %{version}-%{release}
70 Requires:  libtzplatform-config-devel
71
72 %description -n libmedia-utils-devel
73 Description: The media server runtime library. (Development files included)
74
75 %prep
76 %setup -q
77 cp %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} .
78 cp po/* .
79
80 %build
81 %if "%{asan}" == "1"
82 %restore_fcommon
83 %endif
84 %if 0%{?product_tv}
85 export CFLAGS="$CFLAGS -D_USE_SENIOR_MODE -D_USE_RECORDED_CONTENT -D_USE_SUSPEND_MODE -D_SET_VIP_PROCESS -D_USE_TVPD_MODE"
86 %else
87 export CFLAGS="$CFLAGS -D_USE_MULTI_USER -D_USE_META_UPDATE -D_USE_DEVICED_DBUS"
88 %endif
89 export CFLAGS="$CFLAGS -D_GNU_SOURCE -DTIZEN_DEBUG_ENABLE -DSYSCONFDIR=\\\"%{_sysconfdir}\\\""
90 export CFLAGS+=" -DPATH_LIBDIR=\\\"%{_libdir}\\\""
91 rm -rf autom4te.cache
92 rm -f aclocal.m4 ltmain.sh
93 mkdir -p m4
94 %reconfigure --prefix=%{_prefix} \
95 %if 0%{?product_tv}
96         --enable-product-tv \
97 %else
98         --disable-product-tv \
99 %endif
100         --disable-static
101 %__make %{?jobs:-j%jobs}
102
103 #install .po files
104 /usr/bin/msgfmt -o ar.mo ar.po
105 /usr/bin/msgfmt -o az.mo az.po
106 /usr/bin/msgfmt -o bg.mo bg.po
107 /usr/bin/msgfmt -o ca.mo ca.po
108 /usr/bin/msgfmt -o cs.mo cs.po
109 /usr/bin/msgfmt -o da.mo da.po
110 /usr/bin/msgfmt -o el_GR.mo el_GR.po
111 /usr/bin/msgfmt -o en.mo en.po
112 /usr/bin/msgfmt -o en_PH.mo en_PH.po
113 /usr/bin/msgfmt -o en_US.mo en_US.po
114 /usr/bin/msgfmt -o es_ES.mo es_ES.po
115 /usr/bin/msgfmt -o et.mo et.po
116 /usr/bin/msgfmt -o eu.mo eu.po
117 /usr/bin/msgfmt -o fi.mo fi.po
118 /usr/bin/msgfmt -o fr_CA.mo fr_CA.po
119 /usr/bin/msgfmt -o ga.mo ga.po
120 /usr/bin/msgfmt -o gl.mo gl.po
121 /usr/bin/msgfmt -o hi.mo hi.po
122 /usr/bin/msgfmt -o hr.mo hr.po
123 /usr/bin/msgfmt -o hu.mo hu.po
124 /usr/bin/msgfmt -o hy.mo hy.po
125 /usr/bin/msgfmt -o is.mo is.po
126 /usr/bin/msgfmt -o it_IT.mo it_IT.po
127 /usr/bin/msgfmt -o ja_JP.mo ja_JP.po
128 /usr/bin/msgfmt -o ka.mo ka.po
129 /usr/bin/msgfmt -o kk.mo kk.po
130 /usr/bin/msgfmt -o ko_KR.mo ko_KR.po
131 /usr/bin/msgfmt -o lt.mo lt.po
132 /usr/bin/msgfmt -o lv.mo lv.po
133 /usr/bin/msgfmt -o mk.mo mk.po
134 /usr/bin/msgfmt -o nb.mo nb.po
135 /usr/bin/msgfmt -o pl.mo pl.po
136 /usr/bin/msgfmt -o pt_BR.mo pt_BR.po
137 /usr/bin/msgfmt -o pt_PT.mo pt_PT.po
138 /usr/bin/msgfmt -o ro.mo ro.po
139 /usr/bin/msgfmt -o ru_RU.mo ru_RU.po
140 /usr/bin/msgfmt -o sk.mo sk.po
141 /usr/bin/msgfmt -o sl.mo sl.po
142 /usr/bin/msgfmt -o sr.mo sr.po
143 /usr/bin/msgfmt -o sv.mo sv.po
144 /usr/bin/msgfmt -o tr_TR.mo tr_TR.po
145 /usr/bin/msgfmt -o uk.mo uk.po
146 /usr/bin/msgfmt -o uz.mo uz.po
147 /usr/bin/msgfmt -o zh_CN.mo zh_CN.po
148 /usr/bin/msgfmt -o zh_HK.mo zh_HK.po
149 /usr/bin/msgfmt -o zh_TW.mo zh_TW.po
150
151 %install
152 rm -rf %{buildroot}
153
154 mkdir -p %{buildroot}%{_datadir}/locale/ar/LC_MESSAGES/
155 mkdir -p %{buildroot}%{_datadir}/locale/az/LC_MESSAGES/
156 mkdir -p %{buildroot}%{_datadir}/locale/bg/LC_MESSAGES/
157 mkdir -p %{buildroot}%{_datadir}/locale/ca/LC_MESSAGES/
158 mkdir -p %{buildroot}%{_datadir}/locale/cs/LC_MESSAGES/
159 mkdir -p %{buildroot}%{_datadir}/locale/da/LC_MESSAGES/
160 mkdir -p %{buildroot}%{_datadir}/locale/el_GR/LC_MESSAGES/
161 mkdir -p %{buildroot}%{_datadir}/locale/en/LC_MESSAGES/
162 mkdir -p %{buildroot}%{_datadir}/locale/en_PH/LC_MESSAGES/
163 mkdir -p %{buildroot}%{_datadir}/locale/en_US/LC_MESSAGES/
164 mkdir -p %{buildroot}%{_datadir}/locale/es_ES/LC_MESSAGES/
165 mkdir -p %{buildroot}%{_datadir}/locale/et/LC_MESSAGES/
166 mkdir -p %{buildroot}%{_datadir}/locale/eu/LC_MESSAGES/
167 mkdir -p %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/
168 mkdir -p %{buildroot}%{_datadir}/locale/fr_CA/LC_MESSAGES/
169 mkdir -p %{buildroot}%{_datadir}/locale/ga/LC_MESSAGES/
170 mkdir -p %{buildroot}%{_datadir}/locale/gl/LC_MESSAGES/
171 mkdir -p %{buildroot}%{_datadir}/locale/hi/LC_MESSAGES/
172 mkdir -p %{buildroot}%{_datadir}/locale/hr/LC_MESSAGES/
173 mkdir -p %{buildroot}%{_datadir}/locale/hu/LC_MESSAGES/
174 mkdir -p %{buildroot}%{_datadir}/locale/hy/LC_MESSAGES/
175 mkdir -p %{buildroot}%{_datadir}/locale/is/LC_MESSAGES/
176 mkdir -p %{buildroot}%{_datadir}/locale/it_IT/LC_MESSAGES/
177 mkdir -p %{buildroot}%{_datadir}/locale/ja_JP/LC_MESSAGES/
178 mkdir -p %{buildroot}%{_datadir}/locale/ka/LC_MESSAGES/
179 mkdir -p %{buildroot}%{_datadir}/locale/kk/LC_MESSAGES/
180 mkdir -p %{buildroot}%{_datadir}/locale/ko_KR/LC_MESSAGES/
181 mkdir -p %{buildroot}%{_datadir}/locale/lt/LC_MESSAGES/
182 mkdir -p %{buildroot}%{_datadir}/locale/lv/LC_MESSAGES/
183 mkdir -p %{buildroot}%{_datadir}/locale/mk/LC_MESSAGES/
184 mkdir -p %{buildroot}%{_datadir}/locale/nb/LC_MESSAGES/
185 mkdir -p %{buildroot}%{_datadir}/locale/pl/LC_MESSAGES/
186 mkdir -p %{buildroot}%{_datadir}/locale/pt_BR/LC_MESSAGES/
187 mkdir -p %{buildroot}%{_datadir}/locale/pt_PT/LC_MESSAGES/
188 mkdir -p %{buildroot}%{_datadir}/locale/ro/LC_MESSAGES/
189 mkdir -p %{buildroot}%{_datadir}/locale/ru_RU/LC_MESSAGES/
190 mkdir -p %{buildroot}%{_datadir}/locale/sk/LC_MESSAGES/
191 mkdir -p %{buildroot}%{_datadir}/locale/sl/LC_MESSAGES/
192 mkdir -p %{buildroot}%{_datadir}/locale/sr/LC_MESSAGES/
193 mkdir -p %{buildroot}%{_datadir}/locale/sv/LC_MESSAGES/
194 mkdir -p %{buildroot}%{_datadir}/locale/tr_TR/LC_MESSAGES/
195 mkdir -p %{buildroot}%{_datadir}/locale/uk/LC_MESSAGES/
196 mkdir -p %{buildroot}%{_datadir}/locale/uz/LC_MESSAGES/
197 mkdir -p %{buildroot}%{_datadir}/locale/zh_CN/LC_MESSAGES/
198 mkdir -p %{buildroot}%{_datadir}/locale/zh_HK/LC_MESSAGES/
199 mkdir -p %{buildroot}%{_datadir}/locale/zh_TW/LC_MESSAGES/
200
201 cp ar.mo %{buildroot}%{_datadir}/locale/ar/LC_MESSAGES/media_svr.mo
202 cp az.mo %{buildroot}%{_datadir}/locale/az/LC_MESSAGES/media_svr.mo
203 cp bg.mo %{buildroot}%{_datadir}/locale/bg/LC_MESSAGES/media_svr.mo
204 cp ca.mo %{buildroot}%{_datadir}/locale/ca/LC_MESSAGES/media_svr.mo
205 cp cs.mo %{buildroot}%{_datadir}/locale/cs/LC_MESSAGES/media_svr.mo
206 cp da.mo %{buildroot}%{_datadir}/locale/da/LC_MESSAGES/media_svr.mo
207 cp el_GR.mo %{buildroot}%{_datadir}/locale/el_GR/LC_MESSAGES/media_svr.mo
208 cp en.mo %{buildroot}%{_datadir}/locale/en/LC_MESSAGES/media_svr.mo
209 cp en_PH.mo %{buildroot}%{_datadir}/locale/en_PH/LC_MESSAGES/media_svr.mo
210 cp en_US.mo %{buildroot}%{_datadir}/locale/en_US/LC_MESSAGES/media_svr.mo
211 cp es_ES.mo %{buildroot}%{_datadir}/locale/es_ES/LC_MESSAGES/media_svr.mo
212 cp et.mo %{buildroot}%{_datadir}/locale/et/LC_MESSAGES/media_svr.mo
213 cp eu.mo %{buildroot}%{_datadir}/locale/eu/LC_MESSAGES/media_svr.mo
214 cp fi.mo %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/media_svr.mo
215 cp fr_CA.mo %{buildroot}%{_datadir}/locale/fr_CA/LC_MESSAGES/media_svr.mo
216 cp ga.mo %{buildroot}%{_datadir}/locale/ga/LC_MESSAGES/media_svr.mo
217 cp gl.mo %{buildroot}%{_datadir}/locale/gl/LC_MESSAGES/media_svr.mo
218 cp hi.mo %{buildroot}%{_datadir}/locale/hi/LC_MESSAGES/media_svr.mo
219 cp hr.mo %{buildroot}%{_datadir}/locale/hr/LC_MESSAGES/media_svr.mo
220 cp hu.mo %{buildroot}%{_datadir}/locale/hu/LC_MESSAGES/media_svr.mo
221 cp hy.mo %{buildroot}%{_datadir}/locale/hy/LC_MESSAGES/media_svr.mo
222 cp is.mo %{buildroot}%{_datadir}/locale/is/LC_MESSAGES/media_svr.mo
223 cp it_IT.mo %{buildroot}%{_datadir}/locale/it_IT/LC_MESSAGES/media_svr.mo
224 cp ja_JP.mo %{buildroot}%{_datadir}/locale/ja_JP/LC_MESSAGES/media_svr.mo
225 cp ka.mo %{buildroot}%{_datadir}/locale/ka/LC_MESSAGES/media_svr.mo
226 cp kk.mo %{buildroot}%{_datadir}/locale/kk/LC_MESSAGES/media_svr.mo
227 cp ko_KR.mo %{buildroot}%{_datadir}/locale/ko_KR/LC_MESSAGES/media_svr.mo
228 cp lt.mo %{buildroot}%{_datadir}/locale/lt/LC_MESSAGES/media_svr.mo
229 cp lv.mo %{buildroot}%{_datadir}/locale/lv/LC_MESSAGES/media_svr.mo
230 cp mk.mo %{buildroot}%{_datadir}/locale/mk/LC_MESSAGES/media_svr.mo
231 cp nb.mo %{buildroot}%{_datadir}/locale/nb/LC_MESSAGES/media_svr.mo
232 cp pl.mo %{buildroot}%{_datadir}/locale/pl/LC_MESSAGES/media_svr.mo
233 cp pt_BR.mo %{buildroot}%{_datadir}/locale/pt_BR/LC_MESSAGES/media_svr.mo
234 cp pt_PT.mo %{buildroot}%{_datadir}/locale/pt_PT/LC_MESSAGES/media_svr.mo
235 cp ro.mo %{buildroot}%{_datadir}/locale/ro/LC_MESSAGES/media_svr.mo
236 cp ru_RU.mo %{buildroot}%{_datadir}/locale/ru_RU/LC_MESSAGES/media_svr.mo
237 cp sk.mo %{buildroot}%{_datadir}/locale/sk/LC_MESSAGES/media_svr.mo
238 cp sl.mo %{buildroot}%{_datadir}/locale/sl/LC_MESSAGES/media_svr.mo
239 cp sr.mo %{buildroot}%{_datadir}/locale/sr/LC_MESSAGES/media_svr.mo
240 cp sv.mo %{buildroot}%{_datadir}/locale/sv/LC_MESSAGES/media_svr.mo
241 cp tr_TR.mo %{buildroot}%{_datadir}/locale/tr_TR/LC_MESSAGES/media_svr.mo
242 cp uk.mo %{buildroot}%{_datadir}/locale/uk/LC_MESSAGES/media_svr.mo
243 cp uz.mo %{buildroot}%{_datadir}/locale/uz/LC_MESSAGES/media_svr.mo
244 cp zh_CN.mo %{buildroot}%{_datadir}/locale/zh_CN/LC_MESSAGES/media_svr.mo
245 cp zh_HK.mo %{buildroot}%{_datadir}/locale/zh_HK/LC_MESSAGES/media_svr.mo
246 cp zh_TW.mo %{buildroot}%{_datadir}/locale/zh_TW/LC_MESSAGES/media_svr.mo
247
248 %make_install
249
250 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
251 install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/media-server.service
252 %if !0%{?product_tv}
253 mkdir -p %{buildroot}%{_unitdir_user}
254 install -m 644 %{SOURCE2} %{buildroot}%{_unitdir_user}/media-server-user.service
255 install -m 644 %{SOURCE3} %{buildroot}%{_unitdir_user}/media-server-user.path
256 %endif
257
258 # for mobile
259 install -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/media-server.path
260 # for non-mobile
261 ln -s ../media-server.service %{buildroot}%{_unitdir}/multi-user.target.wants/media-server.service
262
263 #ini file
264 mkdir -p %{buildroot}/etc/multimedia
265 %if 0%{?product_tv}
266 cp -rf %{_builddir}/%{name}-%{version}/media_content_config_product.ini %{buildroot}/etc/multimedia/media_content_config.ini
267 %else
268 cp -rf %{_builddir}/%{name}-%{version}/media_content_config.ini %{buildroot}/etc/multimedia/media_content_config.ini
269 %endif
270 cp -rf %{_builddir}/%{name}-%{version}/media-server-plugin %{buildroot}/etc/multimedia/media-server-plugin
271 mkdir -p %{buildroot}/etc/gumd/useradd.d
272 cp -rf %{_builddir}/%{name}-%{version}/30_media-server-add.post %{buildroot}/etc/gumd/useradd.d/30_media-server-add.post
273 #dummy db file for reset media DB
274 %if 0%{?product_tv}
275 cp -rf %{_builddir}/%{name}-%{version}/data/media_product.db %{buildroot}/etc/multimedia/.media.db
276 %else
277 cp -rf %{_builddir}/%{name}-%{version}/data/media.db %{buildroot}/etc/multimedia/.media.db
278 %endif
279
280 %post
281 # setup dbupdate in user session
282 mkdir -p %{_unitdir_user}/basic.target.wants/
283 ln -sf ../media-server-user.path  %{_unitdir_user}/basic.target.wants/
284
285 chmod 755 /etc/gumd/useradd.d/30_media-server-add.post
286
287 %post -n libmedia-utils -p /sbin/ldconfig
288
289 %postun -n libmedia-utils -p /sbin/ldconfig
290
291 %files
292 %manifest %{name}.manifest
293 %defattr(-,root,root,-)
294 %{_bindir}/media-server
295 %{_bindir}/media-scanner
296 %{_bindir}/media-scanner-v2
297 %{_bindir}/mediadb-update
298 %{_unitdir}/media-server.service
299 %{_unitdir}/multi-user.target.wants/media-server.service
300 %if !0%{?product_tv}
301 %{_unitdir_user}/media-server-user.service
302 %{_unitdir_user}/media-server-user.path
303 %endif
304 /etc/multimedia/media_content_config.ini
305 /etc/multimedia/media-server-plugin
306 /etc/gumd/useradd.d/30_media-server-add.post
307 /etc/multimedia/.media.db
308 %{_datadir}/locale/*/LC_MESSAGES/*
309 %license LICENSE.APLv2.0
310
311 %files -n libmedia-utils
312 %manifest libmedia-utils.manifest
313 %license LICENSE.APLv2.0
314 %defattr(-,root,root,-)
315 %{_libdir}/libmedia-utils.so.0
316 %{_libdir}/libmedia-utils.so.0.0.0
317
318 %files -n libmedia-utils-devel
319 %manifest libmedia-utils-devel.manifest
320 %defattr(-,root,root,-)
321 %{_libdir}/libmedia-utils.so
322 %{_libdir}/pkgconfig/libmedia-utils.pc
323 %{_includedir}/media-utils/*.h
324
325 %post service-extension
326 rm %{_unitdir}/multi-user.target.wants/media-server.service
327 ln -sf ../media-server.path  %{_unitdir}/multi-user.target.wants/
328 %preun service-extension
329 rm %{_unitdir}/multi-user.target.wants/media-server.path
330
331 %files service-extension
332 %{_unitdir}/media-server.path