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"
100 DEPENDS += "pulseaudio"
101 DEPENDS += "glib-2.0"
104 DEPENDS_append_class-native = " bison-native"
105 DEPENDS_append_class-target = " bison-native"
107 DEPENDS += "libwebsockets"
110 DEPENDS += "audio-session-manager"
114 chmod -Rf a+rX,u+w,g-w,o-w ${S}
120 bb.build.exec_func('do_prep', d)
131 LD_AS_NEEDED=1; export LD_AS_NEEDED ;
135 DYNAMIC_PLUGINS="domain-control,system-controller,ivi-resource-manager"
137 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-pulse"
139 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-ecore"
141 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-glib"
143 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-qt"
145 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-libdbus"
147 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-gpl --enable-telephony"
149 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-resource-asm"
150 DYNAMIC_PLUGINS="$DYNAMIC_PLUGINS,resource-asm"
152 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-websockets"
154 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-smack"
156 CONFIG_OPTIONS="$CONFIG_OPTIONS --disable-system-controller"
158 CONFIG_OPTIONS="$CONFIG_OPTIONS --enable-system-monitor"
160 NUM_CPUS="`cat /proc/cpuinfo | tr -s '\t' ' ' | grep '^processor *:' | wc -l`"
161 [ -z "$NUM_CPUS" ] && NUM_CPUS=1
164 autotools_do_configure
169 EXTRA_OECONF += " $CONFIG_OPTIONS --with-dynamic-plugins=$DYNAMIC_PLUGINS && make clean && make -j$(($NUM_CPUS + 1)) $V"
172 export RPM_BUILD_ROOT=${D}
180 rm -rf $RPM_BUILD_ROOT
185 BINDIR=${prefix}/bin \
187 rm -f ${D}${infodir}/dir
188 find ${D} -regex ".*\.la$" | xargs rm -f --
189 find ${D} -regex ".*\.a$" | xargs rm -f --
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
195 # Get rid of any *.la files installed by libtool.
196 rm -f $RPM_BUILD_ROOT${prefix}/lib/*.la
198 # Clean up also the murphy DB installation.
199 rm -f $RPM_BUILD_ROOT${prefix}/lib/murphy/*.la
201 # Generate list of linkedin plugins (depends on the configuration).
203 pushd $RPM_BUILD_ROOT >& /dev/null && \
204 find ./${prefix}/lib -name libmurphy-plugin-*.so* | \
205 sed 's#^./*#/#g' > $outdir/filelist.plugins-base && \
207 echo "Found the following linked-in plugin files:"
208 cat $outdir/filelist.plugins-base | sed 's/^/ /g'
210 # Generate list of header files, filtering ones that go to subpackages.
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 && \
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
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
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
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
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
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
251 pkg_postinst_${PN}() {
258 pkg_postinst_${PN}() {
261 /bin/systemctl enable murphyd.service
262 setcap 'cap_net_admin=+ep' $D${prefix}/bin/murphyd
267 pkg_postinst_${PN}() {
274 pkg_postinst_${PN}() {
284 if [ "$1" = "0" ]; then
285 /bin/systemctl disable murphyd.service
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 "
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"
351 murphy-ecore_files = ""
352 murphy-ecore_files += "${prefix}/lib/libmurphy-ecore.so.*"
353 MANIFESTFILES_${PN}-ecore = "${prefix}/share/murphy-ecore.manifest"
355 murphy-pulse_files = ""
356 murphy-pulse_files += "${prefix}/lib/libmurphy-pulse.so.*"
357 MANIFESTFILES_${PN}-pulse = "${prefix}/share/murphy-pulse.manifest"
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"
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"
392 CONFFILES_${PN} += "${sysconfdir}/murphy"
393 CONFFILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.Murphy.conf"
394 MANIFESTFILES_${PN} = "${prefix}/share/murphy.manifest"
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"
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"
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"
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"
418 murphy-glib_files = ""
419 murphy-glib_files += "${prefix}/lib/libmurphy-glib.so.*"
420 MANIFESTFILES_${PN}-glib = "${prefix}/share/murphy-glib.manifest"
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"
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}"
439 PKG_murphy-dev= "murphy-dev"
440 PKG_murphy-ecore= "murphy-ecore"
441 PKG_murphy-pulse= "murphy-pulse"
442 PKG_murphy-doc= "murphy-doc"
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"
451 require murphy-extraconf.inc