aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'docs/development.rst')
-rw-r--r--docs/development.rst113
1 files changed, 90 insertions, 23 deletions
diff --git a/docs/development.rst b/docs/development.rst
index 8e3feb5..cd0610e 100644
--- a/docs/development.rst
+++ b/docs/development.rst
@@ -2,7 +2,13 @@ Development
===========
:Source code: http://git.overlays.gentoo.org/gitweb/?p=proj/g-octave.git
-:Bugs to: rafael [at] rafaelmartins [dot] eng [dot] br
+:Bugs to: http://www.g-octave.org/trac/newticket
+
+.. warning::
+
+ This section of the documentation is supposed to be used by g-Octave
+ developers. End-users should not need to read this!
+
Running the test suites
-----------------------
@@ -11,44 +17,105 @@ You can run the tests suites using the script ``run_tests.py`` that can be
found in the directory ``scripts`` in the recent `source tarballs`_ or
in the `Git repository`_
-.. _`source tarballs`: http://soc.dev.gentoo.org/~rafaelmartins/g-octave/
+.. _`source tarballs`: http://www.g-octave.org/releases/
.. _`Git repository`: http://git.overlays.gentoo.org/gitweb/?p=proj/g-octave.git
::
$ scripts/run_tests.py
-If some test is broken, report me a bug by email. The bug tracker is
-temporary disabled.
+If some test is broken, please use the `bug tracker`_.
+
+.. _`bug tracker`: http://www.g-octave.org/trac/newticket
+
+
+Working on the package database
+-------------------------------
+
+Package databases are Git repositories with the DESCRIPTION files, patches
+and a ``info.json`` file with the non-octave dependencies and the licenses
+of the packages.
+
+We're using github to host the package database:
-Creating source tarballs from the octave-forge SVN repository
--------------------------------------------------------------
+http://github.com/rafaelmartins/g-octave-db/
+
+If you want to fix something on the package database, please fork the
+repository, change it and fill a merge request.
+
+
+Updating the package database
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We have a script to update the package database: ``contrib/manage_pkgdb.py``.
+You just need to clone the git repository and create a directory to store
+the source tarballs, that are used to extract the DESCRIPTION files and
+build the package database.
+
+g-Octave will install the script on ``/usr/share/g-octave/contrib``
+
+::
-We have a script to create source tarballs for all the packages,
-using the latest stable revision from the octave-forge SVN repo.
+ $ git clone git+ssh://git@github.com:your_username/g-octave-db.git
+ $ mkdir tarballs
+ $ /usr/share/g-octave/contrib/manage_pkgdb.py tarballs g-octave-db
-To use it, add a ``pkg_cache`` option to your configuration file with
-the directory where you want to save the generated tarballs and, after
-clone the Mercurial repository or download the source tarball, run from
-the root of the source tree::
+The first parameter of the script is the path to the directory that will
+store the tarballs. The second parameter is the path to the local clone
+of your forked git repository.
- $ scripts/package_sources.py
+Updating the list of external dependencies and licenses
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Creating a package database from the previously created source tarballs
------------------------------------------------------------------------
+We have a script to update the JSON file that contains the external
+dependencies (non-octave packages from the portage tree) and the licenses
+(the license names used by the octave-forge developers doesn't matches
+with the names used on the Portage tree).
-You should want to also create a package database. For this, keep the
-``pkg_cache`` option in your configuration file pointing to the directory
-with your source tarballs and run from the root of the source tree::
+This script will be also installed on ``/usr/share/g-octave/contrib``
+
+::
+
+ $ /usr/share/g-octave/contrib/manage_info.py g-octave-db/info.json
+
+The script is interactive and the argument is the path to the ``info.json``
+file, that lives on the root of the Git repository of the package database.
+
+The script will suggest some matches for each dependency. For the licenses
+you need to find the best match at the directory ``${PORTDIR}/licenses``,
+where ${PORTDIR} is the path to your Portage tree (``/usr/portage``
+usually).
+
+
+Commiting the changes
+~~~~~~~~~~~~~~~~~~~~~
+
+You can use the script ``manage_pkgdb.py`` to commit the changes::
+
+ $ /usr/share/g-octave/contrib/manage_pkgdb.py --commit tarballs g-octave-db
+
+The script will do a last check on your updates and commit the stuff to
+your fork repository.
+
+
+Using your fork as package database
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you want to use your fork as package database, change the variable
+``db_mirror`` on the file ``/etc/g-octave.cfg`` to something like::
+
+ db_mirror = github://your_username/g-octave-db
- $ scripts/package_database.py /path/to/your/new/database.tar.gz
+Sending patches to the source code
+----------------------------------
-Sending patches
----------------
+The source code of g-Octave lives on a repository on the Gentoo Linux
+infrastructure. ::
-You can send git formated patches to me via email.
+ $ git clone git://git.overlays.gentoo.org/proj/g-octave.git
-More information will be available soon.
+You can change what you need, commit, generate a Git-formated patch and
+attach it to a new ticket on our `bug tracker`_.