[PATCH 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV

Markus Armbruster posted 9 patches 3 years, 2 months ago
Maintainers: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Markus Armbruster <armbru@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
[PATCH 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Markus Armbruster 3 years, 2 months ago
HMP "info spice" has a bit of code to show channel type
SPICE_CHANNEL_WEBDAV as "webdav", disabled since commit 7c6044a94e
"hmp: info spice: take out webdav" (v2.3.0), because it compiles only
with Spice versions 0.12.7 and later.  Our minimum version is 0.12.5.

Looks like nobody minded in more than seven years.  Drop it, so that
checkpatch.pl won't complain when I move the code.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 monitor/hmp-cmds.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
index a7c9ae2520..86dd961462 100644
--- a/monitor/hmp-cmds.c
+++ b/monitor/hmp-cmds.c
@@ -626,12 +626,6 @@ void hmp_info_spice(Monitor *mon, const QDict *qdict)
         [SPICE_CHANNEL_SMARTCARD] = "smartcard",
         [SPICE_CHANNEL_USBREDIR] = "usbredir",
         [SPICE_CHANNEL_PORT] = "port",
-#if 0
-        /* minimum spice-protocol is 0.12.3, webdav was added in 0.12.7,
-         * no easy way to #ifdef (SPICE_CHANNEL_* is a enum).  Disable
-         * as quick fix for build failures with older versions. */
-        [SPICE_CHANNEL_WEBDAV] = "webdav",
-#endif
     };
 
     info = qmp_query_spice(NULL);
-- 
2.37.3
Re: [PATCH 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Daniel P. Berrangé 3 years, 2 months ago
On Thu, Dec 01, 2022 at 07:13:05AM +0100, Markus Armbruster wrote:
> HMP "info spice" has a bit of code to show channel type
> SPICE_CHANNEL_WEBDAV as "webdav", disabled since commit 7c6044a94e
> "hmp: info spice: take out webdav" (v2.3.0), because it compiles only
> with Spice versions 0.12.7 and later.  Our minimum version is 0.12.5.

Last version bump was 4 years ago

commit 1b63665c2c0e0d52735e0dd5217f109fe0dd2322
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date:   Wed Nov 28 19:59:32 2018 +0400

    configure: bump spice-server required version to 0.12.5

    ...snip....

    According to repology, all the distros that are build target platforms
    for QEMU include it:
    
          RHEL-7: 0.14.0
          Debian (Stretch): 0.12.8
          Debian (Jessie): 0.12.5
          FreeBSD (ports): 0.14.0
          OpenSUSE Leap 15: 0.14.0
          Ubuntu (Xenial): 0.12.6

We moved on from Debian and RHEL since then

   Debian 11: 0.14.3
   RHEL-8: 0.14.2
   FreeBSD (ports): 0.14.4
   Fedora 35: 0.14.0
   Ubuntu 20.04: 0.14.0
   OpenSUSE Leap 15.3: 0.14.3

IOW, we can bump to 0.14.0, and then revert the
webdav conditional commit.

> 
> Looks like nobody minded in more than seven years.  Drop it, so that
> checkpatch.pl won't complain when I move the code.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  monitor/hmp-cmds.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
> index a7c9ae2520..86dd961462 100644
> --- a/monitor/hmp-cmds.c
> +++ b/monitor/hmp-cmds.c
> @@ -626,12 +626,6 @@ void hmp_info_spice(Monitor *mon, const QDict *qdict)
>          [SPICE_CHANNEL_SMARTCARD] = "smartcard",
>          [SPICE_CHANNEL_USBREDIR] = "usbredir",
>          [SPICE_CHANNEL_PORT] = "port",
> -#if 0
> -        /* minimum spice-protocol is 0.12.3, webdav was added in 0.12.7,
> -         * no easy way to #ifdef (SPICE_CHANNEL_* is a enum).  Disable
> -         * as quick fix for build failures with older versions. */
> -        [SPICE_CHANNEL_WEBDAV] = "webdav",
> -#endif
>      };
>  
>      info = qmp_query_spice(NULL);
> -- 
> 2.37.3
> 
> 

With 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 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Markus Armbruster 3 years, 2 months ago
Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, Dec 01, 2022 at 07:13:05AM +0100, Markus Armbruster wrote:
>> HMP "info spice" has a bit of code to show channel type
>> SPICE_CHANNEL_WEBDAV as "webdav", disabled since commit 7c6044a94e
>> "hmp: info spice: take out webdav" (v2.3.0), because it compiles only
>> with Spice versions 0.12.7 and later.  Our minimum version is 0.12.5.
>
> Last version bump was 4 years ago
>
> commit 1b63665c2c0e0d52735e0dd5217f109fe0dd2322
> Author: Marc-André Lureau <marcandre.lureau@redhat.com>
> Date:   Wed Nov 28 19:59:32 2018 +0400
>
>     configure: bump spice-server required version to 0.12.5
>
>     ...snip....
>
>     According to repology, all the distros that are build target platforms
>     for QEMU include it:
>     
>           RHEL-7: 0.14.0
>           Debian (Stretch): 0.12.8
>           Debian (Jessie): 0.12.5
>           FreeBSD (ports): 0.14.0
>           OpenSUSE Leap 15: 0.14.0
>           Ubuntu (Xenial): 0.12.6
>
> We moved on from Debian and RHEL since then
>
>    Debian 11: 0.14.3
>    RHEL-8: 0.14.2
>    FreeBSD (ports): 0.14.4
>    Fedora 35: 0.14.0
>    Ubuntu 20.04: 0.14.0
>    OpenSUSE Leap 15.3: 0.14.3
>
> IOW, we can bump to 0.14.0, and then revert the
> webdav conditional commit.

We need to bump spice-protocol, actually.

Would you like me to bump spice-server as well?  To which version?

[...]
Re: [PATCH 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Daniel P. Berrangé 3 years, 2 months ago
On Thu, Dec 01, 2022 at 01:39:13PM +0100, Markus Armbruster wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
> 
> > On Thu, Dec 01, 2022 at 07:13:05AM +0100, Markus Armbruster wrote:
> >> HMP "info spice" has a bit of code to show channel type
> >> SPICE_CHANNEL_WEBDAV as "webdav", disabled since commit 7c6044a94e
> >> "hmp: info spice: take out webdav" (v2.3.0), because it compiles only
> >> with Spice versions 0.12.7 and later.  Our minimum version is 0.12.5.
> >
> > Last version bump was 4 years ago
> >
> > commit 1b63665c2c0e0d52735e0dd5217f109fe0dd2322
> > Author: Marc-André Lureau <marcandre.lureau@redhat.com>
> > Date:   Wed Nov 28 19:59:32 2018 +0400
> >
> >     configure: bump spice-server required version to 0.12.5
> >
> >     ...snip....
> >
> >     According to repology, all the distros that are build target platforms
> >     for QEMU include it:
> >     
> >           RHEL-7: 0.14.0
> >           Debian (Stretch): 0.12.8
> >           Debian (Jessie): 0.12.5
> >           FreeBSD (ports): 0.14.0
> >           OpenSUSE Leap 15: 0.14.0
> >           Ubuntu (Xenial): 0.12.6
> >
> > We moved on from Debian and RHEL since then
> >
> >    Debian 11: 0.14.3
> >    RHEL-8: 0.14.2
> >    FreeBSD (ports): 0.14.4
> >    Fedora 35: 0.14.0
> >    Ubuntu 20.04: 0.14.0
> >    OpenSUSE Leap 15.3: 0.14.3
> >
> > IOW, we can bump to 0.14.0, and then revert the
> > webdav conditional commit.
> 
> We need to bump spice-protocol, actually.

Opps, I'm getting mixed up. The commit I mentioned was spice-server,
but the new versions I've listed just were indeed spice-protocol

> Would you like me to bump spice-server as well?  To which version?

Yes, might as well, the spice-server versions are slightly different:

     Debian 11: 0.14.3
     RHEL-8: 0.14.3
     FreeBSD (ports): 0.15.0
     Fedora 35: 0.15.0
     Ubuntu 20.04: 0.14.2
     OpenSUSE Leap 15.3: 0.14.3
 
I think we might as well pick  0.14.0 for both protocol and server.

With 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 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Markus Armbruster 3 years, 2 months ago
Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, Dec 01, 2022 at 01:39:13PM +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
>> 
>> > On Thu, Dec 01, 2022 at 07:13:05AM +0100, Markus Armbruster wrote:
>> >> HMP "info spice" has a bit of code to show channel type
>> >> SPICE_CHANNEL_WEBDAV as "webdav", disabled since commit 7c6044a94e
>> >> "hmp: info spice: take out webdav" (v2.3.0), because it compiles only
>> >> with Spice versions 0.12.7 and later.  Our minimum version is 0.12.5.
>> >
>> > Last version bump was 4 years ago
>> >
>> > commit 1b63665c2c0e0d52735e0dd5217f109fe0dd2322
>> > Author: Marc-André Lureau <marcandre.lureau@redhat.com>
>> > Date:   Wed Nov 28 19:59:32 2018 +0400
>> >
>> >     configure: bump spice-server required version to 0.12.5
>> >
>> >     ...snip....
>> >
>> >     According to repology, all the distros that are build target platforms
>> >     for QEMU include it:
>> >     
>> >           RHEL-7: 0.14.0
>> >           Debian (Stretch): 0.12.8
>> >           Debian (Jessie): 0.12.5
>> >           FreeBSD (ports): 0.14.0
>> >           OpenSUSE Leap 15: 0.14.0
>> >           Ubuntu (Xenial): 0.12.6
>> >
>> > We moved on from Debian and RHEL since then
>> >
>> >    Debian 11: 0.14.3
>> >    RHEL-8: 0.14.2
>> >    FreeBSD (ports): 0.14.4
>> >    Fedora 35: 0.14.0
>> >    Ubuntu 20.04: 0.14.0
>> >    OpenSUSE Leap 15.3: 0.14.3
>> >
>> > IOW, we can bump to 0.14.0, and then revert the
>> > webdav conditional commit.
>> 
>> We need to bump spice-protocol, actually.
>
> Opps, I'm getting mixed up. The commit I mentioned was spice-server,
> but the new versions I've listed just were indeed spice-protocol
>
>> Would you like me to bump spice-server as well?  To which version?
>
> Yes, might as well, the spice-server versions are slightly different:
>
>      Debian 11: 0.14.3
>      RHEL-8: 0.14.3
>      FreeBSD (ports): 0.15.0
>      Fedora 35: 0.15.0
>      Ubuntu 20.04: 0.14.2
>      OpenSUSE Leap 15.3: 0.14.3
>  
> I think we might as well pick  0.14.0 for both protocol and server.

Makes sense, but it leads to another question.

I found obvious version checks for spice-protocol, and dropped the
outmoded ones, namely

    #if CHECK_SPICE_PROTOCOL_VERSION(0, 14, 0)

For spice-server, I see a bunch of SPICE_INTERFACE_FOO_{MAJOR,MINOR} we
check, and which ones become outmoded is not obvious to me.  Help?
Re: [PATCH 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Daniel P. Berrangé 3 years, 2 months ago
On Thu, Dec 01, 2022 at 04:49:25PM +0100, Markus Armbruster wrote:
> Daniel P. Berrangé <berrange@redhat.com> writes:
> 
> > On Thu, Dec 01, 2022 at 01:39:13PM +0100, Markus Armbruster wrote:
> >> Daniel P. Berrangé <berrange@redhat.com> writes:
> >> 
> >> > On Thu, Dec 01, 2022 at 07:13:05AM +0100, Markus Armbruster wrote:
> >> >> HMP "info spice" has a bit of code to show channel type
> >> >> SPICE_CHANNEL_WEBDAV as "webdav", disabled since commit 7c6044a94e
> >> >> "hmp: info spice: take out webdav" (v2.3.0), because it compiles only
> >> >> with Spice versions 0.12.7 and later.  Our minimum version is 0.12.5.
> >> >
> >> > Last version bump was 4 years ago
> >> >
> >> > commit 1b63665c2c0e0d52735e0dd5217f109fe0dd2322
> >> > Author: Marc-André Lureau <marcandre.lureau@redhat.com>
> >> > Date:   Wed Nov 28 19:59:32 2018 +0400
> >> >
> >> >     configure: bump spice-server required version to 0.12.5
> >> >
> >> >     ...snip....
> >> >
> >> >     According to repology, all the distros that are build target platforms
> >> >     for QEMU include it:
> >> >     
> >> >           RHEL-7: 0.14.0
> >> >           Debian (Stretch): 0.12.8
> >> >           Debian (Jessie): 0.12.5
> >> >           FreeBSD (ports): 0.14.0
> >> >           OpenSUSE Leap 15: 0.14.0
> >> >           Ubuntu (Xenial): 0.12.6
> >> >
> >> > We moved on from Debian and RHEL since then
> >> >
> >> >    Debian 11: 0.14.3
> >> >    RHEL-8: 0.14.2
> >> >    FreeBSD (ports): 0.14.4
> >> >    Fedora 35: 0.14.0
> >> >    Ubuntu 20.04: 0.14.0
> >> >    OpenSUSE Leap 15.3: 0.14.3
> >> >
> >> > IOW, we can bump to 0.14.0, and then revert the
> >> > webdav conditional commit.
> >> 
> >> We need to bump spice-protocol, actually.
> >
> > Opps, I'm getting mixed up. The commit I mentioned was spice-server,
> > but the new versions I've listed just were indeed spice-protocol
> >
> >> Would you like me to bump spice-server as well?  To which version?
> >
> > Yes, might as well, the spice-server versions are slightly different:
> >
> >      Debian 11: 0.14.3
> >      RHEL-8: 0.14.3
> >      FreeBSD (ports): 0.15.0
> >      Fedora 35: 0.15.0
> >      Ubuntu 20.04: 0.14.2
> >      OpenSUSE Leap 15.3: 0.14.3
> >  
> > I think we might as well pick  0.14.0 for both protocol and server.
> 
> Makes sense, but it leads to another question.
> 
> I found obvious version checks for spice-protocol, and dropped the
> outmoded ones, namely
> 
>     #if CHECK_SPICE_PROTOCOL_VERSION(0, 14, 0)
> 
> For spice-server, I see a bunch of SPICE_INTERFACE_FOO_{MAJOR,MINOR} we
> check, and which ones become outmoded is not obvious to me.  Help?

Ignore all the interface ones. For the server, the check to look
for is against SPICE_SERVER_VERSION

chardev/spice.c:#if SPICE_SERVER_VERSION >= 0x000c06
chardev/spice.c:#if SPICE_SERVER_VERSION < 0x000e02
hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000c06 && SPICE_SERVER_VERSION < 0x000e02
hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000e02 /* release 0.14.2 */
hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
hw/display/qxl.h:#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
include/ui/qemu-spice.h:#if !defined(SPICE_SERVER_VERSION) || (SPICE_SERVER_VERSION < 0xc06)
include/ui/qemu-spice.h:#if defined(SPICE_SERVER_VERSION) && (SPICE_SERVER_VERSION >= 0x000f00)
include/ui/spice-display.h:# if SPICE_SERVER_VERSION >= 0x000d01 /* release 0.13.1 */
ui/spice-display.c:#if SPICE_SERVER_VERSION >= 0x000e04 /* release 0.14.4 */
ui/spice-display.c:#if SPICE_SERVER_VERSION >= 0x000e02 /* release 0.14.2 */

A fair few of those will be obsolete

With 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 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Markus Armbruster 3 years, 2 months ago
Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, Dec 01, 2022 at 04:49:25PM +0100, Markus Armbruster wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
>> 
>> > On Thu, Dec 01, 2022 at 01:39:13PM +0100, Markus Armbruster wrote:

[...]

>> >> Would you like me to bump spice-server as well?  To which version?
>> >
>> > Yes, might as well, the spice-server versions are slightly different:
>> >
>> >      Debian 11: 0.14.3
>> >      RHEL-8: 0.14.3
>> >      FreeBSD (ports): 0.15.0
>> >      Fedora 35: 0.15.0
>> >      Ubuntu 20.04: 0.14.2
>> >      OpenSUSE Leap 15.3: 0.14.3
>> >  
>> > I think we might as well pick  0.14.0 for both protocol and server.
>> 
>> Makes sense, but it leads to another question.
>> 
>> I found obvious version checks for spice-protocol, and dropped the
>> outmoded ones, namely
>> 
>>     #if CHECK_SPICE_PROTOCOL_VERSION(0, 14, 0)
>> 
>> For spice-server, I see a bunch of SPICE_INTERFACE_FOO_{MAJOR,MINOR} we
>> check, and which ones become outmoded is not obvious to me.  Help?
>
> Ignore all the interface ones. For the server, the check to look
> for is against SPICE_SERVER_VERSION
>
> chardev/spice.c:#if SPICE_SERVER_VERSION >= 0x000c06
> chardev/spice.c:#if SPICE_SERVER_VERSION < 0x000e02
> hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000c06 && SPICE_SERVER_VERSION < 0x000e02
> hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
> hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000e02 /* release 0.14.2 */
> hw/display/qxl.c:#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
> hw/display/qxl.h:#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */
> include/ui/qemu-spice.h:#if !defined(SPICE_SERVER_VERSION) || (SPICE_SERVER_VERSION < 0xc06)
> include/ui/qemu-spice.h:#if defined(SPICE_SERVER_VERSION) && (SPICE_SERVER_VERSION >= 0x000f00)
> include/ui/spice-display.h:# if SPICE_SERVER_VERSION >= 0x000d01 /* release 0.13.1 */
> ui/spice-display.c:#if SPICE_SERVER_VERSION >= 0x000e04 /* release 0.14.4 */
> ui/spice-display.c:#if SPICE_SERVER_VERSION >= 0x000e02 /* release 0.14.2 */
>
> A fair few of those will be obsolete

Got it, thanks!
Re: [PATCH 3/9] ui: Drop disabled code for SPICE_CHANNEL_WEBDAV
Posted by Markus Armbruster 3 years, 2 months ago
Daniel P. Berrangé <berrange@redhat.com> writes:

> On Thu, Dec 01, 2022 at 07:13:05AM +0100, Markus Armbruster wrote:
>> HMP "info spice" has a bit of code to show channel type
>> SPICE_CHANNEL_WEBDAV as "webdav", disabled since commit 7c6044a94e
>> "hmp: info spice: take out webdav" (v2.3.0), because it compiles only
>> with Spice versions 0.12.7 and later.  Our minimum version is 0.12.5.
>
> Last version bump was 4 years ago
>
> commit 1b63665c2c0e0d52735e0dd5217f109fe0dd2322
> Author: Marc-André Lureau <marcandre.lureau@redhat.com>
> Date:   Wed Nov 28 19:59:32 2018 +0400
>
>     configure: bump spice-server required version to 0.12.5
>
>     ...snip....
>
>     According to repology, all the distros that are build target platforms
>     for QEMU include it:
>     
>           RHEL-7: 0.14.0
>           Debian (Stretch): 0.12.8
>           Debian (Jessie): 0.12.5
>           FreeBSD (ports): 0.14.0
>           OpenSUSE Leap 15: 0.14.0
>           Ubuntu (Xenial): 0.12.6
>
> We moved on from Debian and RHEL since then
>
>    Debian 11: 0.14.3
>    RHEL-8: 0.14.2
>    FreeBSD (ports): 0.14.4
>    Fedora 35: 0.14.0
>    Ubuntu 20.04: 0.14.0
>    OpenSUSE Leap 15.3: 0.14.3
>
> IOW, we can bump to 0.14.0, and then revert the
> webdav conditional commit.

Will do in v2.  Thanks!