First lets make sure your /etc/portage/package.keywords is setup correctly, it should look like below so add to it if not:
- Code: Select all
x11-plugins/compiz-fusion-plugins-atlantis **
x11-plugins/compiz-fusion-plugins-threed **
x11-libs/compiz-bcop **
x11-apps/fusion-icon **
x11-libs/bcop **
dev-python/compizconfig-python **
x11-wm/compiz-fusion **
x11-wm/compiz **
x11-plugins/compiz-plugins-screensaver **
x11-plugins/compiz-fusion-plugins-wallpaper **
x11-plugins/compiz-fusion-plugins-main **
x11-plugins/compiz-fusion-plugins-extra **
x11-plugins/compiz-fusion-plugins-unsupported **
x11-wm/emerald **
x11-themes/emerald-themes **
x11-apps/ccsm **
x11-libs/libcompizconfig **
x11-libs/compizconfig-backend-gconf **
x11-libs/compizconfig-backend-kconfig **
Let's make sure your portage is updated
- Code: Select all
emerge --sync && layman -S
Make sure dev-utils/git is installed
- Code: Select all
emerge -s dev-util/git
if it shows installed you are good to go, if not
- Code: Select all
emerge dev-util/git
So lets get going shall we?
First lets get the desktop-effects overlay <--brand new overlay for compiz packages
- Code: Select all
su
- Code: Select all
enter password
- Code: Select all
layman -Lka desktop-effects
than lets remove the sabayon overlay so we make sure we get the latest compiz-fusion
- Code: Select all
layman -d sabayon
than
- Code: Select all
rm -rf /usr/portage/distfiles/git-src/*
If you haven't changed your use flags for x11-libs/libX11 you will need to:
- Code: Select all
echo "x11-libs/libX11 xcb" >> /etc/portage/package.use
than reinstall it so it builds with the use flag
- Code: Select all
emerge x11-libs/libX11
Than We do this:
- Code: Select all
emerge -C x11-libs/bcop x11-apps/ccsm x11-wm/compiz x11-libs/compiz-bcop x11-libs/compizconfig-backend-gconf x11-libs/compizconfig-backend-kconfig dev-python/compizconfig-python x11-wm/compiz-fusion 11-plugins/compiz-fusion-plugins-extra x11-plugins/compiz-fusion-plugins-main x11-plugins/compiz-fusion-plugins-threed x11-plugins/compiz-fusion-plugins-unsupported x11-apps/fusion-icon x11-libs/libcompizconfig x11-plugins/compiz-users-pafy-screensaver x11-plugins/compiz-fusion-plugins-atlantis
Now thanks to our C-F guru trench- in IRC he made a script to make this easier so you need to replace your old script with the new below:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
IF YOU ARE NOT RUNNING KDE4 THAN WE NEED TO CHANGE YOUR PACKAGE.USE
- Code: Select all
echo "x11-wm/compiz -kde4" >> /etc/portage/package.use
that only needs to be done once, not each time you update C-F. If install kde4 later, than you can simply remove that line - now continue
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
New Script Updated to use desktop-effects overlay
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Code: Select all
#!/bin/bash
compiz_git_packages="compiz-fusion \
compiz \
libcompizconfig \
compizconfig-python \
compiz-bcop \
compizconfig-backend-kconfig \
compiz-fusion-plugins-main \
compiz-fusion-plugins-extra \
compiz-fusion-plugins-unsupported \
x11-apps/fusion-icon \
x11-apps/ccsm \
x11-wm/emerald \
x11-themes/emerald-themes
compiz-fusion"
update_overlay() {
layman -s desktop-effects
}
case "$1" in
"merge")
echo -e "Updating desktop-effects overlay"
update_overlay
echo -e "Purging packages"
emerge -C ${compiz_git_packages}
echo -e "Emerging packages"
emerge --oneshot --ask --verbose ${compiz_git_packages}
;;
"backup")
echo "Making binary package backups of currently emerged compiz-fusion packages."
quickpkg ${compiz_git_packages}
;;
"revert")
echo "Reverting to the most recent binary backups of the compiz-fusion git packages."
emerge --oneshot --ask --verbose --usepkgonly ${compiz_git_packages}
;;
"purge_git")
echo "Cleaning all files downloaded from git."
rm -rf /usr/portage/distfiles/git-src/*
;;
*)
echo -e "`basename ${0}` usage:\n"
echo -e "`basename ${0}` backup"
echo -e "Make binary packages out of the currently merged compiz-fusion packages.\n"
echo -e "`basename ${0}` merge"
echo -e "Remerge compiz-fusion packages.\n"
echo -e "`basename ${0}` revert"
echo -e "Revert to the most recent binary backups of the compiz-fusion git packages.\n"
echo -e "`basename ${0}` purge_git"
echo -e "Purge all files downloaded from git.\n"
;;
esac
exit 0
So you take the above and place it in a new text file and save it as fusionupdate.sh
Move the fusionupdate.sh to your /usr/bin/ and lets make it so we can run it by doing (you will need to be root to move it):
- Code: Select all
chmod +x /usr/bin/fusionupdate.sh
Now there are 3 options you can run with this script. merge, backup, revert
To install all of compiz-fusion as root run
- Code: Select all
fusionupdate.sh merge
and let it do it's thing and it will install Compiz-Fusion and the goodies.
Now when that is done you can make a backup of the files incase of future breakage, but we must do one thing first.
- Code: Select all
mkdir /usr/portage/packages
than do your backup
- Code: Select all
fusionupdate.sh backup
now if you ever need to revert
- Code: Select all
fusionupdate.sh revert
Lets not forget to change our overlays back now
- Code: Select all
layman -d desktop-effects
- Code: Select all
layman -a sabayon
Now you may have Java problems after doing this so you will want to do:
- Code: Select all
CFLAGS="-DNDEBUG" emerge x11-libs/libxcb
Than Java should play nice again.
Pretty slick huh?


