add structured kiwi xml based on Fedora kiwi xml#16506
add structured kiwi xml based on Fedora kiwi xml#16506ddstreet wants to merge 43 commits intomicrosoft:tomls/base/mainfrom
Conversation
|
the |
|
To show the package list diff another way, these are the packages present only in while these are the packages only in |
|
also note the 2nd to last commit in this series adds the components
as well as building
then build the image with:
|
06aa7a2 to
3959896
Compare
…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.
We don't currently need translation.
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.
Copy only, no content change.
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.
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
|
converting to draft while working on a replacement PR based on discussions |
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-baseandcontainer-baseimages; this only adds new images, specifically:All these image names are taken unmodified from Fedora's definitions. The primary image for us that might replace our current
vm-baseisCloud-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. TheLiveInstallimage specifically may be useful in generating a live iso installer.All the images listed above are technically profiles defined in the
AzureLinux.kiwifile, and there are other profiles used only for profile inheritance, e.g.BaseCommon,BootCore, etc.