[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/docker: Use --arch-only when building Debian cross ima
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH] tests/docker: Use --arch-only when building Debian cross images |
Date: |
Tue, 23 Feb 2021 19:58:44 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
On 2/23/21 7:28 PM, Alex Bennée wrote:
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
>
>> When building a Docker image based on debian10.docker on
>> a non-x86 host, we get:
>>
>> [2/4] RUN apt update && DEBIAN_FRONTEND=noninteractive eatmydata
>> apt build-dep -yy qemu
>> Reading package lists... Done
>> Building dependency tree
>> Reading state information... Done
>> Some packages could not be installed. This may mean that you have
>> requested an impossible situation or if you are using the unstable
>> distribution that some required packages have not yet been created
>> or been moved out of Incoming.
>> The following information may help to resolve the situation:
>>
>> The following packages have unmet dependencies:
>> builddeps:qemu : Depends: gcc-s390x-linux-gnu but it is not installable
>> Depends: gcc-alpha-linux-gnu but it is not installable
>> E: Unable to correct problems, you have held broken packages.
>>
>> Fix by using the --arch-only option suggested here:
>> https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1866032/comments/1
>>
>> Suggested-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> tests/docker/dockerfiles/debian-all-test-cross.docker | 2 +-
>> tests/docker/dockerfiles/debian10.docker | 2 +-
>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker
>> b/tests/docker/dockerfiles/debian-all-test-cross.docker
>> index dedcea58b46..593b7ef1023 100644
>> --- a/tests/docker/dockerfiles/debian-all-test-cross.docker
>> +++ b/tests/docker/dockerfiles/debian-all-test-cross.docker
>> @@ -11,7 +11,7 @@ FROM qemu/debian10
>> # What we need to build QEMU itself
>> RUN apt update && \
>> DEBIAN_FRONTEND=noninteractive eatmydata \
>> - apt build-dep -yy qemu
>> + apt build-dep --arch-only -yy qemu
>
> This is just going to fail later on when you discover the cross
> compilers are only packaged for amd64.
Yes, I wonder if this is a Debian bug (we can still install cross
gcc for the host target -- which is pointless) and the cross libc.
> Perhaps we need to mark this one as amd64 only somehow?
OK.
>>
>> # Add the foreign architecture we want and install dependencies
>> RUN DEBIAN_FRONTEND=noninteractive eatmydata \
>> diff --git a/tests/docker/dockerfiles/debian10.docker
>> b/tests/docker/dockerfiles/debian10.docker
>> index 9d42b5a4b81..d034acbd256 100644
>> --- a/tests/docker/dockerfiles/debian10.docker
>> +++ b/tests/docker/dockerfiles/debian10.docker
>> @@ -32,6 +32,6 @@ RUN apt update && \
>> psmisc \
>> python3 \
>> python3-sphinx \
>> - $(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\
>> -f2)
>> + $(apt-get -s build-dep --arch-only qemu | egrep ^Inst | fgrep
>> '[all]' | cut -d\ -f2)
>
> This bit is fine, without the all-test-cross change:
>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
>