Contents
Warning
This page is about the old Compiz environmnt back 2008, all information here is outdated. Newer development happen on Compiz-devel
Overview
This page attempts to summarize the current state of compiz and friends in debian unstable, and plans for the future in order to keep debian up to date with the latest developments in the various related projects. Also, it attempts to summarize and address any current and potential problems related to compiz packaging.
For a general description of Compiz and its usage and configuration, see http://wiki.debian.org/Compiz.
The current state of Compiz - Upstream
compiz development is organized into two main groups: "core" components (hosted by compiz.org and freedesktop.org) and "community" components (hosted by compiz-fusion.org aka "Compiz Fusion").
The "core" system includes the window managing proper, core libraries and headers, and some decorators. The git repository is hosted at git://cgit.freedesktop.org/xorg/app/compiz/ and mirrored at git://anongit.compiz-fusion.org/compiz.
It seems like pretty much everything else (including configuration managers, new plugins, configuration backends) is hosted in various subdirectories of anongit.opencompositing.org. The full list of repositories can be found here
Current state of Compiz - Debian
Currently debian testing/unstable has compiz/compiz-fusion packages based on the stable 0.7 branch of the respective projects.
Currently the following packages are in debian/unstable:
Since these packages don't really fit as a group into any existing part of the xorg hierarchy, and since they come from a different "upstream" than the rest (which are reflected with the existing hierarchy), the new packages should all be pushed into git+ssh://git.debian.org/git/pkg-xorg/desktop-bling/srcpkg.
Work left to be done
Reorganizing debian source packages
One thing that has become painfully clear is that it's not feasible to manage the numerous upstream packages as seperate debian source packages. Maintaining, upgrading, and releasing these packages is already somewhat problematic with the coordination between the compiz and compiz-fusion projects, and a constantly shifting API and ABI. Adding to that the overhead in debian of needing to manually update 6-12 source packages and it becomes a nightmare.
Therefore, the following reorganization is proposed:
- condense the "upstream" source trees into a smaller number of debian trees
- have either "use case" or build dependencies determine the distribution of packages
- keep existing binary package names unless there's a good reason to switch
- use git submodules to maintain effective tracking of upstream sources
Here is the proposed layout Note this will probably change:
Debian Source Package |
Upstream Source Packages |
compiz |
compiz, fusion/misc/compiz-manager |
compizconfig |
fusion/libcompizconfig, fusion/libraries/bcop |
compizconfig-backends |
fusion/compizconfig/compizconfig-backend-gconf, fusion/compizconfig/compizconfig-backend-kconf, fusion/compizconfig/compizconfig-python |
compiz-fusion-plugins |
fusion/plugins-main, fusion/plugins-extra, fusion/plugins-unsupported |
compiz-fusion-apps |
fusion/compizconfig/ccsm, fusion-icon, fusion/compizconfig/simple-ccsm (if packaged) |
Open Questions / Issues
- Is this feasible, generally speaking?
- This means fewer source packages with larger build-dep sets (i.e. needing both gnome/kde dev libs to compile -backends)
- We need to ensure that such condensing allows packages to still depend on installed build-dependencies (it would probably be a bad thing have a package and dev libraries that it needs in the same source package, if there is other software that also uses these dev libraries)
Remaining unpackaged software
- emerald related packages