Skip to content

add structured kiwi xml based on Fedora kiwi xml#16506

Draft
ddstreet wants to merge 43 commits intomicrosoft:tomls/base/mainfrom
ddstreet:kiwi-config
Draft

add structured kiwi xml based on Fedora kiwi xml#16506
ddstreet wants to merge 43 commits intomicrosoft:tomls/base/mainfrom
ddstreet:kiwi-config

Conversation

@ddstreet
Copy link
Copy Markdown
Contributor

@ddstreet ddstreet commented Apr 8, 2026

This takes the Fedora kiwi xml, and removes/adjusts it to fit our needs.

This is based on #16481

This does not remove or replace the existing vm-base and container-base images; this only adds new images, specifically:

  • LiveInstall
  • Cloud-Base-Azure
  • Cloud-Base-Generic
  • Cloud-Base-UEFI-UKI
  • Container-Base-Generic-Minimal
  • Container-Base-Generic
  • Container-Base-Generic-Init
  • WSL-Base

All these image names are taken unmodified from Fedora's definitions. The primary image for us that might replace our current vm-base is Cloud-Base-Azure. No work or investigation has (yet) been done on any of the other image definitions, and they are left in place only in case they are useful for us to keep around. The LiveInstall image specifically may be useful in generating a live iso installer.

All the images listed above are technically profiles defined in the AzureLinux.kiwi file, and there are other profiles used only for profile inheritance, e.g. BaseCommon, BootCore, etc.

@ddstreet
Copy link
Copy Markdown
Contributor Author

ddstreet commented Apr 8, 2026

the rpm -qa diff between our current vm-base and new Cloud-Base-Azure (filtered for only -/+) is:

-acl-2.3.2-4.azl4~bootstrap.20260303.x86_64
-add-determinism-0.6.0-1.azl4~bootstrap.20260303.x86_64
+7zip-25.01-1.azl4~bootstrap.20260303.x86_64
-ansible-srpm-macros-1-18.1.azl4~bootstrap.20260303.noarch
-attr-2.5.2-6.azl4~bootstrap.20260303.x86_64
-azurelinux-release-4.0-2.azl4~bootstrap.20260303.noarch
+azurelinux-release-cloud-4.0-2.azl4~bootstrap.20260303.noarch
-azurelinux-release-identity-basic-4.0-2.azl4~bootstrap.20260303.noarch
+azurelinux-release-identity-cloud-4.0-2.azl4~bootstrap.20260303.noarch
-azurelinux-rpm-config-1004-1.azl4~bootstrap.20260303.noarch
-bc-1.08.2-2.azl4~bootstrap.20260303.x86_64
-bind-libs-9.18.44-1.azl4~bootstrap.20260303.x86_64
-bind-utils-9.18.44-1.azl4~bootstrap.20260303.x86_64
-binutils-2.45.1-4.azl4~bootstrap.20260303.x86_64
-brotli-1.2.0-1.azl4~bootstrap.20260303.x86_64
-btrfs-progs-6.17.1-1.azl4~bootstrap.20260303.x86_64
-build-reproducibility-srpm-macros-0.6.0-1.azl4~bootstrap.20260303.noarch
-bzip2-1.0.8-21.azl4~bootstrap.20260303.x86_64
-chkconfig-1.33-3.azl4~bootstrap.20260303.x86_64
-cronie-1.7.2-1.azl4~bootstrap.20260303.x86_64
-cronie-anacron-1.7.2-1.azl4~bootstrap.20260303.x86_64
-crontabs-1.11^20190603git9e74f2d-1.azl4~bootstrap.20260303.noarch
-cryptsetup-2.8.4-1.azl4~bootstrap.20260303.x86_64
+crypto-policies-scripts-20251125-1.git63291f8.azl4~bootstrap.20260303.noarch
-cyrus-sasl-2.1.28-1.azl4~bootstrap.20260303.x86_64
-dialog-1.3-55.20250116.azl4~bootstrap.20260303.x86_64
+dnf-data-4.24.0-1.azl4~bootstrap.20260303.noarch
-dracut-kiwi-lib-10.2.37-2.azl4~bootstrap.20260303.noarch
-dracut-kiwi-oem-repart-10.2.37-2.azl4~bootstrap.20260303.noarch
-dracut-network-107-8.azl4~bootstrap.20260303.x86_64
-dwz-0.16-2.azl4~bootstrap.20260303.x86_64
+dracut-config-generic-107-8.azl4~bootstrap.20260303.x86_64
-efi-srpm-macros-6-5.azl4~bootstrap.20260303.noarch
-elfutils-0.194-1.azl4~bootstrap.20260303.x86_64
-filesystem-srpm-macros-3.18-1.azl4~bootstrap.20260303.noarch
-firewalld-2.3.2-1.azl4~bootstrap.20260303.noarch
-firewalld-filesystem-2.3.2-1.azl4~bootstrap.20260303.noarch
-fonts-srpm-macros-2.0.5-23.azl4~bootstrap.20260303.noarch
-forge-srpm-macros-0.4.0-3.azl4~bootstrap.20260303.noarch
-fpc-srpm-macros-1.3-1.azl4~bootstrap.20260303.noarch
-fstrm-0.6.1-13.azl4~bootstrap.20260303.x86_64
+freetype-2.13.3-3.azl4~bootstrap.20260303.x86_64
-gap-srpm-macros-2-1.azl4~bootstrap.20260303.noarch
+gawk-all-langpacks-5.3.2-2.azl4~bootstrap.20260303.x86_64
-gdisk-1.0.10-4.azl4~bootstrap.20260303.x86_64
-ghc-srpm-macros-1.9.2-3.azl4~bootstrap.20260303.noarch
-gnat-srpm-macros-7-1.azl4~bootstrap.20260303.noarch
-gnutls-dane-3.8.12-1.azl4~bootstrap.20260303.x86_64
-go-srpm-macros-3.8.0-1.azl4~bootstrap.20260303.noarch
-gpgme-1.24.3-6.azl4~bootstrap.20260303.x86_64
-gpgverify-2.2-3.azl4~bootstrap.20260303.noarch
+graphite2-1.3.14-19.azl4~bootstrap.20260303.x86_64
+grub2-tools-efi-2.12-40.azl4~bootstrap.20260303.x86_64
+grub2-tools-extra-2.12-40.azl4~bootstrap.20260303.x86_64
+harfbuzz-11.5.1-2.azl4~bootstrap.20260303.x86_64
+initscripts-service-10.27-1.azl4~bootstrap.20260303.noarch
+iptables-legacy-1.8.11-12.azl4~bootstrap.20260303.x86_64
+iptables-legacy-libs-1.8.11-12.azl4~bootstrap.20260303.x86_64
-iptables-nft-1.8.11-12.azl4~bootstrap.20260303.x86_64
-irqbalance-1.9.4-7.azl4~bootstrap.20260303.x86_64
-jansson-2.14-3.azl4~bootstrap.20260303.x86_64
-java-srpm-macros-1-1.azl4~bootstrap.20260303.noarch
-jq-1.8.1-1.azl4~bootstrap.20260303.x86_64
-kernel-6.18.5.1-2.azl4~bootstrap.20260303.x86_64
-kernel-srpm-macros-1.0-27.azl4~bootstrap.20260303.noarch
-kernel-tools-6.18.5.1-2.azl4~bootstrap.20260303.x86_64
-kernel-tools-libs-6.18.5.1-2.azl4~bootstrap.20260303.x86_64
+libcomps-0.1.23-1.azl4~bootstrap.20260303.x86_64
+libdnf-0.75.0-1.azl4~bootstrap.20260303.x86_64
-libestr-0.1.11-12.azl4~bootstrap.20260303.x86_64
-libfastjson-1.2304.0-7.azl4~bootstrap.20260303.x86_64
-libmaxminddb-1.12.2-5.azl4~bootstrap.20260303.x86_64
-libndp-1.9-4.azl4~bootstrap.20260303.x86_64
-libnftnl-1.2.9-2.azl4~bootstrap.20260303.x86_64
-libnl3-3.12.0-2.azl4~bootstrap.20260303.x86_64
+libpng-1.6.55-1.azl4~bootstrap.20260303.x86_64
+libsecret-0.21.7-1.azl4~bootstrap.20260303.x86_64
-libuv-1.52.0-1.azl4~bootstrap.20260303.x86_64
+libxkbcommon-1.11.0-1.azl4~bootstrap.20260303.x86_64
-lmdb-libs-0.9.34-1.azl4~bootstrap.20260303.x86_64
-lua-srpm-macros-1-16.azl4~bootstrap.20260303.noarch
-lz4-1.10.0-3.azl4~bootstrap.20260303.x86_64
-lzo-2.10-15.azl4~bootstrap.20260303.x86_64
+mtools-4.0.49-1.azl4~bootstrap.20260303.x86_64
+nano-default-editor-8.5-2.azl4~bootstrap.20260303.noarch
+ncurses-6.5-7.20250614.azl4~bootstrap.20260303.x86_64
-ncurses-term-6.5-7.20250614.azl4~bootstrap.20260303.noarch
-net-tools-2.0-0.74.20160912git.azl4~bootstrap.20260303.x86_64
-NetworkManager-1.54.3-2.azl4~bootstrap.20260303.x86_64
-NetworkManager-libnm-1.54.3-2.azl4~bootstrap.20260303.x86_64
-nftables-1.1.3-6.azl4~bootstrap.20260303.x86_64
-nftables-services-1.1.3-6.azl4~bootstrap.20260303.noarch
-numactl-libs-2.0.19-3.azl4~bootstrap.20260303.x86_64
-ocaml-srpm-macros-11-2.azl4~bootstrap.20260303.noarch
-oniguruma-6.9.10-3.azl4~bootstrap.20260303.x86_64
-openblas-srpm-macros-2-20.azl4~bootstrap.20260303.noarch
-package-notes-srpm-macros-0.5-1.azl4~bootstrap.20260303.noarch
-pciutils-libs-3.14.0-2.azl4~bootstrap.20260303.x86_64
-perl-srpm-macros-1-60.azl4~bootstrap.20260303.noarch
+pinentry-1.3.2-1.azl4~bootstrap.20260303.x86_64
+pkcs11-provider-1.0-1.azl4~bootstrap.20260303.x86_64
-pv-1.9.34-1.azl4~bootstrap.20260303.x86_64
-pyproject-srpm-macros-1.18.6-1.azl4~bootstrap.20260303.noarch
-python3-firewall-2.3.2-1.azl4~bootstrap.20260303.noarch
-python3-gobject-base-3.54.5-1.azl4~bootstrap.20260303.x86_64
+python3-dnf-4.24.0-1.azl4~bootstrap.20260303.noarch
+python3-dnf-plugins-extras-common-4.1.2-9.azl4.noarch
+python3-dnf-plugin-tracer-4.1.2-9.azl4.noarch
+python3-hawkey-0.75.0-1.azl4~bootstrap.20260303.x86_64
+python3-libcomps-0.1.23-1.azl4~bootstrap.20260303.x86_64
+python3-libdnf-0.75.0-1.azl4~bootstrap.20260303.x86_64
+python3-libdnf5-5.2.18.0-1.azl4~bootstrap.20260303.x86_64
-python3-nftables-1.1.3-6.azl4~bootstrap.20260303.noarch
+python3-psutil-7.0.0-1.azl4~bootstrap.20260303.x86_64
+python3-pysocks-1.7.1-31.azl4~bootstrap.20260303.noarch
+python3-rpm-6.0.1-1.azl4~bootstrap.20260303.x86_64
+python3-six-1.17.0-1.azl4~bootstrap.20260303.noarch
+python3-tracer-1.4-1.azl4.noarch
+python3-unbound-1.24.2-1.azl4~bootstrap.20260303.x86_64
+python3-urllib3+socks-2.6.3-1.azl4~bootstrap.20260303.noarch
-python-srpm-macros-3.14-5.azl4~bootstrap.20260303.noarch
-qt5-srpm-macros-5.15.18-1.azl4~bootstrap.20260303.noarch
-qt6-srpm-macros-6.10.2-1.azl4~bootstrap.20260303.noarch
+python-unversioned-command-3.14.3-1.azl4~bootstrap.20260303.noarch
+qrencode-libs-4.1.1-11.azl4~bootstrap.20260303.x86_64
+rootfiles-9.0-1.azl4~bootstrap.20260303.noarch
+rpm-plugin-audit-6.0.1-1.azl4~bootstrap.20260303.x86_64
+rpm-plugin-systemd-inhibit-6.0.1-1.azl4~bootstrap.20260303.x86_64
-rsyslog-8.2510.0-1.azl4~bootstrap.20260303.x86_64
-rust-srpm-macros-28.4-1.azl4~bootstrap.20260303.noarch
-shadow-utils-subid-4.18.0-3.azl4~bootstrap.20260303.x86_64
+sudo-python-plugin-1.9.17-1.p2.azl4~bootstrap.20260303.x86_64
+systemd-oomd-defaults-258.4-1.azl4~bootstrap.20260303.noarch
-systemd-rpm-macros-258.4-1.azl4~bootstrap.20260303.noarch
+tpm2-tools-5.7-4.azl4~bootstrap.20260303.x86_64
-tree-sitter-srpm-macros-0.4.2-1.azl4~bootstrap.20260303.noarch
+tpm2-tss-fapi-4.1.3-8.azl4~bootstrap.20260303.x86_64
+tracer-common-1.4-1.azl4.noarch
+unbound-anchor-1.24.2-1.azl4~bootstrap.20260303.x86_64
-wget2-2.2.1-1.azl4~bootstrap.20260303.x86_64
-wget2-libs-2.2.1-1.azl4~bootstrap.20260303.x86_64
-wget2-wget-2.2.1-1.azl4~bootstrap.20260303.x86_64
+xkeyboard-config-2.46-1.azl4~bootstrap.20260303.noarch
-zchunk-1.5.1-3.azl4~bootstrap.20260303.x86_64
-zig-srpm-macros-1-5.azl4~bootstrap.20260303.noarch
-zip-3.0-44.azl4~bootstrap.20260303.x86_64

@ddstreet
Copy link
Copy Markdown
Contributor Author

ddstreet commented Apr 8, 2026

To show the package list diff another way, these are the packages present only in vm-base (and not in Cloud-Base-Azure):

acl-2.3.2-4
add-determinism-0.6.0-1
ansible-srpm-macros-1-18.1
attr-2.5.2-6
azurelinux-release-4.0-2
azurelinux-release-identity-basic-4.0-2
azurelinux-rpm-config-1004-1
bc-1.08.2-2
bind-libs-9.18.44-1
bind-utils-9.18.44-1
binutils-2.45.1-4
brotli-1.2.0-1
btrfs-progs-6.17.1-1
build-reproducibility-srpm-macros-0.6.0-1
bzip2-1.0.8-21
chkconfig-1.33-3
cronie-1.7.2-1
cronie-anacron-1.7.2-1
crontabs-1.11^20190603git9e74f2d-1
cryptsetup-2.8.4-1
cyrus-sasl-2.1.28-1
dialog-1.3-55.20250116
dracut-kiwi-lib-10.2.37-2
dracut-kiwi-oem-repart-10.2.37-2
dracut-network-107-8
dwz-0.16-2
efi-srpm-macros-6-5
elfutils-0.194-1
filesystem-srpm-macros-3.18-1
firewalld-2.3.2-1
firewalld-filesystem-2.3.2-1
fonts-srpm-macros-2.0.5-23
forge-srpm-macros-0.4.0-3
fpc-srpm-macros-1.3-1
fstrm-0.6.1-13
gap-srpm-macros-2-1
gdisk-1.0.10-4
ghc-srpm-macros-1.9.2-3
gnat-srpm-macros-7-1
gnutls-dane-3.8.12-1
go-srpm-macros-3.8.0-1
gpgme-1.24.3-6
gpgverify-2.2-3
iptables-nft-1.8.11-12
irqbalance-1.9.4-7
jansson-2.14-3
java-srpm-macros-1-1
jq-1.8.1-1
kernel-6.18.5.1-2
kernel-srpm-macros-1.0-27
kernel-tools-6.18.5.1-2
kernel-tools-libs-6.18.5.1-2
libestr-0.1.11-12
libfastjson-1.2304.0-7
libmaxminddb-1.12.2-5
libndp-1.9-4
libnftnl-1.2.9-2
libnl3-3.12.0-2
libuv-1.52.0-1
lmdb-libs-0.9.34-1
lua-srpm-macros-1-16
lz4-1.10.0-3
lzo-2.10-15
ncurses-term-6.5-7.20250614
net-tools-2.0-0.74.20160912git
NetworkManager-1.54.3-2
NetworkManager-libnm-1.54.3-2
nftables-1.1.3-6
nftables-services-1.1.3-6
numactl-libs-2.0.19-3
ocaml-srpm-macros-11-2
oniguruma-6.9.10-3
openblas-srpm-macros-2-20
package-notes-srpm-macros-0.5-1
pciutils-libs-3.14.0-2
perl-srpm-macros-1-60
pv-1.9.34-1
pyproject-srpm-macros-1.18.6-1
python3-firewall-2.3.2-1
python3-gobject-base-3.54.5-1
python3-nftables-1.1.3-6
python-srpm-macros-3.14-5
qt5-srpm-macros-5.15.18-1
qt6-srpm-macros-6.10.2-1
rsyslog-8.2510.0-1
rust-srpm-macros-28.4-1
shadow-utils-subid-4.18.0-3
systemd-rpm-macros-258.4-1
tree-sitter-srpm-macros-0.4.2-1
wget2-2.2.1-1
wget2-libs-2.2.1-1
wget2-wget-2.2.1-1
zchunk-1.5.1-3
zig-srpm-macros-1-5
zip-3.0-44

while these are the packages only in Cloud-Base-Azure (and not in vm-base):

7zip-25.01-1
azurelinux-release-cloud-4.0-2
azurelinux-release-identity-cloud-4.0-2
crypto-policies-scripts-20251125-1.git63291f8
dnf-data-4.24.0-1
dracut-config-generic-107-8
freetype-2.13.3-3
gawk-all-langpacks-5.3.2-2
graphite2-1.3.14-19
grub2-tools-efi-2.12-40
grub2-tools-extra-2.12-40
harfbuzz-11.5.1-2
initscripts-service-10.27-1
iptables-legacy-1.8.11-12
iptables-legacy-libs-1.8.11-12
libcomps-0.1.23-1
libdnf-0.75.0-1
libpng-1.6.55-1
libsecret-0.21.7-1
libxkbcommon-1.11.0-1
mtools-4.0.49-1
nano-default-editor-8.5-2
ncurses-6.5-7.20250614
pinentry-1.3.2-1
pkcs11-provider-1.0-1
python3-dnf-4.24.0-1
python3-dnf-plugins-extras-common-4.1.2-9
python3-dnf-plugin-tracer-4.1.2-9
python3-hawkey-0.75.0-1
python3-libcomps-0.1.23-1
python3-libdnf-0.75.0-1
python3-libdnf5-5.2.18.0-1
python3-psutil-7.0.0-1
python3-pysocks-1.7.1-31
python3-rpm-6.0.1-1
python3-six-1.17.0-1
python3-tracer-1.4-1
python3-unbound-1.24.2-1
python3-urllib3+socks-2.6.3-1
python-unversioned-command-3.14.3-1
qrencode-libs-4.1.1-11
rootfiles-9.0-1
rpm-plugin-audit-6.0.1-1
rpm-plugin-systemd-inhibit-6.0.1-1
sudo-python-plugin-1.9.17-1.p2
systemd-oomd-defaults-258.4-1
tpm2-tools-5.7-4
tpm2-tss-fapi-4.1.3-8
tracer-common-1.4-1
unbound-anchor-1.24.2-1
xkeyboard-config-2.46-1

@ddstreet
Copy link
Copy Markdown
Contributor Author

ddstreet commented Apr 8, 2026

also note the 2nd to last commit in this series adds the components dnf-plugins-extras and tracer which produces rpms used in the Cloud-Base-Azure image, so to build that image locally you must:

$ azldev comp build --local-repo-with-publish $YOUR_LOCAL_REPO_PATH dnf-plugins-extras

as well as building tracer the same way; and then you must add the comps-azl4.xml to your local repo with:

$ cd comps/ $ make $ createrepo -g comps-azl4.xml $YOUR_LOCAL_REPO_PATH

then build the image with:

$ azldev image build --local-repo $YOUR_LOCAL_REPO_PATH Cloud-Base-Azure

@ddstreet ddstreet force-pushed the kiwi-config branch 3 times, most recently from 06aa7a2 to 3959896 Compare April 8, 2026 12:42
ddstreet added 21 commits April 8, 2026 10:24
…e comps.xml

Both dnf and kiwi require the use of "comps.xml" files in package
repos, to define logical groups of packages. This is taken from
upstream Fedora with no modifications to any of the files yet,
although all the comps-*.xml.in files for distro releases other than
Fedora 43 are elided.

Also, the Fedora README.md is renamed to Fedora-README.md, and a new
simpler README.md specific to AzureLinux usage is added.
We don't need or want to build any ELN targets; this removes them from
the Makefile and update-comps, as well as removing the
comps-distro-only.xsl that was only used for ELN.
The shell commands in the Makefile require bash, but the make default
shell is /bin/sh which is dash on some distros (e.g. Ubuntu). This
explicitly tells make to use bash.
This removes all langpacks except the man-pages langpack.
This removes all 'category' elements; they are not needed in azl4.
This removes some of the more obviously unneeded environments:

i3-desktop-environment
miraclewm-desktop-environment
sway-desktop-environment
custom-environment
kde-desktop-environment
kde-mobile-environment
xfce-desktop-environment
phosh-desktop-environment
server-product-environment
workstation-product-environment
lxde-desktop-environment
lxqt-desktop-environment
cinnamon-desktop-environment
mate-desktop-environment
sugar-desktop-environment
budgie-desktop-environment
cosmic-desktop-environment
developer-workstation-environment
basic-desktop-environment

leaving only one environment, cloud-server-environment
This removes some of the more obviously unneeded groups:

3d-printing
admin-tools
arm-tools
audio
authoring-and-publishing
base-graphical
base-x
basic-desktop
budgie-desktop
budgie-desktop-apps
c-development
cinnamon-desktop
compiz
cosmic-desktop
cosmic-desktop-apps
critical-path-gnome
critical-path-kde
critical-path-lxde
critical-path-lxqt
critical-path-xfce
d-development
design-suite
desktop-accessibility
dial-up
directory-server
dns-server
dogtag
domain-client
editors
education
electronic-lab
engineering-and-scientific
enlightenment-desktop
fedora-packager
firefox
font-design
freeipa-server
ftp-server
games
gnome-desktop
gnome-games
gnome-software-development
graphical-internet
graphics
guest-agents
guest-desktop-agents
ha
haproxy
haskell
headless-management
i3
i3-extended
input-methods
java
java-development
javaenterprise
kde-apps
kde-desktop
kde-education
kde-media
kde-mobile
kde-mobile-apps
kde-office
kde-pim
kde-software-development
kde-spin-initial-setup
kf6-software-development
legacy-network-server
libreoffice
libreoffice-development
load-balancer
lxde-apps
lxde-desktop
lxde-media
lxde-office
lxqt-apps
lxqt-desktop
lxqt-l10n
lxqt-media
lxqt-office
mail-server
mate-applications
mate-desktop
milkymist
mingw32
miraclewm-desktop
multimedia
mysql
network-server
networkmanager-submodules
neuron-modelling-simulators
news-server
ocaml
office
perl
perl-web
phosh-desktop
php
platform-vmware
printing
python-classroom
python-science
robotics-suite
rpm-development-tools
ruby
rubyonrails
security-lab
server-cfg
server-hardware-support
server-product
smb-server
sound-and-video
sql-server
sugar-apps
sugar-desktop
swaywm
swaywm-extended
system-tools
text-internet
tomcat
vagrant
virtualization
virtualization-headless
vlc
web-server
window-managers
workstation-ostree-support
workstation-product
x-software-development
x86-emulation
xfce-apps
xfce-desktop
xfce-extra-plugins
xfce-media
xfce-office
xfce-software-development
xmonad
xmonad-mate
This removes the 'critical-path' groups; specifically:

critical-path-anaconda
critical-path-apps
critical-path-base
critical-path-build
critical-path-cloud
critical-path-compose
critical-path-server
critical-path-standard
This removes the 'fonts' and 'legacy-fonts' groups.
This removes the 'development-libs' and 'development-tools' groups.
…ent groups

This removes the 'cloud-infrastructure' and 'cloud-management' groups.
This removes group packages that are not provided in our repo:

abrt-cli (from abrt)
compsize
deltarpm
iptstate
passwdqc
pinfo
This is used later by kiwi xml for the LiveInstall image/iso, but we
will directly include the packages there in a later commit.
This removes the 'hardware-support' group, as we do not currently need
to support bare metal images.
…optional

Change some packages currently with 'mandatory' or 'default' types to
'optional' type.
ddstreet added 22 commits April 8, 2026 10:25
This replaces 'fedora' with 'azurelinux', including changing
'fedora-release-*' package naming to 'azurelinux-release-*' naming.

This also changes 'redhat-rpm-repos' to 'azurelinux-rpm-repos'.
These files are generated from the comps-*.xml.in files and should not
be checked into git.
Copy select kiwi definition xml from fedora-kiwi-descriptions. This
avoids files for things we obviously don't want (e.g. desktop images),
but leaves the files we do copy unmodified. The next commit(s) will
perform editing of the files, in order to make the changes from the
Fedora files easily reviewable.
Remove any kiwi xml for Amazon, GCE, Oracle, Openstack
Also replace names, emails, etc with appropriate Microsoft entries,
and rename Fedora.kiwi to AzureLinux.kiwi.
Also remove btrfs packages, as they are no longer needed.
Use systemd-networkd instead of NetworkManager by default.
The evergreen repo is set to a temporary URL, and the default
(core.xml) symlink points to the evergreen repo (which should be
changed once we have a non-evergreen repo).
We currently don't need to generate any images for bare metal
hardware.
We don't want to use LVM on our os disk, and also we don't want
separate home, var, and boot partitions; this changes the partition
config xml to create a single ext4 root partition.

This also removes the disablement of first-boot resizing (i.e. uses
the default of resizing the root partition on first boot).
A previous commit removed the anaconda-tools group from the comps.xml
file, so we are replacing the reference to the group here with the
actual list of packages that was in the comps.xml file.
This comes from the Fedora repo top-level file iso-esp-excludes.yaml
Add these components which are required by kiwi xml:

dnf-plugins-extras
tracer
@ddstreet ddstreet marked this pull request as draft April 8, 2026 17:51
@ddstreet
Copy link
Copy Markdown
Contributor Author

ddstreet commented Apr 8, 2026

converting to draft while working on a replacement PR based on discussions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant