aboutsummaryrefslogtreecommitdiff
blob: 6f5150289279a00c1ca43ea7e7a3e5c7075954fe (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
Tinderbox
=========

g-Octave provides a script to run build tests for all the octave-forge
packages automatically and report issues to the `bug tracker`_.

.. _`bug tracker`: http://www.g-octave.org/trac/report/9

.. warning::

    This script is not intended to be used by end-users, only developers.


Creating the environment
------------------------

We recommend the use of the script inside a chroot environment. For this
you'll need to download the latest stage3 tarball from the Gentoo mirrors
and create a basic environment::
    
    # cd /home/user/g-octave
    # tar xvjpf stage3-*.tar.bz2


Configuring the environment
---------------------------

You should copy the needed files from your Gentoo installation to the
chroot environment, to ease the configuration. ::

    # cp /etc/resolv.conf /home/user/g-octave/etc
    # cp /etc/make.conf /home/user/g-octave/etc

You may also need some files from ``/etc/portage``


Mounting filesystems/directories
--------------------------------

You should mount your current ``${PORTDIR}`` (e.g. ``/usr/portage``)
inside the chroot dir (the script will force the use of Portage to build
the packages)::

    # mkdir /home/user/g-octave/usr/portage
    # mount -o bind /usr/portage /home/user/g-octave/usr/portage

Mounting ``/proc`` and ``/dev``::

    # mount -t proc none /home/user/g-octave/proc
    # mount -o bind /dev /home/user/g-octave/dev


Entering the chroot environment
-------------------------------

::

    # chroot /home/user/g-octave /bin/bash
    # env-update
    # source /etc/profile
    # export PS1="(g-octave) $PS1"


Updating the packages and installing the dependencies
-----------------------------------------------------

::

    # emerge -avuDN system
    # USE="git" emerge -av layman
    # layman -a science
    # FEATURES="test" USE="sync" emerge -av g-octave


Configuring g-Octave
--------------------

You should `create an account`_ on the `g-Octave project page`_, edit the
file ``/etc/g-octave.cfg`` and append the lines below (with your data)::

    trac_user = username
    trac_passwd = password

.. _`create an account`: http://www.g-octave.org/trac/register
.. _`g-Octave project page`: http://www.g-octave.org/trac/

Now you're done with the configuration.


Running the script
------------------

Update the package database::

    # g-octave --sync

Make sure that you have activated all the ``USE`` flags needed on octave::

    # emerge -vp octave

And build it first::

    # emerge octave

Now that you already have the main dependency of the packages installed
and g-Octave configured, you can run the script::
    
    # /usr/share/g-octave/contrib/manage_pkgdb.py

The packages are installed with the ``--oneshot`` option. To remove them
with the dependencies, run::

    # emerge -av --depclean


Umounting filesystems/directories
---------------------------------

::
    
    # exit
    # cd
    # umount /home/user/g-octave/{proc,dev,usr/portage}