summaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
authorMathieu Lacage <mathieu@src.gnome.org>2000-08-11 03:49:07 +0000
committerMathieu Lacage <mathieu@src.gnome.org>2000-08-11 03:49:07 +0000
commit3afcd9b8688b41b2a20464a6978f11cbf30c1ffd (patch)
tree851ae0e4abea9944aea2ce8bd6ef51f5fde52a51 /HACKING
parent2ac9b4577534a6c0c4319eda894033a75da0b8c8 (diff)
downloadnautilus-3afcd9b8688b41b2a20464a6978f11cbf30c1ffd.tar.gz
HACKING: update for upcoming release.
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING229
1 files changed, 131 insertions, 98 deletions
diff --git a/HACKING b/HACKING
index 6647b167f..f7c6dd199 100644
--- a/HACKING
+++ b/HACKING
@@ -4,74 +4,28 @@
0: Table of Contents
1: Intro
-2: Module Listing
-3: Distribution Specific Notes
-4: m4 macro and aclocal issues
-5: Issues When Running Nautilus
+2: Distribution Specific Notes
+3: compiling
+4: Issues When Running Nautilus
+5: Using the leak checker
+
========
1: Intro
========
To build Nautilus without interfering with an existing Gnome install,
-you will need to build several components from CVS into a separate
-prefix.
-
-For example, you could install these components into /usr/local/gnome2
-or /usr/local/nautilus. Do do this, make sure to specify these with
-the --prefix= option to autogen.sh or configure.
-
-Specifically, you will need to:
-
-* Install all the needed modules into your selected prefix.
-
-NOTE: more documentation is in docs/
+you will need to build several components either from CVS or from
+tarballs into a separate prefix. Detailed instructions on how
+to accomplish this are available in section 4.
* All patches should go through nautilus-list@lists.eazel.com.
-=================
-2: Module Listing
-=================
-
-NOTE the development libraries in helix gnome 1.2, are not adequate,
-you need the versions from CVS. (as of Wed Jun 14 13:48:35 PDT 2000,
-you can use glib, gtk+, imlib, gtk-engine, gnome-xml, gnome-libs from
-Helix Gnome ) also modern version of RedHat come with a new popt,
-
-Nautilus currently requires the following modules from GNOME CVS
-(built in the given order):
-
- module branch configure options dist.
- ------ ------ ----------------- -----
- popt: <1.5, but not from GNOME CVS, see below> RH6.2
- glib: glib-1-2 HC1.2
- gtk+: gtk-1-2 HC1.2
- imlib: HEAD HC1.2
- gnome-xml: LIB_XML_1_X HC1.2
- ORBit: orbit-stable-0-5
- gnome-libs: gnome-libs-1-0 --enable-prefer-db1 HC1.2
- gnome-http: HEAD
- oaf: HEAD
- gconf: HEAD
- gdk-pixbuf: HEAD --enable-canvas-pixbuf
- gnome-print: GNOME_PRINT_0_20
- control-center control-center-1-0
- gnome-vfs: HEAD --enable-oaf=yes
- bonobo: HEAD --enable-oaf=yes
- gtkhtml: HEAD
- eog: HEAD --enable-oaf=yes
- xpdf: HEAD
- medusa: HEAD
- nautilus: HEAD
-
-RH6.2 == Version from Red Hat 6.2 OK
-HC1.2 == Version from Helix Code Gnome 1.2 OK
-
=============================
-3: Distribution Specfic Notes
+2: Distribution Specific Notes
=============================
-Other libraries needed:
+Basic libraries needed:
Here is what has been tested
You will also need the library package that is associated with each development package,
@@ -110,56 +64,135 @@ If you need to get a copy of popt from source:
CVSROOT=:pserver:anonymous@cvs.rpm.org:/cvs/devel
The default passwd is a carriage return. You should do a cvs co popt
-==============================
-4: m4 macro and aclocal issues
-==============================
-
-m4 macros have issues. Trying to install multiple versions of them on you system can be very tricky.
-While building these libraries you will place following m4 macros into "your prefix"/share/aclocal
-directory. Note you will generally get errors with -I
-
- glib.m4
- gtk.m4
- imlib.m4
- libIDL.m4
- ORBit.m4
- libart.m4
- gnet.m4
- oaf.m4
- gconf.m4
- gdk-pixbuf.m4
-
-One ugly but functional way to make this work is to symlink your system m4 files into your
-First you need to make the directory where they will live.
-
- mkdir -p "your prefix"/share/aclocal
-
-Then you need to link all the m4 files from your system aclocal directory to the new one.
-
- for file in `ls /usr/share/alocal/*m4`
- do
- ln -s $file "your prefix"/share/aclocal/
- done
-
-Then you want to remove the m4 file for any of the things you are building.
-
- for link in glib.m4 gtk.m4 imlib.m4 libIDL.m4 ORBit.m4\
- libart.m4 gnet.m4 oaf.m4 gconf.m4 gdk-pixbuf.m4
- do
- rm "your prefix"/$link
- done
-
-* Build and install nautilus into your selected prefix.
+============
+3: compiling
+============
+
+First, make sure you have installed the packages detailed below. If you are running
+GNOME from binaries (HelixCode or your native distribution binaries), please make sure
+you have installed the corresponding developement packages. (ie: the *-devel packages
+which provide the necessary C header files.
+
+Then, make sure you have no old version of the packages nautilus depends on on your
+system. You can check the version of the relevant packages by trying to execute
+"package-config --version" (ie: gnome-config --version will report gnome-libs version,
+gconf-config --version will report gconf's version).
+
+
+ Compiling from tarballs.
+ ------------------------
+If you are compiling from tarballs, (ie: using released versions of nautilus and the
+relevant packages), you want to folow the instructions below.
+
+The folowing lists the packages and the versions they should report.
+
+ module version configure options dist.
+ ------ ------ ----------------- -----
+ popt: <1.5, but not from GNOME CVS, see below> RH6.2
+ glib: 1.2.8 HC1.2
+ gtk+: 1.2.8 HC1.2
+ imlib: 1.9.8.1 HC1.2
+ gnome-xml: 1.8.1 HC1.2
+ ORBit: 0.5.3 HC1.2
+ gnome-libs: 1.2.4 --enable-prefer-db1 HC1.2
+ gnome-http: 1.0.6
+ oaf: 0.5.0
+ gconf: 0.8
+ gdk-pixbuf: 0.8.0 --enable-canvas-pixbuf
+ gnome-print: 0.20.0
+ control-center 1.2.0
+ gnome-vfs: HEAD
+ bonobo: 0.17
+ gtkhtml: 0.6
+ eog: 0.3 --with-bonobo
+ medusa: 0.2
+ nautilus: 0.1
+
+RH6.2 == Version from Red Hat 6.2 OK
+HC1.2 == Version from Helix Code Gnome 1.2 OK
+
+If you are running HelixCode's GNOME, you should be able not to recompile the
+"HC1.2" packages provided you have installed the relevant development packages.
+
+We will assume you want to install these packages in another prefix than /usr
+since you want to keep a working system. We will assume in the folowing that
+you install in /usr/local. ie: ${prefix}=/usr/local
+
+Redefine you PATH env variable:
+ export PATH=$PATH:${prefix}/bin
+Redefine your LD_LIBRARY_PATH env variable:
+ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${prefix}/lib
+Redefine your GNOME_PATH env variable:
+ export GNOME_PATH=$GNOME_PATH:${prefix}
+
+In the order defined above and with the specific options detailed above,
+you should run the configure scripts with: "./configure --prefix=${prefix} --special-options"
+Then, run make; get root and run make install.
+
+you should get a running nautilus soon then :)
+
+ Compiling from cvs.
+ -------------------
+Compiling from cvs usually requires more work and some packages may not
+compile... Do so at your own risk!!
+
+The folowing lists the packages and the versions they should report.
+
+ module branch configure options dist.
+ ------ ------ ----------------- -----
+ popt: <1.5, but not from GNOME CVS, see below> RH6.2
+ glib: glib-1-2 HC1.2
+ gtk+: gtk-1-2 HC1.2
+ imlib: HEAD HC1.2
+ gnome-xml: LIB_XML_1_X HC1.2
+ ORBit: orbit-stable-0-5 HC1.2
+ gnome-libs: gnome-libs-1-0 --enable-prefer-db1 HC1.2
+ gnome-http: HEAD
+ oaf: HEAD
+ gconf: HEAD
+ gdk-pixbuf: HEAD --enable-canvas-pixbuf
+ gnome-print: GNOME_PRINT_0_20
+ control-center control-center-1-0
+ gnome-vfs: HEAD
+ bonobo: HEAD
+ gtkhtml: HEAD
+ eog: HEAD --with-bonobo
+ xpdf: HEAD
+ medusa: HEAD
+ nautilus: HEAD
+
+RH6.2 == Version from Red Hat 6.2 OK
+HC1.2 == Version from Helix Code Gnome 1.2 OK
+
+The main difference between tarball and cvs compilation is that when you get stuff from cvs,
+you don't get a configure script. This script has to be generated.
+This script is usually generated with the help of another script available from cvs named
+"autogen.sh". For those interested, "autogen.sh" will run in turn aclocal, automake, autoconf
+and configure. You thus need versions of the GNU tools for the folowing packages:
+ package version command
+ ------- ------- -------
+ automake 1.4 automake --version
+ autoconf 2.13 autoconf --version
+
+Earlier versions might work but no one has tested them.
+
+Once you have these tools, you need to folow the compilation instructions detailed above for
+tarballs but instead of running "./configure --stuff", you will run "./autogen.sh --stuff"
+Using this also requires you to create the ${prefix}/share/aclocal directory before compiling
+any package and setup the folowing env variable:
+ export ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I ${prefix}/share/aclocal"
+
+This should be be all.
===============================
-5: Issues When Running Nautilus
+4: Issues When Running Nautilus
===============================
Also, you need to do a "killall oafd; killall gconfd" before
running Nautilus if OAF or GConf changed.
===============================
-6: Using the leak checker
+5: Using the leak checker
===============================
Nautilus is set up to use the libleakcheck.so leak checking libary. To