Tinderbox¶
g-Octave provides a script to run build tests for all the octave-forge packages automatically and report issues to the bug tracker.
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" 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
Now you’re done with the configuration.
Running the script¶
Try to update the package database (only works with the live version of g-Octave):
# g-octave --sync
Make sure that you have activated all the USE
flags needed on octave:
# emerge -vp octave
And build it firstly:
# emerge octave
Now that you already have the main dependency of all 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}