Editing Contributing to the development of packages/modules

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Warning|The information on this page is outdated. Please refer to the [https://octave.sourceforge.io/developers.php Octave Forge website] for information about contributing to packages.}}
All OctaveForge packages (this name will change as soon we have [http://agora.octave.org/ Agora] online
All OctaveForge packages (this name will change as soon we have [http://agora.octave.org/ Agora] online
running) are hosted in [https://sourceforge.net/p/octave/code/11146/tree/trunk/ this site]. Here we discuss how you can contribute to the development of those packages. Lets say you have found a bug in a function of one package and you know how to fix it.
running) are hosted in [https://sourceforge.net/p/octave/code/11146/tree/trunk/ this site]. Here we discuss how you can contribute to the development of those packages. Lets say you have found a bug in a function of one package and you know how to fix it.


== One shot contribution ==
= One shot contribution =
In the OctaveForge site you can look for the package in question and get the latest version of the function you want to fix. This version could be unreleased, that is, it is not yet listed in the OctaveForge website and you will ''not'' get it by doing {{Codeline|pkg -forge install my_package}} in the Octave prompt.
In the OctaveForge site you can look for the package in question and get the latest version of the function you want to fix. This version could be unreleased, that is, it is not yet listed in the OctaveForge website and you will not get it by doing  
{{Code||<syntaxhighlight lang="octave" style="font-size:13px">
pkg -forge install my_package
</syntaxhighlight>}}
in the Octave prompt.


You can use this function in Octave if you copy on top of the old one (or rename the old one to *_old.m), but be careful because it may require other new functions. Anyway, you can get the latest and coolest version of any package from that site.
You can use this function in Octave if you copy on top of the old one (or rename the old one to *_old.m), but be careful because it may require other new functions. Anyway, you can get the latest and coolest version of any package from that site.


Once you have the newest version of the function, check if it still has the bug you found. If it doesn't somebody solved it already. If the problem still there go on and fix it!
Once you have the newest version of the function, check if it still has the bug you found. If it doesn't somebody solved it already. If the problem still there go on an fix it!


Once you have fixed the bug, you can send a patch with your changes. How do you this? Check the [http://octave.sourceforge.net/developers.html developers help] page.
Once you have fixed the bug, you can send a patch with your changes. How do you this? Check the [[Creating patches]] page.


=== Checking out the package source ===
=== Checking out the svn ===
You can also checkout the package in question using svn. For example if you want to checkout the <tt>general</tt> package you would run
You can also checkout the package in question using svn. For example if you wan to checkout the general package you would run


<pre>svn co https://octave.svn.sourceforge.net/svnroot/octave/trunk/octave-forge/main general general_to_debug</pre>
<code>
> svn co https://octave.svn.sourceforge.net/svnroot/octave/trunk/octave-forge/main general general_to_debug
</code>


This will create a folder <code>general_to_debug</code> in your current directory. You can hack away as much as you can and then produce the
This will create a folder <code>general_to_debug</code> in your current directory. You can hack away as much as you can and then produce the
patch and send it to the mailing list.
patch and send it to the mailing list.
Many of the packages now use Mercurial (hg) repositories for version control. To checkout, for example, <tt>odepkg</tt>:
<pre>hg clone http://hg.code.sf.net/p/octave/odepkg odepkg_to_debug</pre>


=== Contributing new file or bundle of files ===
=== Contributing new file or bundle of files ===
There is a third way of contributing to OctaveForge. Lets say you do not want to be a developer but you have one or a bundle of functions you want to share with the commuity. You can use the [https://sourceforge.net/p/octave/feature-requests/ features request forum] (this will be also replaced by Agora when it is up and running). Upload your file (compressed if it is more than one) and lets us know that you did it by sending a mail to the mailing list. If there is anybody interested they will look at your code and give you suggestions. Speed up that process by adding a [http://en.wikipedia.org/wiki/List_of_FSF-approved_software_licenses GPL compatible license], preferably the latest GPL.
There is a third way of contributing to OctaveForge. Lets say you do not want to be a developer but you have one or a bundle of functions you
want to share with the commuity. You can use the [https://sourceforge.net/p/octave/feature-requests/ features request forum] (this will be also replaced by Agora when it is up and running). Upload your file (compressed if it is more than one) and lets us know
that you did it by sending a mail to the mailing list. If there is anybody interested they will look at your code and give you suggestions. Speed up that process by adding a [http://en.wikipedia.org/wiki/List_of_FSF-approved_software_licenses GPL compatible license], preferably the latest GPL.


== Being a forger ==
= Being a forger =
If you want to be a more permanent member of our community, you can also request to be a Forge developer (name may change) following [http://octave.sourceforge.net/developers.html these instructions].
If you want to be a more permanent member of our community, you can also request to be a Forge developer (name may change) following [http://octave.sourceforge.net/developers.html].




Line 36: Line 38:
Looking forward for your next contribution!
Looking forward for your next contribution!


== Maintaining unmaintained packages ==
== See also ==
 
Being a package maintainer would not mean you have to fix all the bugs, only that you get the last word about applying patches from others and including new functions that other users will submit. You don't have to fix bugs, just tell them to use the bug tracker until someone that cares tries to fix it.
 
About the difference between old and new releases, Octave Forge used to be one single large project. Now each package is released indidually and have their own independent development. As such, there used to be Makefile everywhere as variables would propagate. When the split was made, unmaintained packages, such as video, kept the old Makefiles (because no one removed them). The Makefile at the root of package for example does nothing.


[[Category:Outdated pages]]
[[Category:OctaveForge]]
[[Category:Packages]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: