[Spice-devel] [PATCH spice-server v5 00/18] Port SPICE server to Windows
Victor Toso
victortoso at redhat.com
Thu Apr 18 13:44:33 UTC 2019
Hi,
On Thu, Apr 18, 2019 at 09:19:37AM -0400, Frediano Ziglio wrote:
> >
> > Hi,
> >
> > On Wed, Apr 17, 2019 at 10:28:22AM -0400, Frediano Ziglio wrote:
> > > ping
> >
> > IHMO, It should be fine to have this although it would be great
> > to have an user application for it otherwise it might get
> > broken/bugs and wouldn't notice.
> >
>
> You can use Qemu, the patch (really small) was merged months ago.
Ah, i was thinking x11spice-like application but sure, qemu
should work.
> > Also, last stable release was with eaa07ef1 in 2018-08-22 by
> > Christophe Fergeau <cfergeau at redhat.com> so perhaps we could
> > apply this after 0.14.2 is done?
> >
>
> Personally I always prefer branching instead of pausing merging.
> Do we have a plan for 0.14.2 ?
You tell me :)
> > Also, if you are testing this with wine would be nice to have a
> > quick how-to in the windows section :)
> >
>
> To execute tests using wine with autoconf just do a
>
> make LOG_COMPILE=wine check
>
> (I think is quite standard)
First time I see it so, maybe I'm not familiar with this
standard. I'm not that familiar with wine so, don't take me as
good wine user.
> I have other tests using some recording, I simply add "wine" and some
> ".exe" where needed.
>
> To compile Qemu for Windows with SPICE just use a MingW cross compiler
> guide like https://wiki.qemu.org/Hosts/W32, just compile/install
> spice-server before and use --enable-spice.
>
> Personally I think these stuff are pretty standard. Which
> "how-to" are you referring to?
Anything that needs tweak for a 3rd person to try to reproduce
something windows related with spice-sever might be good. Again,
you tell me :)
(Just suggestions here, as far as I'm concerned, this patches
were reviewed, tests are in place.. We could add some ci later
on...)
Cheers,
> > Cheers,
> >
> > > > Windows support is useful to use with Qemu under Windows as host or
> > > > to implement servers like Xspice.
> > > > Mainly SPICE server uses lot of libraries to expose a TCP protocol.
> > > > As TCP is implemented with socket library which is quite portable was
> > > > not that hard to port.
> > > > Beside some minor feature (see REAME.Windows) all was ported.
> > > > During porting was choosen to keep Unix as the main platform, if a
> > > > change would require too much changes some Windows wrapper is
> > > > preferred instead. Not too complicated stuff, the main "wrapper" is
> > > > that Windows errors from socket are written back into errno to avoid
> > > > to change lot of code handling errors.
> > > >
> > > > Changes since v4:
> > > > - fix use after free in reds_set_video_codecs_from_string;
> > > > - rename conflicting identifiers instead of undefining them;
> > > > - remove some preprocessor indentation;
> > > > - improve Meson support;
> > > > - improve some comments.
> > > >
> > > > Changes since v3:
> > > > - reduce compatibility layer size:
> > > > - do not change function name if not required;
> > > > - use int instead of a new socket_t.
> > > >
> > > > Changes since v2:
> > > > - better %m replacement;
> > > > - many comments updates;
> > > > - typo and grammar fixes;
> > > > - use int to store socket descriptors/handles;
> > > > - merge all v2 updates into a single series;
> > > > - split formatting string patch.
> > > >
> > > > Frediano Ziglio (18):
> > > > build: Detect Windows build and change some definitions
> > > > Avoids %m in formatting for Windows
> > > > windows: Do not use conflicting preprocessor macros
> > > > tests: Provide alarm replacement for Windows
> > > > sys-socket: Introduce some utility to make sockets more portable
> > > > sys-socket: Add socket_newpair utility
> > > > net-utils: Port to Windows
> > > > reds: Use socket compatibility layer (close -> socket_close)
> > > > red-stream: Use socket compatibility layer
> > > > dispatcher: Use socket compatibility layer
> > > > test-leaks: Use socket compatibility layer
> > > > test-channel: Use socket compatibility layer
> > > > windows: Disable code not working on Windows
> > > > dispatcher: Port to Windows
> > > > tests: Exclude tests that cannot work on Windows
> > > > red-stream: Fix SSL connection for Windows
> > > > Disable recording filtering for Windows
> > > > Add some notes for the Windows port
> > > >
> > > > README.Windows | 18 ++
> > > > configure.ac | 20 ++-
> > > > meson.build | 15 +-
> > > > server/Makefile.am | 2 +
> > > > server/dispatcher.c | 28 ++-
> > > > server/meson.build | 2 +
> > > > server/net-utils.c | 11 ++
> > > > server/red-channel-client.c | 2 +
> > > > server/red-common.h | 1 +
> > > > server/red-qxl.c | 52 +++---
> > > > server/red-record-qxl.c | 7 +
> > > > server/red-stream.c | 48 ++++-
> > > > server/red-stream.h | 2 +
> > > > server/red-worker.c | 6 +
> > > > server/reds.c | 115 ++++++------
> > > > server/sound.c | 5 +-
> > > > server/stat-file.c | 2 +
> > > > server/sys-socket.c | 287 ++++++++++++++++++++++++++++++
> > > > server/sys-socket.h | 142 +++++++++++++++
> > > > server/tests/Makefile.am | 11 +-
> > > > server/tests/basic-event-loop.c | 2 +
> > > > server/tests/meson.build | 16 +-
> > > > server/tests/replay.c | 2 +
> > > > server/tests/test-channel.c | 9 +-
> > > > server/tests/test-leaks.c | 5 +-
> > > > server/tests/test-loop.c | 1 +
> > > > server/tests/test-record.c | 7 +-
> > > > server/tests/test-stream-device.c | 1 +
> > > > server/tests/win-alarm.c | 65 +++++++
> > > > server/tests/win-alarm.h | 26 +++
> > > > tools/Makefile.am | 2 +
> > > > tools/meson.build | 10 +-
> > > > 32 files changed, 805 insertions(+), 117 deletions(-)
> > > > create mode 100644 README.Windows
> > > > create mode 100644 server/sys-socket.c
> > > > create mode 100644 server/sys-socket.h
> > > > create mode 100644 server/tests/win-alarm.c
> > > > create mode 100644 server/tests/win-alarm.h
> > > >
> > > > --
> > > > 2.20.1
> > > >
> > > >
> > > _______________________________________________
> > > Spice-devel mailing list
> > > Spice-devel at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/spice-devel
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20190418/05e95f79/attachment.sig>
More information about the Spice-devel
mailing list