Files
system-config/docker/python-builder/scripts/install-from-bindep
Clark Boylan e609c63dff Record pip version in our python image builds
This is useful for debugging when pip does updates and we need to be
sure that we ran with a new (or old) version of pip.

Change-Id: I556bb68e255ee0bdbcbd2c72dc537e2a6c7d64b6
2022-10-19 11:14:03 -07:00

55 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) 2019 Red Hat, Inc.
#
# 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.
set -ex
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y install $(cat /output/bindep/run.txt)
# If there's a constraints file, use it.
if [ -f /output/upper-constraints.txt ] ; then
CONSTRAINTS="-c /output/upper-constraints.txt"
fi
pip --version
# If a requirements.txt file exists,
# install it directly so that people can use git url syntax
# to do things like pick up patched but unreleased versions
# of dependencies.
if [ -f /output/requirements.txt ] ; then
pip install $CONSTRAINTS --cache-dir=/output/wheels -r /output/requirements.txt
fi
# Add any requested extras to the list of things to install
EXTRAS=""
for extra in $* ; do
EXTRAS="${EXTRAS} -r /output/$extra/requirements.txt"
done
if [ -f /output/packages.txt ] ; then
# If a package list was passed to assemble, install that in the final
# image.
pip install $CONSTRAINTS --cache-dir=/output/wheels -r /output/packages.txt $EXTRAS
else
# Install the wheels.
pip install $CONSTRAINTS --cache-dir=/output/wheels /output/wheels/*.whl $EXTRAS
fi
# clean up after ourselves
apt-get clean
rm -rf /var/lib/apt/lists/*