[Spice-devel] repository reorg
Alon Levy
alevy at redhat.com
Thu Jun 23 04:10:01 PDT 2011
On Thu, Jun 23, 2011 at 12:18:11PM +0200, Alon Levy wrote:
> On Wed, Jun 22, 2011 at 05:00:10PM +0200, Alon Levy wrote:
> > Hi All,
>
Ok, so take three:
(1) spice-protocol - remains unchanged. specifically, despite the name, will
not contain the .proto nor the python codegen bits nor the generated files.
(2) spice-common (repository spice/common) - new repository, contains:
spice*.proto
spice_codegen.py and friends (python_modules subdir)
produces a proper shared library, used by spice-server, spice-client, spice-gtk, named
libspice-common.so.0, containing marshalling and rendering code (including any decoder/encoder)
plus anything else currently in common (like ssl-verify).
(3) spice-client - breakoff client subdir from current spice (maybe rename+remove-the-rest to keep history)
(4) spice-server - rename current spice repo (just to keep history)
(5) spice-gtk - remains, just move it to freedesktop now that we want to keep it.
(6) spice-all - convenience repository that has the rest as submodules and has a helpful makefile to build them all.
The rest of the repos will need to be updated. Concrete steps would be:
(1) create spice/spice-common, spice/spice-server, spice/spice-client, spice/spice-gtk repositories (btw - any
comments on the spice- prefix?)
(2) get spice-common to build, the rest to use
(3) remove the "spice/spice" repository
(4) make spice-all
Comments?
> Ok, take two with Gerd's and Hans's and Uri's comments.
>
> (1) spice-protocol - keep it, move code generation stuff here
> (spice_codegen.py, python_modules, spice*.proto), and have the dist tarball
> contain the cpp and c files resulting from running it.
>
> (2) spice-server - new repo from spice/server, will submodule common. will
> keep requiring spice-protocol as a separate entity, and will reference the c
> files therein (does this make any sense, carrying c files as installed files?
> I can't think of any other outcome of moving the codegen to spice-protocol)
>
> (3) spice-client - this will be the spice-gtk repo (or is anyone in favor of
> keeping spice-gtk name?), and it will submodule common too.
>
> (4) common - submodule. easier to do cross changes with spice-server and spice-client,
> dist tarballs package it (for spice-client, spice-server).
>
> And the rest don't require any changes:
>
> Rely just on spice-protocol, as before:
> linux/vdagent
> windows/vdagent
> spice-xpi
> spice-x
> windows driver
> linux driver
> And these rely on spice-server, same as before
> qemu
> xspice
>
> >
> > 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
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list