Packages of Octave packages have their own naming scheme. They should take into account the upstream name of the package. This makes a package name format of <code>octave-$NAME</code>. When in doubt, use the name of the module that you type to import it in octave.

+

+

'''Examples: '''

+

<pre>

+

octave-java (Octave package named java)

+

octave-gsl (Octave package named gsl)

+

</pre>

+

+

Limitations in the pkg function of octave (pkg.m) means that versioning of octave packages requires that the package version must have a MAJOR.MINOR.MICRO format. Failing to use this format results in octave not recognising binary package components in %prefix/libexec.

+

+

=== Updating the octave package database ===

+

Octave maintains a list of installed packages in /usr/share/octave/octave_packages that needs to be updated on package install and removal. This file is in an octave plain-text format.

+

+

The contents of the /usr/share/octave/packages/ directory are scanned for the follwing files when performing a pkg('rebuild') from within octave.

+

* /usr/share/octave/packages/''NAMEOFPACKAGE''/packinfo/COPYING

+

* /usr/share/octave/packages/''NAMEOFPACKAGE''/packinfo/DESCRIPTION

+

+

If these files are not present in any given ''NAMEOFPACKAGE'' directory, then octave will silently skip the folder and fail to index it correctly.

+

+

Octave will use the contents of octave_packages to modify its path at startup, allowing octave to find plugins.

Packages that used to be in the octave-forge package need to have the Obsoletes line above. Packages that were not do not.

−

Packages of Octave packages have their own naming scheme. They should take into account the upstream name of the package. This makes a package name format of <code>octave-$NAME</code>. When in doubt, use the name of the module that you type to import it in octave.

+

−

+

−

'''Examples: '''

+

−

<pre>

+

−

octave-java (Octave package named java)

+

−

octave-gsl (Octave package named gsl)

+

−

</pre>

+

−

+

−

Limitations in the pkg function of octave (pkg.m) means that versioning of octave packages requires that the package version must have a MAJOR.MINOR.MICRO format. Failing to use this format results in octave not recognising binary package components in %prefix/libexec.

+

−

+

−

=== unset TERM ===

+

−

Due to an issue with octave emitting an escape sequence (due to readline library) on startup, you need to unset the TERM variable in the %build and %install sections.

+

−

+

−

NOTE: This may no longer be necessary. If it is, it will be added to the %octave_cmd macro.

+

−

+

−

=== Updating the octave package database ===

+

−

Octave maintains a list of installed packages in /usr/share/octave/octave_packages that needs to be updated on package install and removal. This file is in an octave plain-text format.

+

−

+

−

The contents of the /usr/share/octave/packages/ directory are scanned for the follwing files when performing a pkg('rebuild') from within octave.

+

−

* /usr/share/octave/packages/''NAMEOFPACKAGE''/packinfo/COPYING

+

−

* /usr/share/octave/packages/''NAMEOFPACKAGE''/packinfo/DESCRIPTION

+

−

+

−

If these files are not present in any given ''NAMEOFPACKAGE'' directory, then octave will silently skip the folder and fail to index it correctly.

+

−

+

−

Octave will use the contents of octave_packages to modify its path at startup, allowing octave to find plugins.

+

−

+

−

=== Documentation files ===

+

−

All package files are installed into the octave directories. The COPYING and DESCRIPTION files are documentation and need to be marked as %doc. The others are not.

How to package Octave packages

What is 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."

If you are interested in packaging Octave packages, you should check here for upstream sources:

Octave packaging tips

Naming of Octave packages

Packages of Octave packages have their own naming scheme. They should take into account the upstream name of the package. This makes a package name format of octave-$NAME. When in doubt, use the name of the module that you type to import it in octave.

Limitations in the pkg function of octave (pkg.m) means that versioning of octave packages requires that the package version must have a MAJOR.MINOR.MICRO format. Failing to use this format results in octave not recognising binary package components in %prefix/libexec.

Updating the octave package database

Octave maintains a list of installed packages in /usr/share/octave/octave_packages that needs to be updated on package install and removal. This file is in an octave plain-text format.

The contents of the /usr/share/octave/packages/ directory are scanned for the follwing files when performing a pkg('rebuild') from within octave.

/usr/share/octave/packages/NAMEOFPACKAGE/packinfo/COPYING

/usr/share/octave/packages/NAMEOFPACKAGE/packinfo/DESCRIPTION

If these files are not present in any given NAMEOFPACKAGE directory, then octave will silently skip the folder and fail to index it correctly.

Octave will use the contents of octave_packages to modify its path at startup, allowing octave to find plugins.