rpm: build without dbus for rpm-native

Add option for dbus in configure.ac, and explicitly build without dbus
for rpm-native.

Previously, the rpm recipe tries to prevent rpm-native from attempting
to inhibit shutdown via session dbus by appending '--disable-plugins'
to EXTRA_OECONF in case of native.

However, some layer may need some functionality via plugin support. And
when it enables it, we would meet the following warning at rootfs time.

  Unable to get systemd shutdown inhibition lock: Socket name too long

As plugins/systemd_inhibit.c is the only place that's related to this
dependency, we can be sure that dbus is really not needed for rpm-native.

(From OE-Core rev: 815ccef2d5bef1e46c51916e694d0974aee394a9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi
2018-04-08 15:56:07 +08:00
committed by Richard Purdie
parent 003e908865
commit 1ed050ae47
2 changed files with 46 additions and 2 deletions

View File

@@ -0,0 +1,42 @@
From dfb422c744fdc1838afc40b8e1f161bb46093d92 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Sun, 8 Apr 2018 12:06:42 +0800
Subject: [PATCH] configure.ac: add option for dbus
Add option for dbus so that users could choose to build with dbus
or with no dbus.
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
configure.ac | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 4db15c7909..493f393d31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -976,12 +976,15 @@ AS_IF([test "$enable_plugins" = yes],[
])
AM_CONDITIONAL(ENABLE_PLUGINS,[test "$enable_plugins" = yes])
-with_dbus=no
-AS_IF([test "$enable_plugins" != no],[
+AC_ARG_WITH([dbus], [AS_HELP_STRING([--with-dbus], [build with dbus support])],
+ [],
+ [with_dbus=yes])
+
+AS_IF([test "$with_dbus" != no],[
PKG_CHECK_MODULES([DBUS],
[dbus-1 >= 1.3],
- [AC_DEFINE(DBUS, 1, [Build with dbus support?]) with_dbus=yes],
- [with_dbus=no])
+ [AC_DEFINE(DBUS, 1, [Build with dbus support?])],
+ [AC_MSG_ERROR([dbus not present (--without-dbus to disable)])])
AC_SUBST(DBUS_CFLAGS)
AC_SUBST(DBUS_LIBS)
])
--
2.11.0

View File

@@ -40,6 +40,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \
file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \
file://0001-perl-disable-auto-reqs.patch \
file://0001-Revert-Set-FD_CLOEXEC-on-opened-files-before-exec-fr.patch \
file://0001-configure.ac-add-option-for-dbus.patch \
"
PE = "1"
@@ -63,8 +64,9 @@ EXTRA_OECONF_append_libc-musl = " --disable-nls"
#
# --localstatedir prevents rpm from writing its database to native sysroot when building images
#
# Also disable plugins, so that rpm doesn't attempt to inhibit shutdown via session dbus
EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins"
# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled.
# Also disable plugins by default for native.
EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --without-dbus --disable-plugins"
BBCLASSEXTEND = "native nativesdk"