fixup! Fix coverity issue of MISSING_LOCK
[platform/core/multimedia/mmsvc-core.git] / packaging / mused.spec
1 Name:       mused
2 Summary:    A multimedia daemon
3 Version:    0.3.182
4 Release:    0
5 Group:      System/Libraries
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    muse-server.service
9 Source2:    gtest.input
10 Source4:    muse-server-vd_product_tv.service
11 Source5:    muse-server-vd_product_audio.service
12 Source7:    muse-server.path
13 BuildRequires: cmake
14 BuildRequires: pkgconfig(libsystemd)
15 BuildRequires: pkgconfig(capi-system-info)
16 BuildRequires: pkgconfig(capi-system-runtime-info)
17 BuildRequires: pkgconfig(cynara-client)
18 BuildRequires: pkgconfig(cynara-creds-socket)
19 BuildRequires: pkgconfig(cynara-session)
20 BuildRequires: pkgconfig(dlog)
21 BuildRequires: pkgconfig(gio-2.0)
22 BuildRequires: pkgconfig(glib-2.0)
23 BuildRequires: pkgconfig(gmodule-2.0)
24 BuildRequires: pkgconfig(gstreamer-1.0)
25 BuildRequires: pkgconfig(gstreamer-base-1.0)
26 BuildRequires: pkgconfig(iniparser)
27 BuildRequires: pkgconfig(json-c)
28 BuildRequires: pkgconfig(libtbm)
29 BuildRequires: pkgconfig(libtzplatform-config)
30 BuildRequires: pkgconfig(mm-common)
31 BuildRequires: pkgconfig(capi-system-resource)
32 %if "%{tizen_profile_name}" == "tv"
33 BuildRequires: pkgconfig(libresourced)
34 BuildRequires: pkgconfig(lwipc)
35 BuildRequires: pkgconfig(ttrace)
36 %else
37 BuildRequires: pkgconfig(storage)
38 BuildRequires: pkgconfig(mm-resource-manager)
39 %endif
40 %if 0%{?gtests:1}
41 BuildRequires: pkgconfig(gmock)
42 %endif
43
44 Requires(post): /sbin/ldconfig
45 Requires(postun): /sbin/ldconfig
46 Requires: security-config
47
48 %description
49
50
51 %package devel
52 Summary:  A Media Daemon library in Tizen (Development)
53 Group:    Multimedia/Service
54 Requires: %{name} = %{version}-%{release}
55 %description devel
56
57 %package isu
58 Summary: muse server ISU pacakge
59 Group:   Multimedia/Service
60 %description isu
61
62 %prep
63 %setup -q
64
65 %build
66 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
67 export CFLAGS="$CFLAGS -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
68 export CXXFLAGS="$CXXFLAGS -DSYSCONFDIR=\\\"%{_hal_sysconfdir}\\\""
69
70 %if 0%{?sec_build_binary_debug_enable}
71 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE -D_GNU_SOURCE"
72 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE -D_GNU_SOURCE"
73 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE -D_GNU_SOURCE"
74 %endif
75
76 %if 0%{?gcov:1}
77 export CFLAGS+=" -fprofile-arcs -ftest-coverage -DMUSE_GCOV_TEST "
78 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage -DMUSE_GCOV_TEST "
79 export LDFLAGS+=" -lgcov "
80 %endif
81
82 %if ("%{_vd_cfg_product_type}" == "AUDIO") || ("%{_vd_cfg_product_type}" == "TV") || ("%{_vd_cfg_product_type}" == "LFD") || ("%{_vd_cfg_product_type}" == "HTV") || ("%{_vd_cfg_product_type}" == "AV") || ("%{_vd_cfg_product_type}" == "IWB") || ("%{_vd_cfg_product_type}" == "WALL")
83 %cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir} -DTZ_SYS_DATA=%TZ_SYS_DATA -DMUSE_REGISTER_VIP=1 -DMUSE_TTRACE_ENABLE=1 -DMUSE_LWIPC_ENABLE=1 -DMUSE_BOOST_ENABLE=1
84 %else
85 export CFLAGS+=" -DMUSE_USE_POWER_OFF_STATE_CHANGE -DMUSE_USE_WATCHDOG"
86 %cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir} -DTZ_SYS_DATA=%TZ_SYS_DATA -DMUSE_GTESTS_BUILD=%{?gtests:1}%{!?gtests:0} -DMUSE_STORAGE_ENABLE=1
87 %endif
88
89 make %{?jobs:-j%jobs}
90
91 %install
92 rm -rf %{buildroot}
93
94 %make_install
95
96 %if ("%{_vd_cfg_product_type}" == "AUDIO")
97 mkdir -p %{buildroot}%{_unitdir}/stater.target.wants
98 install -m 0644 %SOURCE5 %{buildroot}%{_unitdir}/muse-server.service
99 %install_service starter.target.wants muse-server.service
100 %else
101 %if ("%{_vd_cfg_product_type}" == "TV") || ("%{_vd_cfg_product_type}" == "LFD") || ("%{_vd_cfg_product_type}" == "HTV") || ("%{_vd_cfg_product_type}" == "AV") || ("%{_vd_cfg_product_type}" == "IWB") || ("%{_vd_cfg_product_type}" == "WALL")
102 mkdir -p %{buildroot}%{_unitdir}/basic.target.wants
103 install -m 0644 %SOURCE4 %{buildroot}%{_unitdir}/muse-server.service
104 %install_service basic.target.wants muse-server.service
105 %else
106 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
107 install -m 0644 %SOURCE1 %{buildroot}%{_unitdir}/muse-server.service
108 %install_service multi-user.target.wants muse-server.service
109 install -m 0644 %SOURCE7 %{buildroot}%{_unitdir}/muse-server.path
110 %install_service paths.target.wants muse-server.path
111
112 %endif
113 %endif
114
115 mkdir -p %{buildroot}/var/log/%{name}
116 mkdir -p %{buildroot}%{TZ_SYS_DATA}/%{name}
117
118 %if 0%{?gtests:1}
119 install -m 0644 %SOURCE2 %{buildroot}%{TZ_SYS_DATA}/%{name}/gtest.input
120 %endif
121
122 %post
123 /sbin/ldconfig
124
125 chown multimedia_fw:multimedia_fw %{TZ_SYS_DATA}/%{name}
126 chown multimedia_fw:multimedia_fw /var/log/%{name}
127 chsmack -a "System::Shared" %{TZ_SYS_DATA}/%{name}
128 chsmack -a "System::Shared" /var/log/%{name}
129
130 %postun -p /sbin/ldconfig
131
132
133 %files
134 %manifest %{name}.manifest
135 %{_libdir}/libmuse-*.so.*
136 %license LICENSE.APLv2
137 %{_unitdir}/muse-server.service
138 %if ("%{_vd_cfg_product_type}" == "AUDIO")
139 %{_unitdir}/starter.target.wants/muse-server.service
140 %else
141 %if ("%{_vd_cfg_product_type}" == "TV") || ("%{_vd_cfg_product_type}" == "LFD") || ("%{_vd_cfg_product_type}" == "HTV") || ("%{_vd_cfg_product_type}" == "AV") || ("%{_vd_cfg_product_type}" == "IWB") || ("%{_vd_cfg_product_type}" == "WALL")
142 %{_unitdir}/basic.target.wants/muse-server.service
143 %else
144 %{_unitdir}/multi-user.target.wants/muse-server.service
145 %{_unitdir}/paths.target.wants/muse-server.path
146 %{_unitdir}/muse-server.path
147 %endif
148 %endif
149 %{TZ_SYS_DATA}/%{name}
150 /var/log/%{name}
151 %{_bindir}/*
152
153 %if 0%{?gtests:1}
154 %{TZ_SYS_DATA}/%{name}/gtest.input
155 %{_bindir}/gtest-muse-server
156 %endif
157
158 %files devel
159 %{_includedir}/media/*.h
160 %{_libdir}/pkgconfig/*.pc
161 %{_libdir}/*.so
162
163 %files isu
164 /etc/isu/muse-server/isu.cfg
165 /etc/isu/muse-server/system-services/muse-server.service