Files
poky/meta/recipes-core/dbus/dbus_1.12.20.bb
Richard Purdie 71cc4c0c00 meta: Clean up various class-native* RDEPENDS overrides
With PACKAGES functioning more correctly for native recipes combined
with classextend improvements over the years, there are various overrides
of RDEPENDS which look unecessary now, clean them up.

There some some minor changes in dependencies, specifically:

"python3-numpy-native.do_populate_sysroot" -> "python3-native.do_populate_sysroot"
"python3-mako-native.do_populate_sysroot" -> "python3-native.do_populate_sysroot"
"itstool-native.do_populate_sysroot" -> "libxml2-native.do_populate_sysroot"

however there are already:

XXX-native.do_prepare_recipe_ssysroot -> YYY-native.do_populate_sysroot

mappings from DEPENDS so this is effectively a null op.

(From OE-Core rev: 2edd826531d79744d7b2114c5f24296966d51781)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00

154 lines
5.6 KiB
BlitzBasic

SUMMARY = "D-Bus message bus"
DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed."
HOMEPAGE = "https://dbus.freedesktop.org"
SECTION = "base"
require dbus.inc
DEPENDS = "expat virtual/libintl autoconf-archive"
PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}"
ALLOW_EMPTY_dbus-ptest = "1"
RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest"
RDEPENDS_${PN} += "${PN}-common ${PN}-tools"
RDEPENDS_${PN}_class-native = ""
inherit useradd update-rc.d
INITSCRIPT_NAME = "dbus-1"
INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ."
python __anonymous() {
if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
}
PACKAGES =+ "${PN}-lib ${PN}-common ${PN}-tools"
USERADD_PACKAGES = "dbus-common"
USERADD_PARAM_dbus-common = "--system --home ${localstatedir}/lib/dbus \
--no-create-home --shell /bin/false \
--user-group messagebus"
CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
DEBIANNAME_${PN} = "dbus-1"
OLDPKGNAME = "dbus-x11"
OLDPKGNAME_class-nativesdk = ""
# for compatibility
RPROVIDES_${PN} = "${OLDPKGNAME}"
RREPLACES_${PN} += "${OLDPKGNAME}"
FILES_${PN} = "${bindir}/dbus-daemon* \
${bindir}/dbus-cleanup-sockets \
${bindir}/dbus-launch \
${bindir}/dbus-run-session \
${libexecdir}/dbus* \
${sysconfdir} \
${localstatedir} \
${systemd_system_unitdir} \
${systemd_user_unitdir} \
${nonarch_libdir}/tmpfiles.d/dbus.conf \
"
FILES_${PN}-common = "${sysconfdir}/dbus-1 \
${datadir}/dbus-1/services \
${datadir}/dbus-1/system-services \
${datadir}/dbus-1/session.d \
${datadir}/dbus-1/session.conf \
${datadir}/dbus-1/system.d \
${datadir}/dbus-1/system.conf \
${systemd_system_unitdir}/dbus.socket \
${systemd_system_unitdir}/sockets.target.wants \
${systemd_user_unitdir}/dbus.socket \
${systemd_user_unitdir}/sockets.target.wants \
${nonarch_libdir}/sysusers.d/dbus.conf \
"
FILES_${PN}-tools = "${bindir}/dbus-uuidgen \
${bindir}/dbus-send \
${bindir}/dbus-monitor \
${bindir}/dbus-update-activation-environment \
"
FILES_${PN}-lib = "${libdir}/lib*.so.*"
RRECOMMENDS_${PN}-lib = "${PN}"
FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool ${datadir}/xml/dbus-1"
PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}"
pkg_postinst_dbus() {
# If both systemd and sysvinit are enabled, mask the dbus-1 init script
if ${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','true','false',d)}; then
if [ -n "$D" ]; then
OPTS="--root=$D"
fi
systemctl $OPTS mask dbus-1.service
fi
if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
/etc/init.d/populate-volatile.sh update
fi
}
EXTRA_OECONF += "--disable-tests"
do_install() {
autotools_do_install
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/init.d
sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh
install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1
install -d ${D}${sysconfdir}/default/volatiles
echo "d messagebus messagebus 0755 ${localstatedir}/run/dbus none" \
> ${D}${sysconfdir}/default/volatiles/99_dbus
fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
for i in dbus.target.wants sockets.target.wants multi-user.target.wants; do \
install -d ${D}${systemd_system_unitdir}/$i; done
install -m 0644 ${B}/bus/dbus.service ${B}/bus/dbus.socket ${D}${systemd_system_unitdir}/
ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/dbus.target.wants/dbus.socket
ln -fs ../dbus.socket ${D}${systemd_system_unitdir}/sockets.target.wants/dbus.socket
ln -fs ../dbus.service ${D}${systemd_system_unitdir}/multi-user.target.wants/dbus.service
fi
mkdir -p ${D}${localstatedir}/lib/dbus
chown messagebus:messagebus ${D}${localstatedir}/lib/dbus
chown root:messagebus ${D}${libexecdir}/dbus-daemon-launch-helper
chmod 4755 ${D}${libexecdir}/dbus-daemon-launch-helper
# Remove Red Hat initscript
rm -rf ${D}${sysconfdir}/rc.d
# Remove empty testexec directory as we don't build tests
rm -rf ${D}${libdir}/dbus-1.0/test
# Remove /var/run as it is created on startup
rm -rf ${D}${localstatedir}/run
}
do_install_class-native() {
autotools_do_install
# dbus-launch has no X support so lets not install it in case the host
# has a more featured and useful version
rm -f ${D}${bindir}/dbus-launch
}
do_install_class-nativesdk() {
autotools_do_install
# dbus-launch has no X support so lets not install it in case the host
# has a more featured and useful version
rm -f ${D}${bindir}/dbus-launch
# Remove /var/run to avoid QA error
rm -rf ${D}${localstatedir}/run
}
BBCLASSEXTEND = "native nativesdk"
INSANE_SKIP_${PN}-ptest += "build-deps"