[Spice-devel] repository reorg

Alon Levy alevy at redhat.com
Wed Jun 22 08:00:10 PDT 2011


Hi All,

 We currently have the following repositories:
  spice-protocol
  spice
  spice-gtk

 spice-protocol contains the following parts:
  qxl_dev.h - required by qemu and drivers
  controller.h - required by spice client and xpi/active-x
  the rest - protocol definitions for server and client
 
 spice is composed of
  codegen - generation of marshallers, demarshallers, and defines that go into spice-protocol.
  server - server implementation
  client - old client implementation
  common - shared by server and client, further subdivided to:
   glz/lz/quic encoders and decoders
   cache implementation
   canvas rendering implementation
   used by the server, old client and new client.
 
 Inefficiencies with the current repositories:
  1. updates to the protocol need to go to spice/spice.proto, run the codegen,
    and put the results to spice-protocol
  2. common exists in both spice and spice-gtk. since it hasn't been touched in
    a while it isn't a real problem, but still the code duplication is bad and
    in the future (3d canvas) it will be modified.

 Suggested changes:
  spice - merge spice-protocol into it
  spice-protocol - kill it
  common - extract to a separate library, it's own configure, pkg-config, name it spice-render,
   and have spice-gtk and spice (server and old client) rely on it.
  spice-gtk - keep it as is. easier to develop with a separate configure since it doesn't contain
  all the requirement checks for the server.

 Suggestion is Marc-Andre's but he didn't think it was important enough to discuss, I take
 responsibility for the time wasted as a result of this email.

Alon


More information about the Spice-devel mailing list