qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tests/docker: Use --arch-only when building Debian cross images
@ 2021-02-23 17:09 Philippe Mathieu-Daudé
  2021-02-23 18:28 ` Alex Bennée
  0 siblings, 1 reply; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-02-23 17:09 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Philippe Mathieu-Daudé, Michael Tokarev,
	Philippe Mathieu-Daudé, Christian Ehrhardt, Alex Bennée

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
 
 # 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)
 
 ENV FEATURES docs
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/docker: Use --arch-only when building Debian cross images
  2021-02-23 17:09 [PATCH] tests/docker: Use --arch-only when building Debian cross images Philippe Mathieu-Daudé
@ 2021-02-23 18:28 ` Alex Bennée
  2021-02-23 18:58   ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 3+ messages in thread
From: Alex Bennée @ 2021-02-23 18:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Philippe Mathieu-Daudé, Michael Tokarev,
	qemu-devel, Christian Ehrhardt


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. Perhaps we need to mark this one
as amd64 only somehow?

>  
>  # 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>

-- 
Alex Bennée


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/docker: Use --arch-only when building Debian cross images
  2021-02-23 18:28 ` Alex Bennée
@ 2021-02-23 18:58   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-02-23 18:58 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Fam Zheng, Philippe Mathieu-Daudé, Michael Tokarev,
	qemu-devel, Christian Ehrhardt

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>
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-23 19:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-02-23 17:09 [PATCH] tests/docker: Use --arch-only when building Debian cross images Philippe Mathieu-Daudé
2021-02-23 18:28 ` Alex Bennée
2021-02-23 18:58   ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).