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