aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2013-07-09 23:30:36 +0200
committerUlrich Müller <ulm@gentoo.org>2013-07-09 23:30:36 +0200
commita4e6b08d41e6384cdfa86f39cb736a6f65a8e452 (patch)
tree803aa9469ad75237b5b4a64bce9c48d7e8a1afcc /libs
parentUpdate description of "arch" function in developer guide. (diff)
downloadeselect-a4e6b08d41e6384cdfa86f39cb736a6f65a8e452.tar.gz
eselect-a4e6b08d41e6384cdfa86f39cb736a6f65a8e452.tar.bz2
eselect-a4e6b08d41e6384cdfa86f39cb736a6f65a8e452.zip
Move skel.bash documentation from developer guide to the library itself.
* doc/developer-guide.txt: * libs/skel.bash.in: Move skel.bash documentation to the library itself.
Diffstat (limited to 'libs')
-rw-r--r--libs/skel.bash.in42
1 files changed, 28 insertions, 14 deletions
diff --git a/libs/skel.bash.in b/libs/skel.bash.in
index a70baca..6559370 100644
--- a/libs/skel.bash.in
+++ b/libs/skel.bash.in
@@ -15,21 +15,35 @@
# You should have received a copy of the GNU General Public License along with
# eselect. If not, see <http://www.gnu.org/licenses/>.
-# To use this library, you must set MODULE and IFACE.
-# MODULE is the name you use to refer to whatever it is that you're selecting
-# in help text and so forth.
-# IFACE is the subdirectory of /etc/env.d/ that eselect config files are stored
-# in for these packages.
+# This 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.
#
-# There is a file installed at /etc/env.d/$IFACE/$libdir/config containing the
-# CURRENT variable, which is set to the current eselect setting. Also, each
-# implementation installs a single file at /etc/env.d/$IFACE/$libdir/$implem.
-# This file contains a list of symlinks to be created in "source destination"
-# format. You must use relative symlinks. In other words, "source" must be
-# relative to "destination" but "destination" must be absolute. You may have
-# comments in the symlink map file -- any line containing a '#' is considered
-# a comment. One caveat about the symlink map -- instead of using "lib" or
-# "lib64" etc, you must use @LIBDIR@.
+# 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 config 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. In other words, "source" must be
+# relative to "destination" but "destination" must be absolute. One
+# caveat about the symlink map - instead of using "lib" or "lib64" etc.,
+# you must use @LIBDIR@. The "skel.bash" library detects the proper
+# library directory at runtime.
+
+# There is a file installed at /etc/env.d/$IFACE/$libdir/config
+# containing the CURRENT variable, which is set to the current eselect
+# setting. Also, each implementation installs a single file at
+# /etc/env.d/$IFACE/$libdir/$implem containing the symlink map. You may
+# have comments in the symlink map file - any line containing a '#' is
+# considered a comment.
inherit config multilib tests