summaryrefslogtreecommitdiffstats
path: root/docs/HACKING
blob: cf6d2e3b6e8fd755b24c44be11aa2d5c583a8be8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Updated
-=-=--
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 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.alias, modules for stage1 (*.tar)


(3) required rpm packages

You need quite a number of rpm packages installed on your system
to build gi properly. You should install this package to pull the
requirements:
  task-drakx-devel

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