Add bindep to the repository
This change adds a bindep file and install script which will allow developers to quickly identify and install system requirements on test machines. Change-Id: I68e978c9414119a743431eb59be4771db4b96cd0 Signed-off-by: Kevin Carter <kevin@cloudnull.com>
This commit is contained in:
parent
87e94e7ebb
commit
db2486e74f
35
bindep.txt
Normal file
35
bindep.txt
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# This file facilitates OpenStack-CI package installation
|
||||||
|
# before the execution of any tests.
|
||||||
|
#
|
||||||
|
# See the following for details:
|
||||||
|
# - https://docs.openstack.org/infra/bindep/
|
||||||
|
# - https://opendev.org/opendev/bindep/
|
||||||
|
#
|
||||||
|
# Even if the role does not make use of this facility, it
|
||||||
|
# is better to have this file empty, otherwise OpenStack-CI
|
||||||
|
# will fall back to installing its default packages which
|
||||||
|
# will potentially be detrimental to the tests executed.
|
||||||
|
|
||||||
|
# The gcc compiler
|
||||||
|
gcc
|
||||||
|
|
||||||
|
# Base requirements for RPM distros
|
||||||
|
gcc-c++ [platform:rpm]
|
||||||
|
git [platform:rpm]
|
||||||
|
libffi-devel [platform:rpm]
|
||||||
|
openssl-devel [platform:rpm]
|
||||||
|
python-devel [platform:rpm]
|
||||||
|
python2-dnf [platform:fedora]
|
||||||
|
|
||||||
|
# For SELinux
|
||||||
|
libselinux-python [platform:rpm]
|
||||||
|
libsemanage-python [platform:redhat]
|
||||||
|
|
||||||
|
# Required for compressing collected log files in CI
|
||||||
|
gzip
|
||||||
|
|
||||||
|
# Required to build language docs
|
||||||
|
gettext
|
||||||
|
|
||||||
|
# Required for molecule testing
|
||||||
|
docker
|
45
scripts/bindep-install
Executable file
45
scripts/bindep-install
Executable file
@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Copyright 2019 Red Hat, Inc.
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
|
||||||
|
## Shell Opts ----------------------------------------------------------------
|
||||||
|
|
||||||
|
set -o pipefail
|
||||||
|
set -xeuo
|
||||||
|
|
||||||
|
|
||||||
|
## Vars ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
export BINDEP_FILE="${BINDEP_FILE:-$(dirname $(readlink -f ${BASH_SOURCE[0]}))/../bindep.txt}"
|
||||||
|
|
||||||
|
|
||||||
|
## Main ----------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Source distribution information
|
||||||
|
source /etc/os-release || source /usr/lib/os-release
|
||||||
|
RHT_PKG_MGR=$(command -v dnf || command -v yum)
|
||||||
|
|
||||||
|
# NOTE(cloudnull): Get a list of packages to install with bindep. If packages
|
||||||
|
# need to be installed, bindep exits with an exit code of 1.
|
||||||
|
BINDEP_PKGS=$(bindep -b -f "${BINDEP_FILE}" test || true)
|
||||||
|
|
||||||
|
if [[ ${#BINDEP_PKGS} > 0 ]]; then
|
||||||
|
case "${ID,,}" in
|
||||||
|
amzn|rhel|centos|fedora)
|
||||||
|
sudo "${RHT_PKG_MGR}" install -y ${BINDEP_PKGS}
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user