You are right, this is caused by the dnf modularity. For just test purpose, do you know whether can adding “#!/bin/sh echo
module_hotfixes=true >> ‘/etc/dnf/dnf.conf’” in the “%pre” section of kickstart cfg,
I tried but failed to update “/etc/dnf/dnf.conf” on target.
Actually the below commit[0] making the normal repodata to module repo with the upstream “modules.yaml”:
this gz file has been deprecated , after updated the above one with the modules.yaml in
https://vault.centos.org/8.1.1911/AppStream/x86_64/os/repodata/,
the pyton36/python36-devel excluding issue gone, but the same issues for qemu-kvm-ev. I think this can be explained for that “qemu-kvm-ev” is not from vault AppStream, but built locally. This means
we have to create module repo for these packages built locally. I found below tools set that can do this:
https://github.com/rpm-software-management/modulemd-tools
These tools requires that the “libmodulemd” must be upgraded to 2.0 which will cause python “__common_types” issue. I am still working on this.
[0] ===================================================
commit 3139368079e66aba19dab4e4ed58665df5f55ca1 (HEAD)
Author: Yong Fu <fuyong@neusoft.com>
Date: Wed Jul 8 11:29:04 2020 +0800
CentOS 8: Add modular repository to fix ISO installation problems.
In the centos8.1 environment,
"dnf: No available modular metadata for modular package"
error occurs in ISO installation.
Modular repository must contain the modular metadata (modulemd) in
the repodata. Excluding the metadata will cause all the modular packages
to become standalone packages which could have negative consequences.
'modules.yaml' get from
http://mirror.centos.org/centos/8.1.1911/AppStream/x86_64/os/repodata/1feb2b0b68761a17ebdf1084518e3f53cec4ec5f317dc1dc7c780a2b041ec3b6-modules.yaml.gz
Change-Id: I92a7f1a3c74197d7a9cec1fb5f0cc5fa5e961900
Story: 2006729
Task: 40294
Signed-off-by: Yong Fu <fuyong@neusoft.com>
diff --git a/build-tools/build-iso b/build-tools/build-iso
index b9ad63d..4e8d962 100755
--- a/build-tools/build-iso
+++ b/build-tools/build-iso
@@ -458,7 +458,8 @@ function final_touches {
# create the repo
\cd $OUTPUT_DIST_DIR/isolinux
$CREATEREPO -q -g ../comps.xml .
-
+ # add modulemd
+ modifyrepo_c --mdtype=modules $MY_REPO/build-tools/modularity/modules.yaml ./repodata
# build the ISO
printf "Building image $OUTPUT_FILE\n"
\cd $OUTPUT_DIST_DIR
diff --git a/build-tools/modularity/modules.yaml b/build-tools/modularity/modules.yaml
=============================================
From: Penney, Don <Don.Penney@windriver.com>
Sent: Monday, December 7, 2020 5:27 PM
To: Bai, Haiqing <Haiqing.Bai@windriver.com>; starlingx-discuss@lists.starlingx.io
Subject: RE: [CentOS8] build-pkgs/build-iso completed successfully, but installer reports dependency issues
It sounds like this new RHEL8 feature, modularity:
https://dnf.readthedocs.io/en/latest/modularity.html#hotfix-repositories
It looks like it could be disabled with module_hotfixes=true in the repo config file, but I don’t see any way of passing this to the kickstart repo command.
I expect there will need to be some investigation of the differences in the installation of centos8 vs centos7, maybe look at the stock installation media to look at how the software repositories are setup. The
introduction of modularity and “AppStream” could necessitate some changes in how we setup our ISO and software repositories.
From: Bai, Haiqing <Haiqing.Bai@windriver.com>
Sent: Monday, December 7, 2020 3:45 AM
To: starlingx-discuss@lists.starlingx.io
Subject: [Starlingx-discuss] [CentOS8] build-pkgs/build-iso completed successfully, but installer reports dependency issues
Hi, all:
Is there anyone knows why “build-pkgs” and “build-iso” completed successfully and bootimage.iso created, but the target installer has below errors:
(I have checked that “python36” and “python36-devel” are in dist/comps.xml and the type is “mandatory” of group ID “platform-controller”, “platform-controller-worker”, “platform-controller-worker-lowlatency”,
and the kickstarts cfg files include the related group in “%packages” ). Thanks.
========================================
Error
The following software marked for installation has errors. This is likely
caused by an error with
your installation source.
Problem 1: package patch-alarm-1.0-2.tis.x86_64 requires python3-devel, but
none of the providers can be installed
- conflicting requests
- package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is
excluded
Problem 2: package grubby-8.40-34.el8.tis.1.x86_64 requires python3-devel, but
none of the providers can be installed
- conflicting requests
- package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is
excluded
Problem 3: package cgcs-patch-1.0-28.tis.x86_64 requires python3-devel, but
none of the providers can be installed
- conflicting requests
- package python36-devel-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is
excluded
Problem 4: package worker-utils-1.0-5.tis.x86_64 requires /usr/bin/python3, but
none of the providers can be installed
- package worker-utils-1.0-5.tis.x86_64 requires python3, but none of the
providers can be installed
- conflicting requests
- package python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64 is excluded
Press ENTER to continue: