-=-=-- 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 Mandrakelinux 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 Mandrakelinux 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 Mandrakelinux 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 special files containing - vmlinuz, modules.dep - modules for stage1 (*.mar, *.tar) - modules for stage2 (modules.cz) (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 xorg-x11 x11-devel glib2-devel gtk+2.0 ldetect ldetect-devel ldetect-lst ldetect-lst-devel libslang-devel libnewt-devel e2fsprogs libext2fs-devel dosfstools rpm-devel rpmtools bzip2-devel ncurses5-devel setserial telnet parted raidtools pciutils pciutils-devel perl-doc 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 cloop-utils partimage syslinux memtest86+ dmraid dietlibc-devel xfsdump dump mdadm bdflush bootloader (lilo grub) isolinux cromwell console-tools ftp-client-krb5 hexedit locales losetup mkisofs monitor-edid perl-devel rsync strace termcap vim-minimal 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. And please add them to the list! ;-) (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