From b2fcf4804f61a0c2ca8f3adfacfe32e191c1b214 Mon Sep 17 00:00:00 2001 From: Pavlo Shchelokovskyy Date: Fri, 2 Dec 2016 17:03:16 +0200 Subject: [PATCH] Add bindep.txt file This is used by `bindep` [0] to assess if needed system packages are installed. It should allow easier installation of Python packages on a clean system from source and help packagers too. For now it is just a copy/merge of `devstack/files/[debs|rpms]/ironic` files with added platform specifiers. Packages have been tagged with certain bindep profiles: - default - needed to run ironic service in production - test - needed to compile Python dependencies and for other tox targets, profile of this name is used by various gate jobs - devstack - needed to setup VMs posing as HW nodes by the devstack plugin - imagebuild - only needed to build various types of deploy ramdisk Note that DevStack install procedure currently does not use 'bindep', and still relies on files in `devstack/files/...` folder. [0] http://docs.openstack.org/infra/bindep/index.html Change-Id: I42239e0ec960507b7345866d768b3ee06738799b --- bindep.txt | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 bindep.txt diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000000..a1cac7df77 --- /dev/null +++ b/bindep.txt @@ -0,0 +1,86 @@ +# 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] +open-iscsi [platform:dpkg 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] + +# 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] +python-libvirt [platform:dpkg devstack] +libvirt-python [platform:rpm devstack] +qemu [platform:dpkg devstack build-image-dib] +qemu-kvm [platform:dpkg devstack] +qemu-utils [platform:dpkg devstack build-image-dib] +sgabios [devstack] +ipxe-qemu [platform:dpkg devstack] +edk2-ovmf [platform:rpm 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 +python-dev [platform:dpkg test] +python3-all-dev [platform:dpkg !platform:ubuntu-precise test] +python-devel [platform:rpm test] +python3-devel [platform:rpm test] +build-essential [platform:dpkg test] +libssl-dev [platform:dpkg test] +# these are needed by infra for python-* jobs +postgresql +postgresql-client [platform:dpkg] +# postgresql-devel [platform:rpm] +postgresql-server [platform:rpm] +mariadb [platform:rpm] +mariadb-server [platform:rpm] +# mariadb-devel [platform:rpm] +dev-db/mariadb [platform:gentoo] +mysql-client [platform:dpkg] +mysql-server [platform:dpkg] +# libmysqlclient-dev [platform:dpkg] +# this is needed for compiling translations +gettext [test] +# this is needed to build the FSM diagram +graphviz [!platform:gentoo test] + +# these are needed to build a deploy ramdisk + +# NOTE apparmor is an undeclared dependency for docker on ubuntu, +# see https://github.com/docker/docker/issues/9745 +apparmor [platform:dpkg imagebuild] +docker.io [platform:dpkg imagebuild] +docker-io [platform:rpm imagebuild] +gnupg [imagebuild] +squashfs-tools [platform:dpkg platform:redhat imagebuild] +squashfs [platform:suse imagebuild] +libguestfs0 [platform:dpkg imagebuild] +libguestfs [platform:rpm imagebuild] +python-libguestfs [platform:dpkg imagebuild] +# for TinyIPA build +wget [imagebuild] +python-pip [imagebuild] +unzip [imagebuild] +sudo [imagebuild] +gawk [imagebuild]