mirror of https://github.com/xemu-project/xemu.git
docker: move debian-powerpc-cross to sid based build
The original Jessie based cross builder hasn't worked for a while. The state of the libraries is still perilous for cross-building QEMU but we can use it for building TCG tests. The debian-apt-fake.sh script can also be dropped as it is no longer used. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
parent
e100a96755
commit
08f56d8c9c
|
@ -47,8 +47,6 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker
|
||||||
$(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\
|
$(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\
|
||||||
"BUILD","$*")
|
"BUILD","$*")
|
||||||
|
|
||||||
docker-image-debian-powerpc-cross: EXTRA_FILES:=$(SRC_PATH)/tests/docker/dockerfiles/debian-apt-fake.sh
|
|
||||||
|
|
||||||
# Enforce dependencies for composite images
|
# Enforce dependencies for composite images
|
||||||
docker-image-debian: docker-image-debian9
|
docker-image-debian: docker-image-debian9
|
||||||
docker-image-debian8-mxe: docker-image-debian8
|
docker-image-debian8-mxe: docker-image-debian8
|
||||||
|
@ -59,7 +57,6 @@ docker-image-debian-arm64-cross: docker-image-debian9
|
||||||
docker-image-debian-mips-cross: docker-image-debian9
|
docker-image-debian-mips-cross: docker-image-debian9
|
||||||
docker-image-debian-mipsel-cross: docker-image-debian9
|
docker-image-debian-mipsel-cross: docker-image-debian9
|
||||||
docker-image-debian-mips64el-cross: docker-image-debian9
|
docker-image-debian-mips64el-cross: docker-image-debian9
|
||||||
docker-image-debian-powerpc-cross: docker-image-debian8
|
|
||||||
docker-image-debian-ppc64el-cross: docker-image-debian9
|
docker-image-debian-ppc64el-cross: docker-image-debian9
|
||||||
docker-image-debian-s390x-cross: docker-image-debian9
|
docker-image-debian-s390x-cross: docker-image-debian9
|
||||||
docker-image-debian-win32-cross: docker-image-debian8-mxe
|
docker-image-debian-win32-cross: docker-image-debian8-mxe
|
||||||
|
@ -77,6 +74,7 @@ docker-image-debian-sh4-cross: docker-image-debian-sid
|
||||||
docker-image-debian-sparc64-cross: docker-image-debian-sid
|
docker-image-debian-sparc64-cross: docker-image-debian-sid
|
||||||
docker-image-debian-mips64-cross: docker-image-debian-sid
|
docker-image-debian-mips64-cross: docker-image-debian-sid
|
||||||
docker-image-debian-riscv64-cross: docker-image-debian-sid
|
docker-image-debian-riscv64-cross: docker-image-debian-sid
|
||||||
|
docker-image-debian-powerpc-cross: docker-image-debian-sid
|
||||||
docker-image-travis: NOUSER=1
|
docker-image-travis: NOUSER=1
|
||||||
|
|
||||||
# Specialist build images, sometimes very limited tools
|
# Specialist build images, sometimes very limited tools
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
#! /bin/sh
|
|
||||||
#
|
|
||||||
# Generate fake debian package to resolve unimportant unmet dependencies held
|
|
||||||
# by upstream multiarch broken packages.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2017 Philippe Mathieu-Daudé <f4bug@amsat.org>
|
|
||||||
#
|
|
||||||
# This work is licensed under the terms of the GNU GPL, version 2
|
|
||||||
# or (at your option) any later version. See the COPYING file in
|
|
||||||
# the top-level directory.
|
|
||||||
|
|
||||||
test $1 = "install" && shift 1
|
|
||||||
|
|
||||||
fake_install()
|
|
||||||
{
|
|
||||||
echo "Generating fake $2 $1 $3 ..."
|
|
||||||
(cd /var/cache/apt/archives
|
|
||||||
(cat << 'EOF'
|
|
||||||
Section: misc
|
|
||||||
Priority: optional
|
|
||||||
Standards-Version: 3.9.2
|
|
||||||
|
|
||||||
Package: NAME
|
|
||||||
Version: VERSION
|
|
||||||
Maintainer: qemu-devel@nongnu.org
|
|
||||||
Architecture: any
|
|
||||||
Multi-Arch: same
|
|
||||||
Description: fake NAME
|
|
||||||
EOF
|
|
||||||
) | sed s/NAME/$2/g | sed s/VERSION/$3/g > $2.control
|
|
||||||
equivs-build -a $1 $2.control 1>/dev/null 2>/dev/null
|
|
||||||
dpkg -i --force-overwrite $2_$3_$1.deb
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
try_install()
|
|
||||||
{
|
|
||||||
name=$(echo $1|sed "s/\(.*\):\(.*\)=\(.*\)/\1/")
|
|
||||||
arch=$(echo $1|sed "s/\(.*\):\(.*\)=\(.*\)/\2/")
|
|
||||||
vers=$(echo $1|sed "s/\(.*\):\(.*\)=\(.*\)/\3/")
|
|
||||||
apt-get install -q -yy $1 || fake_install $arch $name $vers
|
|
||||||
}
|
|
||||||
|
|
||||||
for package in $*; do
|
|
||||||
try_install $package
|
|
||||||
done
|
|
|
@ -1,40 +1,13 @@
|
||||||
#
|
#
|
||||||
# Docker powerpc cross-compiler target
|
# Docker powerpc cross-compiler target
|
||||||
#
|
#
|
||||||
# This docker target builds on the debian Jessie base image.
|
# This docker target builds on the debian sid base image which
|
||||||
|
# contains cross compilers for Debian "ports" targets. The original
|
||||||
|
# Jessie based no longer builds.
|
||||||
#
|
#
|
||||||
FROM qemu:debian8
|
FROM qemu:debian-sid
|
||||||
MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>
|
|
||||||
|
|
||||||
# Add the foreign architecture we want and install dependencies
|
|
||||||
RUN dpkg --add-architecture powerpc
|
|
||||||
RUN apt-get update
|
|
||||||
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
|
||||||
apt-get install -y --no-install-recommends \
|
|
||||||
crossbuild-essential-powerpc
|
|
||||||
|
|
||||||
# <kludge> to fix "following packages have unmet dependencies" ...
|
|
||||||
ADD debian-apt-fake.sh /usr/local/bin/apt-fake
|
|
||||||
RUN apt-get install -y --no-install-recommends \
|
|
||||||
equivs \
|
|
||||||
pkg-config
|
|
||||||
RUN apt-fake install \
|
|
||||||
pkg-config:powerpc=0.28-1.1-fake && \
|
|
||||||
ln -s pkg-config /usr/bin/powerpc-linux-gnu-pkg-config
|
|
||||||
ENV PKG_CONFIG_PATH /usr/lib/powerpc-linux-gnu/pkgconfig
|
|
||||||
# </kludge>
|
|
||||||
|
|
||||||
# Specify the cross prefix for this image (see tests/docker/common.rc)
|
|
||||||
ENV QEMU_CONFIGURE_OPTS --cross-prefix=powerpc-linux-gnu-
|
|
||||||
|
|
||||||
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
||||||
apt-get build-dep -yy -a powerpc qemu
|
|
||||||
RUN DEBIAN_FRONTEND=noninteractive \
|
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
glusterfs-common:powerpc \
|
gcc-powerpc-linux-gnu \
|
||||||
libbz2-dev:powerpc \
|
libc6-dev-powerpc-cross || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }
|
||||||
liblzo2-dev:powerpc \
|
|
||||||
libncursesw5-dev:powerpc \
|
|
||||||
libnfs-dev:powerpc \
|
|
||||||
librdmacm-dev:powerpc \
|
|
||||||
libsnappy-dev:powerpc
|
|
||||||
|
|
|
@ -32,6 +32,3 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
python-minimal
|
python-minimal
|
||||||
|
|
||||||
# Setup Emdebian [emdebian-archive-keyring]
|
|
||||||
RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/emdebian.list && \
|
|
||||||
curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add -
|
|
||||||
|
|
Loading…
Reference in New Issue