Merge "Use new bindep syntax"

This commit is contained in:
Zuul 2017-10-19 06:55:46 +00:00 committed by Gerrit Code Review
commit bee8e1ff2e
2 changed files with 76 additions and 150 deletions

View File

@ -1,55 +1,73 @@
# Apache
apache2 [platform:dpkg apache]
libapache2-mod-wsgi [platform:dpkg apache]
httpd [platform:rpm apache]
mod_ssl [platform:rpm apache]
mod_wsgi [platform:rpm apache]
# Ceph
ceph-common [ceph]
# TODO(SamYaple): extend bindep to allow 'profile AND profile' rather than the
# current 'profile OR profile' so we can set this to 'ceph AND glance' so this
# would only get installed in glance container
python-rbd [ceph]
# LVM
lvm2 [lvm]
tgt [platform:dpkg lvm]
thin-provisioning-tools [platform:dpkg lvm]
targetcli [platform:rpm lvm]
# QEMU
qemu-utils [platform:dpkg qemu]
qemu-img [platform:rpm qemu]
# Nova
iproute2 [platform:dpkg nova]
libpython2.7 [platform:dpkg nova]
libvirt0 [platform:dpkg nova]
openvswitch-switch [platform:dpkg nova]
libvirt-libs [platform:rpm nova]
openvswitch [platform:rpm nova]
# Neutron
bridge-utils [neutron]
dnsmasq [neutron]
dnsmasq-utils [neutron]
ebtables [neutron]
ipset [neutron]
iptables [neutron]
keepalived [neutron]
conntrack [platform:dpkg neutron]
iproute2 [platform:dpkg neutron]
iputils-arping [platform:dpkg neutron]
libpython2.7 [platform:dpkg neutron]
openvswitch-switch [platform:dpkg neutron]
uuid-runtime [platform:dpkg neutron]
conntrack-tools [platform:rpm neutron]
openvswitch [platform:rpm neutron]
uuid [platform:rpm neutron]
apache2 [platform:dpkg apache]
bridge-utils [(neutron linuxbridge)]
build-essential [platform:dpkg requirements]
bzip2 [platform:rpm requirements]
ceph-common [(ceph cinder) (ceph glance) (ceph nova)]
conntrack [platform:dpkg neutron]
conntrack-tools [platform:rpm neutron]
cyrus-sasl-devel [platform:rpm requirements]
dnsmasq [neutron]
dnsmasq-utils [neutron]
ebtables [neutron]
gcc-c++ [platform:rpm requirements]
gcc [platform:rpm requirements]
git [requirements]
httpd [platform:rpm apache]
iproute2 [platform:dpkg neutron nova]
ipset [neutron]
iptables [neutron]
iputils-arping [platform:dpkg neutron]
keepalived [neutron]
libapache2-mod-wsgi [platform:dpkg apache]
liberasurecode-devel [platform:rpm requirements]
liberasurecode-dev [platform:dpkg requirements]
libffi-devel [platform:rpm requirements]
libffi-dev [platform:dpkg requirements]
libgcrypt [platform:rpm requirements]
libkrb5-dev [platform:dpkg requirements]
libldap2-dev [platform:dpkg requirements]
libmariadbclient-dev [platform:debian requirements]
libmysqlclient-dev [platform:ubuntu requirements]
libnss3-dev [platform:dpkg requirements]
libpq-dev [platform:dpkg requirements]
libpython2.7 [platform:dpkg neutron nova]
libsasl2-dev [platform:dpkg requirements]
libssl-dev [platform:dpkg requirements]
libsystemd-dev [platform:dpkg requirements]
libvirt0 [platform:dpkg nova]
libvirt-devel [platform:rpm requirements]
libvirt-dev [platform:dpkg requirements]
libxml2-devel [platform:rpm requirements]
libxml2-dev [platform:dpkg requirements]
libxslt1-dev [platform:dpkg requirements]
libxslt-devel [platform:rpm requirements]
libyaml-devel [platform:rpm requirements]
libyaml-dev [platform:dpkg requirements]
libz-dev [platform:dpkg requirements]
lvm2 [(cinder lvm)]
make [platform:rpm requirements]
mariadb-devel [platform:rpm requirements]
mod_ssl [platform:rpm apache]
mod_wsgi [platform:rpm apache]
nginx [nginx]
nss-devel [platform:rpm requirements]
nss-util [platform:rpm requirements]
openldap-devel [platform:rpm requirements]
openssl-devel [platform:rpm requirements]
openvswitch [platform:rpm (neutron openvswitch) (nova openvswitch)]
openvswitch-switch [platform:dpkg (neutron openvswitch) (nova openvswitch)]
pkg-config [platform:dpkg requirements]
pkgconfig [platform:rpm requirements]
postgresql-devel [platform:rpm requirements]
python-devel [platform:rpm requirements]
python-dev [platform:dpkg requirements]
python-rbd [(ceph glance)]
qemu-img [platform:rpm (qemu nova)]
qemu-utils [platform:dpkg (qemu nova)]
systemd-devel [platform:rpm requirements]
targetcli [platform:rpm (cinder lvm)]
tgt [platform:dpkg (cinder lvm)]
thin-provisioning-tools [platform:dpkg (cinder lvm)]
uuid [platform:rpm neutron]
uuid-runtime [platform:dpkg neutron]
zlib-devel [platform:rpm requirements]

View File

@ -2,101 +2,9 @@
set -eux
# TODO(SamYaple): Switch all of this to bindep once syntax is supported better
# NOTE(SamYaple): Ubuntu and Debian have slightly different package lists
case ${distro} in
debian)
apt-get update
apt-get upgrade -y
apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
git \
liberasurecode-dev \
libffi-dev \
libkrb5-dev \
libldap2-dev \
libmariadbclient-dev \
libnss3-dev \
libpq-dev \
libsasl2-dev \
libssl-dev \
libsystemd-dev \
libxml2-dev \
libxslt1-dev \
libvirt-dev \
libyaml-dev \
libz-dev \
pkg-config \
python-dev \
python-pip \
python-virtualenv
;;
ubuntu)
apt-get update
apt-get upgrade -y
apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
git \
liberasurecode-dev \
libffi-dev \
libkrb5-dev \
libldap2-dev \
libmysqlclient-dev \
libnss3-dev \
libpq-dev \
libsasl2-dev \
libssl-dev \
libsystemd-dev \
libxml2-dev \
libxslt1-dev \
libvirt-dev \
libyaml-dev \
libz-dev \
pkg-config \
python-dev \
python-pip
;;
centos)
yum upgrade -y
# NOTE(SamYaple): https://bugs.centos.org/view.php?id=10750
yum install -y --setopt=tsflags=docs --setopt=skip_missing_names_on_install=False libffi-devel
yum install -y --setopt=skip_missing_names_on_install=False \
gcc \
gcc-c++ \
make \
openssl-devel \
ca-certificates \
git \
bzip2 \
liberasurecode-devel \
openldap-devel \
mariadb-devel \
nss-devel \
postgresql-devel \
cyrus-sasl-devel \
openssl-devel \
libxml2-devel \
libxslt-devel \
libvirt-devel \
libyaml-devel \
zlib-devel \
pkgconfig \
python \
python-devel \
python-pip \
libgcrypt \
nss-util \
systemd-devel
;;
*)
echo "Unknown distro: ${distro}"
exit 1
;;
esac
$(dirname $0)/setup_pip.sh
pip install git+https://github.com/openstack-infra/bindep
$(dirname $0)/install_packages.sh
$(dirname $0)/clone_project.sh
mv /tmp/requirements/{global-requirements.txt,upper-constraints.txt} /
@ -107,7 +15,7 @@ split -l1 /upper-constraints.txt
ls -1 | xargs -n1 -P20 -t pip wheel --no-deps --wheel-dir / -c /upper-constraints.txt -r
popd
# NOTE(SamYaple): Handle packages not in global-requirements
additional_packages=(argparse bindep==2.5.0 pip setuptools uwsgi wheel virtualenv)
additional_packages=(argparse git+https://github.com/openstack-infra/bindep pip setuptools uwsgi wheel virtualenv)
echo "${additional_packages[@]}" | xargs -n1 -P20 pip wheel --wheel-dir / -c /upper-constraints.txt
# NOTE(SamYaple): We want to purge all files that are not wheels or txt to