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]
apache2 [platform:dpkg apache] bridge-utils [(neutron linuxbridge)]
libapache2-mod-wsgi [platform:dpkg apache] build-essential [platform:dpkg requirements]
bzip2 [platform:rpm requirements]
httpd [platform:rpm apache] ceph-common [(ceph cinder) (ceph glance) (ceph nova)]
mod_ssl [platform:rpm apache] conntrack [platform:dpkg neutron]
mod_wsgi [platform:rpm apache] conntrack-tools [platform:rpm neutron]
cyrus-sasl-devel [platform:rpm requirements]
# Ceph dnsmasq [neutron]
ceph-common [ceph] dnsmasq-utils [neutron]
# TODO(SamYaple): extend bindep to allow 'profile AND profile' rather than the ebtables [neutron]
# current 'profile OR profile' so we can set this to 'ceph AND glance' so this gcc-c++ [platform:rpm requirements]
# would only get installed in glance container gcc [platform:rpm requirements]
python-rbd [ceph] git [requirements]
httpd [platform:rpm apache]
# LVM iproute2 [platform:dpkg neutron nova]
lvm2 [lvm] ipset [neutron]
iptables [neutron]
tgt [platform:dpkg lvm] iputils-arping [platform:dpkg neutron]
thin-provisioning-tools [platform:dpkg lvm] keepalived [neutron]
libapache2-mod-wsgi [platform:dpkg apache]
targetcli [platform:rpm lvm] liberasurecode-devel [platform:rpm requirements]
liberasurecode-dev [platform:dpkg requirements]
# QEMU libffi-devel [platform:rpm requirements]
qemu-utils [platform:dpkg qemu] libffi-dev [platform:dpkg requirements]
qemu-img [platform:rpm qemu] libgcrypt [platform:rpm requirements]
libkrb5-dev [platform:dpkg requirements]
# Nova libldap2-dev [platform:dpkg requirements]
iproute2 [platform:dpkg nova] libmariadbclient-dev [platform:debian requirements]
libpython2.7 [platform:dpkg nova] libmysqlclient-dev [platform:ubuntu requirements]
libvirt0 [platform:dpkg nova] libnss3-dev [platform:dpkg requirements]
openvswitch-switch [platform:dpkg nova] libpq-dev [platform:dpkg requirements]
libpython2.7 [platform:dpkg neutron nova]
libvirt-libs [platform:rpm nova] libsasl2-dev [platform:dpkg requirements]
openvswitch [platform:rpm nova] libssl-dev [platform:dpkg requirements]
libsystemd-dev [platform:dpkg requirements]
# Neutron libvirt0 [platform:dpkg nova]
bridge-utils [neutron] libvirt-devel [platform:rpm requirements]
dnsmasq [neutron] libvirt-dev [platform:dpkg requirements]
dnsmasq-utils [neutron] libxml2-devel [platform:rpm requirements]
ebtables [neutron] libxml2-dev [platform:dpkg requirements]
ipset [neutron] libxslt1-dev [platform:dpkg requirements]
iptables [neutron] libxslt-devel [platform:rpm requirements]
keepalived [neutron] libyaml-devel [platform:rpm requirements]
libyaml-dev [platform:dpkg requirements]
conntrack [platform:dpkg neutron] libz-dev [platform:dpkg requirements]
iproute2 [platform:dpkg neutron] lvm2 [(cinder lvm)]
iputils-arping [platform:dpkg neutron] make [platform:rpm requirements]
libpython2.7 [platform:dpkg neutron] mariadb-devel [platform:rpm requirements]
openvswitch-switch [platform:dpkg neutron] mod_ssl [platform:rpm apache]
uuid-runtime [platform:dpkg neutron] mod_wsgi [platform:rpm apache]
nginx [nginx]
conntrack-tools [platform:rpm neutron] nss-devel [platform:rpm requirements]
openvswitch [platform:rpm neutron] nss-util [platform:rpm requirements]
uuid [platform:rpm neutron] 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 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 $(dirname $0)/setup_pip.sh
pip install git+https://github.com/openstack-infra/bindep
$(dirname $0)/install_packages.sh
$(dirname $0)/clone_project.sh $(dirname $0)/clone_project.sh
mv /tmp/requirements/{global-requirements.txt,upper-constraints.txt} / 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 ls -1 | xargs -n1 -P20 -t pip wheel --no-deps --wheel-dir / -c /upper-constraints.txt -r
popd popd
# NOTE(SamYaple): Handle packages not in global-requirements # 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 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 # NOTE(SamYaple): We want to purge all files that are not wheels or txt to