Changes

Jump to navigation Jump to search

Octave Forge

5,230 bytes added, 01:40, 2 September 2018
Rename "Octave-Forge" to "Octave Forge" (https://lists.gnu.org/archive/html/octave-maintainers/2018-08/msg00138.html).
#REDIRECT Octave-Forge is a community project for collaborative development of GNU Octave extensions, called “Octave packages”. If you have a large package that you want to open up to collaborative development, or a couple of m-files that you want to contribute to an existing package, Octave-Forge is the place to do it. Tiny helper functions (the equivalent of e.g., shell aliases) should go in the [[Tips and tricks]] page. == Installing packages ==You can find the list of packages on the [http://octave.sourceforge.net/packages.php Octave-Forge website]. The recommended method for package installation is using your system package manager, see also the [[FAQ]] for the most common issues. The official [[Windows Installer]] bundles several packages so they don't have to be installed separately. To install a package from the Octave Forge, at the Octave prompt type {{Codeline|pkg install -forge package_name}}. If your Octave version is below 3.4.0, you'll have to download the package file manually, and use {{Codeline|pkg install package_file_name.tar.gz}}. == Collaborative development == Octave extensions are developed and released on SourceForge https://sourceforge.net/projects/octave/ === Roles === '''Package author'''* Writes individual function files (m-files, oct-files)* Writes documentation, either for individual functions (function reference) or the package as a whole (package documentation / user manual)* Writes [[Tests|tests]], either for individual function files or the the package as a whole* Writes [https://www.gnu.org/software/octave/doc/interpreter/Demonstration-Functions.html demos] for individual function files ''' Package contributor'''* Contributes bug reports or feature requests, e. g., via the [https://savannah.gnu.org/bugs/?group=octave Octave bug tracker]* Contributes patches to fix errors, e. g., via the [https://savannah.gnu.org/patch/?group=octave Octave patch tracker] '''Package maintainer'''* Maintains package content (m-files, C and fortran code, documentation, bundled libraries, other content) inside the source code repository, see [https://www.gnu.org/software/octave/doc/interpreter/Creating-Packages.html]. If the code is developed elsewhere, the repository must be pushed to Octave-Forge at release time.* Keeps the package in good shape, e. g., installability on many systems, up-to-date INDEX, DESCRIPTION, NEWS … files* Manages package licensing* Works towards a reasonable test suite for the package and ensures passing tests at release time* Releases new versions of the package, see [https://octave.sourceforge.io/developers.html]. It is recommended to use a Makefile at the top level of the repository to automate this task.* Announces new package releases at both Octave mailing lists once they have been uploaded* Answers bug reports and feature requests for the individual package. The maintainer has no obligation to provide a fix herself.* Reviews patches for the individual package and decides whether they may be applied, e. g., coding style, help texts, tests, a new function matches the scope of the package* Acts as a primary contact for downstream distributors '''Forge release manager'''* Answers the [https://sourceforge.net/p/octave/package-releases/ package release tickets] (there is also an [https://sourceforge.net/p/octave/package-releases/feed.rss RSS feed]).* Reviews package release candidates (these are formal checks)** The package lists at least one maintainer with valid contact information** Up-to-date documentation** Must install and work with the latest stable Octave release** License compliance (must be released under a GPL compatible license)** The corresponding source code revision must be tagged inside the Octave-Forge repository and it must be possible to reproduce the content of the release tarball from this revision. Aforementioned Makefile can help with this task.** Content has been signed by the package maintainer or matching hash values have been provided via the package release ticket** All functions (except private ones) must be documented using Texinfo** The package must have all the required files [https://www.gnu.org/software/octave/doc/interpreter/Creating-Packages.html]** If the package has a doc folder it should be written in Texinfo** No Octave core functions should be shadowed** No external dependencies should be directly included* Uploads new releases '''Forge leader'''* Decides about entry of new packages to Octave-Forge* Categorizes the list of maintained and unmaintained packages* Administrates the SourceForge project* Manages the project '''Forge Community'''* Contributes new ideas to the project* Makes strategic decisions == Suggested new features == * Install directory * Install from URL / source code repository* Build HTML / PDF docs* Index, host documentation and archive releases of packages such as epstk which have been developed elsewhere (equivalent of CPAN). Feel free to expand on the definition of such a system on this page.* Rapid code sharing of individual function files, see [[Agora]]. == See also ==* [[Packages]]** [[Creating packages]] == External links ==* [http://octave.sf.net Octave-Forge website] [[Category:Octave-Forge| ]]

Navigation menu