6278371eaa
Right now dib-python works by trying to find any python on a system in an order of precedence. A much better way is if we are explicit about the python we intend to be there which will allow us to make better decisions in other elements (such as allowing for package-installs to take into account DIB_PYTHON_VERSION) as well as allow for users to specify a preferred python version. Co-Authored-By: Adam Harwell <flux.adam@gmail.com> Change-Id: Ie609de51cc5fcde701296c9474e315981d9778a2
67 lines
2.0 KiB
Bash
Executable File
67 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
|
# Copyright (c) 2016 Andreas Florath (andreas@florath.net)
|
|
#
|
|
# 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.
|
|
|
|
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
|
|
set -x
|
|
fi
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
# Writes the apt sources files.
|
|
# The description is passed in via line coded elements.
|
|
# (The approach using associative arrays for configuration faild,
|
|
# because it looks that there is no way to handle defaults in
|
|
# this case - and additionally we run with '-u'.)
|
|
function apt_sources_write {
|
|
local APT_SOURCES_CONF="$1"
|
|
|
|
sudo mkdir -p $TARGET_ROOT/etc/apt/sources.list.d
|
|
|
|
echo "${APT_SOURCES_CONF}" \
|
|
| while read line; do
|
|
local name=$(echo ${line} | cut -d ":" -f 1)
|
|
local value=$(echo ${line} | cut -d ":" -f 2-)
|
|
echo "$value" | sudo tee $TARGET_ROOT/etc/apt/sources.list.d/${name}.list
|
|
done
|
|
}
|
|
|
|
sudo mount -t proc none $TARGET_ROOT/proc
|
|
sudo mount -t sysfs none $TARGET_ROOT/sys
|
|
trap "sudo umount $TARGET_ROOT/proc; sudo umount $TARGET_ROOT/sys" EXIT
|
|
|
|
apt_get="sudo chroot $TARGET_ROOT /usr/bin/apt-get"
|
|
|
|
apt_sources_write "${DIB_APT_SOURCES_CONF}"
|
|
|
|
# Need to update to retrieve the signed Release file
|
|
$apt_get update
|
|
|
|
$apt_get clean
|
|
$apt_get dist-upgrade -y
|
|
|
|
$apt_get install -y busybox sudo
|
|
|
|
if [ "$DIB_PYTHON_VERSION" == "2" ]; then
|
|
$apt_get install -y python
|
|
elif [ "$DIB_PYTHON_VERSION" == "3" ]; then
|
|
$apt_get install -y python3
|
|
else
|
|
echo "ERROR: DIB_PYTHON_VERSION is '$DIB_PYTHON_VERSION' but needs to be 2 or 3"
|
|
exit 1
|
|
fi
|