What is GNU Octave?
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.
What is Octave Forge?
What is g-octave
g-octave is a tool that generates and installs ebuilds for Octave-Forge packages "on-the-fly" to Gentoo Linux, using Portage, Paludis or pkgcore. It's capable to generate ebuilds and Manifest files (if needed) for the packages, and to install them using an autogenerated overlay (named g-octave). g-octave can also handle patches to the packages automatically. The command line interface tries to be very similar to the interface of the emerge tool.
g-octave have some basic dependencies:
g-octave also depends on some files, distributed by the maintainer, like the package database (a tarball with the DESCRIPTION file of all the packages), a file with the dependencies and the blacklist, a tarball with the patches and a file that list the updated files.
These files are needed because upstream don't ship a package database (they only distribute a tarball with the sources of all the packages, so we have a script that create the database using this tarball) and because we don't want to do a new release every time that the eclass is changed or that a new patch is added. All these files are automatically fetched by g-octave
At this time, these files are here: http://soc.dev.gentoo.org/~rafaelmartins/g-octave/db/
All the settings are centralized on the file /etc/g-octave.cfg. Please read the comments and change what you need. The recommendation is to keep everything as it is. :)
You can also use environment variables to configure g-octave.
Configuring your package manager
g-octave can use all the 3 package managers available on Gentoo Linux: Portage, Paludis and Pkgcore.
You just need to setup the option package_manager with the lowercase name of the package manager: portage, paludis, pkgcore.
If you're using Paludis or Pkgcore, you'll need to configure the overlay in your package manager configuration files. Please check the documentation of your package manager:
Portage works out of the box.
- show program's version number and exit
- -h, --help
- show this help message and exit
- -l, --list
- show a list of packages available to install and exit
- -i, --info
- show a description of the required package and exit
- -p, --pretend
- don't (un)merge packages, only create ebuilds and solve the dependencies
- -a, --ask
- ask to confirmation before perform (un)merges
- -v, --verbose
- Portage makes a lot of noise.
- -u, --update
- try to update a package or all the installed packages
- -C, --unmerge
- try to unmerge a package instead of merge
- -f, --force
- forces the recreation of the ebuilds
- forces the recreation of the overlay and of the ebuilds
- don't use colors on the CLI
- search for updates of the package database, patches and auxiliary files
- return a value from the configuration file (/etc/g-octave.cfg)
Install the latest version of control:
# g-octave control
Install the version 0.3.1 of control:
# g-octave control-0.3.1
Upgrade to latest version available of control:
# g-octave -u control
Remove the package control:
# g-octave -C control
Get informations about the package control:
# g-octave -i control
To install the package control from the octave-forge SVN repository:
# g-octave control-9999
The options verbose, ask and pretend are passed to emerge.
How can I help?
g-octave ebuilds are available on the Git repository, or the Gentoo science overlay.
If you experienced some random errors when installing packages, please retry, using the option --force-all, and report the issue to us. If you don't want to lose all your ebuilds, you can try to use the option --force, that will re-create only the affected ebuild.
You can get the sources here: http://soc.dev.gentoo.org/~rafaelmartins/g-octave/releases/
or clone the Git repository using:
$ git clone git://git.overlays.gentoo.org/proj/g-octave.git
Rafael Goncalves Martins <rafael at rafaelmartins dot eng dot br>