Sunday, May 27, 2007

Building EVOLUTION

Evolution is an Interesting Open Source project
i have learnt a lot while contributing to Evolution

How to Start EVOLUTION BUILDING

1. Use JHBUILD tool to build evolution ( u can build manually also)
to get jhbuild
$> mkdir -p /svn/gnome2 && cd /svn/gnome2
$> svn co svn://anonymous@svn.gnome.org/svn/jhbuild/trunk jhbuild
this command will fetch u the jhbuild from the gnome repository
$> make install
after doing make install. move the sample.jhbuildrc file to ur home and rename it to ".jhbuildrc"
mv sample.jhbuildrc ~/.jhbuildrc
2. Care should be taken while setting the .jhbuildrc file
depending on the values set in the .jhbuildrc file evolution will be build
my.jhbuildrc file
Important Things need to take care
 1. moduleset = 'gnome-2.20' (current module set)
2.checkoutroot = os.path.expanduser('~/svn/gnome2')
 3.module_autogenargs['PolicyKit'] = ' --with-pam-module-dir=/home/evo/opt/gnome/lib/security '
module_autogenargs['gnome-vfs'] = ' --disable-compile-warnings --disable-more-warnings '
module_autogenargs['evolution-data-server'] = ' --with-openldap=/usr --enable-maintainer-mode
--enable-smime=yes --enable-nss=yes --enable-nntp=yes --with-krb5=/usr
--enable-debug --with-nspr-includes=/usr/include/nspr4
--with-nss-includes=/usr/include --enable-gtk-doc=yes
--enable-ssl=yes '
module_autogenargs['evolution'] = ' --enable-exchange=yes --enable-plugins=all
--with-nspr-includes=/usr/include/nspr4 --with-nss-includes=/usr/include
--enable-smime=yes --enable-nss=yes --enable-gtk-doc=yes --enable-ssl=yes '
4. os.environ['CFLAGS'] = '-g -O0'

4. After setting the values in the .jhbuildrc file
a. do jhbuild shell (very important to be in shell before building evolution)
b. then start building evolution command is
jhbuild build -a evolution ( this will build the evolution and all the dependencies properly)

jhbuild build -a evolution -s mozilla (if u want to skip building mozilla )

for building evolution-exchange

jhbuild buildone -a evolution-exchange



while building EVO. it will ask for some packages like lynx and docbooktoys..
search those rpm's from the yast and install and continue to build

5. Be in IRC all the times. (#evo-idc, #evolution, #evolution-meet)
if u got any doubt post ur query you will get ur problem solved :-)

6. After Building your evo, configure the accounts that u can .

7. Read HACKING file which will be in the evolution dir before coding

8. Choosing Editor is upto your convient( gvim is a good option)

9. make tags and install ctags

10. build tags, which will be very helpful for u when probing in the Code
ctags -aR -f=my_tags *.*

in .vimrc file set that tags to my_tags file

11. Use Glade to design UI

12. Go to bugzilla.gnome.org take the minor bugs and start HACKING evolution

13. use find . -name "*"|xargs grep -nR "search string" to search for a piece of code you want

14. Install devhelp(from yast) and refer it while coding
15. subscribe to the mailing list evolution-hackers@gnome.org

use xterm while building evolution. Your build time will be saved !!

1 comment:

BigBoy said...

use -B option in ctags while creating and its not *.* . Will you think it will be recuresive ? .

ctags -eaRBV -f tags_all *

and in ~/.vimrc
set tags=( path of tags_all)