aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst125
-rw-r--r--docs/development.rst21
-rw-r--r--docs/index.rst18
-rw-r--r--docs/quickstart.rst6
-rw-r--r--docs/tinderbox.rst13
-rw-r--r--docs/userguide.rst60
-rw-r--r--g-octave.1.rst20
-rwxr-xr-xscripts/run_tests.py2
-rw-r--r--tests/test_config.py3
9 files changed, 148 insertions, 120 deletions
diff --git a/README.rst b/README.rst
index 05b6ebe..f2a855c 100644
--- a/README.rst
+++ b/README.rst
@@ -7,7 +7,8 @@
.. _pkgcore: http://www.pkgcore.org/
.. _`Gentoo Linux`: http://www.gentoo.org/
.. _`issue tracker`: http://g-octave.rafaelmartins.eng.br/report
-.. _Mercurial: http://mercurial.selenic.com/
+.. _Git: http://git-scm.com/
+.. _PySVN: http://pysvn.tigris.org/
g-octave
========
@@ -39,14 +40,12 @@ 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_. It's capable to
-generate ebuilds and Manifest files 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.
-
-At this moment `g-octave`_ depends on the Portage_ package manager to works,
-but the support to Paludis_ and pkgcore_ is planned.
+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.
Dependencies
@@ -56,13 +55,14 @@ Dependencies
* Python_ 2.6
* Portage_
-* PySVN (optional)
+* PySVN_ (optional)
+* Paludis_ (optional)
+* pkgcore_ (optional)
`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, the eclass *octave-forge*, and a file that list the
-updated files.
+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
@@ -72,7 +72,7 @@ or that a new patch is added. All these files are automatically fetched
by `g-octave`_
At this time, these files are here:
-http://g-octave.rafaelmartins.eng.br/distfiles/db/
+http://soc.dev.gentoo.org/~rafaelmartins/g-octave/db/
Settings
@@ -82,61 +82,28 @@ 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`.
-Features
---------
+http://soc.dev.gentoo.org/~rafaelmartins/g-octave/docs/latest/userguide/#configuring-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`.
-Below is a list of features implemented or planned to the next releases.
-
-* Selection of the packages by name-version **(done)**
-* Selection of the packages by name (using the latest version available)
- **(done)**
-* Creation of the ebuilds **(done)**
-* Creation of the Manifest files **(done)**
-* Creation of the overlay automatically **(done)**
-* Installation of the packages **(done)**
-* Update of the packages already installed
-* Remotion of the installed packages **(done)**
-* Installation of the packages with patches automatically **(done)**
-* List the packages available to install **(done)**
-* Show detailed info about a package **(done)**
-* Supports multiple versions of the same package on the tree **(done)**
-* The user can force the recreation of an ebuild **(done)**
-* The user can force the recreation of the overlay **(done)**
-* Resolution of the dependencies of packages from the Portage tree, based
- on the dependency list, provided by the maintainer of `g-octave`_ **(done)**
-* Installation of multiple packages at once (not only the dependencies)
-* Handle updates of the eclass and the auxiliary files automatically **(done)**
-* Alert the user if the `g-octave`_ overlay is not appended to the
- PORTDIR_OVERLAY environment variable **(done)**
-* Portage_ is supported **(done)**
-* Paludis_ is supported
-* pkgcore_ is supported
-* Configuration file to the main settings */etc/g-octave.cfg* **(done)**
-* Use colors on the CLI **(done)**
-* The user can disable the use of colors on the CLI **(done)**
-* Log `g-octave`_ actions to a file
-* Can install packages from the octave-forge SVN repository.
-
-
-To-Do
------
-
-We have other goals besides implementing the remaining features:
-
-* Remove the unneeded dependency: pycolors **(done)**
-* Remove the unneeded dependency: simplejson **(done)**
-* Port to Python_ >= 3.0
-* Improve the code comments
-* Improve the error handling
-* Improve the overlay management
-* Write a man page **(done)**
-* Convince upstream to distribute the package database
-* Improve the use of `g-octave`_ as a normal user, with "--pretend"
-* Improve the script that generates the package database **(done)**
-* Improve the details available on the packages list
-* Write a testsuite **(done)**
-* more...
+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:
+
+- Paludis: http://paludis.pioto.org/
+- Pkgcore: http://www.pkgcore.org/
+
+Portage works out of the box.
CLI options
@@ -163,6 +130,9 @@ CLI options
*-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
@@ -178,7 +148,7 @@ CLI options
*--sync*
search for updates of the package database, patches and auxiliary files
-*--config"
+*--config*
return a value from the configuration file (/etc/g-octave.cfg)
@@ -189,9 +159,13 @@ Install the latest version of *control*: ::
# g-octave control
-Install the version 1.0.11 of *control*: ::
+Install the version 0.3.1 of *control*: ::
- # g-octave control-1.0.11
+ # g-octave control-0.3.1
+
+Upgrade to latest version available of *control*: ::
+
+ # g-octave -u control
Remove the package *control*: ::
@@ -212,11 +186,10 @@ How can I help?
---------------
The users can help testing and reporting bugs in our `issue tracker`_.
-If you can help programming in Python_, please take a look at our missing
-features and at the To-Do list. :)
+If you can help programming in Python_ you're always welcome. :)
-`g-octave`_ ebuilds are available on the mercurial repository, or the
-Gentoo science overlay
+`g-octave`_ ebuilds are available on the Git repository, or the
+Gentoo science overlay.
Warning
@@ -232,11 +205,11 @@ Download Page
-------------
You can get the sources here:
-http://g-octave.rafaelmartins.eng.br/wiki/DownloadSources
+http://soc.dev.gentoo.org/~rafaelmartins/g-octave/releases/
-or checkout the Mercurial_ repository using: ::
+or clone the Git_ repository using: ::
- $ hg clone http://g-octave.rafaelmartins.eng.br/hg/
+ $ git clone git://git.overlays.gentoo.org/proj/g-octave.git
Authors
diff --git a/docs/development.rst b/docs/development.rst
index b9077df..8e3feb5 100644
--- a/docs/development.rst
+++ b/docs/development.rst
@@ -1,27 +1,25 @@
Development
===========
-:Source code: http://g-octave.rafaelmartins.eng.br/hg/
-:Bug tracker: http://g-octave.rafaelmartins.eng.br/
-
-.. _`bug tracker`: http://g-octave.rafaelmartins.eng.br/
+:Source code: http://git.overlays.gentoo.org/gitweb/?p=proj/g-octave.git
+:Bugs to: rafael [at] rafaelmartins [dot] eng [dot] br
Running the test suites
-----------------------
You can run the tests suites using the script ``run_tests.py`` that can be
-found in the directory ``scripts`` in the `source tarballs`_ (since 0.1) or
-in the `Mercurial repository`_
+found in the directory ``scripts`` in the recent `source tarballs`_ or
+in the `Git repository`_
-.. _`source tarballs`: http://g-octave.rafaelmartins.eng.br/distfiles/releases/
-.. _`Mercurial repository`: http://g-octave.rafaelmartins.eng.br/hg/
+.. _`source tarballs`: http://soc.dev.gentoo.org/~rafaelmartins/g-octave/
+.. _`Git repository`: http://git.overlays.gentoo.org/gitweb/?p=proj/g-octave.git
::
$ scripts/run_tests.py
-If some test is broken, please create a ticket in the `bug tracker`_.
-A quick registration is needed.
+If some test is broken, report me a bug by email. The bug tracker is
+temporary disabled.
Creating source tarballs from the octave-forge SVN repository
@@ -51,7 +49,6 @@ with your source tarballs and run from the root of the source tree::
Sending patches
---------------
-You can send mercurial/git formated patches, attaching the patch to a new
-bug in the `bug tracker`_.
+You can send git formated patches to me via email.
More information will be available soon.
diff --git a/docs/index.rst b/docs/index.rst
index dcfbee7..2a1df26 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -7,30 +7,32 @@ Welcome to g-Octave's documentation!
====================================
:Author: Rafael Goncalves Martins
-:Source code: http://g-octave.rafaelmartins.eng.br/hg/
-:Bug tracker: http://g-octave.rafaelmartins.eng.br/
+:Source code: http://git.overlays.gentoo.org/gitweb/?p=proj/g-octave.git
+:Bugs to: rafael [at] rafaelmartins [dot] eng [dot] br
:Version: |release|
.. topic:: Overview
g-Octave is a tool that generates and installs ebuilds for
`Octave-Forge`_ packages "on-the-fly" to `Gentoo Linux`_, using
- Portage_. It's capable to generate ebuilds and Manifest files 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.
+ 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.
.. _`Octave-Forge`: http://octave.sourceforge.net/
.. _`Gentoo Linux`: http://www.gentoo.org/
.. _Portage: http://www.gentoo.org/proj/en/portage/
+.. _Paludis: http://paludis.pioto.org/
+.. _Pkgcore: http://www.pkgcore.org/
Contents
--------
.. toctree::
- :maxdepth: 2
+ :maxdepth: 3
quickstart
userguide
diff --git a/docs/quickstart.rst b/docs/quickstart.rst
index 1ed5c45..e2ae3a1 100644
--- a/docs/quickstart.rst
+++ b/docs/quickstart.rst
@@ -34,8 +34,10 @@ for you, then just type::
Just a line!
------------
-If you're really lazy, you can just type::
+If you're really lazy, you can just type (first time)::
# layman -a science && emerge g-octave && emerge --config g-octave && g-octave packagename
-If all is ok, your package should be installed now!
+and when you want to install other package, you can type::
+
+ # g-octave otherpackagename
diff --git a/docs/tinderbox.rst b/docs/tinderbox.rst
index 93631ad..5141bf6 100644
--- a/docs/tinderbox.rst
+++ b/docs/tinderbox.rst
@@ -5,6 +5,11 @@ g-Octave provides a script to run build tests for all the octave-forge
packages. This script is not intended to be used by end-users, only
developers.
+.. topic:: Warning!
+
+ The automated bug reports are broken right now, because the Trac instance
+ is currently offline and being moved to the Gentoo Linux infrastructure.
+
Creating the environment
------------------------
@@ -66,10 +71,10 @@ Updating the packages and installing the dependencies
Getting the source code
-----------------------
-Using the Mercurial repository::
+Using the Git repository::
# cd
- # hg clone http://hg.rafaelmartins.eng.br/g-octave/
+ # git clone git://git.overlays.gentoo.org/proj/g-octave.git
# cd g-octave
@@ -88,6 +93,10 @@ Configuring g-Octave
# cp etc/g-octave.cfg /etc
+.. topic:: Warning!
+
+ This is currently broken!
+
You should edit the file ``/etc/g-octave.cfg`` and append the lines below
(with your data)::
diff --git a/docs/userguide.rst b/docs/userguide.rst
index da747f9..f97d175 100644
--- a/docs/userguide.rst
+++ b/docs/userguide.rst
@@ -69,9 +69,28 @@ file.
Using environment variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~
+All the options from the configuration file can be overrided with environment
+variables. The environment variable name starts with ``GOCTAVE_`` and
+ends with the option name in uppercase. e.g. ``GOCTAVE_OVERLAY`` will
+override the option ``overlay`` from the config file.
+Usage example::
+
+ # GOCTAVE_OVERLAY=/tmp/overlay g-octave -av packagename
+
+
+Enabling the logging feature
+----------------------------
+If you want to write some relevant stuff to a log file you can enable
+the logging feature, configuring the option ``log_level`` on the configuration.
+The available options are: ``debug``, ``info``, ``warning``, ``error``, ``critical``.
+
+You can change the location of the log file, using the option ``log_file``.
+The default is: ``/var/log/g-octave.log``
+
+Make sure that the user running g-octave have write permissions to ``log_file``.
Syncronizing the package database
@@ -87,25 +106,28 @@ in the first time that you run g-Octave: ::
Configuring your package manager
--------------------------------
-g-octave can use all the 3 package managers available to Gentoo Linux:
-Portage, Paludis and Pkgcore.
+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`` in the config file
-with the lowercase name of the package manager: portage, paludis, 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:
-- Paludis: http;//paludis.pioto.org/
+- Paludis: http://paludis.pioto.org/
- Pkgcore: http://www.pkgcore.org/
-Portage will works out of the box.
+Portage works out of the box.
Installing packages
-------------------
+From the stable source tarballs
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
You can list all the available packages using this command: ::
# g-octave --list
@@ -143,8 +165,8 @@ or ::
# g-octave -i packagename
-Installing packages from the octave-forge SVN repository
---------------------------------------------------------
+From the octave-forge SVN repository
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you want to test some new feature, or to use the new version of the
packages ever, you'll like to install your packages directly from the
@@ -162,6 +184,28 @@ In order to be able to install packages from svn you need to install
g-octave with the USE flag ``svn`` enabled.
+Updating packages
+-----------------
+
+You can update a package using this command: ::
+
+ # g-octave --update packagename
+
+or ::
+
+ # g-octave -u packagename
+
+If you want to update all the installed packages, run this without arguments::
+
+ # g-octave --update
+
+or ::
+
+ # g-octave -u
+
+The options ``--ask`` and ``--verbose`` are also supported.
+
+
Uninstalling packages
---------------------
diff --git a/g-octave.1.rst b/g-octave.1.rst
index bd8611b..8029e4c 100644
--- a/g-octave.1.rst
+++ b/g-octave.1.rst
@@ -11,7 +11,7 @@ generate ebuilds to the Octave-Forge packages
:Copyright: %(copyright)s
:Version: g-octave %(version)s
:Manual section: 1
-:Manual group: Portage
+:Manual group: g-octave
SYNOPSIS
========
@@ -23,11 +23,12 @@ DESCRIPTION
===========
g-octave is a tool that generates and installs ebuilds for Octave-Forge
-packages "on-the-fly" to Gentoo Linux, using Portage. It's capable to
-generate ebuilds and Manifest files 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(1) tool.
+packages "on-the-fly" to Gentoo Linux, using Portage, Paludis or pkgcore.
+It's capable to generate ebuilds and Manifest files for the packages (if
+needed), 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(1)
+tool.
At this moment g-octave depends on the Portage package manager to works,
but the support to Paludis and pkgcore is planned.
@@ -43,6 +44,7 @@ OPTIONS
-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
--force-all forces the recreation of the overlay and of the ebuilds
@@ -54,11 +56,11 @@ OPTIONS
SEE ALSO
========
-* http://g-octave.rafaelmartins.eng.br/
-* http://g-octave.rafaelmartins.eng.br/hg
+* http://soc.dev.gentoo.org/~rafaelmartins/g-octave/docs/
+* http://git.overlays.gentoo.org/gitweb/?p=proj/g-octave.git;a=summary
BUGS
====
-* http://g-octave.rafaelmartins.eng.br/report
+* rafael@rafaelmartins.eng.br
diff --git a/scripts/run_tests.py b/scripts/run_tests.py
index 130846d..69e25ae 100755
--- a/scripts/run_tests.py
+++ b/scripts/run_tests.py
@@ -17,7 +17,7 @@ import sys
import unittest
# disabling the logging
-os.environ['GOCTAVE_LOG_FILE'] = ''
+os.environ['GOCTAVE_LOG_LEVEL'] = ''
root_dir = os.path.realpath(os.path.join(
os.path.dirname(os.path.abspath(__file__)), '..'
diff --git a/tests/test_config.py b/tests/test_config.py
index e5cb6fa..c59ed2f 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -46,8 +46,7 @@ class TestConfig(unittest.TestCase):
self.assertEqual(self._empty_cfg.trac_passwd, '')
self.assertEqual(self._empty_cfg.pkg_cache, '')
self.assertEqual(self._empty_cfg.log_level, '')
- # the next is empty, because we disabled the logs at scripts/run_tests.py
- self.assertEqual(self._empty_cfg.log_file, '')
+ self.assertEqual(self._empty_cfg.log_file, '/var/log/g-octave.log')
self.assertEqual(self._empty_cfg.package_manager, 'portage')
def test_config_attributes(self):