# these are needed to run ironic with default ipmitool and (i)PXE boot drivers
ipmitool [default]
ipxe [platform:dpkg default]
ipxe-bootimgs [platform:rpm default]
socat [default]
xinetd [platform:dpkg default]
tftpd-hpa [platform:dpkg default]
tftp-server [platform:rpm default]
socat [default]
# Grub2 files for boot loadingusing PXE/GRUB2
shim-signed [platform:dpkg default]
shim [platform:rpm default]
grub-efi-amd64-signed [platform:dpkg default]
grub2-efi [platform:rpm default]

# these are needed to create and access VMs when testing with virtual hardware
libvirt-bin [platform:dpkg devstack]
libvirt [platform:rpm devstack]
libvirt-dev [platform:dpkg devstack]
libvirt-devel [platform:rpm devstack]
qemu-system [platform:dpkg devstack build-image-dib]
qemu-kvm [platform:dpkg devstack]
qemu-utils [platform:dpkg devstack build-image-dib]
qemu-system-data [platform:dpkg devstack]
sgabios [platform:rpm devstack]
ipxe-qemu [platform:dpkg devstack]
edk2-ovmf [platform:rpm devstack]
ovmf [platform:dpkg devstack]
ipxe-roms-qemu [platform:rpm devstack]
openvswitch [platform:rpm devstack]
iptables [devstack]
net-tools [platform:rpm devstack]

# these are needed to compile Python dependencies from sources
python3-all-dev [platform:dpkg test]
python3-devel [platform:rpm test]
build-essential [platform:dpkg test]
libssl-dev [platform:dpkg test]
libffi-dev [platform:dpkg test]
libffi-devel [platform:rpm test]
# these are needed by infra for python-* jobs
mariadb [platform:rpm]
mariadb-server [platform:rpm platform:debian-bookworm platform:debian-trixie]
# mariadb-devel [platform:rpm]
dev-db/mariadb [platform:gentoo]
mysql-client [platform:dpkg !platform:debian-bookworm !platform:debian-trixie]
mysql-server [platform:dpkg !platform:debian-bookworm !platform:debian-trixie]
mariadb-client [platform:debian-bookworm platform:debian-trixie]

# libmysqlclient-dev [platform:dpkg]
# gettext and graphviz are needed by doc builds only. For transition,
# have them in both doc and test.
# TODO(jaegerandi): Remove test once infra scripts are updated.
# this is needed for compiling translations
gettext [test doc]
# this is needed to build the FSM diagram
graphviz [!platform:gentoo test doc]
# libsrvg2 is needed for sphinxcontrib-svg2pdfconverter in docs builds.
librsvg2-tools [doc platform:rpm]
librsvg2-bin [doc platform:dpkg]
latexmk [doc]
texlive-collection-fontsrecommended [doc platform:rpm]
tex-gyre [doc platform:dpkg]
texlive-latex-extra [doc platform:dpkg]
texlive-collection-latexextra [doc platform:rpm]
texlive-fonts-extra-links [doc platform:dpkg]
texlive-collection-fontsextra [doc platform:rpm]


# these are needed to build images

gnupg [imagebuild]
squashfs-tools [platform:dpkg platform:redhat imagebuild]
squashfs [platform:suse imagebuild]
# For custom partition images
kpartx [devstack]
libguestfs0 [platform:dpkg imagebuild]
libguestfs [platform:rpm imagebuild devstack]
libguestfs-tools [platform:dpkg devstack]
python3-guestfs [platform:dpkg imagebuild]
qemu-img [platform:redhat devstack]
qemu-tools [platform:suse devstack]
qemu-utils [platform:dpkg devstack]
# for TinyIPA build
wget [imagebuild]
python3-pip [imagebuild]
unzip [imagebuild]
sudo [imagebuild]
gawk [imagebuild]
mtools [imagebuild]
# For automatic artifact decompression
zstd [devstack]

# For graphical console support
podman [devstack]
systemd-container [devstack]
buildah [devstack]
docker-buildx [devstack platform:dpkg]
