diff options
-rw-r--r-- | README.rst | 125 | ||||
-rw-r--r-- | docs/development.rst | 21 | ||||
-rw-r--r-- | docs/index.rst | 18 | ||||
-rw-r--r-- | docs/quickstart.rst | 6 | ||||
-rw-r--r-- | docs/tinderbox.rst | 13 | ||||
-rw-r--r-- | docs/userguide.rst | 60 | ||||
-rw-r--r-- | g-octave.1.rst | 20 | ||||
-rwxr-xr-x | scripts/run_tests.py | 2 | ||||
-rw-r--r-- | tests/test_config.py | 3 |
9 files changed, 148 insertions, 120 deletions
@@ -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): |