mirror of
https://git.yoctoproject.org/poky
synced 2026-05-02 18:32:15 +02:00
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>
154 lines
5.6 KiB
BlitzBasic
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"
|