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