aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDonnie Berkholz <spyderous@gentoo.org>2006-06-18 19:48:18 +0000
committerDonnie Berkholz <spyderous@gentoo.org>2006-06-18 19:48:18 +0000
commitffd96cb6d34a86dbb694ef96b11e9892a6111d79 (patch)
tree2228c59e96e38cc2833c6aefafcafc66b1cd800b /doc
parent2006-06-13 Kevin F. Quinn <kevquinn@gentoo.org> (diff)
downloadeselect-ffd96cb6d34a86dbb694ef96b11e9892a6111d79.tar.gz
eselect-ffd96cb6d34a86dbb694ef96b11e9892a6111d79.tar.bz2
eselect-ffd96cb6d34a86dbb694ef96b11e9892a6111d79.zip
Add a new skel.bash library for easy implementation of the simpler cases of switching. Use this library to create new eselect modules for blas, cblas and lapack. Update documentation to reflect these changes. The modules will be installed as separate packages, so remove mentions of them from Makefile.am files.
svn path=/trunk/; revision=275
Diffstat (limited to 'doc')
-rw-r--r--doc/developer-guide.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/developer-guide.txt b/doc/developer-guide.txt
index e6b8040..ebb9349 100644
--- a/doc/developer-guide.txt
+++ b/doc/developer-guide.txt
@@ -409,4 +409,28 @@ The ``portageq`` Function
The ``portageq`` function transparently wraps the corresponding Portage script
whilst redirecting stderr to ``/dev/null``.
+A Basic Skeleton Library
+========================
+
+The ``libs/skel.bash`` library provides for a simple eselect module to switch
+between implementations of anything that installs to a ``lib*`` directory
+(i.e., lib, lib32, lib64). This will satisfy the requirements for most cases in
+which one must switch between providers of a certain library or any package
+installing a library.
+
+Creating a simple module
+------------------------
+
+To use this library, all you need to do is create an eselect module containing
+settings for the MODULE and IFACE variables. The MODULE variable is the name
+used to refer to the implementations being switched in help text. The IFACE
+variable indicates the subdirectory of /etc/env.d/ in which eselect files for
+these implementations will be stored.
+
+Each package must install a symlink map using the ``add`` action. The map must
+use relative symlinks, one source-destination mapping per line in the form
+``source destination``. The source must be relative to the destination, not
+absolute. Instead of using ``lib`` or ``lib64`` etc., you must use @LIBDIR@.
+The ``libs/skel.bash`` library detects the proper library directory at runtime.
+
.. vim: set ft=glep tw=80 sw=4 et spell spelllang=en : ..