(actually, snapshots cannot be shared) |
(Sorry, this sentence was complete rubbish. Learn how to tell your thoughts!) |
||
| Line 1: | Line 1: | ||
{{Infobox tutorial|time=3 hours|type=HowTo|distribution=SUSE Linux 11.4|happyreaders=2|unhappyreaders=0}} | {{Infobox tutorial|time=3 hours|type=HowTo|distribution=SUSE Linux 11.4|happyreaders=2|unhappyreaders=0}} | ||
| − | This describes | + | This describes how to use a virtual machine for building the latest KDE from sources. |
| − | + | ||
| − | + | ||
= Virtual Machine Setup = | = Virtual Machine Setup = | ||
| Time to replay | 3 hours |
| Example Distro | SUSE Linux 11.4 |
| Type | HowTo |
| Happy readers | 2 |
| Unhappy readers | 0 |
This describes how to use a virtual machine for building the latest KDE from sources.
Contents |
Create a virtual machine, e.g. using VMware Player. KDE 4 fits into 10 GB minimum, I recommend 40GB, one partition. As much ram as you can spare, You will need at least 1GB ram for the virtual machine, 4 doesnt hurt if you have it, install SUSE Linux 11.4.
To be able to log in to your VM using ssh, stop and disable the firewall:
rcSuSEfirewall2 stop chkconfig SuSEfirewall2_setup off chkconfig SuSEfirewall2_init off /etc/init.d/sshd start chkconfig sshd on
Inside the VM, install some needed packages:
yast -i libopenssl-devel subversion gcc-c++ boost-devel libbz2-devel libxml2-devel pcre-devel \ libxslt-devel giflib-devel libjpeg-devel libgpgme-devel xorg-x11-devel glib2-devel libpng-devel \ make dbus-1-devel strigi-devel \ libmysqlclient-devel libmysqld-devel cmake libical-devel git cyrus-sasl-devel libsoprano-devel \ libqt4-devel docbook-xsl-stylesheets libQtWebKit-devel phonon-devel libqimageblitz-devel doxygen
You will be able to return to this machine state whenever you want.
Open a console as root
su -
If and only if you have a /lib64 path, you are on an x64 distribution. Make sure you have the needed environment variables and alias set by having a file /root/.bashrc.
cd cat >.bashrc<<EOF export KDEDIR=/usr/local alias cmakekde="cmake . -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DLIB_SUFFIX=64 -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install" alias cmakekdelibs="cmake ../kdelibs -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DLIB_SUFFIX=64 -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install" alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -libdir /usr/lib64 -prefix /usr && make -j8 && make install" export QTDIR=/usr EOF cat >.gitconfig<<EOF [url "git://anongit.kde.org/"] insteadOf = kde: [url "ssh://git@git.kde.org/"] pushInsteadOf = kde: EOF
Now activate this file
. /root/.bashrc
Make sure you have the needed environment variables and alias set by having a file /root/.bashrc.
cd cat >.bashrc<<EOF export KDEDIR=/usr/local alias cmakekde="cmake . -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install" alias cmakekdelibs="cmake ../kdelibs -DCMAKE_INSTALL_PREFIX=\$KDEDIR -DCMAKE_BUILD_TYPE=debugfull && make -j8 && make install" alias makeqt="./configure -dbus -openssl -plugin-sql-mysql -prefix /usr && make -j8 && make install" export QTDIR=/usr EOF cat >.gitconfig<<EOF [url "git://anongit.kde.org/"] insteadOf = kde: [url "ssh://git@git.kde.org/"] pushInsteadOf = kde: EOF
Now activate this file
. /root/.bashrc
If something fails you may need to make clean.
automoc is needed for akonadi.
cd git clone kde:automoc cd automoc cmakekde
Akonadi keeps personal information management data in a mysql database. It is needed for KDEPIMLIBS.
cd git clone kde:akonadi cd akonadi cmakekde
cd git clone kde:attica cd attica cmakekde
cd git clone git://gitorious.org/dbusmenu/dbusmenu-qt.git cd dbusmenu-qt cmakekde
shared desktop ontologies is needed by kdepimlibs in order to build Nepomuk (which is a part of kdelibs)
cd wget http://downloads.sourceforge.net/project/oscaf/shared-desktop-ontologies/0.8/shared-desktop-ontologies-0.8.0.tar.bz2 bunzip2 shared-desktop-ontologies-0.8.0.tar.bz2 tar xvf shared-desktop-ontologies-0.8.0.tar cd shared-desktop-ontologies-0.8.0/ cmake . && make && make install
Phonon is needed for kdebase-runtime
cd git clone git://anongit.kde.org/phonon cd phonon cmakekde
KDELIBS requires an out-of-source build, that is why it is more complicated to build:
cd git clone kde:kdelibs mkdir kdelibs-build cd kdelibs-build cmakekdelibs
Verify it has been correctly installed - the following must be possible:
kde4-config --prefix /usr/local
kactivities is needed for kde-workspace.
cd git clone kde:kactivities cd kactivities cmakekde
cd git clone kde:kde-baseapps git clone kde:konsole git clone kde:kde-workspace git clone kde:kde-runtime cd kde-baseapps cmakekde cd cd konsole cmakekde cd cd kde-workspace cmakekde cd cd kde-runtime cmakekde
First allow root login. You will need it as you do not have another login:
sed -i "s/AllowRootLogin.*/AllowRootLogin=true/g" /usr/local/share/config/kdm/kdmrc
Now stop your running display manager:
/etc/init.d/xdm stop
And start your self-compiled display manager:
kdm
To enable automated startup of your kdm, you need to change a SUSE-specific path in /etc/init.d/xdm:
KDM4_BIN=/usr/local/bin/kdm