f82449b95f3f310d32ea29d35afe0f313ecf646d
[scm/bb/meta-tizen.git] / recipes-tizen / murphy / murphy.inc
1 DESCRIPTION = "Murphy policy framework"
2 HOMEPAGE = "http://nohomepage.org"
3 SECTION = "System/Service"
4 LICENSE = "BSD-3-Clause"
5
6 SRC_URI = ""
7
8 S = "${WORKDIR}/git"
9
10 inherit autotools-brokensep
11
12 BBCLASSEXTEND = ""
13 PROVIDES = ""
14
15 #PROVIDES by murphy-dev
16 PROVIDES += "murphy-dev"
17
18
19 #PROVIDES by murphy-ecore
20 PROVIDES += "murphy-ecore"
21
22
23 #PROVIDES by murphy-pulse
24 PROVIDES += "murphy-pulse"
25
26
27 #PROVIDES by murphy-doc
28 PROVIDES += "murphy-doc"
29
30
31 #PROVIDES by murphy
32
33
34 #PROVIDES by murphy-ivi-resource-manager
35 PROVIDES += "murphy-ivi-resource-manager"
36
37
38 #PROVIDES by murphy-ecore-dev
39 PROVIDES += "murphy-ecore-dev"
40
41
42 #PROVIDES by murphy-pulse-dev
43 PROVIDES += "murphy-pulse-dev"
44
45
46 #PROVIDES by murphy-tests
47 PROVIDES += "murphy-tests"
48
49
50 #PROVIDES by murphy-glib
51 PROVIDES += "murphy-glib"
52
53
54 #PROVIDES by murphy-glib-dev
55 PROVIDES += "murphy-glib-dev"
56
57
58 RDEPENDS = ""
59 #RDEPENDS of murphy-dev (${PN}-dev)
60 RDEPENDS_${PN}-dev += "json-c"
61 RDEPENDS_${PN}-dev += "murphy"
62
63 #RDEPENDS of murphy-ecore (${PN}-ecore)
64 RDEPENDS_${PN}-ecore += "murphy"
65
66 #RDEPENDS of murphy-pulse (${PN}-pulse)
67 RDEPENDS_${PN}-pulse += "murphy"
68
69 #RDEPENDS of murphy (${PN})
70 RDEPENDS_${PN} += "libcap"
71 RDEPENDS_${PN} += "/bin/systemctl"
72
73 #RDEPENDS of murphy-ecore-dev (${PN}-ecore-dev)
74 RDEPENDS_${PN}-ecore-dev += "murphy-ecore"
75 RDEPENDS_${PN}-ecore-dev += "murphy"
76
77 #RDEPENDS of murphy-pulse-dev (${PN}-pulse-dev)
78 RDEPENDS_${PN}-pulse-dev += "murphy-pulse"
79 RDEPENDS_${PN}-pulse-dev += "murphy"
80
81 #RDEPENDS of murphy-tests (${PN}-tests)
82 RDEPENDS_${PN}-tests += "murphy"
83
84 #RDEPENDS of murphy-glib (${PN}-glib)
85 RDEPENDS_${PN}-glib += "murphy"
86
87 #RDEPENDS of murphy-glib-dev (${PN}-glib-dev)
88 RDEPENDS_${PN}-glib-dev += "murphy"
89 RDEPENDS_${PN}-glib-dev += "murphy-glib"
90
91
92 DEPENDS = ""
93 #DEPENDS of murphy
94 DEPENDS += "flex"
95 DEPENDS += "systemd"
96 DEPENDS += "smack"
97 DEPENDS += "ofono"
98 DEPENDS += "json-c"
99 DEPENDS += "dbus"
100 DEPENDS += "pulseaudio"
101 DEPENDS += "glib-2.0"
102 DEPENDS += "lua"
103 DEPENDS += "aul"
104 DEPENDS_append_class-native = " bison-native"
105 DEPENDS_append_class-target = " bison-native"
106 DEPENDS += "ecore"
107 DEPENDS += "libwebsockets"
108 DEPENDS += "libcap"
109 DEPENDS += "mesa"
110 DEPENDS += "audio-session-manager"
111
112 do_prep() {
113  cd ${S}
114  chmod -Rf a+rX,u+w,g-w,o-w ${S}
115  #setup -q
116  
117  
118 }
119 do_patch_append() {
120     bb.build.exec_func('do_prep', d)
121 }
122
123 do_configure() {
124 }
125
126 do_compile() {
127  cd ${S}
128   LANG=C
129   export LANG
130   unset DISPLAY
131   LD_AS_NEEDED=1; export LD_AS_NEEDED ;
132   
133   
134   CONFIG_OPTIONS=""
135   DYNAMIC_PLUGINS="domain-control,system-controller,ivi-resource-manager"
136   
137   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-pulse"
138   
139   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-ecore"
140   
141   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-glib"
142   
143   CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-qt"
144   
145   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-libdbus"
146   
147   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-telephony"
148   
149   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-resource-asm"
150   DYNAMIC_PLUGINS="$DYNAMIC_PLUGINS,resource-asm"
151   
152   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-websockets"
153   
154   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-smack"
155   
156   CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-system-controller"
157   
158   CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-system-monitor"
159   
160   NUM_CPUS="`cat /proc/cpuinfo | tr -s '\t' ' ' |   grep '^processor *:' | wc -l`"
161   [ -z "$NUM_CPUS" ] && NUM_CPUS=1
162   
163   ./bootstrap &&   
164   autotools_do_configure
165   
166   
167   
168 }
169 EXTRA_OECONF += " $CONFIG_OPTIONS --with-dynamic-plugins=$DYNAMIC_PLUGINS && make clean && make -j$(($NUM_CPUS + 1)) $V"
170
171 do_install() {
172  export RPM_BUILD_ROOT=${D}
173  cd ${S}
174  LANG=C
175  export LANG
176  unset DISPLAY
177  rm -rf ${D}
178  mkdir -p ${D}
179  
180  rm -rf $RPM_BUILD_ROOT
181  
182    oe_runmake \
183          DESTDIR=${D} \
184          INSTALL_ROOT=${D} \
185          BINDIR=${prefix}/bin \
186    install  
187    rm -f ${D}${infodir}/dir 
188    find ${D} -regex ".*\.la$" | xargs rm -f -- 
189    find ${D} -regex ".*\.a$" | xargs rm -f --
190  
191  # Make sure we have a plugin dir even if all the basic plugins
192  # are configured to be built in.
193  mkdir -p $RPM_BUILD_ROOT${prefix}/lib/murphy/plugins
194  
195  # Get rid of any *.la files installed by libtool.
196  rm -f $RPM_BUILD_ROOT${prefix}/lib/*.la
197  
198  # Clean up also the murphy DB installation.
199  rm -f $RPM_BUILD_ROOT${prefix}/lib/murphy/*.la
200  
201  # Generate list of linkedin plugins (depends on the configuration).
202  outdir="`pwd`"
203  pushd $RPM_BUILD_ROOT >& /dev/null && \
204  find ./${prefix}/lib -name libmurphy-plugin-*.so* | \
205  sed 's#^./*#/#g' > $outdir/filelist.plugins-base && \
206  popd >& /dev/null
207  echo "Found the following linked-in plugin files:"
208  cat $outdir/filelist.plugins-base | sed 's/^/    /g'
209  
210  # Generate list of header files, filtering ones that go to subpackages.
211  outdir="`pwd`"
212  pushd $RPM_BUILD_ROOT >& /dev/null && \
213  find ./${prefix}/include/murphy | \
214  egrep -v '((pulse)|(ecore)|(glib)|(qt))-glue' | \
215  sed 's#^./*#/#g' > $outdir/filelist.devel-includes && \
216  popd >& /dev/null
217  
218  # Replace the default sample/test config files with the packaging ones.
219  rm -f $RPM_BUILD_ROOT${sysconfdir}/murphy/*
220  cp packaging.in/murphy-lua.conf $RPM_BUILD_ROOT${sysconfdir}/murphy/murphy.conf
221  cp packaging.in/murphy.lua      $RPM_BUILD_ROOT${sysconfdir}/murphy/murphy.lua
222  
223  # Copy plugin configuration files in place.
224  mkdir -p $RPM_BUILD_ROOT${sysconfdir}/murphy/plugins/amb
225  cp packaging.in/amb-config.lua \
226  $RPM_BUILD_ROOT${sysconfdir}/murphy/plugins/amb/config.lua
227  
228  # Copy tmpfiles.d config file in place
229  mkdir -p $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
230  cp packaging.in/murphyd.conf $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
231  
232  # Copy the systemd files in place.
233  mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
234  mkdir -p $RPM_BUILD_ROOT/lib/systemd/user
235  cp packaging.in/murphyd.service $RPM_BUILD_ROOT/lib/systemd/system
236  
237  mkdir -p $RPM_BUILD_ROOT${sysconfdir}/dbus-1/system.d
238  cp packaging.in/org.Murphy.conf $RPM_BUILD_ROOT${sysconfdir}/dbus-1/system.d/org.Murphy.conf
239  
240  # copy the manifest file
241  cp -a ${S}/packaging/murphy.manifest $RPM_BUILD_ROOT${prefix}/share/murphy.manifest
242  cp -a ${S}/packaging/murphy.manifest $RPM_BUILD_ROOT${prefix}/share/murphy-tests.manifest
243  cp -a ${S}/packaging/murphy.manifest $RPM_BUILD_ROOT${prefix}/share/murphy-ivi-resource-manager.manifest
244  cp -a ${S}/packaging/murphy.manifest $RPM_BUILD_ROOT${prefix}/share/murphy-glib.manifest
245  cp -a ${S}/packaging/murphy.manifest $RPM_BUILD_ROOT${prefix}/share/murphy-pulse.manifest
246  cp -a ${S}/packaging/murphy.manifest $RPM_BUILD_ROOT${prefix}/share/murphy-ecore.manifest
247  
248  
249 }
250
251 pkg_postinst_${PN}() {
252     #!/bin/sh -e
253
254     ldconfig
255
256 }
257
258 pkg_postinst_${PN}() {
259     #!/bin/sh -e
260
261     /bin/systemctl enable murphyd.service
262     setcap 'cap_net_admin=+ep' $D${prefix}/bin/murphyd
263     ldconfig
264
265 }
266
267 pkg_postinst_${PN}() {
268     #!/bin/sh -e
269
270     ldconfig
271
272 }
273
274 pkg_postinst_${PN}() {
275     #!/bin/sh -e
276
277     ldconfig
278
279 }
280
281 pkg_postrm_${PN}() {
282     #!/bin/sh -e
283
284     if [ "$1" = "0" ]; then
285     /bin/systemctl disable murphyd.service
286     fi
287     ldconfig
288
289 }
290
291 pkg_postrm_${PN}() {
292     #!/bin/sh -e
293
294     ldconfig
295
296 }
297
298 pkg_postrm_${PN}() {
299     #!/bin/sh -e
300
301     ldconfig
302
303 }
304
305 pkg_postrm_${PN}() {
306     #!/bin/sh -e
307
308     ldconfig
309
310 }
311
312 PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-locale"
313 PACKAGES += " murphy-dev "
314 PACKAGES += " murphy-ecore "
315 PACKAGES += " murphy-pulse "
316 PACKAGES += " murphy "
317 PACKAGES += " murphy-ivi-resource-manager "
318 PACKAGES += " murphy-ecore-dev "
319 PACKAGES += " murphy-pulse-dev "
320 PACKAGES += " murphy-tests "
321 PACKAGES += " murphy-glib "
322 PACKAGES += " murphy-glib-dev "
323
324 murphy-dev_files = ""
325 murphy-dev_files += "${prefix}/include/murphy-db"
326 murphy-dev_files += "${prefix}/lib/libmurphy-common.so"
327 murphy-dev_files += "${prefix}/lib/libmurphy-core.so"
328 murphy-dev_files += "${prefix}/lib/libmurphy-resolver.so"
329 murphy-dev_files += "${prefix}/lib/libmurphy-resource.so"
330 murphy-dev_files += "${prefix}/lib/libmurphy-resource-backend.so"
331 murphy-dev_files += "${prefix}/lib/libmurphy-lua-utils.so"
332 murphy-dev_files += "${prefix}/lib/libmurphy-lua-decision.so"
333 murphy-dev_files += "${prefix}/lib/libmurphy-domain-controller.so"
334 murphy-dev_files += "${prefix}/lib/murphy/*.so"
335 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-common.pc"
336 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-core.pc"
337 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-resolver.pc"
338 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-lua-utils.pc"
339 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-lua-decision.pc"
340 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-domain-controller.pc"
341 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-db.pc"
342 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-resource.pc"
343 murphy-dev_files += "${prefix}/include/breedline"
344 murphy-dev_files += "${prefix}/lib/libbreedline*.so"
345 murphy-dev_files += "${prefix}/lib/pkgconfig/breedline*.pc"
346 murphy-dev_files += "${prefix}/lib/libmurphy-libdbus.so"
347 murphy-dev_files += "${prefix}/lib/libmurphy-dbus-libdbus.so"
348 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-libdbus.pc"
349 murphy-dev_files += "${prefix}/lib/pkgconfig/murphy-dbus-libdbus.pc"
350
351 murphy-ecore_files = ""
352 murphy-ecore_files += "${prefix}/lib/libmurphy-ecore.so.*"
353 MANIFESTFILES_${PN}-ecore = "${prefix}/share/murphy-ecore.manifest"
354
355 murphy-pulse_files = ""
356 murphy-pulse_files += "${prefix}/lib/libmurphy-pulse.so.*"
357 MANIFESTFILES_${PN}-pulse = "${prefix}/share/murphy-pulse.manifest"
358
359 murphy-doc_files = ""
360 murphy-doc_files += "${prefix}/share/doc/packages/../murphy/AUTHORS"
361 murphy-doc_files += "${prefix}/share/doc/packages/../murphy/CODING-STYLE"
362 murphy-doc_files += "${prefix}/share/doc/packages/../murphy/ChangeLog"
363 murphy-doc_files += "${prefix}/share/doc/packages/../murphy/INSTALL"
364 murphy-doc_files += "${prefix}/share/doc/packages/../murphy/NEWS"
365 murphy-doc_files += "${prefix}/share/doc/packages/../murphy/README"
366
367 murphy_files = ""
368 murphy_files += "${prefix}/bin/murphyd"
369 murphy_files += "${sysconfdir}/murphy"
370 murphy_files += "/lib/systemd/system/murphyd.service"
371 murphy_files += "/usr/lib/tmpfiles.d/murphyd.conf"
372 murphy_files += "${prefix}/sbin/asm-bridge"
373 murphy_files += "${sysconfdir}/dbus-1/system.d"
374 murphy_files += "${sysconfdir}/dbus-1/system.d/org.Murphy.conf"
375 murphy_files += "${prefix}/share/murphy"
376 murphy_files += "${prefix}/lib/libmurphy-common.so.*"
377 murphy_files += "${prefix}/lib/libmurphy-core.so.*"
378 murphy_files += "${prefix}/lib/libmurphy-resolver.so.*"
379 murphy_files += "${prefix}/lib/libmurphy-resource.so.*"
380 murphy_files += "${prefix}/lib/libmurphy-resource-backend.so.*"
381 murphy_files += "${prefix}/lib/libmurphy-lua-utils.so.*"
382 murphy_files += "${prefix}/lib/libmurphy-lua-decision.so.*"
383 murphy_files += "${prefix}/lib/libmurphy-domain-controller.so.*"
384 murphy_files += "${prefix}/lib/murphy/*.so.*"
385 murphy_files += "${prefix}/lib/libbreedline*.so.*"
386 murphy_files += "${prefix}/lib/libmurphy-libdbus.so.*"
387 murphy_files += "${prefix}/lib/libmurphy-dbus-libdbus.so.*"
388 murphy_files += "${prefix}/lib/murphy/plugins/plugin-domain-control.so"
389 murphy_files += "${prefix}/lib/murphy/plugins/plugin-resource-asm.so"
390 murphy_files += "${prefix}/lib/murphy/plugins/plugin-resource-native.so"
391 CONFFILES_${PN} = ""
392 CONFFILES_${PN} += "${sysconfdir}/murphy"
393 CONFFILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.Murphy.conf"
394 MANIFESTFILES_${PN} = "${prefix}/share/murphy.manifest"
395
396 murphy-ivi-resource-manager_files = ""
397 murphy-ivi-resource-manager_files += "${prefix}/lib/murphy/plugins/plugin-ivi-resource-manager.so"
398 MANIFESTFILES_${PN}-ivi-resource-manager = "${prefix}/share/murphy-ivi-resource-manager.manifest"
399
400 murphy-ecore-dev_files = ""
401 murphy-ecore-dev_files += "${prefix}/include/murphy/common/ecore-glue.h"
402 murphy-ecore-dev_files += "${prefix}/lib/libmurphy-ecore.so"
403 murphy-ecore-dev_files += "${prefix}/lib/pkgconfig/murphy-ecore.pc"
404
405 murphy-pulse-dev_files = ""
406 murphy-pulse-dev_files += "${prefix}/include/murphy/common/pulse-glue.h"
407 murphy-pulse-dev_files += "${prefix}/lib/libmurphy-pulse.so"
408 murphy-pulse-dev_files += "${prefix}/lib/pkgconfig/murphy-pulse.pc"
409
410 murphy-tests_files = ""
411 murphy-tests_files += "${prefix}/bin/resource-client"
412 murphy-tests_files += "${prefix}/bin/resource-api-test"
413 murphy-tests_files += "${prefix}/bin/resource-api-fuzz"
414 murphy-tests_files += "${prefix}/bin/test-domain-controller"
415 murphy-tests_files += "${prefix}/bin/murphy-console"
416 MANIFESTFILES_${PN}-tests = "${prefix}/share/murphy-tests.manifest"
417
418 murphy-glib_files = ""
419 murphy-glib_files += "${prefix}/lib/libmurphy-glib.so.*"
420 MANIFESTFILES_${PN}-glib = "${prefix}/share/murphy-glib.manifest"
421
422 murphy-glib-dev_files = ""
423 murphy-glib-dev_files += "${prefix}/include/murphy/common/glib-glue.h"
424 murphy-glib-dev_files += "${prefix}/lib/libmurphy-glib.so"
425 murphy-glib-dev_files += "${prefix}/lib/pkgconfig/murphy-glib.pc"
426
427 FILES_${PN}-dev = "${murphy-dev_files}"
428 FILES_${PN}-ecore = "${murphy-ecore_files}"
429 FILES_${PN}-pulse = "${murphy-pulse_files}"
430 FILES_${PN}-doc = "${murphy-doc_files}"
431 FILES_${PN} = "${murphy_files}"
432 FILES_${PN}-ivi-resource-manager = "${murphy-ivi-resource-manager_files}"
433 FILES_${PN}-ecore-dev = "${murphy-ecore-dev_files}"
434 FILES_${PN}-pulse-dev = "${murphy-pulse-dev_files}"
435 FILES_${PN}-tests = "${murphy-tests_files}"
436 FILES_${PN}-glib = "${murphy-glib_files}"
437 FILES_${PN}-glib-dev = "${murphy-glib-dev_files}"
438
439 PKG_murphy-dev= "murphy-dev"
440 PKG_murphy-ecore= "murphy-ecore"
441 PKG_murphy-pulse= "murphy-pulse"
442 PKG_murphy-doc= "murphy-doc"
443 PKG_murphy= "murphy"
444 PKG_murphy-ivi-resource-manager= "murphy-ivi-resource-manager"
445 PKG_murphy-ecore-dev= "murphy-ecore-dev"
446 PKG_murphy-pulse-dev= "murphy-pulse-dev"
447 PKG_murphy-tests= "murphy-tests"
448 PKG_murphy-glib= "murphy-glib"
449 PKG_murphy-glib-dev= "murphy-glib-dev"
450
451 require murphy-extraconf.inc
452