1
== Testing the Nautilus extension ==
2
Ideally, we should have packages for testing, but since for each change this
3
would be too much work, here are some instructions on how to setup a GNOME
4
development installation to test it, without interfering the system-installed
7
To do so, the best way might be to use jhbuild, a set of scripts to build
8
the whole GNOME desktop from GIT.
11
jhbuild package is available, but regardless of whether you install it with
12
apt-get or by just getting the sources from GNOME GIT, you should follow the
13
instructions at http://live.gnome.org/Jhbuild to set it up. The most important
14
thing is to have a ~/.jhbuildrc file where the configuration to be used for
15
building is stored. Default values should be ok, but make sure you set the
16
correct moduleset line, so that includes the correct GNOME version (2.28 for
17
Karmic). An example of this is:
19
moduleset = [ 'gnome-2.28', 'freedesktop-2.28', 'gnome-external-deps-2.28', 'gnome-suites-2.28' ]
21
Which would install most of GNOME. Just using 'gnome-2.28' should be enough for
22
testing the Nautilus extension though, but it doesn't harm to have all the
23
others since jhbuild would just build what you tell it to build.
26
This step installs, in the directory setup for installation in the ~/.jhbuildrc
27
file, all the build tools needed for building, like autotools, gettext, python,
30
This is optional, since if not done, jhbuild would use the needed stuff from
31
the system it's running on (autotools, gettext, etc), but if you see problems
32
related to these packages, bootstrap would get the correct versions of all
41
jhbuild build nautilus
43
This would build and install (in the directory setup for installation in the
44
~/.jhbuildrc) Nautilus and all its dependencies. This takes a long time, so
45
make sure to not plan to sit down looking at the computer until it ends. Also,
46
it would probably encounter some errors, which you'll have to try to deal with.
48
Documentation for some modules always fail (at least for me), so when it
49
happens to you, just open a shell from within jhbuild (it will offer you the
50
option when there is an error in building), edit the top-level Makefile (not
51
Makefile.am or Makefile.in, but plain Makefile) and remove 'doc' (or 'help')
52
from the SUBDIRS line.
54
Also, building API documentation takes a long time, so to reduce the time
55
needed for building, make sure to have this line:
57
# extra arguments to pass to all autogen.sh scripts
58
# to speed up builds of gnome2, try '--disable-static --disable-gtk-doc'
59
autogenargs='--disable-static --disable-gtk-doc'
63
You might want to build the whole of GNOME. In that case, instead of 'jhbuild
68
4. Build Ubuntu One Nautilus extension
70
You need to build the extension from within jhbuild environment. To do so,
71
I have a profile in GNOME Terminal which runs the following script:
73
export BONOBO_ACTIVATION_PATH=/opt/extra/lib64/bonobo/servers:/opt/extra/lib/bonobo/servers
74
export PATH=/opt/icecream/bin:/opt/extra/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/lib/jvm/jre/bin
75
export LD_LIBRARY_PATH=/opt/extra/lib64:/opt/extra/lib
76
export PKG_CONFIG_PATH=/opt/extra/lib64/pkgconfig:/opt/extra/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig
77
export MONO_PATH=/usr/lib:/opt/extra/lib
78
export XDG_DATA_DIRS=/opt/extra/share
79
export XDG_CONFIG_DIRS=/opt/extra/etc/xdg
80
export ACLOCAL_FLAGS="-I /opt/extra/share/aclocal"
82
export GSM_VERBOSE_DEBUG=1
88
Replace '/opt/extra' with the installation directory you setup in ~/.jhbuildrc.
90
All this just sets environment variables used for building to point to the
91
tree where jhbuild installed stuff.
93
Once running on jhbuild build environment, just build and install our extension:
95
./autogen.sh --prefix=$install_directory_in_jhbuildrc
100
To test the extension you need to run the copy of Nautilus you just built with
101
jhbuild. You can either create a separate user and have the following in the
102
~/.xsession/~/.xinitc startup scripts:
104
export PATH=/opt/extra/bin:$PATH
105
ln -s /var/run/dbus/system_bus_socket /opt/extra/var/run/dbus/system_bus_socket
106
jhbuild run /opt/extra/bin/gnome-session
110
jhbuild run /opt/extra/bin/nautilus
112
again, replacing /opt/extra with whatever install directory you use in