Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-23 Thread John Snow



On 9/21/19 5:53 AM, Philippe Mathieu-Daudé wrote:
> Hi John,
> 
> On 9/20/19 2:14 AM, John Snow wrote:
>> These are listed as "partial" images, but have no user.
>> Remove them.
>>
>> Signed-off-by: John Snow 
>> ---
>>  tests/docker/Makefile.include|  4 +--
>>  tests/docker/dockerfiles/debian-ports.docker | 36 
>>  tests/docker/dockerfiles/debian-sid.docker   | 35 ---
>>  3 files changed, 2 insertions(+), 73 deletions(-)
>>  delete mode 100644 tests/docker/dockerfiles/debian-ports.docker
>>  delete mode 100644 tests/docker/dockerfiles/debian-sid.docker
> 
> Can you split this patch in 2, one per image? That will ease the reverts.
> 
> Once splitted feel free to add to each new patch:
> Reviewed-by: Philippe Mathieu-Daudé 
> 
> Thanks,
> 
> Phil.
> 

Sounds good to me, thanks!




Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-21 Thread Philippe Mathieu-Daudé
Hi John,

On 9/20/19 2:14 AM, John Snow wrote:
> These are listed as "partial" images, but have no user.
> Remove them.
> 
> Signed-off-by: John Snow 
> ---
>  tests/docker/Makefile.include|  4 +--
>  tests/docker/dockerfiles/debian-ports.docker | 36 
>  tests/docker/dockerfiles/debian-sid.docker   | 35 ---
>  3 files changed, 2 insertions(+), 73 deletions(-)
>  delete mode 100644 tests/docker/dockerfiles/debian-ports.docker
>  delete mode 100644 tests/docker/dockerfiles/debian-sid.docker

Can you split this patch in 2, one per image? That will ease the reverts.

Once splitted feel free to add to each new patch:
Reviewed-by: Philippe Mathieu-Daudé 

Thanks,

Phil.



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread John Snow



On 9/20/19 5:19 PM, Alex Bennée wrote:
> 
> John Snow  writes:
> 
>> On 9/20/19 12:20 PM, Alex Bennée wrote:
>>>
>>> John Snow  writes:
>>>
 On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
> On 9/20/19 2:14 AM, John Snow wrote:
>> These are listed as "partial" images, but have no user.
>> Remove them.
>
> Well, I have WiP users from them. I could restore this content when they
> are ready... Ports is the base of deprecated Debian archs. On the other
> side Sid is the base for edge development I use from time to time to
> test latest gcc/binutils.
> I'll try to find time to raise WiP branches to PoC.
>

 I think that's the right thing to do. Right now, the docker tests
 directory has a lot of stale entries and unusable tests. That might be
 fine for the people working on it, but it makes it hard to understand
 and use for those of us who only occasionally traipse into the directory.

 I'm removing all references to python2 -- but if there's no way for me
 to test debian-sid and debian-ports, I can't test changes I need to make
 to these "partial images", so they should be removed until they are
 consumable.

 While I am sympathetic to the idea of having a library of partial images
 to use for future tests, they're prone to rot if there's no way to
 exercise them in-tree.
>>>
>>> Don't forget some "partial" images are only used for building TCG tests
>>> - we want to keep them. But as git is forever I can drop the sid/ports
>>> stuff for now until Phillipe has something to use them again.
>>>
>>
>> Oh, where? Is that defined within the tests/docker/Makefile.include or
>> in the TCG tree where I have not gone spelunking before?
> 
> Now they are selected by tests/tcg/configure.sh but generally they
> DISTRO-ARCH-cross images.
> 

I see -- "container_image" in configure.sh chooses them and consumes
them there.

Looks like that feeds to Makefile.qemu which defines
docker-build-guest-tests.

We call docker.py (DOCKER_SCRIPT) as:
docker.py cc ... -i qemu:$(DOCKER_IMAGE) ...

okay, so this bypasses the Docker Makefile pretty directly; but it looks
like it's only using images that the Makefile there doesn't count as
"Partial" universally.

You *do* have a section that marks images as "PARTIAL" if they're the
wrong architecture -- maybe it would be a semantic improvement to list
these as simply "DISABLED" or "UNAVAILABLE" -- the implication being
that they're complete images, but will not work for the current host
architecture.

Thanks for the pointer!

--js



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread Alex Bennée


John Snow  writes:

> On 9/20/19 12:20 PM, Alex Bennée wrote:
>>
>> John Snow  writes:
>>
>>> On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
 On 9/20/19 2:14 AM, John Snow wrote:
> These are listed as "partial" images, but have no user.
> Remove them.

 Well, I have WiP users from them. I could restore this content when they
 are ready... Ports is the base of deprecated Debian archs. On the other
 side Sid is the base for edge development I use from time to time to
 test latest gcc/binutils.
 I'll try to find time to raise WiP branches to PoC.

>>>
>>> I think that's the right thing to do. Right now, the docker tests
>>> directory has a lot of stale entries and unusable tests. That might be
>>> fine for the people working on it, but it makes it hard to understand
>>> and use for those of us who only occasionally traipse into the directory.
>>>
>>> I'm removing all references to python2 -- but if there's no way for me
>>> to test debian-sid and debian-ports, I can't test changes I need to make
>>> to these "partial images", so they should be removed until they are
>>> consumable.
>>>
>>> While I am sympathetic to the idea of having a library of partial images
>>> to use for future tests, they're prone to rot if there's no way to
>>> exercise them in-tree.
>>
>> Don't forget some "partial" images are only used for building TCG tests
>> - we want to keep them. But as git is forever I can drop the sid/ports
>> stuff for now until Phillipe has something to use them again.
>>
>
> Oh, where? Is that defined within the tests/docker/Makefile.include or
> in the TCG tree where I have not gone spelunking before?

Now they are selected by tests/tcg/configure.sh but generally they
DISTRO-ARCH-cross images.

>
> --js


--
Alex Bennée



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread John Snow



On 9/20/19 12:28 PM, Philippe Mathieu-Daudé wrote:
> On 9/20/19 6:23 PM, Philippe Mathieu-Daudé wrote:
>> On 9/20/19 6:20 PM, Alex Bennée wrote:
>>> John Snow  writes:
 On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
> On 9/20/19 2:14 AM, John Snow wrote:
>> These are listed as "partial" images, but have no user.
>> Remove them.
>
> Well, I have WiP users from them. I could restore this content when they
> are ready... Ports is the base of deprecated Debian archs. On the other
> side Sid is the base for edge development I use from time to time to
> test latest gcc/binutils.
> I'll try to find time to raise WiP branches to PoC.
>

 I think that's the right thing to do. Right now, the docker tests
 directory has a lot of stale entries and unusable tests. That might be
 fine for the people working on it, but it makes it hard to understand
 and use for those of us who only occasionally traipse into the directory.

 I'm removing all references to python2 -- but if there's no way for me
 to test debian-sid and debian-ports, I can't test changes I need to make
 to these "partial images", so they should be removed until they are
 consumable.

 While I am sympathetic to the idea of having a library of partial images
 to use for future tests, they're prone to rot if there's no way to
 exercise them in-tree.
>>>
>>> Don't forget some "partial" images are only used for building TCG tests
>>> - we want to keep them. But as git is forever I can drop the sid/ports
>>> stuff for now until Phillipe has something to use them again.
>>
>> For Sid I have this case:
>>
>> -- >8 --
>> #
>> # Docker Renesas RX cross-compiler target
>> #
>> # This docker target builds on the debian Sid base image.
>> #
>> # Copyright (c) 2019 Philippe Mathieu-Daudé
>> #
>> # SPDX-License-Identifier: GPL-2.0-or-later
>> #
>> FROM qemu:debian-sid
> 
> Oh well nevermind it is old, so it probably now works with debian-10.
> 
> I used the Ports base for sparc32 and x32, I don't have them on my
> workstation I'll check during the WE.
> 

If you want to keep docker-sid as a partial image for possible future
uses, you might consider adding a simple amd64 user -- debian-sid-amd64
would suffice.

It doesn't have to do anything interesting, but it exists to give
debian-sid a user.

I'd rather not waste your hard work, but I am making a plea that any
images defined in the tree can be tested by running tests that use them.

--js



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread John Snow



On 9/20/19 12:20 PM, Alex Bennée wrote:
> 
> John Snow  writes:
> 
>> On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
>>> On 9/20/19 2:14 AM, John Snow wrote:
 These are listed as "partial" images, but have no user.
 Remove them.
>>>
>>> Well, I have WiP users from them. I could restore this content when they
>>> are ready... Ports is the base of deprecated Debian archs. On the other
>>> side Sid is the base for edge development I use from time to time to
>>> test latest gcc/binutils.
>>> I'll try to find time to raise WiP branches to PoC.
>>>
>>
>> I think that's the right thing to do. Right now, the docker tests
>> directory has a lot of stale entries and unusable tests. That might be
>> fine for the people working on it, but it makes it hard to understand
>> and use for those of us who only occasionally traipse into the directory.
>>
>> I'm removing all references to python2 -- but if there's no way for me
>> to test debian-sid and debian-ports, I can't test changes I need to make
>> to these "partial images", so they should be removed until they are
>> consumable.
>>
>> While I am sympathetic to the idea of having a library of partial images
>> to use for future tests, they're prone to rot if there's no way to
>> exercise them in-tree.
> 
> Don't forget some "partial" images are only used for building TCG tests
> - we want to keep them. But as git is forever I can drop the sid/ports
> stuff for now until Phillipe has something to use them again.
> 

Oh, where? Is that defined within the tests/docker/Makefile.include or
in the TCG tree where I have not gone spelunking before?

--js



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread Philippe Mathieu-Daudé
On 9/20/19 6:23 PM, Philippe Mathieu-Daudé wrote:
> On 9/20/19 6:20 PM, Alex Bennée wrote:
>> John Snow  writes:
>>> On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
 On 9/20/19 2:14 AM, John Snow wrote:
> These are listed as "partial" images, but have no user.
> Remove them.

 Well, I have WiP users from them. I could restore this content when they
 are ready... Ports is the base of deprecated Debian archs. On the other
 side Sid is the base for edge development I use from time to time to
 test latest gcc/binutils.
 I'll try to find time to raise WiP branches to PoC.

>>>
>>> I think that's the right thing to do. Right now, the docker tests
>>> directory has a lot of stale entries and unusable tests. That might be
>>> fine for the people working on it, but it makes it hard to understand
>>> and use for those of us who only occasionally traipse into the directory.
>>>
>>> I'm removing all references to python2 -- but if there's no way for me
>>> to test debian-sid and debian-ports, I can't test changes I need to make
>>> to these "partial images", so they should be removed until they are
>>> consumable.
>>>
>>> While I am sympathetic to the idea of having a library of partial images
>>> to use for future tests, they're prone to rot if there's no way to
>>> exercise them in-tree.
>>
>> Don't forget some "partial" images are only used for building TCG tests
>> - we want to keep them. But as git is forever I can drop the sid/ports
>> stuff for now until Phillipe has something to use them again.
> 
> For Sid I have this case:
> 
> -- >8 --
> #
> # Docker Renesas RX cross-compiler target
> #
> # This docker target builds on the debian Sid base image.
> #
> # Copyright (c) 2019 Philippe Mathieu-Daudé
> #
> # SPDX-License-Identifier: GPL-2.0-or-later
> #
> FROM qemu:debian-sid

Oh well nevermind it is old, so it probably now works with debian-10.

I used the Ports base for sparc32 and x32, I don't have them on my
workstation I'll check during the WE.

> MAINTAINER Philippe Mathieu-Daudé 
> 
> RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> apt install -y --no-install-recommends \
> wget
> RUN wget -qO - https://ftpmirror.gnu.org/binutils/binutils-2.32.tar.xz \
> | tar -C /usr/src -xJf - && \
> cd /usr/src/binutils-2.32 && \
> CFLAGS=-w \
> ./configure --prefix=/usr --disable-nls
> --target=rx-unknown-linux && \
> make && make install && \
> rm -rf /usr/src/binutils-2.32
> 
> RUN git clone -b rx-trunk http://pf.osdn.net/gitroot/y/ys/ysato/gcc.git \
> /usr/src/gcc
> 
> RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> apt install -y --no-install-recommends \
> libgmp-dev libmpfr-dev libmpc-dev
> 
> RUN cd /usr/src/gcc && \
> CPPFLAGS=-w \
> ./configure --target=rx-unknown-linux \
> --prefix=/usr --disable-nls \
> --enable-languages=c --disable-shared \
> --disable-threads --with-uclibc \
> --disable-libssp --disable-libquadmath \
> --disable-libgomp --disable-libatomic && \
> make && make install && \
> rm -rf /usr/src/gcc
> 
> # This image isn't designed for building QEMU but building tests
> ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user
> ---
> 



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread John Snow



On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
> On 9/20/19 2:14 AM, John Snow wrote:
>> These are listed as "partial" images, but have no user.
>> Remove them.
> 
> Well, I have WiP users from them. I could restore this content when they
> are ready... Ports is the base of deprecated Debian archs. On the other
> side Sid is the base for edge development I use from time to time to
> test latest gcc/binutils.
> I'll try to find time to raise WiP branches to PoC.
> 

I think that's the right thing to do. Right now, the docker tests
directory has a lot of stale entries and unusable tests. That might be
fine for the people working on it, but it makes it hard to understand
and use for those of us who only occasionally traipse into the directory.

I'm removing all references to python2 -- but if there's no way for me
to test debian-sid and debian-ports, I can't test changes I need to make
to these "partial images", so they should be removed until they are
consumable.

While I am sympathetic to the idea of having a library of partial images
to use for future tests, they're prone to rot if there's no way to
exercise them in-tree.

You can always re-add them when you have a user.

--js

>> Signed-off-by: John Snow 
>> ---
>>  tests/docker/Makefile.include|  4 +--
>>  tests/docker/dockerfiles/debian-ports.docker | 36 
>>  tests/docker/dockerfiles/debian-sid.docker   | 35 ---
>>  3 files changed, 2 insertions(+), 73 deletions(-)
>>  delete mode 100644 tests/docker/dockerfiles/debian-ports.docker
>>  delete mode 100644 tests/docker/dockerfiles/debian-sid.docker
>>
>> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
>> index 7af476d957..c282b5c520 100644
>> --- a/tests/docker/Makefile.include
>> +++ b/tests/docker/Makefile.include
>> @@ -5,8 +5,8 @@
>>  DOCKER_SUFFIX := .docker
>>  DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
>>  # we don't run tests on intermediate images (used as base by another image)
>> -DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10 debian-sid
>> -DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-ports debian-bootstrap
>> +DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10
>> +DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-bootstrap
>>  DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard 
>> $(DOCKER_FILES_DIR)/*.docker
>>  DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES))
>>  # Use a global constant ccache directory to speed up repetitive builds
>> diff --git a/tests/docker/dockerfiles/debian-ports.docker 
>> b/tests/docker/dockerfiles/debian-ports.docker
>> deleted file mode 100644
>> index 61bc3f2993..00
>> --- a/tests/docker/dockerfiles/debian-ports.docker
>> +++ /dev/null
>> @@ -1,36 +0,0 @@
>> -#
>> -# Docker multiarch cross-compiler target
>> -#
>> -# This docker target is builds on Debian Ports cross compiler targets
>> -# to build distro with a selection of cross compilers for building test 
>> binaries.
>> -#
>> -# On its own you can't build much but the docker-foo-cross targets
>> -# build on top of the base debian image.
>> -#
>> -FROM debian:unstable
>> -
>> -MAINTAINER Philippe Mathieu-Daudé 
>> -
>> -RUN echo "deb [arch=amd64] http://deb.debian.org/debian unstable main" > 
>> /etc/apt/sources.list
>> -
>> -# Duplicate deb line as deb-src
>> -RUN cat /etc/apt/sources.list | sed -ne "s/^deb\ \(\[.*\]\ 
>> \)\?\(.*\)/deb-src \2/p" >> /etc/apt/sources.list
>> -
>> -# Setup some basic tools we need
>> -RUN apt-get update && \
>> -DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
>> -DEBIAN_FRONTEND=noninteractive eatmydata \
>> -apt-get install -y --no-install-recommends \
>> -bison \
>> -build-essential \
>> -ca-certificates \
>> -clang \
>> -debian-ports-archive-keyring \
>> -flex \
>> -gettext \
>> -git \
>> -pkg-config \
>> -psmisc \
>> -python \
>> -texinfo \
>> -$(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\ 
>>  -f2)
>> diff --git a/tests/docker/dockerfiles/debian-sid.docker 
>> b/tests/docker/dockerfiles/debian-sid.docker
>> deleted file mode 100644
>> index 2a1bcc33b2..00
>> --- a/tests/docker/dockerfiles/debian-sid.docker
>> +++ /dev/null
>> @@ -1,35 +0,0 @@
>> -#
>> -# Debian Sid Base
>> -#
>> -# Currently we can build all our guests with cross-compilers in the
>> -# latest Debian release (Buster). However new compilers will first
>> -# arrive in Sid. However Sid is a rolling distro which may be broken
>> -# at any particular time. To try and mitigate this we use Debian's
>> -# snapshot archive which provides a "stable" view of what state Sid
>> -# was in.
>> -#
>> -
>> -# This must be earlier than the snapshot date we are aiming for
>> -FROM debian:sid-20190812-slim
>> -
>> - # Use a snapshot known to work (see http://snapshot.debian.org/#Usage)
>> -ENV DEBIAN_SNAPSHOT_DATE "20190820"
>> -RUN sed -i 

Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread Philippe Mathieu-Daudé
On 9/20/19 6:20 PM, Alex Bennée wrote:
> John Snow  writes:
>> On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
>>> On 9/20/19 2:14 AM, John Snow wrote:
 These are listed as "partial" images, but have no user.
 Remove them.
>>>
>>> Well, I have WiP users from them. I could restore this content when they
>>> are ready... Ports is the base of deprecated Debian archs. On the other
>>> side Sid is the base for edge development I use from time to time to
>>> test latest gcc/binutils.
>>> I'll try to find time to raise WiP branches to PoC.
>>>
>>
>> I think that's the right thing to do. Right now, the docker tests
>> directory has a lot of stale entries and unusable tests. That might be
>> fine for the people working on it, but it makes it hard to understand
>> and use for those of us who only occasionally traipse into the directory.
>>
>> I'm removing all references to python2 -- but if there's no way for me
>> to test debian-sid and debian-ports, I can't test changes I need to make
>> to these "partial images", so they should be removed until they are
>> consumable.
>>
>> While I am sympathetic to the idea of having a library of partial images
>> to use for future tests, they're prone to rot if there's no way to
>> exercise them in-tree.
> 
> Don't forget some "partial" images are only used for building TCG tests
> - we want to keep them. But as git is forever I can drop the sid/ports
> stuff for now until Phillipe has something to use them again.

For Sid I have this case:

-- >8 --
#
# Docker Renesas RX cross-compiler target
#
# This docker target builds on the debian Sid base image.
#
# Copyright (c) 2019 Philippe Mathieu-Daudé
#
# SPDX-License-Identifier: GPL-2.0-or-later
#
FROM qemu:debian-sid

MAINTAINER Philippe Mathieu-Daudé 

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
apt install -y --no-install-recommends \
wget
RUN wget -qO - https://ftpmirror.gnu.org/binutils/binutils-2.32.tar.xz \
| tar -C /usr/src -xJf - && \
cd /usr/src/binutils-2.32 && \
CFLAGS=-w \
./configure --prefix=/usr --disable-nls
--target=rx-unknown-linux && \
make && make install && \
rm -rf /usr/src/binutils-2.32

RUN git clone -b rx-trunk http://pf.osdn.net/gitroot/y/ys/ysato/gcc.git \
/usr/src/gcc

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
apt install -y --no-install-recommends \
libgmp-dev libmpfr-dev libmpc-dev

RUN cd /usr/src/gcc && \
CPPFLAGS=-w \
./configure --target=rx-unknown-linux \
--prefix=/usr --disable-nls \
--enable-languages=c --disable-shared \
--disable-threads --with-uclibc \
--disable-libssp --disable-libquadmath \
--disable-libgomp --disable-libatomic && \
make && make install && \
rm -rf /usr/src/gcc

# This image isn't designed for building QEMU but building tests
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user
---



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread Alex Bennée


Philippe Mathieu-Daudé  writes:

> On 9/20/19 6:20 PM, Alex Bennée wrote:
>> John Snow  writes:
>>> On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
 On 9/20/19 2:14 AM, John Snow wrote:
> These are listed as "partial" images, but have no user.
> Remove them.

 Well, I have WiP users from them. I could restore this content when they
 are ready... Ports is the base of deprecated Debian archs. On the other
 side Sid is the base for edge development I use from time to time to
 test latest gcc/binutils.
 I'll try to find time to raise WiP branches to PoC.

>>>
>>> I think that's the right thing to do. Right now, the docker tests
>>> directory has a lot of stale entries and unusable tests. That might be
>>> fine for the people working on it, but it makes it hard to understand
>>> and use for those of us who only occasionally traipse into the directory.
>>>
>>> I'm removing all references to python2 -- but if there's no way for me
>>> to test debian-sid and debian-ports, I can't test changes I need to make
>>> to these "partial images", so they should be removed until they are
>>> consumable.
>>>
>>> While I am sympathetic to the idea of having a library of partial images
>>> to use for future tests, they're prone to rot if there's no way to
>>> exercise them in-tree.
>>
>> Don't forget some "partial" images are only used for building TCG tests
>> - we want to keep them. But as git is forever I can drop the sid/ports
>> stuff for now until Phillipe has something to use them again.
>
> For Sid I have this case:

Does it really need sid to build binutils/gcc?
>
> -- >8 --
> #
> # Docker Renesas RX cross-compiler target
> #
> # This docker target builds on the debian Sid base image.
> #
> # Copyright (c) 2019 Philippe Mathieu-Daudé
> #
> # SPDX-License-Identifier: GPL-2.0-or-later
> #
> FROM qemu:debian-sid
>
> MAINTAINER Philippe Mathieu-Daudé 
>
> RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> apt install -y --no-install-recommends \
> wget
> RUN wget -qO - https://ftpmirror.gnu.org/binutils/binutils-2.32.tar.xz \
> | tar -C /usr/src -xJf - && \
> cd /usr/src/binutils-2.32 && \
> CFLAGS=-w \
> ./configure --prefix=/usr --disable-nls
> --target=rx-unknown-linux && \
> make && make install && \
> rm -rf /usr/src/binutils-2.32
>
> RUN git clone -b rx-trunk http://pf.osdn.net/gitroot/y/ys/ysato/gcc.git \
> /usr/src/gcc
>
> RUN DEBIAN_FRONTEND=noninteractive eatmydata \
> apt install -y --no-install-recommends \
> libgmp-dev libmpfr-dev libmpc-dev
>
> RUN cd /usr/src/gcc && \
> CPPFLAGS=-w \
> ./configure --target=rx-unknown-linux \
> --prefix=/usr --disable-nls \
> --enable-languages=c --disable-shared \
> --disable-threads --with-uclibc \
> --disable-libssp --disable-libquadmath \
> --disable-libgomp --disable-libatomic && \
> make && make install && \
> rm -rf /usr/src/gcc
>
> # This image isn't designed for building QEMU but building tests
> ENV QEMU_CONFIGURE_OPTS --disable-system --disable-user
> ---


--
Alex Bennée



Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread Alex Bennée


John Snow  writes:

> On 9/20/19 4:49 AM, Philippe Mathieu-Daudé wrote:
>> On 9/20/19 2:14 AM, John Snow wrote:
>>> These are listed as "partial" images, but have no user.
>>> Remove them.
>>
>> Well, I have WiP users from them. I could restore this content when they
>> are ready... Ports is the base of deprecated Debian archs. On the other
>> side Sid is the base for edge development I use from time to time to
>> test latest gcc/binutils.
>> I'll try to find time to raise WiP branches to PoC.
>>
>
> I think that's the right thing to do. Right now, the docker tests
> directory has a lot of stale entries and unusable tests. That might be
> fine for the people working on it, but it makes it hard to understand
> and use for those of us who only occasionally traipse into the directory.
>
> I'm removing all references to python2 -- but if there's no way for me
> to test debian-sid and debian-ports, I can't test changes I need to make
> to these "partial images", so they should be removed until they are
> consumable.
>
> While I am sympathetic to the idea of having a library of partial images
> to use for future tests, they're prone to rot if there's no way to
> exercise them in-tree.

Don't forget some "partial" images are only used for building TCG tests
- we want to keep them. But as git is forever I can drop the sid/ports
stuff for now until Phillipe has something to use them again.

>
> You can always re-add them when you have a user.
>
> --js
>
>>> Signed-off-by: John Snow 
>>> ---
>>>  tests/docker/Makefile.include|  4 +--
>>>  tests/docker/dockerfiles/debian-ports.docker | 36 
>>>  tests/docker/dockerfiles/debian-sid.docker   | 35 ---
>>>  3 files changed, 2 insertions(+), 73 deletions(-)
>>>  delete mode 100644 tests/docker/dockerfiles/debian-ports.docker
>>>  delete mode 100644 tests/docker/dockerfiles/debian-sid.docker
>>>
>>> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
>>> index 7af476d957..c282b5c520 100644
>>> --- a/tests/docker/Makefile.include
>>> +++ b/tests/docker/Makefile.include
>>> @@ -5,8 +5,8 @@
>>>  DOCKER_SUFFIX := .docker
>>>  DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
>>>  # we don't run tests on intermediate images (used as base by another image)
>>> -DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10 debian-sid
>>> -DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-ports debian-bootstrap
>>> +DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10
>>> +DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-bootstrap
>>>  DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard 
>>> $(DOCKER_FILES_DIR)/*.docker
>>>  DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES))
>>>  # Use a global constant ccache directory to speed up repetitive builds
>>> diff --git a/tests/docker/dockerfiles/debian-ports.docker 
>>> b/tests/docker/dockerfiles/debian-ports.docker
>>> deleted file mode 100644
>>> index 61bc3f2993..00
>>> --- a/tests/docker/dockerfiles/debian-ports.docker
>>> +++ /dev/null
>>> @@ -1,36 +0,0 @@
>>> -#
>>> -# Docker multiarch cross-compiler target
>>> -#
>>> -# This docker target is builds on Debian Ports cross compiler targets
>>> -# to build distro with a selection of cross compilers for building test 
>>> binaries.
>>> -#
>>> -# On its own you can't build much but the docker-foo-cross targets
>>> -# build on top of the base debian image.
>>> -#
>>> -FROM debian:unstable
>>> -
>>> -MAINTAINER Philippe Mathieu-Daudé 
>>> -
>>> -RUN echo "deb [arch=amd64] http://deb.debian.org/debian unstable main" > 
>>> /etc/apt/sources.list
>>> -
>>> -# Duplicate deb line as deb-src
>>> -RUN cat /etc/apt/sources.list | sed -ne "s/^deb\ \(\[.*\]\ 
>>> \)\?\(.*\)/deb-src \2/p" >> /etc/apt/sources.list
>>> -
>>> -# Setup some basic tools we need
>>> -RUN apt-get update && \
>>> -DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
>>> -DEBIAN_FRONTEND=noninteractive eatmydata \
>>> -apt-get install -y --no-install-recommends \
>>> -bison \
>>> -build-essential \
>>> -ca-certificates \
>>> -clang \
>>> -debian-ports-archive-keyring \
>>> -flex \
>>> -gettext \
>>> -git \
>>> -pkg-config \
>>> -psmisc \
>>> -python \
>>> -texinfo \
>>> -$(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut 
>>> -d\  -f2)
>>> diff --git a/tests/docker/dockerfiles/debian-sid.docker 
>>> b/tests/docker/dockerfiles/debian-sid.docker
>>> deleted file mode 100644
>>> index 2a1bcc33b2..00
>>> --- a/tests/docker/dockerfiles/debian-sid.docker
>>> +++ /dev/null
>>> @@ -1,35 +0,0 @@
>>> -#
>>> -# Debian Sid Base
>>> -#
>>> -# Currently we can build all our guests with cross-compilers in the
>>> -# latest Debian release (Buster). However new compilers will first
>>> -# arrive in Sid. However Sid is a rolling distro which may be broken
>>> -# at any particular time. To try and mitigate this 

Re: [PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-20 Thread Philippe Mathieu-Daudé
On 9/20/19 2:14 AM, John Snow wrote:
> These are listed as "partial" images, but have no user.
> Remove them.

Well, I have WiP users from them. I could restore this content when they
are ready... Ports is the base of deprecated Debian archs. On the other
side Sid is the base for edge development I use from time to time to
test latest gcc/binutils.
I'll try to find time to raise WiP branches to PoC.

> Signed-off-by: John Snow 
> ---
>  tests/docker/Makefile.include|  4 +--
>  tests/docker/dockerfiles/debian-ports.docker | 36 
>  tests/docker/dockerfiles/debian-sid.docker   | 35 ---
>  3 files changed, 2 insertions(+), 73 deletions(-)
>  delete mode 100644 tests/docker/dockerfiles/debian-ports.docker
>  delete mode 100644 tests/docker/dockerfiles/debian-sid.docker
> 
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 7af476d957..c282b5c520 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -5,8 +5,8 @@
>  DOCKER_SUFFIX := .docker
>  DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
>  # we don't run tests on intermediate images (used as base by another image)
> -DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10 debian-sid
> -DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-ports debian-bootstrap
> +DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10
> +DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-bootstrap
>  DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard 
> $(DOCKER_FILES_DIR)/*.docker
>  DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES))
>  # Use a global constant ccache directory to speed up repetitive builds
> diff --git a/tests/docker/dockerfiles/debian-ports.docker 
> b/tests/docker/dockerfiles/debian-ports.docker
> deleted file mode 100644
> index 61bc3f2993..00
> --- a/tests/docker/dockerfiles/debian-ports.docker
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -#
> -# Docker multiarch cross-compiler target
> -#
> -# This docker target is builds on Debian Ports cross compiler targets
> -# to build distro with a selection of cross compilers for building test 
> binaries.
> -#
> -# On its own you can't build much but the docker-foo-cross targets
> -# build on top of the base debian image.
> -#
> -FROM debian:unstable
> -
> -MAINTAINER Philippe Mathieu-Daudé 
> -
> -RUN echo "deb [arch=amd64] http://deb.debian.org/debian unstable main" > 
> /etc/apt/sources.list
> -
> -# Duplicate deb line as deb-src
> -RUN cat /etc/apt/sources.list | sed -ne "s/^deb\ \(\[.*\]\ 
> \)\?\(.*\)/deb-src \2/p" >> /etc/apt/sources.list
> -
> -# Setup some basic tools we need
> -RUN apt-get update && \
> -DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
> -DEBIAN_FRONTEND=noninteractive eatmydata \
> -apt-get install -y --no-install-recommends \
> -bison \
> -build-essential \
> -ca-certificates \
> -clang \
> -debian-ports-archive-keyring \
> -flex \
> -gettext \
> -git \
> -pkg-config \
> -psmisc \
> -python \
> -texinfo \
> -$(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  
> -f2)
> diff --git a/tests/docker/dockerfiles/debian-sid.docker 
> b/tests/docker/dockerfiles/debian-sid.docker
> deleted file mode 100644
> index 2a1bcc33b2..00
> --- a/tests/docker/dockerfiles/debian-sid.docker
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -#
> -# Debian Sid Base
> -#
> -# Currently we can build all our guests with cross-compilers in the
> -# latest Debian release (Buster). However new compilers will first
> -# arrive in Sid. However Sid is a rolling distro which may be broken
> -# at any particular time. To try and mitigate this we use Debian's
> -# snapshot archive which provides a "stable" view of what state Sid
> -# was in.
> -#
> -
> -# This must be earlier than the snapshot date we are aiming for
> -FROM debian:sid-20190812-slim
> -
> - # Use a snapshot known to work (see http://snapshot.debian.org/#Usage)
> -ENV DEBIAN_SNAPSHOT_DATE "20190820"
> -RUN sed -i "s%^deb \(https\?://\)deb.debian.org/debian/\? \(.*\)%deb 
> [check-valid-until=no] 
> \1snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT_DATE} \2%" 
> /etc/apt/sources.list
> -
> -# Duplicate deb line as deb-src
> -RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> 
> /etc/apt/sources.list
> -
> -# Install common build utilities
> -RUN apt update && \
> -DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
> -DEBIAN_FRONTEND=noninteractive eatmydata \
> -apt install -y --no-install-recommends \
> -bison \
> -build-essential \
> -ca-certificates \
> -flex \
> -git \
> -pkg-config \
> -psmisc \
> -python \
> -texinfo || { echo "Failed to build - see debian-sid.docker notes"; 
> exit 1; }
> 



[PATCH 3/3] docker: remove unused debian-sid and debian-ports

2019-09-19 Thread John Snow
These are listed as "partial" images, but have no user.
Remove them.

Signed-off-by: John Snow 
---
 tests/docker/Makefile.include|  4 +--
 tests/docker/dockerfiles/debian-ports.docker | 36 
 tests/docker/dockerfiles/debian-sid.docker   | 35 ---
 3 files changed, 2 insertions(+), 73 deletions(-)
 delete mode 100644 tests/docker/dockerfiles/debian-ports.docker
 delete mode 100644 tests/docker/dockerfiles/debian-sid.docker

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 7af476d957..c282b5c520 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -5,8 +5,8 @@
 DOCKER_SUFFIX := .docker
 DOCKER_FILES_DIR := $(SRC_PATH)/tests/docker/dockerfiles
 # we don't run tests on intermediate images (used as base by another image)
-DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10 debian-sid
-DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-ports debian-bootstrap
+DOCKER_PARTIAL_IMAGES := debian8 debian9 debian10
+DEBIAN_PARTIAL_IMAGES += debian-9-mxe debian-bootstrap
 DOCKER_IMAGES := $(sort $(notdir $(basename $(wildcard 
$(DOCKER_FILES_DIR)/*.docker
 DOCKER_TARGETS := $(patsubst %,docker-image-%,$(DOCKER_IMAGES))
 # Use a global constant ccache directory to speed up repetitive builds
diff --git a/tests/docker/dockerfiles/debian-ports.docker 
b/tests/docker/dockerfiles/debian-ports.docker
deleted file mode 100644
index 61bc3f2993..00
--- a/tests/docker/dockerfiles/debian-ports.docker
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Docker multiarch cross-compiler target
-#
-# This docker target is builds on Debian Ports cross compiler targets
-# to build distro with a selection of cross compilers for building test 
binaries.
-#
-# On its own you can't build much but the docker-foo-cross targets
-# build on top of the base debian image.
-#
-FROM debian:unstable
-
-MAINTAINER Philippe Mathieu-Daudé 
-
-RUN echo "deb [arch=amd64] http://deb.debian.org/debian unstable main" > 
/etc/apt/sources.list
-
-# Duplicate deb line as deb-src
-RUN cat /etc/apt/sources.list | sed -ne "s/^deb\ \(\[.*\]\ \)\?\(.*\)/deb-src 
\2/p" >> /etc/apt/sources.list
-
-# Setup some basic tools we need
-RUN apt-get update && \
-DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
-DEBIAN_FRONTEND=noninteractive eatmydata \
-apt-get install -y --no-install-recommends \
-bison \
-build-essential \
-ca-certificates \
-clang \
-debian-ports-archive-keyring \
-flex \
-gettext \
-git \
-pkg-config \
-psmisc \
-python \
-texinfo \
-$(apt-get -s build-dep qemu | egrep ^Inst | fgrep '[all]' | cut -d\  
-f2)
diff --git a/tests/docker/dockerfiles/debian-sid.docker 
b/tests/docker/dockerfiles/debian-sid.docker
deleted file mode 100644
index 2a1bcc33b2..00
--- a/tests/docker/dockerfiles/debian-sid.docker
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Debian Sid Base
-#
-# Currently we can build all our guests with cross-compilers in the
-# latest Debian release (Buster). However new compilers will first
-# arrive in Sid. However Sid is a rolling distro which may be broken
-# at any particular time. To try and mitigate this we use Debian's
-# snapshot archive which provides a "stable" view of what state Sid
-# was in.
-#
-
-# This must be earlier than the snapshot date we are aiming for
-FROM debian:sid-20190812-slim
-
- # Use a snapshot known to work (see http://snapshot.debian.org/#Usage)
-ENV DEBIAN_SNAPSHOT_DATE "20190820"
-RUN sed -i "s%^deb \(https\?://\)deb.debian.org/debian/\? \(.*\)%deb 
[check-valid-until=no] 
\1snapshot.debian.org/archive/debian/${DEBIAN_SNAPSHOT_DATE} \2%" 
/etc/apt/sources.list
-
-# Duplicate deb line as deb-src
-RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> 
/etc/apt/sources.list
-
-# Install common build utilities
-RUN apt update && \
-DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \
-DEBIAN_FRONTEND=noninteractive eatmydata \
-apt install -y --no-install-recommends \
-bison \
-build-essential \
-ca-certificates \
-flex \
-git \
-pkg-config \
-psmisc \
-python \
-texinfo || { echo "Failed to build - see debian-sid.docker notes"; 
exit 1; }
-- 
2.21.0