1 DESCRIPTION = "Murphy policy framework"
2 HOMEPAGE = "http://nohomepage.org"
3 SECTION = "System/Service"
4 LICENSE = "BSD-3-Clause"
10 inherit autotools-brokensep
15 #PROVIDES by murphy-dev
16 PROVIDES += "murphy-dev"
19 #PROVIDES by murphy-ecore
20 PROVIDES += "murphy-ecore"
23 #PROVIDES by murphy-pulse
24 PROVIDES += "murphy-pulse"
27 #PROVIDES by murphy-doc
28 PROVIDES += "murphy-doc"
34 #PROVIDES by murphy-ivi-resource-manager
35 PROVIDES += "murphy-ivi-resource-manager"
38 #PROVIDES by murphy-ecore-dev
39 PROVIDES += "murphy-ecore-dev"
42 #PROVIDES by murphy-pulse-dev
43 PROVIDES += "murphy-pulse-dev"
46 #PROVIDES by murphy-tests
47 PROVIDES += "murphy-tests"
50 #PROVIDES by murphy-glib
51 PROVIDES += "murphy-glib"
54 #PROVIDES by murphy-glib-dev
55 PROVIDES += "murphy-glib-dev"
59 #RDEPENDS of murphy-dev (${PN}-dev)
60 RDEPENDS_${PN}-dev += "json-c"
61 RDEPENDS_${PN}-dev += "murphy"
63 #RDEPENDS of murphy-ecore (${PN}-ecore)
64 RDEPENDS_${PN}-ecore += "murphy"
66 #RDEPENDS of murphy-pulse (${PN}-pulse)
67 RDEPENDS_${PN}-pulse += "murphy"
69 #RDEPENDS of murphy (${PN})
70 RDEPENDS_${PN} += "libcap"
71 RDEPENDS_${PN} += "/bin/systemctl"
73 #RDEPENDS of murphy-ecore-dev (${PN}-ecore-dev)
74 RDEPENDS_${PN}-ecore-dev += "murphy-ecore"
75 RDEPENDS_${PN}-ecore-dev += "murphy"
77 #RDEPENDS of murphy-pulse-dev (${PN}-pulse-dev)
78 RDEPENDS_${PN}-pulse-dev += "murphy-pulse"
79 RDEPENDS_${PN}-pulse-dev += "murphy"
81 #RDEPENDS of murphy-tests (${PN}-tests)
82 RDEPENDS_${PN}-tests += "murphy"
84 #RDEPENDS of murphy-glib (${PN}-glib)
85 RDEPENDS_${PN}-glib += "murphy"
87 #RDEPENDS of murphy-glib-dev (${PN}-glib-dev)
88 RDEPENDS_${PN}-glib-dev += "murphy"
89 RDEPENDS_${PN}-glib-dev += "murphy-glib"
102 DEPENDS += "pulseaudio"
103 DEPENDS += "glib-2.0"
106 DEPENDS_append_class-native = " bison-native"
107 DEPENDS_append_class-target = " bison-native"
109 DEPENDS += "libwebsockets"
112 DEPENDS += "audio-session-manager"
113 DEPENDS += "ico-uxf-weston-plugin"
117 chmod -Rf a+rX,u+w,g-w,o-w ${S}
120 echo "_with_icosyscon: \"0\""
121 echo "_enable_icosyscon: \"0\""
126 bb.build.exec_func('do_prep', d)
137 LD_AS_NEEDED=1; export LD_AS_NEEDED ;
141 DYNAMIC_PLUGINS="domain-control,system-controller,ivi-resource-manager"
143 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-pulse"
145 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-ecore"
147 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-glib"
149 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-qt"
151 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-libdbus"
153 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-telephony"
155 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-resource-asm"
156 DYNAMIC_PLUGINS="$DYNAMIC_PLUGINS,resource-asm"
158 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-websockets"
160 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-smack"
162 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-system-controller"
164 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-system-monitor"
166 NUM_CPUS="`cat /proc/cpuinfo | tr -s '\t' ' ' | grep '^processor *:' | wc -l`"
167 [ -z "$NUM_CPUS" ] && NUM_CPUS=1
170 autotools_do_configure
175 EXTRA_OECONF += " $CONFIG_OPTIONS --with-dynamic-plugins=$DYNAMIC_PLUGINS && make clean && make -j$(($NUM_CPUS + 1)) $V"
178 export RPM_BUILD_ROOT=${D}
186 rm -rf $RPM_BUILD_ROOT
191 BINDIR=${prefix}/bin \
193 rm -f ${D}${infodir}/dir
194 find ${D} -regex ".*\.la$" | xargs rm -f --
195 find ${D} -regex ".*\.a$" | xargs rm -f --
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
201 # Get rid of any *.la files installed by libtool.
202 rm -f $RPM_BUILD_ROOT${prefix}/lib/*.la
204 # Clean up also the murphy DB installation.
205 rm -f $RPM_BUILD_ROOT${prefix}/lib/murphy/*.la
207 # Generate list of linkedin plugins (depends on the configuration).
209 pushd $RPM_BUILD_ROOT >& /dev/null && \
210 find ./${prefix}/lib -name libmurphy-plugin-*.so* | \
211 sed 's#^./*#/#g' > $outdir/filelist.plugins-base && \
213 echo "Found the following linked-in plugin files:"
214 cat $outdir/filelist.plugins-base | sed 's/^/ /g'
216 # Generate list of header files, filtering ones that go to subpackages.
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 && \
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
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
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
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
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
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
257 pkg_postinst_${PN}() {
264 pkg_postinst_${PN}() {
267 /bin/systemctl enable murphyd.service
268 setcap 'cap_net_admin=+ep' $D${prefix}/bin/murphyd
273 pkg_postinst_${PN}() {
280 pkg_postinst_${PN}() {
290 if [ "$1" = "0" ]; then
291 /bin/systemctl disable murphyd.service
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 "
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"
357 murphy-ecore_files = ""
358 murphy-ecore_files += "${prefix}/lib/libmurphy-ecore.so.*"
359 MANIFESTFILES_${PN}-ecore = "${prefix}/share/murphy-ecore.manifest"
361 murphy-pulse_files = ""
362 murphy-pulse_files += "${prefix}/lib/libmurphy-pulse.so.*"
363 MANIFESTFILES_${PN}-pulse = "${prefix}/share/murphy-pulse.manifest"
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"
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"
398 CONFFILES_${PN} += "${sysconfdir}/murphy"
399 CONFFILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.Murphy.conf"
400 MANIFESTFILES_${PN} = "${prefix}/share/murphy.manifest"
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"
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"
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"
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"
424 murphy-glib_files = ""
425 murphy-glib_files += "${prefix}/lib/libmurphy-glib.so.*"
426 MANIFESTFILES_${PN}-glib = "${prefix}/share/murphy-glib.manifest"
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"
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}"
445 PKG_murphy-dev= "murphy-dev"
446 PKG_murphy-ecore= "murphy-ecore"
447 PKG_murphy-pulse= "murphy-pulse"
448 PKG_murphy-doc= "murphy-doc"
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"
457 require murphy-extraconf.inc