summaryrefslogtreecommitdiff
path: root/HACKING
blob: 6a31d3f26b7bb54136b5a92204d2a67d4fa1fbed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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 the development libraries in helix gnome 1.2, are not adequate,
you need the versions from CVS

Nautilus currently requires the following modules from GNOME CVS
(built in the given order):

	module             branch              configure options
	------             ------              -----------------
	popt:              <need 1.5, but not from GNOME CVS, see below>
	glib:		   glib-1-2
	gtk+:		   gtk-1-2
	imlib:		   HEAD 
	gnome-xml:	   LIB_XML_1_X
	ORBit:		   orbit-stable-0-5
	gnome-libs:	   gnome-libs-1-0    --enable-prefer-db1
	gnet:              HEAD
	gnome-http:        HEAD
	oaf:               HEAD
	gconf:             HEAD
	gdk-pixbuf:	   HEAD               --enable-canvas-pixbuf
	gnome-print:	   HEAD
	bonobo:		   HEAD               --enable-oaf=yes
	control-center	   control-center-1-0
	gnome-vfs:	   HEAD               --enable-oaf=yes
	gtkhtml:	   HEAD
	eog:               HEAD               --enable-oaf=yes
	xpdf:              HEAD
	medusa:            HEAD
	nautilus:          HEAD

Below are some more requirements, for Red Hat and Debian

Development Libraries Needed, Here is what has been tested.
You will also need the library package that is associated with each development package, these
versions are for RedHat 6.2 an Debian potato

library         RedHat                  Debian                          Implied Version
--------------  ----------------------  ------------------------------  ------------------

audiofile       audiofile-devel-0.1.9-3 libaudiofile-dev (0.1.9-0.1)    0.1.9
libc            glibc-devel-2.1.3-15    libc6-dev (2.1.3-10)            2.1.3
libc++          egcs-c++-1.1.2-30       libstdc++2.10-dev (2.95.2-12)   2.9.0, 2.10
libjpeg         libjpeg-devel-6b-10     libjpeg62-dev (6b-1.2)          6b 1.0-1.2
libpng          libpng-devel-1.0.5-3    libpng2-dev (1.0.5-1)           1.0.5
libtiff         libtiff-devel-3.5.4-5   libtiff3g-dev (3.5.4-5)         3.5.4
libungif        libungif-devel-4.1.0-4  libungif3g-dev (3.0-3)          3.0 or 4.1.0
w3c-libwww      w3c-libwww-devel-5.2.8-4 libw3c-libwww-dev (5.2.8-1)    5.2.8
Xlib            XFree86-devel-3.3.6-20  xlib6g-dev (3.3.6-7)            3.3.6
zlib            zlib-devel-1.1.3-6      zlib1g-dev (1.1.3-5)            1.1.3


Other modules for Red Hat users: either 6.1 or 6.2

	- For other modules, the versions in Red Hat 6.1 or 6.2 will do.
	- ORBit requires popt-1.5, which can be fetched from:

	ftp://ftp.valinux.com/pub/mirrors/redhat/rawhide/i386/RedHat/RPMS/popt-1.5-0.45.i386.rpm
	ftp://ftp.valinux.com/pub/mirrors/redhat/redhat/redhat-6.2/i386/RedHat/RPMS/popt-1.5-0.48.i386.rpm


Other modules for Debian users: using potato, or possibly woody

	- You'll need libwww, which can be found at:

	ftp://ftp.internatif.org/pub/debian/UNOFFICIAL/libw3c-libwww5_5.2.8-1_i386.deb
	ftp://ftp.internatif.org/pub/debian/UNOFFICIAL/libw3c-libwww-dev_5.2.8-1_i386.deb

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

m4 macro 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.

Also, you need to do a "killall oafd; killall gconfd" before
running Nautilus if OAF, GConf, or any of the .oafinfo files
in any module changed.

All patches should go through nautilus-list@lists.eazel.com