Wishlist: Move working "unsupported" plugins to the main bzr repo and integrate them into the compiz-plugins-extra package for easy installation

Bug #1011083 reported by MC Return on 2012-06-10
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
compiz (Ubuntu)
Wishlist
MC Return

Bug Description

There are many nice "unsupported" plugins for Compiz available that currently have to be fetched and compiled from source and thus are not easily available via package manager for Compiz 0.9.x.

It would be nice to move them to the extra package, at least those that work without problems...

A script to install those plug-ins for 0.9.x versions is available here for those who want to try:
http://gnome-look.org/content/show.php/Compiz+Experimental+Plugins+U%2BD+3-18-12?content=118511

MC Return (mc-return) on 2012-06-10
Changed in compiz:
status: New → Opinion
Daniel van Vugt (vanvugt) wrote :

Any plugins missing from compiz-plugins-* packages is only a packaging issue. So this bug belongs to "compiz (Ubuntu)" and not "Compiz".

affects: compiz → compiz (Ubuntu)
Changed in compiz (Ubuntu):
status: Opinion → Confirmed
importance: Undecided → Wishlist
MC Return (mc-return) wrote :

"Workspace Naming", "Animations Experimental" and "Cube Reflection and Deformation" are just 3 excellent and useful examples of unsupported plug-ins, which are still fully working with 0.9x here and should not get lost...

I guess there are other good reasons also why those unsupported plugins should be integrated one-by-one to the new bzr repo here on launchpad like also getting them under automatic testing if that already exists.

Daniel van Vugt (vanvugt) wrote :

The only unpackaged plugin I'm aware of so far is "showrepaint". Remember we can only package plugins together that are in the source: http://bazaar.launchpad.net/~compiz-team/compiz/0.9.8/files/head:/plugins/

If you think any plugins are missing from the above directory then please log each as a new bug against project "compiz".

Sam Spilsbury (smspillaz) wrote :

The only plugin which we should package is showrepaint if that was missing.

The other plugins are unmaintained and not part of the original distribution. It could make sense to split them out into a separate repo which is not maintained by the compiz developers if people still wish to use them.

MC Return (mc-return) wrote :

Daniel van Vugt, I am in the process of collecting, compiling, testing and reporting.

The initial plan is to generate a comprehensive list of all of the plugins with detailed information about each one of them like:

1. Where do I get it from (source). (Usually currently unsupported plug-ins are on gitweb.compiz.org)
2. Does it compile and work (with latest versions of Unity/Compiz on Precise) ?
3. If there are any issues with it, what exactly are those issues ?
4. Provide screenshots of all the settings of the plug-in in CCSM (CompizConfigSettingsManager).
5. Provide additional information about the plug-in like possible improvements or compiler warnings.

Sam Spilsbury, I understand that each additional plug-in that is made "official" or part of the original distribution also means additional stuff to maintain, but many of the currently unsupported plug-ins are also very useful and fully working with the latest version of Compiz (0.9.7.8-0ubuntu1-vvpreproposed2)/Unity (5.12.0) on Precise, and I am sure users would be happy to be able to get and use them without a hassle like git cloning and compiling from source.

Once I finished collecting all those points for each missing plug-in (reports about all of them are already filed), I will summarize everything and report here.

/offtopic on
P.S.: Great work on Compiz, btw. - I am using it since 0.7 (?) versions on multiple machines and I've never seen a Compiz that stable and useful before (even with all the additional plug-ins I have up and running here ;)). GREAT JOB !!!
/offtopic off

tags: added: amd64 compiz-0.9 needs-reassignment precise regression-proposed regression-release regression-update running-unity ubuntu
Sam Spilsbury (smspillaz) wrote :

It might make sense to move unsupported plugins to lp:compiz if we can turn compiling them off quite easily. The build time is already excessive because we build a bunch of stuff we don't care about. Introducing some cmake variables for that is probably trivial?

In any case, if you wish to start integrating them in, there's a bit of an involved process you need to follow. Ideally, you'd want to maintain the bzr history. Here's how I did it for all of the other compiz plugins:

(dammit, I can't find my extremely useful python script I wrote for this ... in any case, here's how it was done from memory)

You'll need the bzr fastimport and bzr join plugins. I think join is part of the normal bzr distribution. Fastimport I got from bzr branch lp:bzr-fastimport fastimport cloned into ~./bazaar/plugins .

You'll also need a custom plugin called set_root_id. You can get that here: https://bugs.launchpad.net/bzr/+bug/370710/comments/4

From there, its something like this:

git clone $GITURL
bzr init $PLUGIN-bzr
cd $GITDIR
git fast-export | (cd ../$PLUGIN-bzr; bzr fast-import -) #creates a new bzr repo with history in tact
cd ../$PLUGIN-bzr
bzr set-root-id # works around bug 370710

Then move the bzr repo into the compiz/plugins repo and do
bzr join $PLUGIN-bzr

That will create a "merge" of the plugin into lp:compiz. Commit it with bzr commit

To check if it worked correctly, you can use bzr log -n 0 | less

The entire history for the plugin should appear underneath your merge commit

Also check if the per-file history is in tact. I think its a matter of bzr blame somefile.cpp | less in the plugin. Make sure that every line isn't by your lp id ;-)

MC Return (mc-return) wrote :

Sam, I am proud to announce converting and committing my first compiz-plugin :)

Committing to: /home/mcr2010/Documents/compiz/
added plugins/workspacenames
added plugins/workspacenames/CMakeLists.txt
added plugins/workspacenames/src
added plugins/workspacenames/workspacenames.xml.in
added plugins/workspacenames/src/workspacenames.cpp
added plugins/workspacenames/src/workspacenames.h
Committed revision 3248.

Now how can I create a patch for review or push it ?

MC Return (mc-return) wrote :
Download full text (4.0 KiB)

------------------------------------------------------------
revno: 3248 [merge]
committer: MC Return <email address hidden>
branch nick: compiz
timestamp: Thu 2012-06-14 13:05:02 +0200
message:
  Converted git repo to bzr and added the missing plug-in workspacenames to the bzr repo
    ------------------------------------------------------------
    revno: 0.407.14
    committer: Scott Moreau <email address hidden>
    branch nick: trunk
    timestamp: Sun 2010-10-17 04:11:21 -0600
    message:
      Properly center text.
    ------------------------------------------------------------
    revno: 0.407.13
    committer: Danny Baumann <email address hidden>
    branch nick: trunk
    timestamp: Wed 2010-09-29 09:42:20 +0200
    message:
      Indent consistenly, using tabs only.
    ------------------------------------------------------------
    revno: 0.407.12
    committer: Scott Moreau <email address hidden>
    branch nick: trunk
    timestamp: Tue 2010-09-28 17:36:38 -0600
    message:
      Don't require composite since opengl already does.
    ------------------------------------------------------------
    revno: 0.407.11
    committer: Danny Baumann <email address hidden>
    branch nick: trunk
    timestamp: Tue 2010-08-31 09:43:01 +0200
    message:
      Build fix.
    ------------------------------------------------------------
    revno: 0.407.10
    committer: Danny Baumann <email address hidden>
    branch nick: trunk
    timestamp: Tue 2010-08-31 09:38:15 +0200
    message:
      Cleanup.
    ------------------------------------------------------------
    revno: 0.407.9
    committer: Scott Moreau <email address hidden>
    branch nick: trunk
    timestamp: Sat 2010-08-28 22:45:08 -0600
    message:
      Initial C++ port.
    ------------------------------------------------------------
    revno: 0.407.8
    committer: Danny Baumann <email address hidden>
    branch nick: compiz-0.8.remote
    timestamp: Sun 2009-01-11 14:12:23 +0100
    message:
      Adapt for text plugin interface changes.
    ------------------------------------------------------------
    revno: 0.407.7
    committer: Danny Baumann <email address hidden>
    branch nick: compiz-0.8.remote
    timestamp: Thu 2008-06-19 07:13:31 +0200
    message:
      Track core changes.
    ------------------------------------------------------------
    revno: 0.407.6
    committer: Guillaume Seguin <email address hidden>
    branch nick: compiz-0.8.remote
    timestamp: Mon 2008-04-21 13:05:38 +0200
    message:
      Use Cairo-based text background drawing
    ------------------------------------------------------------
    revno: 0.407.5
    committer: Danny Baumann <email address hidden>
    branch nick: compiz-0.8.remote
    timestamp: Mon 2008-04-21 09:55:48 +0200
    message:
      Cancel fading on VP change.
    ------------------------------------------------------------
    revno: 0.407.4
    committer: Danny Baumann <email address hidden>
    branch nick: compiz-0.8.remote
    timestamp: Sun 2008-04-20 14:02:05 +0200
    message:
      Cleanup, remove c'n'p relicts.
    ------------------------------------------------------------
    revno: 0.407.3
    committer: Danny Baumann <d...

Read more...

Sam Spilsbury (smspillaz) wrote :

Ok, you'll need to create a merge proposal.

bzr push lp:~lp-username/compiz/compiz.merge-plugin-whatever

MC Return (mc-return) wrote :

Done :)

bzr push lp:~mc-return/+junk/compiz.merge-plugin-workspacenames
Created new branch.

Sam Spilsbury (smspillaz) wrote :

Committed at r3248

Changed in compiz (Ubuntu):
status: Confirmed → Fix Committed
MC Return (mc-return) wrote :

Great news, Sam :)
I will continue to work on the other ones now...

Sam Spilsbury (smspillaz) wrote :

Sure. Note that some plugins we won't be able to accept upstream in any meaningful fashion because they will likely be broken by upcoming API changes to run on OpenGL|ES

MC Return (mc-return) wrote :

The next ones I've converted and committed are:

animationjc - "Animations Experimental" - Black Hole, Flicker, Ghost, Popcorn & Raindrop
extra-animations - "Extra Animations" - Blinds, Bonanza, Helix, Shatter

animationjc was merged first, then extra-animations was merged on top of it (r3250 and r3251):

https://code.launchpad.net/~mc-return/compiz/compiz.merge-plugin-animationjc

https://code.launchpad.net/~mc-return/compiz/compiz.merge-plugin-extra-animations

MC Return (mc-return) wrote :

"Animations Experimental", "Extra Animations" and "Simple Animations" seem to have compiling troubles with most recent Compiz versions. I hope we can fix those problems.

tags: removed: needs-reassignment
tags: removed: regression-release
tags: removed: regression-proposed
tags: removed: regression-update
MC Return (mc-return) wrote :
MC Return (mc-return) on 2012-06-24
Changed in compiz (Ubuntu):
assignee: nobody → MC Return (mc-return)
MC Return (mc-return) on 2012-06-24
Changed in compiz (Ubuntu):
status: Fix Committed → In Progress
MC Return (mc-return) wrote :

Workspacenames has already been featured on the iloveubuntu blog:
http://iloveubuntu.net/compiz-098-landed-ubuntu-1210-workspace-naming-and-numerous-fixes

Any news on the other merge proposals ?

Daniel van Vugt (vanvugt) wrote :

This bug is now redundant since you've now created a separate bug for each plugin (which is good). So marking this one invalid.

Changed in compiz (Ubuntu):
status: In Progress → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers