Pre-install xz package in opensuse chroot

As of recently, opensuse-minimal images fail to build because of an
error installing the kernel-default package:

> Problem: kernel-default-5.6.12-1.3.x86_64 requires mkinitrd >= 2.7.1, but this requirement cannot be provided
>   not installable providers: dracut-050+suse.61.g0fe0e854-1.1.i586[repo-oss]
>                    dracut-050+suse.61.g0fe0e854-1.1.x86_64[repo-oss]

The problem is there is a recently added package `busybox-links` which
provides a subpackage `busybox-xz` which provides the /usr/bin/xz
utility. Since this is available, the `aaa_base` package installs it
during the root.d base installation phase to fulfill it's dependency on
/usr/bin/xz. On the other hand, the dracut package explicitly requires
the `xz` package, and this is not co-installable with the `busybox-xz`
package, so the dracut package is not installable during the install.d
phase. This change explicitly adds the `xz` package to the initial
chroot provisioning phase so that the /usr/bin/xz requirement is already
fulfilled and `busybox-xz` does not get installed.

Change-Id: Iba8c301eb496657873963e1aa99736aacf87cb00
This commit is contained in:
Colleen Murphy 2020-05-26 13:46:01 -07:00
parent 6e549c33ac
commit 19b3586d08

View File

@ -100,6 +100,9 @@ sudo mount -t sysfs none $TARGET_ROOT/sys
# Install filesystem, base and useful tools
sudo zypper ${ZYPPER_TARGET_OPTS} install --no-recommends filesystem
# Install xz before base to avoid pulling in busybox-xz
# https://bugzilla.opensuse.org/show_bug.cgi?id=1172209
sudo zypper ${ZYPPER_TARGET_OPTS} install --no-recommends xz
# Install basic components in order
sudo zypper ${ZYPPER_TARGET_OPTS} install \
${DIB_OPENSUSE_PATTERNS} ${ZYPPER_INSTALL_SYSTEM_PYTHON} \