PDA

View Full Version : Script to install Compiz Fusion From Source on gnome


Pages : 1 [2]

oceanic
December 18th, 2007, 12:20 PM
is it this one? :D
i think i did it hehe

Thank you for all the help!

some-guy
December 18th, 2007, 03:29 PM
try installing/updating pkgconfig
The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
it turns out nothing but compiz was actually build because it couldn't find compiz

oceanic
December 19th, 2007, 08:53 AM
root@arthy:/home/sarah# sudo apt-get install pkg-config
Reading package lists... Done
Building dependency tree
Reading state information... Done
pkg-config is already the newest version.
The following packages were automatically installed and are no longer required:
unixodbc odbcinst1debian1 libltdl3
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

:( did i install it in the wrong place??
I donno much

Thank you again for trying to help me though :D

some-guy
December 19th, 2007, 01:47 PM
maybe its broken, try reinstalling pkg-config

mbeierl
December 19th, 2007, 07:06 PM
Hmmm. Same error happening for me too - Gutsy 6.10 64 bit:

configure: Using PKG_CONFIG_PATH=/usr/lib/pkgconfig
checking pkg-config is at least version 0.9.0... ./configure: line 22825: /usr/lib/pkgconfig: is a directory
no
checking for EMERALD... configure: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.

More info:
mark@ottws58:~/downloads/compiz/makecompiz8-gdeb-0.6.0$ pkg-config --version
0.22
mark@ottws58:~/downloads/compiz/makecompiz8-gdeb-0.6.0$ dpkg -l | grep pkg-conf
ii pkg-config 0.22-1 manage compile and link flags for libraries

.. oh, and I had tried the reinstall of pkg-config, but it made no difference.

mbeierl
December 19th, 2007, 07:36 PM
But yet, if I cd into the sources dir for emerlad-0.5.2 and run ./configure there:

configure: Using PKG_CONFIG_PATH=NONE/lib/pkgconfig
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for EMERALD... yes

oceanic
December 19th, 2007, 09:09 PM
so did you make it work? =s
i donno how to install it then :(

mbeierl
December 19th, 2007, 10:17 PM
No, I did not get it working, I just tried running part of the script manually. It didn't help out overall, though.

So, now I'm in the fun position of working my way back to an operational cube :)

some-guy
December 20th, 2007, 01:02 AM
strange :confused:

well try running the remove script then run sudo apt-get install compiz-core compiz-gnome emerald libcompizconfig compizconfig-settings-manager compiz-bcop compiz-fusion-plugins-* libcompizconfig-backend-gconf
after that use my makegutsyplugins script :D
that should give equivalent or almost equivalent functionality :D

Deciare
December 20th, 2007, 02:19 AM
I just looked at the source for the latest script. You have a lot of lines saying:
export PKG_CONFIG=$PREFIX/lib/pkgconfig
The PKG_CONFIG environment variable details the location of the pkg-config binary, not the .pc file path. Changing those lines to:
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig should fix it.

some-guy
December 20th, 2007, 02:34 AM
OMG how did I manager that? :o
oh well will fix, maybe tomarrow :D

mbeierl
December 20th, 2007, 05:46 AM
Awesome! I'll be willing to give it a try when you're done! I'm back up and running already - although I did have a little scare when I couldn't get emerald to run.

Turned out it the window decorator was unchecked in the compiz settings :)

some-guy
December 20th, 2007, 03:31 PM
OK PKG_CONFIG is _PATHified :D

EDIT: New Script too, fedora this time :D

mbeierl
December 20th, 2007, 09:09 PM
Doh! Okay, tried it first with removing all compiz and emerald packages from apt, then ran the script. Everything compiled, but compiz would not start to due compiz.real not being found.

Hmm, I think to myself, maybe I should let it remove what it wants removed ... So I re-install compiz, etc, and then run the script. Now when I try to run, I get a core dump like so:

/usr/bin/compiz-manager-nvidia: line 383: 4691 Segmentation fault ${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS

Methinks it does not like my 64 bit Gutsy system. :(

some-guy
December 20th, 2007, 09:13 PM
try fusion-icon

mbeierl
December 20th, 2007, 09:18 PM
My notes on how to get back to operational state quickly:

sudo aptitude reinstall compiz compiz-core compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compiz-plugins compizconfig-settings-manager gnome-compiz-manager libcompizconfig-backend-gconf libcompizconfig0 python-compizconfig emerald libemeraldengine0 libdecoration0

Man, didn't realize you'd be that quick :)

Ok, about to rerun the script. Should I be removing any packages first, or just go for it?

some-guy
December 20th, 2007, 09:28 PM
go for it, the script already removes them :D

some-guy
December 21st, 2007, 03:59 PM
added atlantis2, it has been tested :D

mbeierl
December 21st, 2007, 06:12 PM
mark@ottws58:~/downloads/compiz/makecompiz8-gdeb-0.6.0$ fusion-icon
bash: fusion-icon: command not found

some-guy
December 21st, 2007, 06:41 PM
I guess it doesn't like 64-bit Gutsy :(
run the uninstall script, then reinstall the official gutsy packages, afterward you can use my makegutsyplugins script :D

Deciare
December 22nd, 2007, 08:33 PM
Why should the processor architecture matter to a shell script?

mbeierl, could you please upload the logs.tar.gz file from the makecompiz script's directory?

some-guy
December 22nd, 2007, 11:36 PM
Why should the processor architecture matter to a shell script?
dunno, maybe it does something like suse, move all /lib(s) to /lib64(s) :D

gaougalos
December 30th, 2007, 05:53 AM
Is there any newer version?
And thank you very much for this script

some-guy
December 31st, 2007, 08:27 PM
If you mean compiz, no
this just install compiz fusion 0.6.0 (release) and some unofficial/additional plugins, I'm planning to update/add some newer versions of some ports soon :D
BTW, the version number will NOT change. (It takes too much energy and time since there are 5 scripts ;))

EDIT: Decided to completely change the structure :D, working on that now, has a lot of 'if's and 'elif's :D It'll probably get renamed :D

HMartinho
January 15th, 2008, 07:33 PM
Wazup some-guy;

Planning on updating soon?

Cheers.

some-guy
January 15th, 2008, 09:25 PM
I'm working on a new script, almost there :D
BTW, please remove the link from your sig until the new script is here ;)

some-guy
January 24th, 2008, 08:36 PM
ok, this is just an update on my progress, it's not done yet, but it's one single thing!
Note: I had to change my mind on how to do it a few times so there is some old code (though it's marked)
#!/bin/bash
#======================================
#Author : some-guy (Muhammed U) #
#Copyright : (C) 2008 some-guy #
#E-mail : muhammedu (at) gmail.com #
#================================================= =================
# This program is free software; you can redistribute it and/or #
# modify it under the terms of the GNU General Public License #
# as published by the Free Software Foundation; either version 2 #
# of the License, or (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
#================================================= =================

#================================================= ================================================== ====
#I would like to thank bochecha for making easyKiba, I 'stole' a lot of ideas from it :D
#I would also like to thank franzrogar for developing makefusion, this has many ideas from it too.
#================================================= ================================================== ====

################################################## ###############
##Configuration################################### ###############
################################################## ###############

##Packages######################################## ###############
# fusion : bcop, ccs
# emerald : Emerald window decorator
# ccs-gconf : select if you want gconf backend (optional)
# ccs-kconfig : select if you want kconfig backend (optional)
# compiz-manager : Kristian wrapper (modified by cyberorg then by some-guy)
# fusion-icon : crdlb's tray icon/wrapper
# ccsm: Configure Compiz-Fusion
PACKAGES="fusion ccs-gconf emerald compiz-manager fusion-icon ccsm"

##Plugins######################################### ###############
#Official=======
# main : {animation, expo, jpeg, opacity, put, resizeinfo, ring, scaleaddon, snap, text,
# tumbnails, vpswitch, wall, winrules}
# extra : {addhelper, bench, crashhandler, cubereflex, extrawm, fakedesktop, firepaint
# group, mblur, reflex, showdesktop, splash, trailfocus}
# unsupported : {fakeargb, snow, tile}
#
#Unofficial=====
#atlantis2, freewins, fireflies, photowheel, snowglobe, wallpaper, screensaver, stars
FUSIONPLUGINS="main extra unsupported atlantis2 freewins fireflies photowheel snowglobe wallpaper screensaver stars"

##Remove########################################## ###############
# gnome : deactivate gnome support and activate kde one (for KDE users)
# kde : deactivate kde support and activate gnome one (for Gnome and other DE users)
# inotify : deactivate inotify
# fuse : deactivate fuse
DISABLE="kde"

##Prefix########################################## ###############
# Compiz/Fusion install directory
# If you're not sure, keep it as it's.
#
PREFIX="/usr/local"

##Distribution#################################### ###############
# ubuntu (debian gnome)
# kubuntu (debian kde)
# susekde !Experimental!
# susegnome
# fedoragnome !Experimental!
DISTRO="ubuntu"

##Additional Plugins########################################### ##
#Put the full path to the tar.gz(tarball)'s location
ADDPLUGINS=""

################################################## ########
################################################## ########
####### YOU SHOULD NOT EDIT SCRIPT AFTER THIS LINE #######
################################################## ########
################################################## ########

ARGUMENT="$1"

################################################## #
###Define colors###################################
################################################## #

KB="\033[1;30m" #bold black
RB="\033[1;31m" #bold red
R="\033[0;31m" # red
GB="\033[1;32m" #bold green
G="\033[0;32m" # green
YB="\033[1;33m" #bold yellow
Y="\033[0;33m" # yellow
BB="\033[1;34m" #bold blue
B="\033[0;34m" # blue
MB="\033[1;35m" #bold magenta
CB="\033[1;36m" #bold cyan
C="\033[0;36m" # cyan
WB="\033[1;37m" #bold white
NONE="\033[0m" #no color
MENU="\033[1;5;33;42m" #menu color
MENU2="\033[1;5;31;44m" #menu2 color
ok="\033[1;32m[ OK ]\033[0m"
ko="\033[1;31m[ KO ]\033[0m"

################################################## #
###Naming######################################### #
################################################## #

COMPIZ='compiz-core'
BCOP='compiz-bcop'
CCS='compiz-config'
PYCCS='compiz-config-python'
CCS_GCONF='compiz-config-backend-gconf'
CCS_KCONFIG='compiz-config-backend-kconfig'
CCSM='compiz-config-settings-manager'
CF_PLUGINS_MAIN='compiz-fusion-plugins-main'
CF_PLUGINS_EXTRA='compiz-fusion-plugins-extra'
CF_PLUGINS_UNSUPPORTED='compiz-fusion-plugins-unsupported'
COMPIZ_MANAGER='compiz-manager'
EMERALD='emerald'
EMERALD_THEMES='emerald-themes'
UNOFFICIAL_PLUGINS='WIP'
CF_TRAY='compiz-fusion-tray-icon'

################################################## #
###Intial configurations###########################
################################################## #

SERVER1='http://releases.compiz-fusion.org' #Compiz Fusion Server for download C-F
SERVER2='http://somelinuxguy94.googlepages.com' #My server for download misc things
CF_VERSION="0.6.0" #Current Compiz Fusion Version
COMPIZ_VERSION="0.6.2" #Current Compiz Version
EMERALD_VERSION="0.5.2" #Emerald Version
ITEMS="$CF_VERSION/compiz/compiz-$COMPIZ_VERSION.tar.gz" #Add Compiz to the list of download items

################################################## #
###Select Packages to Download#####################
################################################## #

for q in $PACKAGES ; do
if [ $q == "fusion" ]; then
ITEMS="$ITEMS $CF_VERSION/compiz-bcop-$CF_VERSION.tar.gz"
ITEMS="$ITEMS $CF_VERSION/libcompizconfig-$CF_VERSION.tar.gz"
ITEMS="$ITEMS $CF_VERSION/compizconfig-python-$CF_VERSION.tar.gz"
elif [ $q == "emerald" ]; then
ITEMS="$ITEMS $EMERALD_VERSION/emerald-$EMERALD_VERSION.tar.gz"
ITEMS="$ITEMS $EMERALD_VERSION/emerald-themes-$EMERALD_VERSION.tar.gz"
elif [ $q == "ccs-gconf" ]; then
ITEMS="$ITEMS $CF_VERSION/compizconfig-backend-gconf-$CF_VERSION.tar.gz"
elif [ $q == "ccs-kconfig" ]; then
ITEMS="$ITEMS $CF_VERSION/compizconfig-backend-kconfig-$CF_VERSION.tar.gz"
elif [ $q = "compiz-manager" ]; then
C_MANAGER="$SERVER2/compiz-manager-$CF_VERSION.tar.gz"
elif [ $q = "fusion-icon" ]; then
F_TRAY="http://gitweb.compiz-fusion.org/?p=users/crdlb/fusion-icon;a=snapshot;h=82ce586187ded167c6e56ecde6dcb3f3 54909faf;sf=tgz"
elif [ $q = "ccsm" ]; then
ITEMS="$ITEMS $CF_VERSION/ccsm-$CF_VERSION.tar.gz"
fi
done

################################################## #
###Select Plugins to Download######################
################################################## #

for w in $FUSIONPLUGINS ; do
if [ $w = "main" ] || [ $w = "extra" ] || [ $w = "unsupported" ]; then
PLUGIN_ITEMS="$ITEMS $SERVER1/$CF_VERSION/compiz-fusion-plugins-$w-$CF_VERSION.tar.gz"
else
PLUGIN_ITEMS="$ITEMS $SERVER2/$w-$CF_VERSION.tar.gz"
fi
done

################################################## #
###Configure Arguments Selector####################
################################################## #

for p in $COMPIZREMOVE ; do
if [ $p = "gnome" ]; then
COMPIZARGS="$COMPIZARGS --enable-kde --disable-gtk --disable-gnome --enable-librsvg"
elif [ $p = "kde" ]; then
COMPIZARGS="$COMPIZARGS --enable-gtk --disable-kde --enable-librsvg"
elif [ $p = "inotify" ]; then
COMPIZARGS="$COMPIZARGS --disable-inotify"
elif [ $p = "fuse" ]; then
COMPIZARGS="$COMPIZARGS --disable-fuse"
fi
done

if [ $DISTRO == "susekde" ] || [ $DISTRO == "susegnome" ]; then
ARCH=`arch`
if [ $ARCH == "x86_64" ]; then
LIB="lib64"
else
LIB="lib"
fi
else
LIB="lib"
fi


################################################## #
###Misc Functions##################################
################################################## #

prep()
{
mkdir compiz-fusion #Make all the proper directories
mkdir compiz-fusion/.logs
mkdir compiz-fusion/packages
mkdir compiz-fusion/plugins
mkdir compiz-fusion/addplugins
}

clone()
{
wget -o compiz-fusion/.logs/tempgetlog.log -O compiz-fusion/$3/$2 $1
rm -rf compiz-fusion/.logs/tempgetlog.log
}

untar()
{
OLDPWD=`pwd`
cd compiz-fusion/$3
tar -xzf $1.tar.gz > /dev/null
rm -rf $1.tar.gz
mv $2 $1
}

do_configure()
{
OLDPWD=`pwd`
if [ $1 = $COMPIZ ]; then
CONFIGURE_OPTIONS="$COMPIZARGS --prefix=$PREFIX --libdir=$PREFIX/$LIB" #Pass arguments to compiz's configure
elif [ $1 = $CCS_KCONFIG ]; then
CONFIGURE_OPTIONS="--prefix=`kde-config --prefix`" #Pass arguments to ccs-kconfig's configure
else
CONFIGURE_OPTIONS="--prefix=$PREFIX --libdir=$PREFIX/$LIB" #Pass arguments to general packages/plugins packs
fi
cd compiz-fusion/$2/$1
export PKG_CONFIG_PATH=$PREFIX/$LIB/pkgconfig
./configure $CONFIGURE_OPTIONS > $OLDPWD/compiz-fusion/.logs/$1.configure.log
cd $OLDPWD
}

do_make()
{
OLDPWD=`pwd`
if [ $1 == "build" ]; then #Build packages
cd compiz-fusion/$3/$2
make
cd $OLDPWD

elif [ $1 == "install" ]; then #Install packages
cd compiz-fusion/$3/$2
make install
cd $OLDPWD

elif [ $1 == "compiz-manager-install" ]; then #Configure and install compiz-manager
cd compiz-fusion/packages/compiz-manager
sed -e s:IamTHEprefix:/$PREFIX: ./compiz-manager > $PREFIX/bin/compiz-manager
chmod +x $PREFIX/bin/compiz-manager
cd $OLDPWD


################################################## #
####OLD, MAY BE USED LATER#########################
################################################## #

#Help
help_me() {
echo "Usage:
--complete
--unofficial-plugins
--gutsy-plugins"
}

#Draw/Redraw the menu
menu()
{
clear
if [ -n "$TEXT1" ]; then
echo -e "$Y $TEXT1 $NONE"
fi
if [ -n "$TEXT2" ]; then
echo -e "$MENU $TEXT2 $NONE"
fi
if [ -n "$TEXT3" ]; then
echo -e "$BB $TEXT3 $NONE"
fi
}

#Draw the sub-menu
menu2()
{
if [ -n "$TEXT4" ]; then
echo -e "\t$R $TEXT4 $NONE"
fi
if [ -n "$TEXT5" ]; then
echo -e "\t$MENU2 $TEXT5 $NONE"
fi
if [ -n "$TEXT6" ]; then
echo -e "$CB $TEXT6 $NONE"
fi
}

#Top of the error
error()
{
echo -e "\n\n\033[1;31m--------INFO-----------------------------------------------------------------"
echo -e "\033[1m Could not finish operation !\033[0;31m"
echo -e "\033[1m Below is the error the script returned.\033[0;31m"
echo -e "\033[1;31m--------ERROR----------------------------------------------------------------"
}

#Error #1
error1()
{
TEXT1="1) Checking Desktop Environment \t\t\t\t $ko"
TEXT2="2) Checking Your GNU/Linux Distribution"
TEXT3="3) Checking How You Become Root"
menu
error
echo -e "\033[1;31m cf-install is not compatible with your desktop environment\n"
echo -e "\033[1;31m If you want to install Compiz Fusion, please do it some other way"
echo -e "\033[1;31m----------------------------------------------------------------------------- $NONE"
sleep 2
exit 1
}

#Error #2
error2()
{
TEXT1="1) Checking Desktop Environment \t\t\t\t $ok\n$Y 2) Checking Your GNU/Linux Distribution \t\t\t $ko"
TEXT2="3) Checking How You Become Root"
TEXT3=""
menu
error
echo -e "\033[1;31m cf-install is not compatible with your GNU/Linux Distribution"
echo -e "\033[1;31m If you want to install Compiz Fusion, please do it some other way"
echo -e "\033[1;31m----------------------------------------------------------------------------- $NONE"
sleep 2
exit 1
}

#Error #3
error3()
{
TEXT1="1) Checking Desktop Environment \t\t\t\t $ok\n$Y 2) Checking Your GNU/Linux Distribution \t\t\t $ok\n$Y 3) Checking How You Become Root\t\t\t\t $ko $NONE"
TEXT2=""
TEXT3=""
menu
error
echo -e "\033[1;31m cf-install cannot determine your distrobution's method of having root powers"
echo -e "\033[1;31m If you want to install Compiz Fusion, please do it some other way"
echo -e "\033[1;31m----------------------------------------------------------------------------- $NONE"
sleep 2
exit 1
}

#Check for Gnome
gnome_check() {

#Draw the menu
TEXT1=""
TEXT2="1) Checking Desktop Environment"
TEXT3="2) Checking Your GNU/Linux Distribution\n 3) Checking How You Become Root"
menu

#Provide Info
echo -e "\n\n\n"
echo -e "\033[1;32m--------INFO-----------------------------------------------------------------"
echo -e "\033[1m In this version of cf-install, this information is only relevant if your \033[0;32m"
echo -e "\033[1m GNU/Linux Desktop Environment is Gnome. $NONE"
echo -e "\033[1;32m-----------------------------------------------------------------------------"
echo -e "\n\n $NONE"
echo

#Ask
echo -en "- Is your Desktop Environment Gnome? (y/n): "
read Gnome

#Check results
if [ $Gnome == "y" ] || [ $Gnome == "Y" ]; then
PART1="SUCCESS"
elif [ "$Gnome" == "n" ]; then
error1
else
error1
fi
}

#Check the distro
distro_check()
{

#Draw the menu
TEXT1="1) Checking Desktop Environment \t\t\t\t $ok"
TEXT2="2) Checking Your GNU/Linux Distribution"
TEXT3="3) Checking How You Become Root"
menu

#Provide Info
echo -e "\n\n\n"
echo -e "\033[1;32m--------INFO-----------------------------------------------------------------"
echo -e "\033[1m In this version of cf-install, cf-install tries to install and remove the \033[0;32m"
echo -e "\033[1m correct packages depending on your GNU/Linux Distribution. $NONE"
echo -e "\033[1;32m-----------------------------------------------------------------------------"
echo -e "\n\n $NONE"
echo

#Ask for distro
echo -en "- Do you use openSuSE, Debian/Ubuntu, or Fedora? (s/d/f): "
read DISTRO

#Check for SuSE
if [ "$DISTRO" == "s" ]; then
PART2="SUCCESS"

#Check for debian
elif [ "$DISTRO" == "d" ]; then
PART2="SUCCESS"

#Check for fedora
elif [ "$DISTRO" == "f" ]; then
echo -e "$RB Fedora support is Experimental! $NONE"
#Ask to Continue
echo -en "$RB Are you sure you want to continue? $R (y/n): $NONE"
read CONTINUE
if [ "$CONTINUE" == "y" ]; then
PART2="SUCCESS"
else
error2
fi

else
error2
fi
}

root_check() {
TEXT1="1) Checking Desktop Environment \t\t\t\t $ok\n$Y 2) Checking Your GNU/Linux Distribution \t\t\t $ok"
TEXT2="3) Checking How You Become Root"
TEXT3=""
menu

echo -e "\n\n\n"
echo -e "\033[1;32m--------INFO-----------------------------------------------------------------"
echo -e "\033[1m In this version of cf-install, cf-install need to know \033[0;32m"
echo -e "\033[1m how you become root in order to properly install Compiz Fusion. $NONE"
echo -e "\033[1;32m-----------------------------------------------------------------------------"
echo -e "\n\n $NONE"
echo

echo -en "- Does yor distro use su or sudo (su/sudo): $NONE"
read ROOT
if [ $ROOT == "su" ]; then
PART3="SUCCESS"
elif [ $ROOT == "sudo" ]; then
PART3="SUCCESS"
else
error3
fi
}

gnome_check
if [ $PART1 == "SUCCESS" ]; then
distro_check
else
exit 1
fi
if [ $PART2 == "SUCCESS" ]; then
root_check
else
exit 1
fi

BTW, I need a name for it ;)

Deciare
January 26th, 2008, 05:41 AM
for p in $COMPIZREMOVE ; do
if [ $p = "gnome" ]; then
COMPIZARGS="$COMPIZARGS --enable-kde --disable-gtk --disable-gnome --enable-librsvg"
elif [ $p = "kde" ]; then
COMPIZARGS="$COMPIZARGS --enable-gtk --disable-kde --enable-librsvg"
elif [ $p = "inotify" ]; then
COMPIZARGS="$COMPIZARGS --disable-inotify"
elif [ $p = "fuse" ]; then
COMPIZARGS="$COMPIZARGS --disable-fuse"
fi
done
What if I want to disable both the Gtk and KDE decorators because I intend to use Emerald? Maybe something like this?
for p in $COMPIZREMOVE ; do
if [ $p = "gnome" -o $p = "kde" ]; then
if [ -n "$(echo $COMPIZREMOVE | grep kde)" -a -n "$(echo $COMPIZREMOVE |grep gnome)" ]; then
COMPIZARGS="$COMPIZARGS --disable-kde --disable-gnome --disable-gtk"
elif [ $p = "gnome" ]; then
COMPIZARGS="$COMPIZARGS --enable-kde --disable-gtk --disable-gnome --enable-librsvg"
elif [ $p = "kde" ]; then
COMPIZARGS="$COMPIZARGS --enable-gtk --disable-kde --enable-librsvg"
fi
elif [ $p = "inotify" ]; then
COMPIZARGS="$COMPIZARGS --disable-inotify"
elif [ $p = "fuse" ]; then
COMPIZARGS="$COMPIZARGS --disable-fuse"
fi
done
That code isn't clean since it checks for the presence of both kde and gnome twice; I'm not sure whether it would be more efficient to just leave it like that instead of modifying the $COMPIZREMOVE string to remove any further occurrences of "kde" or "gnome".

some-guy
January 26th, 2008, 05:53 AM
Is enabling it necessary at all? If it isn't disabled, won't it become enabled as long as it passes configure's checks?

Deciare
January 26th, 2008, 04:24 PM
The issue is not with enabling, but with disabling. The draft of the script you posted above is set up so that if the user adds "gnome" to $COMPIZREMOVE, then --enable-kde is set, but if the user adds "kde" to $COMPIZREMOVE, then --enable-gtk --enable-gnome is set.

There's no way to disable both kde and gnome. I was suggesting that such a possibility be added to the script.

Of course, if the configure script automatically enables everything that was not explicitly disabled, then the code would be simple:
for p in $COMPIZREMOVE ; do
COMPIZARGS="$COMPIZARGS --disable-$p"
done
But can we count on the correct default behaviour from compiz's configure script? What if the default behaviour changes at some point?

crdlb
January 27th, 2008, 01:58 AM
It really shouldn't be required to --disable-$DESKTOP for any DE you don't have installed. I know the compiz kde (and kde4) support is broken in that way though. I don't think the gtk/gnome support is though. *tries to figure out how exactly it's broken*. If that can be fixed, then it really wouldn't be necessary to have the build script disable either DE imho.

Deciare
January 27th, 2008, 02:07 AM
I'm thinking of cases where both KDE and GNOME are installed, but the user wants neither g-w-d nor k-w-d(4).

Speaking of k-w-d4, it currently refuses to compile on my computer. Missing kdecoration_p.h and kdecoration_plugins_p.h, which are available in KDE4's source directories, but not installed.

some-guy
January 27th, 2008, 03:05 AM
what if I mod it so I add

##Remove########################################## ###############
# gnome : deactivate gnome support and activate kde one (for KDE users)
# kde : deactivate kde support and activate gnome one (for Gnome and other DE users)
# gnome-kde : deactivate gnome and kde support so compiz-fusion will build desktop agnostic
# inotify : deactivate inotify
# fuse : deactivate fuse
DISABLE="kde"
and

################################################## #######
###Configure Arguments Selector##########################
################################################## #######

for p in $COMPIZREMOVE ; do
if [ x$p = "xgnome" ]; then
COMPIZARGS="$COMPIZARGS --enable-kde --disable-gtk --disable-gnome --enable-librsvg"
elif [ x$p = "xkde" ]; then
COMPIZARGS="$COMPIZARGS --enable-gtk --disable-kde --enable-librsvg"
elif [ x$p = "xgnome-kde" ]; then
COMPIZARGS="$COMPIZARGS --disable-gnome --disable-gtk --disable-kde"
elif [ x$p = "xinotify" ]; then
COMPIZARGS="$COMPIZARGS --disable-inotify"
elif [ x$p = "xfuse" ]; then
COMPIZARGS="$COMPIZARGS --disable-fuse"
fi
done

Deciare
January 27th, 2008, 03:07 AM
Yeah, you can do that. Kind of weird when both gnome and kde are already available as independent options, but it sure involves less processing than what I suggested. ;)

crdlb
January 27th, 2008, 03:40 AM
I'm thinking of cases where both KDE and GNOME are installed, but the user wants neither g-w-d nor k-w-d(4).

Speaking of k-w-d4, it currently refuses to compile on my computer. Missing kdecoration_p.h and kdecoration_plugins_p.h, which are available in KDE4's source directories, but not installed.
Is it really that important? They take up very little space if you already have the required libraries, and are certainly nice to have as a fallback :)

And yes, that's the kind of thing I'm talking about; it should check for *all* of the development headers before enabling.

crdlb
February 8th, 2008, 02:07 PM
Ok, compiz's buildsystem should now be fixed ^_^

It should now only enable things which can actually be built.

plun
February 9th, 2008, 10:34 AM
Ok, compiz's buildsystem should now be fixed ^_^

It should now only enable things which can actually be built.

Yup, and the makefusion script (http://forum.compiz-fusion.org/showthread.php?t=5288) works great

Thanks !

(I haven't tested kde including kde4 and if it builts .)

some-guy
February 9th, 2008, 07:02 PM
well, this doesn't install git ;)

plun
February 9th, 2008, 07:24 PM
well, this doesn't install git ;)

Well what does it install.........;)

plun@dunder:~$ compiz --version
compiz 0.7.1

Makefusion comes from Kristians early work, Franzrogar modified it and now
Telemako is maintainer.

Maybe its time for the english community to adopt it...:o

some-guy
February 9th, 2008, 09:01 PM
it installs 0.6.0 (but after its finished I'm going to make a 0.7.0 version too)

and I have known about makefusion since it was makeccc, I used to use it, but I switched over to packages after getting tired of compiling ;)

plun
February 9th, 2008, 09:58 PM
it installs 0.6.0 (but after its finished I'm going to make a 0.7.0 version too)

and I have known about makefusion since it was makeccc, I used to use it, but I switched over to packages after getting tired of compiling ;)

OK

config.h

/* Version number of package */
#define VERSION "0.7.1"

FWIW

Ubuntus package versions for Hardy

plun@dunder:~$ sudo dpkg -l | grep compiz
[sudo] password for plun:
ii compiz 1:0.7.0-0ubuntu1 OpenGL window and compositing manager
ii compiz-core 1:0.7.0-0ubuntu1 OpenGL window and compositing manager
ii compiz-dev 1:0.7.0-0ubuntu1 OpenGL window and compositing manager - deve
ii compiz-fusion-bcop 0.6.0-1 Compiz Fusion option code generator
ii compiz-fusion-plugins-extra 0.6.99+git20071127-0ubuntu3 Collection of extra plugins from OpenComposi
ii compiz-fusion-plugins-main 0.6.99+git20080205-0ubuntu1 Collection of plugins from OpenCompositing f
ii compiz-gnome 1:0.7.0-0ubuntu1 OpenGL window and compositing manager - GNOM
ii compiz-plugins 1:0.7.0-0ubuntu1 OpenGL window and compositing manager - plug
ii compizconfig-backend-gconf 0.6.99+git20080106-0ubuntu1 Settings library for plugins - OpenCompositi
ii compizconfig-settings-manager 0.6.99+git20071201-0ubuntu1 Compiz configuration settings manager
ii emerald 0.5.2+git20080205-0ubuntu2 Decorator for compiz-fusion
ii gnome-compiz-manager 0.10.3-0ubuntu2 Compiz Gnome Manager
ii libcompizconfig0 0.6.99+git20080123-0ubuntu1 Settings library for plugins - OpenCompositi
ii libemeraldengine0 0.5.2+git20080205-0ubuntu2 Decoration engines for compiz-fusion
ii libgnome-compiz-manager0 0.10.3-0ubuntu2 Compiz Gnome Manager
ii python-compizconfig 0.6.99+git20071127-0ubuntu1 Compiz configuration system bindings

Deciare
February 10th, 2008, 04:33 AM
The 0.7.0 branch was created 2 days ago. Interestingly, that means it excludes crdlb's fix for proper KDE and KDE4 detection, so some-guy's script will still have to hack around that unless the branch is updated prior to an official release, or some-guy makes a point of downloading the updated configure.ac (http://gitweb.opencompositing.org/?p=compiz;a=blob_plain;f=configure.ac;h=b2fbdbdd56 b669a93b4ff728aaaa2fcddd7a79e2) and replacing compiz-0.7.0's version with it.

some-guy
February 10th, 2008, 07:02 AM
well, actually a branch was (strangely enough) never made, a commit was just tagged...

As for the script, I could have it download the commit with the fixed build system...

plun
February 10th, 2008, 09:06 AM
The branch will probably be created when also C-F is bumped.

Master is master

http://gitweb.compiz-fusion.org/?p=compiz;a=summary

A git clone git://anongit.compiz-fusion.org/compiz

Version 0.7.1

Or :confused:

:)

crdlb
February 10th, 2008, 09:07 AM
A branch won't be made until they prepare for the next *stable* release (0.8). Since 0.7 is a deveopment series, development just happens in master. If there is a 0.7.2 release, it will contain the buildsystem fix.

plun
February 10th, 2008, 09:27 AM
A branch won't be made until they prepare for the next *stable* release (0.8). Since 0.7 is a deveopment series, development just happens in master. If there is a 0.7.2 release, it will contain the buildsystem fix.

Current master builds with makefusion....

See attached log files (hidden directory inside makefusion dir)

:confused:

some-guy
February 10th, 2008, 10:20 PM
The original script has been discontiued and the new one can be overviewed here (http://forum.compiz-fusion.org/showthread.php?p=48771#post48771)
I finally chose the name btvei (Better Than Vista Effects Installer :D)

some-guy
February 16th, 2008, 06:49 AM
btvei is released! (see link above)