-=-=--
DrakX is a very big project, and it needs special setups to work.
The purpose of this file is to explain how you can setup your box to make it
compile and run.
-=-=--

Beware, don't try this on a production machine with important data.


--------------------------------------------------------------------------
Sources installation:

First grab the gi.tar.bz2 archive and untar it in your home directory, for 
example from DrakX-*.src.rpm on your Mandrake Linux distribution.

Fix a few things:
% find gi -name "*/CVS/root/*" | xargs perl -pi -e 's/prigaux/anoncvs/'

Then, log yourself into the cvs:
% export CVS_RSH=ssh
% export CVSROOT=:ext:anoncvs@cvs.mandrakesoft.com:/cooker
% cvs checkout gi
� � � � (the passwd is: 'cvs')

And update the gi package:
% cvs update -P -d gi


--------------------------------------------------------------------------
Preparing the compilation process:

(1) target directory

Create a top level directory called /export and give write permissions to 
the user/group that will be compiling DrakX. �It is also suggested that you 
copy a recent Mandrake Linux CD in there. (You don't have to put have all 
the RPMS...) ; you'll need roughly 1.5 Gbytes for a full install. (It is 
possible to not have a copy of Mandrake Linux there, if all you desire is to 
compile gi)


(2) support directories

You will need to create a top level /RPMS directory. �This directory needs 
to be populated with the following RPMS:
locales-ja locales-ko locales-zh

gi needs to be informed about which kernel(s) is/are to be used. �A 
directory with the following structure and files is needed for each kernel 
you want to use: �(2.6.0 is the example kernel)

gi/kernel/all.kernels/2.6.0
� � � � � � � � � � � � � �/boot
� � � � � � � � � � � � � � � � System.map-2.6.0
� � � � � � � � � � � � � � � � vmlinuz-2.6.0
� � � � � � � � � � � � � �/lib/modules/2.6.0
� � � � � � � � � � � � � � � � (the module dir for the current kernel)

Note: �the modules must not be in compressed form (*.gz *.bz2 etc)


(3) required rpm packages

You need quite a number of rpm packages to build gi properly. Roughly:
emacs gcc make glibc-devel glibc-static-devel perl-devel XFree86 
XFree86-FBDev XFree86-VGA16 XFree86-devel libglib-devel libgtk+-devel 
perl-GTK ldetect ldetect-devel ldetect-lst ldetect-lst-devel libslang-devel 
libnewt-devel e2fsprogs libext2fs2-devel dosfstools rpm-devel rpmtools 
libbzip2_1 libbzip2_1-devel libncurses5 libncurses5-devel setserial telnet 
parted raidtools pciutils mt-st gpart reiserfsprogs jfsprogs xfsprogs 
extipl pcmcia-cs gettext perl-Gtk2 perl-Glib ash imlib fb2png ntfsprogs 
lm_sensors galaxy-gnome perl-PerlIO-gzip brltty lvm2 mkcd

You may need a few others I forgot to mention. if the compilation fails, try 
to understand the message and install any necessary remaining package.


(4)

NEVER build or run Drakx as root. �Install sudo and setup the following 
permissions in /etc/sudoers:

user ALL=(root)
NOPASSWD:/usr/bin/patch,NOPASSWD:/bin/rpm,NOPASSWD:/bin/mount,NOPASSWD:/bin/cp,NOPASSWD:/bin/umount,NOPASSWD:/usr/bin/install,NOPASSWD:/bin/rm,NOPASSWD:/bin/mv,NOPASSWD:/bin/tar,NOPASSWD:/bin/cpio,NOPASSWD:/bin/chown,NOPASSWD:/bin/mkdir,NOPASSWD:/usr/bin/strip,NOPASSWD:/bin/mknod

(5)

pray

[gc@obiwan ~/cvs/gi] make


---------------------------------------------------------------------------
The comments written with #- are automatically stripped out at install.


---------------------------------------------------------------------------
testing all:

� go to the perl-install directory and execute ./install2 --test

� NEVER execute DrakX as root! You might need to allow all users
� to read the block devices of your hard-disks, though (chmod a+w
� /dev/hda* for example).



Here is how I (dams) made it work on my computer.
-------------------------------------------------

- get the sources
- install the librairies needed included newt-devel gtk+-devel popt-devel popt gtk-engines
- cd path/to/gi
- make
- mkdir /usr/share/gtk
- ln -s path/to/gi/perl-install/share/themes /usr/share/gtk
- ln -s path/to/gi/perl-install/share/step-* /usr/share
- ln -s path/to/gi/perl-install/share/help.xpm /usr/share
- ln -s path/to/gi/perl-install/share/isdn* /etc/sysconfdir/network-scripts
- have a cd architecture linked on /export
- ln -s /export /tmp/rhimage
- export PERL_INSTALL_TEST=1
- cd path/to/gi/perl-install
- gendistrib --noclean --distrib /export
- ./install2 in root (dangerous) or chmod a+r /dev/hd* and ./install2 in user



address all bugreports to dave@null.com

info has been added by sunny@opencurve.org