Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-05 Thread Paolo Bonzini

On 05/11/20 03:48, Stefano Stabellini wrote:

I repeated all the steps to make sure. The first time I was using
Samurai because Alpine Linux comes with it and not Ninja. Then, I
removed Samurai and built and installed Ninja by hand from
https://github.com/ninja-build/ninja and that actually works. Yesterday
it was late and I was distracted by global events -- I must have failed
to update Ninja appropriately. Sorry for the confusion.


FWIW I sent an Alpine merge request to support "ninja -t query".  We 
should add an Alpine container and pipeline once it's merged.


Paolo




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-05 Thread Philippe Mathieu-Daudé
Le jeu. 5 nov. 2020 05:28, Stefano Stabellini  a
écrit :

> On Wed, 4 Nov 2020, Thomas Huth wrote:
> > On 04/11/2020 03.27, Stefano Stabellini wrote:
> > [...]
> > > Actually I care about Xen and 9pfs support, it is one of the few
> > > combinations that I use regularly and it is even enabled in the Xilinx
> > > product I look after. But admittedly I don't test QEMU master as much
> as
> > > I should. With the recent changes to the build system it is not very
> > > suprising that there are some issues. It would be great to have a Xen
> > > and 9pfs test in the gitlab CI-loop.
> > >
> > >
> > > FYI I tried to build the latest QEMU on Alpine Linux 3.12 ARM64 and I
> > > get:
> > >
> > >   ninja: unknown tool 'query'
> > >
> > > Even after rebuilding ninja master by hand. Any ideas? I don't know
> much
> > > about ninja.
> > >
> > >
> > > So I gave up on that and I spinned up a Debian Buster x86 container for
> > > this build. That one got past the "ninja: unknown tool 'query'" error.
> > > The build completed without problems to the end.
> > >
> > > Either way I can't reproduce the build error above.
> >
> > Did you run "configure" with "--without-default-devices" ?
>
> Yes, and still I can't repro the issue, strange. Anyway, I saw that
> Philippe managed to find and fix the issue with "hw/9pfs: Fix Kconfig
> dependency problem between 9pfs and Xen", so all sorted :)
>

Paolo figured the problem and sent a diff, I just forwarded it as a formal
patch ;)

>


Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-04 Thread Stefano Stabellini
On Wed, 4 Nov 2020, Thomas Huth wrote:
> On 04/11/2020 03.27, Stefano Stabellini wrote:
> [...]
> > Actually I care about Xen and 9pfs support, it is one of the few
> > combinations that I use regularly and it is even enabled in the Xilinx
> > product I look after. But admittedly I don't test QEMU master as much as
> > I should. With the recent changes to the build system it is not very
> > suprising that there are some issues. It would be great to have a Xen
> > and 9pfs test in the gitlab CI-loop.
> > 
> > 
> > FYI I tried to build the latest QEMU on Alpine Linux 3.12 ARM64 and I
> > get:
> > 
> >   ninja: unknown tool 'query'
> > 
> > Even after rebuilding ninja master by hand. Any ideas? I don't know much
> > about ninja.
> > 
> > 
> > So I gave up on that and I spinned up a Debian Buster x86 container for
> > this build. That one got past the "ninja: unknown tool 'query'" error.
> > The build completed without problems to the end.
> > 
> > Either way I can't reproduce the build error above.
> 
> Did you run "configure" with "--without-default-devices" ?

Yes, and still I can't repro the issue, strange. Anyway, I saw that
Philippe managed to find and fix the issue with "hw/9pfs: Fix Kconfig
dependency problem between 9pfs and Xen", so all sorted :)



Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-04 Thread Stefano Stabellini
On Wed, 4 Nov 2020, Paolo Bonzini wrote:
> Il mer 4 nov 2020, 03:27 Stefano Stabellini  ha 
> scritto:
>   FYI I tried to build the latest QEMU on Alpine Linux 3.12 ARM64 and I
>   get:
> 
>     ninja: unknown tool 'query'
> 
>   Even after rebuilding ninja master by hand. Any ideas? I don't know much
>   about ninja.
> 
> 
> Are you sure you have ninja installed and not its clone samurai (yes, I am 
> serious)? I have contributed query support to samurai but it
> hasn't made it to a release yet.
> 
> What is the output of "ninja -t list"?

I repeated all the steps to make sure. The first time I was using
Samurai because Alpine Linux comes with it and not Ninja. Then, I
removed Samurai and built and installed Ninja by hand from
https://github.com/ninja-build/ninja and that actually works. Yesterday
it was late and I was distracted by global events -- I must have failed
to update Ninja appropriately. Sorry for the confusion.

Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-04 Thread Thomas Huth
On 04/11/2020 09.32, Philippe Mathieu-Daudé wrote:
> On 11/4/20 7:21 AM, Thomas Huth wrote:
>> On 03/11/2020 21.41, Philippe Mathieu-Daudé wrote:
>>> On 11/3/20 7:43 PM, Thomas Huth wrote:
 On 03/11/2020 17.46, Philippe Mathieu-Daudé wrote:
>> [...]
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 3b15ae5c302..6ee098ec53c 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -262,6 +262,17 @@ build-user-plugins:
>  MAKE_CHECK_ARGS: check-tcg
>timeout: 1h 30m
>  
> +build-system-ubuntu-without-default-devices:
> +  <<: *native_build_job_definition
> +  variables:
> +IMAGE: ubuntu2004
> +CONFIGURE_ARGS: --without-default-devices --disable-user 
> --disable-xen --disable-tools --disable-docs
> +MAKE_CHECK_ARGS: check-build

 AFAIK "check-build" is pretty much a no-op since the convertion to meson 
 ...
 could you maybe replace with a set of qtest targets that work, to make sure
 that we do not regress here? E.g.:

 MAKE_CHECK_ARGS: check-qtest-avr check-qtestcris check-qtest-m68k
 check-qtest-microblaze check-qtest-mipsel check-qtest-moxie ...
>>>
>>> qtests don't work with --without-default-devices, as we don't check
>>> for (un-)available devices.
>>
>> Sure, "make check-qtest" does not work, I know. But some targets work fine,
>> e.g. "make check-qtest-avr", and that's what I've suggested.
> 
> Yes, I tested that successfully yesterday late.
> 
>> By testing
>> those targets, we can make sure that the qtests don't regress any further
>> with --without-default-devices.
> 
> Yes, but I'm being wary to use it with the sole AVR target, because
> I don't want this target development to be limited by unrelated
> technical debts (in case we add optional device on an AVR board).

If you feel uncomfortable with check-qtest-avr, you could also use
check-qtest-m68k instead - I think that's fine for me (and hopefully also
Laurent).

 Thomas




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-04 Thread Philippe Mathieu-Daudé
On 11/3/20 10:12 PM, Paolo Bonzini wrote:
> On 03/11/20 22:07, Philippe Mathieu-Daudé wrote:
>>> diff --git a/accel/Kconfig b/accel/Kconfig
>>> index 2ad94a3839..d24664d736 100644
>>> --- a/accel/Kconfig
>>> +++ b/accel/Kconfig
>>> @@ -7,3 +7,4 @@ config KVM
>>>   config XEN
>>>   bool
>>>   select FSDEV_9P if VIRTFS
>>> +    select 9PFS if VIRTFS
>> Without this line ^ it works! Thanks :*
> 
> Without which line?

Not adding "select 9PFS if VIRTFS" (keeping
the current "select FSDEV_9P if VIRTFS").

> 
> (Also if both work I prefer the other one).
> 
> Paolo
> 




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-04 Thread Philippe Mathieu-Daudé
On 11/4/20 7:21 AM, Thomas Huth wrote:
> On 03/11/2020 21.41, Philippe Mathieu-Daudé wrote:
>> On 11/3/20 7:43 PM, Thomas Huth wrote:
>>> On 03/11/2020 17.46, Philippe Mathieu-Daudé wrote:
> [...]
 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
 index 3b15ae5c302..6ee098ec53c 100644
 --- a/.gitlab-ci.yml
 +++ b/.gitlab-ci.yml
 @@ -262,6 +262,17 @@ build-user-plugins:
  MAKE_CHECK_ARGS: check-tcg
timeout: 1h 30m
  
 +build-system-ubuntu-without-default-devices:
 +  <<: *native_build_job_definition
 +  variables:
 +IMAGE: ubuntu2004
 +CONFIGURE_ARGS: --without-default-devices --disable-user 
 --disable-xen --disable-tools --disable-docs
 +MAKE_CHECK_ARGS: check-build
>>>
>>> AFAIK "check-build" is pretty much a no-op since the convertion to meson ...
>>> could you maybe replace with a set of qtest targets that work, to make sure
>>> that we do not regress here? E.g.:
>>>
>>> MAKE_CHECK_ARGS: check-qtest-avr check-qtestcris check-qtest-m68k
>>> check-qtest-microblaze check-qtest-mipsel check-qtest-moxie ...
>>
>> qtests don't work with --without-default-devices, as we don't check
>> for (un-)available devices.
> 
> Sure, "make check-qtest" does not work, I know. But some targets work fine,
> e.g. "make check-qtest-avr", and that's what I've suggested.

Yes, I tested that successfully yesterday late.

> By testing
> those targets, we can make sure that the qtests don't regress any further
> with --without-default-devices.

Yes, but I'm being wary to use it with the sole AVR target, because
I don't want this target development to be limited by unrelated
technical debts (in case we add optional device on an AVR board).

> 
>> I'll try check-unit.
> 
> I think that does not have much benefit since it should be independent of
> the devices and is tested in the other pipelines already?

Ah, good point.

Regards,

Phil.




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-04 Thread Paolo Bonzini
Il mer 4 nov 2020, 03:27 Stefano Stabellini  ha
scritto:

> FYI I tried to build the latest QEMU on Alpine Linux 3.12 ARM64 and I
> get:
>
>   ninja: unknown tool 'query'
>
> Even after rebuilding ninja master by hand. Any ideas? I don't know much
> about ninja.
>

Are you sure you have ninja installed and not its clone samurai (yes, I am
serious)? I have contributed query support to samurai but it hasn't made it
to a release yet.

What is the output of "ninja -t list"?

Paolo


>
> So I gave up on that and I spinned up a Debian Buster x86 container for
> this build. That one got past the "ninja: unknown tool 'query'" error.
> The build completed without problems to the end.
>
> Either way I can't reproduce the build error above.


Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Thomas Huth
On 03/11/2020 21.41, Philippe Mathieu-Daudé wrote:
> On 11/3/20 7:43 PM, Thomas Huth wrote:
>> On 03/11/2020 17.46, Philippe Mathieu-Daudé wrote:
[...]
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index 3b15ae5c302..6ee098ec53c 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -262,6 +262,17 @@ build-user-plugins:
>>>  MAKE_CHECK_ARGS: check-tcg
>>>timeout: 1h 30m
>>>  
>>> +build-system-ubuntu-without-default-devices:
>>> +  <<: *native_build_job_definition
>>> +  variables:
>>> +IMAGE: ubuntu2004
>>> +CONFIGURE_ARGS: --without-default-devices --disable-user --disable-xen 
>>> --disable-tools --disable-docs
>>> +MAKE_CHECK_ARGS: check-build
>>
>> AFAIK "check-build" is pretty much a no-op since the convertion to meson ...
>> could you maybe replace with a set of qtest targets that work, to make sure
>> that we do not regress here? E.g.:
>>
>> MAKE_CHECK_ARGS: check-qtest-avr check-qtestcris check-qtest-m68k
>> check-qtest-microblaze check-qtest-mipsel check-qtest-moxie ...
> 
> qtests don't work with --without-default-devices, as we don't check
> for (un-)available devices.

Sure, "make check-qtest" does not work, I know. But some targets work fine,
e.g. "make check-qtest-avr", and that's what I've suggested. By testing
those targets, we can make sure that the qtests don't regress any further
with --without-default-devices.

> I'll try check-unit.

I think that does not have much benefit since it should be independent of
the devices and is tested in the other pipelines already?

 Thomas




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Thomas Huth
On 04/11/2020 03.27, Stefano Stabellini wrote:
[...]
> Actually I care about Xen and 9pfs support, it is one of the few
> combinations that I use regularly and it is even enabled in the Xilinx
> product I look after. But admittedly I don't test QEMU master as much as
> I should. With the recent changes to the build system it is not very
> suprising that there are some issues. It would be great to have a Xen
> and 9pfs test in the gitlab CI-loop.
> 
> 
> FYI I tried to build the latest QEMU on Alpine Linux 3.12 ARM64 and I
> get:
> 
>   ninja: unknown tool 'query'
> 
> Even after rebuilding ninja master by hand. Any ideas? I don't know much
> about ninja.
> 
> 
> So I gave up on that and I spinned up a Debian Buster x86 container for
> this build. That one got past the "ninja: unknown tool 'query'" error.
> The build completed without problems to the end.
> 
> Either way I can't reproduce the build error above.

Did you run "configure" with "--without-default-devices" ?

 Thomas





Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Stefano Stabellini
On Tue, 3 Nov 2020, Philippe Mathieu-Daudé wrote:
> I forgot to Cc the 9pfs & Xen maintainers, doing it now ;)
> 
> On 11/3/20 6:01 PM, Philippe Mathieu-Daudé wrote:
> > On 11/3/20 5:52 PM, Daniel P. Berrangé wrote:
> >> On Tue, Nov 03, 2020 at 05:46:03PM +0100, Philippe Mathieu-Daudé wrote:
> >>> We test './configure --without-default-devices' since commit
> >>> 20885b5b169 (".travis.yml: test that no-default-device builds
> >>> do not regress") in Travis-CI.
> >>>
> >>> As we prefer to use GitLab-CI, add the equivalent job there.
> >>>
> >>> One minor difference: the GitLab Ubuntu docker image has the
> >>> Xen devel packages installed. As it is automatically selected,
> >>> we need to disable it with the --disable-xen option, else the
> >>> build fails:
> >>>
> >>>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
> >>> `xen_be_register_common':
> >>>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
> >>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): 
> >>> undefined reference to `local_ops'
> >>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
> >>> undefined reference to `synth_ops'
> >>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
> >>> undefined reference to `proxy_ops'
> >>>   collect2: error: ld returned 1 exit status
> >>
> >> Surely this is a build bug we need to fix rather than ignore in CI ?
> > 
> > Well it predates this series, so nobody really cared
> > (thus I wonder if it makes sense to invest resources
> > there).
> > 
> > Anyway I can have a look after 5.2-rc1.

Actually I care about Xen and 9pfs support, it is one of the few
combinations that I use regularly and it is even enabled in the Xilinx
product I look after. But admittedly I don't test QEMU master as much as
I should. With the recent changes to the build system it is not very
suprising that there are some issues. It would be great to have a Xen
and 9pfs test in the gitlab CI-loop.


FYI I tried to build the latest QEMU on Alpine Linux 3.12 ARM64 and I
get:

  ninja: unknown tool 'query'

Even after rebuilding ninja master by hand. Any ideas? I don't know much
about ninja.


So I gave up on that and I spinned up a Debian Buster x86 container for
this build. That one got past the "ninja: unknown tool 'query'" error.
The build completed without problems to the end.

Either way I can't reproduce the build error above.

Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Paolo Bonzini

On 03/11/20 22:07, Philippe Mathieu-Daudé wrote:

diff --git a/accel/Kconfig b/accel/Kconfig
index 2ad94a3839..d24664d736 100644
--- a/accel/Kconfig
+++ b/accel/Kconfig
@@ -7,3 +7,4 @@ config KVM
  config XEN
  bool
  select FSDEV_9P if VIRTFS
+select 9PFS if VIRTFS

Without this line ^ it works! Thanks :*


Without which line?

(Also if both work I prefer the other one).

Paolo




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Philippe Mathieu-Daudé
On 11/3/20 9:57 PM, Paolo Bonzini wrote:
> On Tue, Nov 3, 2020 at 6:01 PM Philippe Mathieu-Daudé  
> wrote:
>> On 11/3/20 5:52 PM, Daniel P. Berrangé wrote:
>>> On Tue, Nov 03, 2020 at 05:46:03PM +0100, Philippe Mathieu-Daudé wrote:
 We test './configure --without-default-devices' since commit
 20885b5b169 (".travis.yml: test that no-default-device builds
 do not regress") in Travis-CI.

 One minor difference: the GitLab Ubuntu docker image has the
 Xen devel packages installed. As it is automatically selected,
 we need to disable it with the --disable-xen option, else the
 build fails:

   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
 `xen_be_register_common':
   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): 
 undefined reference to `local_ops'
   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
 undefined reference to `synth_ops'
   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
 undefined reference to `proxy_ops'
> 
> All these symbols are defined in hw/9pfs/meson.build's fs_ss, which is
> conditional on CONFIG_9PFS. So:
> 
> diff --git a/accel/Kconfig b/accel/Kconfig
> index 2ad94a3839..d24664d736 100644
> --- a/accel/Kconfig
> +++ b/accel/Kconfig
> @@ -7,3 +7,4 @@ config KVM
>  config XEN
>  bool
>  select FSDEV_9P if VIRTFS
> +select 9PFS if VIRTFS

Without this line ^ it works! Thanks :*

Can you reply with your S-o-b? :)

> 
> or alternatively (and I think better):
> 
> diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig
> index d3ebd73730..3ae5749661 100644
> --- a/hw/9pfs/Kconfig
> +++ b/hw/9pfs/Kconfig
> @@ -2,12 +2,8 @@ config FSDEV_9P
>  bool
>  depends on VIRTFS
> 
> -config 9PFS
> -bool
> -
>  config VIRTIO_9P
>  bool
>  default y
>  depends on VIRTFS && VIRTIO
>  select FSDEV_9P
> -select 9PFS
> diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build
> index cc09426212..99be5d9119 100644
> --- a/hw/9pfs/meson.build
> +++ b/hw/9pfs/meson.build
> @@ -15,6 +15,6 @@ fs_ss.add(files(
>'coxattr.c',
>  ))
>  fs_ss.add(when: 'CONFIG_XEN', if_true: files('xen-9p-backend.c'))
> -softmmu_ss.add_all(when: 'CONFIG_9PFS', if_true: fs_ss)
> +softmmu_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
> 
>  specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: 
> files('virtio-9p-device.c'))
> 
> Paolo
> 




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Paolo Bonzini
On Tue, Nov 3, 2020 at 6:01 PM Philippe Mathieu-Daudé  wrote:
> On 11/3/20 5:52 PM, Daniel P. Berrangé wrote:
> > On Tue, Nov 03, 2020 at 05:46:03PM +0100, Philippe Mathieu-Daudé wrote:
> >> We test './configure --without-default-devices' since commit
> >> 20885b5b169 (".travis.yml: test that no-default-device builds
> >> do not regress") in Travis-CI.
> >>
> >> One minor difference: the GitLab Ubuntu docker image has the
> >> Xen devel packages installed. As it is automatically selected,
> >> we need to disable it with the --disable-xen option, else the
> >> build fails:
> >>
> >>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
> >> `xen_be_register_common':
> >>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
> >>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): 
> >> undefined reference to `local_ops'
> >>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
> >> undefined reference to `synth_ops'
> >>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
> >> undefined reference to `proxy_ops'

All these symbols are defined in hw/9pfs/meson.build's fs_ss, which is
conditional on CONFIG_9PFS. So:

diff --git a/accel/Kconfig b/accel/Kconfig
index 2ad94a3839..d24664d736 100644
--- a/accel/Kconfig
+++ b/accel/Kconfig
@@ -7,3 +7,4 @@ config KVM
 config XEN
 bool
 select FSDEV_9P if VIRTFS
+select 9PFS if VIRTFS

or alternatively (and I think better):

diff --git a/hw/9pfs/Kconfig b/hw/9pfs/Kconfig
index d3ebd73730..3ae5749661 100644
--- a/hw/9pfs/Kconfig
+++ b/hw/9pfs/Kconfig
@@ -2,12 +2,8 @@ config FSDEV_9P
 bool
 depends on VIRTFS

-config 9PFS
-bool
-
 config VIRTIO_9P
 bool
 default y
 depends on VIRTFS && VIRTIO
 select FSDEV_9P
-select 9PFS
diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build
index cc09426212..99be5d9119 100644
--- a/hw/9pfs/meson.build
+++ b/hw/9pfs/meson.build
@@ -15,6 +15,6 @@ fs_ss.add(files(
   'coxattr.c',
 ))
 fs_ss.add(when: 'CONFIG_XEN', if_true: files('xen-9p-backend.c'))
-softmmu_ss.add_all(when: 'CONFIG_9PFS', if_true: fs_ss)
+softmmu_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)

 specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device.c'))

Paolo




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Philippe Mathieu-Daudé
On 11/3/20 7:43 PM, Thomas Huth wrote:
> On 03/11/2020 17.46, Philippe Mathieu-Daudé wrote:
>> We test './configure --without-default-devices' since commit
>> 20885b5b169 (".travis.yml: test that no-default-device builds
>> do not regress") in Travis-CI.
>>
>> As we prefer to use GitLab-CI, add the equivalent job there.
>>
>> One minor difference: the GitLab Ubuntu docker image has the
>> Xen devel packages installed. As it is automatically selected,
>> we need to disable it with the --disable-xen option, else the
>> build fails:
>>
>>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
>> `xen_be_register_common':
>>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): 
>> undefined reference to `local_ops'
>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
>> undefined reference to `synth_ops'
>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
>> undefined reference to `proxy_ops'
>>   collect2: error: ld returned 1 exit status
>>
>> Signed-off-by: Philippe Mathieu-Daudé 
>> ---
>>  .gitlab-ci.yml | 11 +++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index 3b15ae5c302..6ee098ec53c 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
>> @@ -262,6 +262,17 @@ build-user-plugins:
>>  MAKE_CHECK_ARGS: check-tcg
>>timeout: 1h 30m
>>  
>> +build-system-ubuntu-without-default-devices:
>> +  <<: *native_build_job_definition
>> +  variables:
>> +IMAGE: ubuntu2004
>> +CONFIGURE_ARGS: --without-default-devices --disable-user --disable-xen 
>> --disable-tools --disable-docs
>> +MAKE_CHECK_ARGS: check-build
> 
> AFAIK "check-build" is pretty much a no-op since the convertion to meson ...
> could you maybe replace with a set of qtest targets that work, to make sure
> that we do not regress here? E.g.:
> 
> MAKE_CHECK_ARGS: check-qtest-avr check-qtestcris check-qtest-m68k
> check-qtest-microblaze check-qtest-mipsel check-qtest-moxie ...

qtests don't work with --without-default-devices, as we don't check
for (un-)available devices.

I'll try check-unit.

Thanks,

Phil.




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Thomas Huth
On 03/11/2020 17.46, Philippe Mathieu-Daudé wrote:
> We test './configure --without-default-devices' since commit
> 20885b5b169 (".travis.yml: test that no-default-device builds
> do not regress") in Travis-CI.
> 
> As we prefer to use GitLab-CI, add the equivalent job there.
> 
> One minor difference: the GitLab Ubuntu docker image has the
> Xen devel packages installed. As it is automatically selected,
> we need to disable it with the --disable-xen option, else the
> build fails:
> 
>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
> `xen_be_register_common':
>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): undefined 
> reference to `local_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
> undefined reference to `synth_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
> undefined reference to `proxy_ops'
>   collect2: error: ld returned 1 exit status
> 
> Signed-off-by: Philippe Mathieu-Daudé 
> ---
>  .gitlab-ci.yml | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 3b15ae5c302..6ee098ec53c 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -262,6 +262,17 @@ build-user-plugins:
>  MAKE_CHECK_ARGS: check-tcg
>timeout: 1h 30m
>  
> +build-system-ubuntu-without-default-devices:
> +  <<: *native_build_job_definition
> +  variables:
> +IMAGE: ubuntu2004
> +CONFIGURE_ARGS: --without-default-devices --disable-user --disable-xen 
> --disable-tools --disable-docs
> +MAKE_CHECK_ARGS: check-build

AFAIK "check-build" is pretty much a no-op since the convertion to meson ...
could you maybe replace with a set of qtest targets that work, to make sure
that we do not regress here? E.g.:

MAKE_CHECK_ARGS: check-qtest-avr check-qtestcris check-qtest-m68k
check-qtest-microblaze check-qtest-mipsel check-qtest-moxie ...

 Thomas




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Philippe Mathieu-Daudé
On 11/3/20 5:46 PM, Philippe Mathieu-Daudé wrote:
> We test './configure --without-default-devices' since commit
> 20885b5b169 (".travis.yml: test that no-default-device builds
> do not regress") in Travis-CI.
> 
> As we prefer to use GitLab-CI, add the equivalent job there.
> 
> One minor difference: the GitLab Ubuntu docker image has the
> Xen devel packages installed. As it is automatically selected,
> we need to disable it with the --disable-xen option, else the
> build fails:
> 
>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
> `xen_be_register_common':
>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): undefined 
> reference to `local_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
> undefined reference to `synth_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
> undefined reference to `proxy_ops'
>   collect2: error: ld returned 1 exit status
> 
> Signed-off-by: Philippe Mathieu-Daudé 
> ---
>  .gitlab-ci.yml | 11 +++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 3b15ae5c302..6ee098ec53c 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -262,6 +262,17 @@ build-user-plugins:
>  MAKE_CHECK_ARGS: check-tcg
>timeout: 1h 30m
>  
> +build-system-ubuntu-without-default-devices:
> +  <<: *native_build_job_definition
> +  variables:
> +IMAGE: ubuntu2004
> +CONFIGURE_ARGS: --without-default-devices --disable-user --disable-xen 
> --disable-tools --disable-docs
> +MAKE_CHECK_ARGS: check-build

The part below is pointless, as no job consume these artifacts.
I'll remove it in the next iteration.

> +  artifacts:
> +expire_in: 2 days
> +paths:
> +  - build
> +
>  build-clang:
><<: *native_build_job_definition
>variables:
> 




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Philippe Mathieu-Daudé
I forgot to Cc the 9pfs & Xen maintainers, doing it now ;)

On 11/3/20 6:01 PM, Philippe Mathieu-Daudé wrote:
> On 11/3/20 5:52 PM, Daniel P. Berrangé wrote:
>> On Tue, Nov 03, 2020 at 05:46:03PM +0100, Philippe Mathieu-Daudé wrote:
>>> We test './configure --without-default-devices' since commit
>>> 20885b5b169 (".travis.yml: test that no-default-device builds
>>> do not regress") in Travis-CI.
>>>
>>> As we prefer to use GitLab-CI, add the equivalent job there.
>>>
>>> One minor difference: the GitLab Ubuntu docker image has the
>>> Xen devel packages installed. As it is automatically selected,
>>> we need to disable it with the --disable-xen option, else the
>>> build fails:
>>>
>>>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
>>> `xen_be_register_common':
>>>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
>>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): 
>>> undefined reference to `local_ops'
>>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
>>> undefined reference to `synth_ops'
>>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
>>> undefined reference to `proxy_ops'
>>>   collect2: error: ld returned 1 exit status
>>
>> Surely this is a build bug we need to fix rather than ignore in CI ?
> 
> Well it predates this series, so nobody really cared
> (thus I wonder if it makes sense to invest resources
> there).
> 
> Anyway I can have a look after 5.2-rc1.
> 




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Philippe Mathieu-Daudé
On 11/3/20 5:52 PM, Daniel P. Berrangé wrote:
> On Tue, Nov 03, 2020 at 05:46:03PM +0100, Philippe Mathieu-Daudé wrote:
>> We test './configure --without-default-devices' since commit
>> 20885b5b169 (".travis.yml: test that no-default-device builds
>> do not regress") in Travis-CI.
>>
>> As we prefer to use GitLab-CI, add the equivalent job there.
>>
>> One minor difference: the GitLab Ubuntu docker image has the
>> Xen devel packages installed. As it is automatically selected,
>> we need to disable it with the --disable-xen option, else the
>> build fails:
>>
>>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
>> `xen_be_register_common':
>>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): 
>> undefined reference to `local_ops'
>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
>> undefined reference to `synth_ops'
>>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
>> undefined reference to `proxy_ops'
>>   collect2: error: ld returned 1 exit status
> 
> Surely this is a build bug we need to fix rather than ignore in CI ?

Well it predates this series, so nobody really cared
(thus I wonder if it makes sense to invest resources
there).

Anyway I can have a look after 5.2-rc1.




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Daniel P . Berrangé
On Tue, Nov 03, 2020 at 06:01:12PM +0100, Philippe Mathieu-Daudé wrote:
> On 11/3/20 5:52 PM, Daniel P. Berrangé wrote:
> > On Tue, Nov 03, 2020 at 05:46:03PM +0100, Philippe Mathieu-Daudé wrote:
> >> We test './configure --without-default-devices' since commit
> >> 20885b5b169 (".travis.yml: test that no-default-device builds
> >> do not regress") in Travis-CI.
> >>
> >> As we prefer to use GitLab-CI, add the equivalent job there.
> >>
> >> One minor difference: the GitLab Ubuntu docker image has the
> >> Xen devel packages installed. As it is automatically selected,
> >> we need to disable it with the --disable-xen option, else the
> >> build fails:
> >>
> >>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
> >> `xen_be_register_common':
> >>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
> >>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): 
> >> undefined reference to `local_ops'
> >>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
> >> undefined reference to `synth_ops'
> >>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
> >> undefined reference to `proxy_ops'
> >>   collect2: error: ld returned 1 exit status
> > 
> > Surely this is a build bug we need to fix rather than ignore in CI ?
> 
> Well it predates this series, so nobody really cared
> (thus I wonder if it makes sense to invest resources
> there).
> 
> Anyway I can have a look after 5.2-rc1.

Can you just put a comment in the .gitlab-ci.yml file stating
that the --disable-xen arg is a short term workaround that needs
to be fixed properly

Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|




Re: [PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Daniel P . Berrangé
On Tue, Nov 03, 2020 at 05:46:03PM +0100, Philippe Mathieu-Daudé wrote:
> We test './configure --without-default-devices' since commit
> 20885b5b169 (".travis.yml: test that no-default-device builds
> do not regress") in Travis-CI.
> 
> As we prefer to use GitLab-CI, add the equivalent job there.
> 
> One minor difference: the GitLab Ubuntu docker image has the
> Xen devel packages installed. As it is automatically selected,
> we need to disable it with the --disable-xen option, else the
> build fails:
> 
>   /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
> `xen_be_register_common':
>   hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): undefined 
> reference to `local_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): 
> undefined reference to `synth_ops'
>   /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): 
> undefined reference to `proxy_ops'
>   collect2: error: ld returned 1 exit status

Surely this is a build bug we need to fix rather than ignore in CI ?


Regards,
Daniel
-- 
|: https://berrange.com  -o-https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o-https://fstop138.berrange.com :|
|: https://entangle-photo.org-o-https://www.instagram.com/dberrange :|




[PATCH-for-5.2 2/3] gitlab-ci: Add a job to cover the --without-default-devices config

2020-11-03 Thread Philippe Mathieu-Daudé
We test './configure --without-default-devices' since commit
20885b5b169 (".travis.yml: test that no-default-device builds
do not regress") in Travis-CI.

As we prefer to use GitLab-CI, add the equivalent job there.

One minor difference: the GitLab Ubuntu docker image has the
Xen devel packages installed. As it is automatically selected,
we need to disable it with the --disable-xen option, else the
build fails:

  /usr/bin/ld: libcommon.fa.p/hw_xen_xen-legacy-backend.c.o: in function 
`xen_be_register_common':
  hw/xen/xen-legacy-backend.c:754: undefined reference to `xen_9pfs_ops'
  /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x8): undefined 
reference to `local_ops'
  /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x20): undefined 
reference to `synth_ops'
  /usr/bin/ld: libcommon.fa.p/fsdev_qemu-fsdev.c.o:(.data.rel+0x38): undefined 
reference to `proxy_ops'
  collect2: error: ld returned 1 exit status

Signed-off-by: Philippe Mathieu-Daudé 
---
 .gitlab-ci.yml | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3b15ae5c302..6ee098ec53c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -262,6 +262,17 @@ build-user-plugins:
 MAKE_CHECK_ARGS: check-tcg
   timeout: 1h 30m
 
+build-system-ubuntu-without-default-devices:
+  <<: *native_build_job_definition
+  variables:
+IMAGE: ubuntu2004
+CONFIGURE_ARGS: --without-default-devices --disable-user --disable-xen 
--disable-tools --disable-docs
+MAKE_CHECK_ARGS: check-build
+  artifacts:
+expire_in: 2 days
+paths:
+  - build
+
 build-clang:
   <<: *native_build_job_definition
   variables:
-- 
2.26.2