-=-=--
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.
Most of the time, no manual install is needed. Just be sure to
have the BOOT kernel(s) in /RPMS, and typing make later on will
extract the package(s) and build stuff from it.

FYI, for each kernel, directories will be populated as follows:

gi/kernel/all.kernels/2.6.0
        containing all files from the said kernel RPM package

gi/kernel/all.modules/2.6.0
        containing all modules, and special files containing
        modules for stage1 (*.mar)

gi/kernel/all.modules/
        containing a special file containing modules for stage1
        (*.cz*)

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


(3) required rpm packages

You need quite a number of rpm packages installed on your system
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 perl-XML-Parser ash imlib
fb2png ntfsprogs lm_sensors galaxy-gnome perl-PerlIO-gzip brltty
lvm2 mkcd perl-URPM glibc-i18ndata

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 --testing

� 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