# 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 [default]
tftpd-hpa [platform:dpkg default]
tftp-server [platform:rpm default]
# Starting with Debian Jessie (and thus in Ubuntu Xenial too),
# pxelinux package provides the pxelinux.0 boot loader,
# but such package is absent from Debian Wheezy / Ubuntu Trusty.
# Also, in Debian Wheezy / Ubuntu Trusty 'syslinux' depends on syslinux-common,
# but only recommends it in Jessie/Xenial.
# Make sure syslinux-common is installed for those distros as it provides
# *.c32 modules for syslinux
# TODO remove distro pinning when Wheezy / Trusty are EOLed (May 2019)
# or DevStack stops supporting those.
# In the mean time, new Debian-based release codenames will have to be added
# as distros can not be pinned with 'if-later-than' specified.
pxelinux [platform:ubuntu-xenial platform:debian-jessie default]
syslinux [platform:rpm platform:ubuntu-trusty platform:debian-wheezy default]
syslinux-common [platform:ubuntu-xenial platform:debian-jessie 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 [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 !platform:ubuntu-precise 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
libpq-dev [platform:dpkg test]
libpq-devel [platform:rpm test]
postgresql
postgresql-client [platform:dpkg]
# postgresql-devel [platform:rpm]
postgresql-server [platform:rpm]
mariadb [platform:rpm]
mariadb-server [platform:rpm platform:debian-bookworm]
# mariadb-devel [platform:rpm]
dev-db/mariadb [platform:gentoo]
mysql-client [platform:dpkg !platform:debian-bookworm]
mysql-server [platform:dpkg !platform:debian-bookworm]
mariadb-client [platform:debian-bookworm]

# 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]

# 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]
