c8b8371173dbc7f2f5729d79eb958123018ee6f0
[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.4.6
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 Source1001:     %{name}.manifest
12 Source1002:     libmedia-utils.manifest
13 Source1003:     libmedia-utils-devel.manifest
14 Requires(post): /usr/bin/buxton2ctl
15 BuildRequires:  pkgconfig(glib-2.0)
16 BuildRequires:  pkgconfig(vconf)
17 BuildRequires:  pkgconfig(dlog)
18 BuildRequires:  pkgconfig(sqlite3)
19 BuildRequires:  pkgconfig(icu-i18n)
20 BuildRequires:  pkgconfig(iniparser)
21 BuildRequires:  pkgconfig(libsmack)
22 BuildRequires:  pkgconfig(libsystemd-login)
23 BuildRequires:  pkgconfig(libtzplatform-config)
24 BuildRequires:  pkgconfig(cynara-client)
25 BuildRequires:  pkgconfig(cynara-session)
26 BuildRequires:  pkgconfig(capi-system-info)
27 BuildRequires:  pkgconfig(capi-system-device)
28 %if 0%{?gtests:1}
29 BuildRequires:  pkgconfig(gmock)
30 %endif
31 %if "%{tizen_profile_name}" == "tv"
32 BuildRequires:  pkgconfig(capi-system-usbdevice)
33 BuildRequires:  pkgconfig(power-defs)
34 BuildRequires:  pkgconfig(capi-system-power-tv)
35 BuildRequires:  pkgconfig(deviced)
36 %define product_tv 1
37 %else
38 %define product_tv 0
39 %endif
40
41 %define upgrade_script_path /usr/share/upgrade/scripts
42
43 %description
44 Description: A server for media content management.
45
46 %package -n libmedia-utils
47 Summary:   The media server runtime library
48 Group:     Multimedia/Libraries
49 Requires:  media-server = %{version}-%{release}
50
51 %description -n libmedia-utils
52 Description : The media server runtime library.
53
54 %package -n libmedia-utils-devel
55 Summary:   The media server runtime library (development)
56 Group:     Multimedia/Development
57 Requires:  libmedia-utils = %{version}-%{release}
58 Requires:  libtzplatform-config-devel
59
60 %description -n libmedia-utils-devel
61 Description: The media server runtime library. (Development files included)
62
63 %prep
64 %setup -q
65 cp %{SOURCE1001} %{SOURCE1002} %{SOURCE1003} .
66
67 %build
68 %if "%{asan}" == "1"
69 %restore_fcommon
70 %endif
71 %if 0%{?product_tv}
72 export CFLAGS="$CFLAGS -D_USE_SENIOR_MODE -D_USE_RECORDED_CONTENT -D_USE_SUSPEND_MODE -D_SET_VIP_PROCESS -D_USE_TVPD_MODE"
73 %else
74 export CFLAGS="$CFLAGS -D_USE_MULTI_USER -D_USE_META_UPDATE -D_USE_DEVICED_DBUS"
75 %endif
76 export CFLAGS="$CFLAGS -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 -DTIZEN_DEBUG_ENABLE -DSYSCONFDIR=\\\"%{_sysconfdir}\\\""
77 export CFLAGS+=" -DPATH_LIBDIR=\\\"%{_libdir}\\\""
78 rm -rf autom4te.cache
79 rm -f aclocal.m4 ltmain.sh
80 mkdir -p m4
81 %reconfigure --prefix=%{_prefix} \
82 %if 0%{?gtests:1}
83         --enable-tests \
84 %endif
85 %if 0%{?product_tv}
86         --enable-product-tv \
87 %else
88         --disable-product-tv \
89 %endif
90         --disable-static
91 %__make %{?jobs:-j%jobs}
92
93 %install
94
95 %make_install
96
97 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
98 install -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/media-server.service
99 %if !0%{?product_tv}
100 mkdir -p %{buildroot}%{_unitdir_user}
101 install -m 644 %{SOURCE2} %{buildroot}%{_unitdir_user}/media-server-user.service
102 install -m 644 %{SOURCE3} %{buildroot}%{_unitdir_user}/media-server-user.path
103 %endif
104
105 ln -s ../media-server.service %{buildroot}%{_unitdir}/multi-user.target.wants/media-server.service
106
107 #ini file
108 mkdir -p %{buildroot}/etc/multimedia
109 %if 0%{?product_tv}
110 cp -rf %{_builddir}/%{name}-%{version}/media_content_config_product.ini %{buildroot}/etc/multimedia/media_content_config.ini
111 %else
112 cp -rf %{_builddir}/%{name}-%{version}/media_content_config.ini %{buildroot}/etc/multimedia/media_content_config.ini
113 %endif
114 mkdir -p %{buildroot}/etc/gumd/useradd.d
115 cp -rf %{_builddir}/%{name}-%{version}/30_media-server-add.post %{buildroot}/etc/gumd/useradd.d/30_media-server-add.post
116 #dummy db file for reset media DB
117 %if 0%{?product_tv}
118 cp -rf %{_builddir}/%{name}-%{version}/data/media_product.db %{buildroot}/etc/multimedia/.media.db
119 %else
120 cp -rf %{_builddir}/%{name}-%{version}/data/media.db %{buildroot}/etc/multimedia/.media.db
121 %endif
122
123 %post
124 # setup dbupdate in user session
125 mkdir -p %{_unitdir_user}/basic.target.wants/
126 ln -sf ../media-server-user.path  %{_unitdir_user}/basic.target.wants/
127
128 chmod 755 /etc/gumd/useradd.d/30_media-server-add.post
129
130 %post -n libmedia-utils -p /sbin/ldconfig
131
132 %postun -n libmedia-utils -p /sbin/ldconfig
133
134 %files
135 %manifest %{name}.manifest
136 %defattr(-,root,root,-)
137 %{_bindir}/media-server
138 %if 0%{?product_tv}
139 %{_bindir}/media-scanner-v2
140 %else
141 %{_bindir}/media-scanner
142 %endif
143 %{_bindir}/mediadb-update
144 %if 0%{?gtests:1}
145 %{_bindir}/gtest*
146 %endif
147 %{_unitdir}/media-server.service
148 %{_unitdir}/multi-user.target.wants/media-server.service
149 %if !0%{?product_tv}
150 %{_unitdir_user}/media-server-user.service
151 %{_unitdir_user}/media-server-user.path
152 %endif
153 /etc/multimedia/media_content_config.ini
154 /etc/gumd/useradd.d/30_media-server-add.post
155 /etc/multimedia/.media.db
156 %license LICENSE.APLv2.0
157
158 %files -n libmedia-utils
159 %manifest libmedia-utils.manifest
160 %license LICENSE.APLv2.0
161 %defattr(-,root,root,-)
162 %{_libdir}/libmedia-utils.so.0
163 %{_libdir}/libmedia-utils.so.0.0.0
164
165 %files -n libmedia-utils-devel
166 %manifest libmedia-utils-devel.manifest
167 %defattr(-,root,root,-)
168 %{_libdir}/libmedia-utils.so
169 %{_libdir}/pkgconfig/libmedia-utils.pc
170 %{_includedir}/media-utils/*.h