aboutsummaryrefslogtreecommitdiff
blob: 5141bf6edfb296a57ed2c98548e5392312166b3f (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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
Tinderbox
=========

g-Octave provides a script to run build tests for all the octave-forge
packages. This script is not intended to be used by end-users, only
developers.

.. topic:: Warning!

    The automated bug reports are broken right now, because the Trac instance
    is currently offline and being moved to the Gentoo Linux infrastructure.


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 ``/usr/portage`` inside the chroot dir::

    # 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
    # emerge -av mercurial pycurl


Getting the source code
-----------------------

Using the Git repository::
    
    # cd
    # git clone git://git.overlays.gentoo.org/proj/g-octave.git
    # cd g-octave


Using the source tarball::
    
    # cd
    # wget http://files.rafaelmartins.eng.br/distfiles/g-octave/g-octave-<VERSION>.tar.gz
    # tar xvzf g-octave-<VERSION>.tar.gz
    # cd g-octave-<VERSION>


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

::

    # cp etc/g-octave.cfg /etc

.. topic:: Warning!

    This is currently broken!

You should edit the file ``/etc/g-octave.cfg`` and append the lines below
(with your data)::

    trac_user = username
    trac_passwd = password

For this you'll need to register_ at the `g-Octave project page`_, in order
to be able to create new tickets and attachments.

.. _register: http://g-octave.rafaelmartins.eng.br/register
.. _`g-Octave project page`: http://g-octave.rafaelmartins.eng.br/

Now you need to add the g-octave overlay to the Portage configuration file
``/etc/make.conf`` (use the same overlay path from ``/etc/g-octave.cfg``)::

    # echo 'PORTDIR_OVERLAY="/usr/local/portage/g-octave ${PORTDIR_OVERLAY}" >> /etc/make.conf


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

Update the package database::

    # ./scripts/g-octave --sync

Run the test suites::

    # ./scripts/run_tests.py

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

    # emerge -vp octave

Run the script::
    
    # ./scripts/tinderbox.py

At the end, the script should uninstall all the octave-forge packages
directly installed. If you want to remove the dependencies, run::

    # emerge -av --depclean


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

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