Enable dbus-broker for Fedora 29

As described in the comments, it seems the transition between
dbus-daemon -> dbus-broker in Fedora 29 has made it so the packages
can get into a state where neither service is enabled.

Explicitly install and enable dbus-broker for F29

Change-Id: I06753043a75be2f635653899c6c251b9fbdd7c67
This commit is contained in:
Ian Wienand 2019-01-31 17:44:14 +11:00
parent 29f5759a4d
commit 7cb5916a76
2 changed files with 40 additions and 0 deletions

View File

@ -0,0 +1,32 @@
#!/bin/bash
#
# Copyright 2019 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
# Ensure that dbus-broker is enabled; it seems that because of the
# transition between dbus-daemon and dbus-broker (see
# https://pagure.io/fesco/issue/1853) the .spec files could possibly
# not enable this (likely related to ordering or something we do in
# the non-standardish chroot building) and a 2019 system with no dbus
# is very unhappy (networkmanager fails, etc).
if [[ ${DISTRO_NAME} == 'fedora' && ${DIB_RELEASE} -ge 29 ]]; then
systemctl --no-reload enable dbus-broker.service
fi

View File

@ -278,6 +278,14 @@ _base_packages="systemd passwd findutils sudo util-linux-ng "
# https://bugzilla.redhat.com/show_bug.cgi?id=1398505 # https://bugzilla.redhat.com/show_bug.cgi?id=1398505
_base_packages+="systemd-udev " _base_packages+="systemd-udev "
# F29 moved to dbus-broker as the default, but dbus-daemon is
# still available. Explicitly pull it in; note we have an
# install.d script to enable the service explicitly it as this
# seems required.
if [[ ${DISTRO_NAME} = fedora && ${DIB_RELEASE} -ge 29 ]]; then
_base_packages+="dbus-broker"
fi
# bootstrap the environment within the chroot; bring in new # bootstrap the environment within the chroot; bring in new
# metadata with an update and install some base packages we need. # metadata with an update and install some base packages we need.
sudo -E chroot $TARGET_ROOT ${YUM} -y update sudo -E chroot $TARGET_ROOT ${YUM} -y update