On 06/22/2011 06:00 PM, Alon Levy wrote:
Hi All,
We currently have the following repositories:
spice-protocol
spice
spice-gtk
also
spice-vdagent (for both Windows and Linux)
spice-xpi/active-x (as mentioned below)
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
What will you do with other components that require spice-protocol, such as
spice-vdagent.
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.
Many times changes in "common/" files come with changes in "server/" or
"client/" files (for example, adding a parameter to an existing function, or
adding a new function). So we're back to committing into two repositories (plus
synchronizing their versions).
Maybe using git magic is a better solution (?).
Specifically I'm thinking of "git submodule", but there may be a better way.
Uri.
_______________________________________________
Spice-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/spice-devel