diff options
author | 2010-11-06 23:34:00 +0100 | |
---|---|---|
committer | 2010-11-06 23:52:47 +0100 | |
commit | a8eee022c6dc2085d4e37e838ffb45404f77242b (patch) | |
tree | 10dfb415c13aae71753f53b102a73a6f7e0187b4 | |
parent | Ignore case when sorting data for layman -l|-L (diff) | |
download | layman-a8eee022c6dc2085d4e37e838ffb45404f77242b.tar.gz layman-a8eee022c6dc2085d4e37e838ffb45404f77242b.tar.bz2 layman-a8eee022c6dc2085d4e37e838ffb45404f77242b.zip |
Migrate documentation from DocBook to Asciidoc
-rw-r--r-- | MANIFEST.in | 3 | ||||
-rw-r--r-- | doc/Makefile | 13 | ||||
-rw-r--r-- | doc/layman.8.txt | 424 | ||||
-rw-r--r-- | doc/layman.8.xml | 994 |
4 files changed, 430 insertions, 1004 deletions
diff --git a/MANIFEST.in b/MANIFEST.in index bc52dea..cef5e5d 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -5,7 +5,8 @@ include INSTALL include README include RELEASE_NOTES include etc/layman.cfg +include doc/asciidoc.conf include doc/layman.8 include doc/layman.8.html -include doc/layman.8.xml +include doc/layman.8.txt recursive-include layman/tests * diff --git a/doc/Makefile b/doc/Makefile index 64b28af..93d8180 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -27,15 +27,10 @@ clean: rm -f $(MAN_PAGES) rm -f $(HTML_PAGES) -%.html: %.xml +%.html: %.txt @echo HTML $@ - @xmlto html-nochunks $< + a2x --conf-file=asciidoc.conf --attribute="laymanversion=1.4.1" --format=xhtml "$<" -%: %.xml +%: %.txt @echo MAN $@ - @xmlto man $< -# -# fix up the blank lines that docbook leaves behind -# - @cat $@ | sed -e 's/$$/.fred/g;' | tr -d '\n' | sed -e 's/.fred.fred\./.fred./g;' | sed -e 's/.fred/\n/g;' > $(TMPFILE) - @mv $(TMPFILE) $@ + a2x --conf-file=asciidoc.conf --attribute="laymanversion=1.4.1" --format=manpage "$<" diff --git a/doc/layman.8.txt b/doc/layman.8.txt new file mode 100644 index 0000000..15cea11 --- /dev/null +++ b/doc/layman.8.txt @@ -0,0 +1,424 @@ +LAYMAN(8) +========= +:man source: layman {laymanversion} +:man manual: layman {laymanversion} +Gunnar Wrobel <wrobel@gentoo.org> + + +NAME +---- +layman - manage your local repository of Gentoo overlays + + +SYNOPSIS +-------- +*layman* [-a] | [*--add*] [*ALL*] | [overlay] + +*layman* [-d] | [*--delete*] [*ALL*] | [overlay] + +*layman* [-s] | [*--sync*] [*ALL*] | [overlay] + +*layman* [-i] | [*--info*] [*ALL*] | [overlay] + +*layman* [-S] | [*--sync-all*] + +*layman* [-L] | [*--list*] + +*layman* [-l] | [*--list-local*] + +*layman* [-f] | [*--fetch*] + + +DESCRIPTION +----------- +*layman* is a script that allows you to add, remove and update +Gentoo overlays from a variety of sources. + +WARNING +~~~~~~~ +*layman* makes it easy to retrieve and update overlays for Gentoo. +In addition it makes it TRIVIAL to break your system. + +The main portage tree provides you with high quality ebuilds that +are all maintained by Gentoo developers. This will not be the case +for most of the overlays you can get by using *layman*. Thus you +are removing the security shield that the standard tree provides +for you. You should keep that in mind when installing ebuilds from +an overlay. + +To ensure the security of your system you MUST read the source of +the ebuild you are about to install. + + +OPTIONS +------- + +ACTIONS +~~~~~~~ +List of possible *layman* actions. + +*-f*, *--fetch*:: + Fetches the remote list of overlays. You will usually NOT need +to explicitly specify this option. The fetch operation will be +performed automatically once you run the sync, sync-all, or list action. +You can prevent this automatic fetching using the *--nofetch* option. + +*-a* 'overlay', *--add* 'overlay':: + Add the given overlay from the cached remote list to your + locally installed overlays. Specify "ALL" to add all overlays + from the remote list. + +*-d* 'overlay', *--delete* 'overlay':: + Remove the given overlay from your locally installed overlays. + Specify "ALL" to remove all overlays + +*-s* 'overlay', *--sync* 'overlay':: + Update the specified overlay. Use "ALL" as parameter to + synchronize all overlays + +*-i* 'overlay', *--info* 'overlay':: + Display all available information about the specified overlay. + +*-S*, *--sync-all*:: + Update all overlays. Shortcut for *-s ALL*. + +*-L*, *--list*:: + List the contents of the remote list. + +*-l*, *--list-local*:: + List the locally installed overlays. + + +OTHER OPTIONS +~~~~~~~~~~~~~ +List of other available *layman* options. + +*-c* 'path', *--config* 'path':: + Path to an alternative configuration file. + +*-o* 'url', *--overlays* 'url':: + Specifies the location of additional overlay lists. You can use + this flag several times and the specified URLs will get temporarily + appended to the list of URLs you specified in your config file. + You may also specify local file URLs by prepending the path with + 'file://'. This option will only append the URL for this specific + *layman* run - edit your config file to add a URL permanently. + So this is useful for testing purposes. + +*-n*, *--nofetch*:: + Prevents *layman* from automatically fetching the remote lists + of overlays. The default behavior for *layman* is to update all + remote lists if you run the sync, list or fetch operation. + +*-k*, *--nocheck*:: + Prevents *layman* from checking the remote lists of overlays for + complete overlay definitions. The default behavior for *layman* is + to reject overlays that do not provide a description or a contact + attribute. + +*-q*, *--quiet*:: + Makes *layman* completely quiet. In quiet mode child processes + will be run with stdin closed to avoid running into infinite and + blindly interactive sessions. Thus a child process may abort once + it runs into an situation with need for human interaction. + For example this might happen if your overlay resides in Subversion + and the SSL certificate of the server needs manual acceptance. + +*-v*, *--verbose*:: + Makes *layman* more verbose and you will receive a description of + the overlays you can download. + +*-N*, *--nocolor*:: + Remove color codes from the *layman* output. + +*-Q*'LEVEL', *--quietness* 'LEVEL':: + Makes *layman* less verbose. Choose a value between 0 and 4 + with 0 being completely quiet. Once you set this below 3, + the same warning as given for *--quiet* applies. + +*-p*'LEVEL', *--priority* 'LEVEL':: + Use this option in combination with the *--add*. It will modify + the priority of the added overlay and thus influence the order + of entries in the make.conf file. The lower the priority, + the earlier in the list the entry will be mentioned. Use a value + between 0 and 100. The default value is 50. + + +CONFIGURATION +------------- +*layman* reads configuration parameters from the file +'/etc/layman/layman.cfg' by default. This file provides seven possible +settings. + +storage:: + Directory that will be used to store the overlays and all + additional data *layman* needs. The default is '/var/lib/layman'. + *layman* uses a location within the '/usr/portage' hierarchy + instead of '/var' in order to store its data. This decision has + been made to support network file systems. If you have your + portage tree on nfs or a similar file system and several + machines access the same ebuild repository over the net it + will be necessary to also provide all necessary *layman* data + within the hierarchy of the tree. This way the overlays will + also have to be synced at one location only. + +cache:: + *layman* will store the downloaded global list of overlays here. + The default is '%(storage)s/cache.xml'. + +overlays:: + *layman* will store the list of installed overlays here. + The default is '%(storage)s/overlays.xml'. + +make.conf:: + This is the *portage* configuration file that *layman* will + modify in order to make the new overlays available within + *portage*. The default is '%(storage)s/make.conf'. You could + also specify '/etc/make.conf' directly. But that would mean + that you have an external program trying to automatically + set variables within this very central configuration file. + Since I consider that dangerous I prefer having a very small + external file that only contains the setting for + *PORTAGE_OVERLAYS*. This file is then sourced at the end of + '/etc/make.conf'. This is the reason why *layman* suggests running + `echo 'source /var/lib/layman/make.conf' >> /etc/make.conf` + after it has been installed. + +overlays:: + Specifies the URL for the remote list of all available overlays. + The default is 'http://www.gentoo.org/proj/en/overlays/repositories.xml'. + You can specify several URLs here (one per line). The contents will + get merged to a single list of overlays. This allows to add a personal + collection of overlays that are not present in the global list. + +proxy:: + Specify your proxy in case you have to use one. + +nocheck:: + Set to "yes" if *layman* should stop worrying about overlays + with missing a contact address or the description. + + +HANDLING OVERLAYS +----------------- +*layman* intends to provide easy maintenance of Gentoo overlays +while not requiring any configuration. + + +OVERLAY LISTS +~~~~~~~~~~~~~ +*layman* allows you to fetch an overlay without the need to modify +any configuration files. In order for this to be possible the script +needs an external list of possible overlay sources. There is a +centralized list available at +'http://www.gentoo.org/proj/en/overlays/repositories.xml' +but nothing will prevent you from using or publishing your own +list of overlays. The location of the remote lists can also be +modified using the *--overlays* option when running *layman*. + +To get a new overlay added to the central list provided for *layman*, +send a mail to <overlays@gentoo.org>. Gentoo developers may add their +overlay entries directly into the list which can be accessed over the +CVS repository for the Gentoo website. + +You can also use several lists at the same time. Just add one URL per +line to the overlays variable in your configuration file. *layman* +will merge the contents of all lists. + +*layman* also allows you to define local files in this list. +Just make sure you prepend these path names in standard URL notation with 'file://'. + +If you need to use a proxy for access to the Internet, you can use +the corresponding variable in the *layman* configuration file. +*layman* will also respect the *http_proxy* environment variable in case you set it. + + +LOCAL CACHE +~~~~~~~~~~~ +*layman* stores a local copy of the fetched remote list. +It will be stored in '/var/lib/layman/cache.xml' by default. +There exists only one such cache file and it will be overwritten +every time you run *layman*. + + +HANDLING /ETC/MAKE.CONF +~~~~~~~~~~~~~~~~~~~~~~~ +Since *layman* is designed to automatically handle the inclusion of +overlays into your system it needs to be able to modify the +*PORTDIR_OVERLAY* variable in your '/etc/make.conf' file. +But '/etc/make.conf' is a very central and essential configuration +file for a Gentoo system. Automatically modifying this file would +be somewhat dangerous. You can allow *layman* to do this by +setting the make_conf variable in the configuration file to +'/etc/make.conf'. + +A much safer and in fact recommended solution to the problem is +to let *layman* handle an external file that only contains the +*PORTDIR_OVERLAY* variable and is sourced within the standard +'/etc/make.conf' file. Just add the following line to the end of +your '/etc/make.conf' file: + +------------------------------------------- +source /var/lib/layman/make.conf +------------------------------------------- + +'/var/lib/layman/make.conf' is the default provided in the *layman* +configuration. Change this file name in case you decide to store +it somewhere else. + +The file does not necessarily need to exist at the beginning. +If it is missing, *layman* will create it for you. + +There is also no need to remove the original *PORTDIR_OVERLAY* +variable from the make.conf file. Layman will simply add new overlays +to this variable and all your old entries will remain in there. + + +ADDING, REMOVING AND UPDATING OVERLAYS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Once a remote list of overlays has been fetched, *layman* allows +to add overlays from the remote list to your system. The script +will try to fetch the overlay. If this is successful the overlay +information will be copied from the cache to the list of locally +installed overlays. In addition *layman* will modify the +*PORTDIR_OVERLAY* variable to include the new overlay path. + +Removing the overlay with *layman* will delete the overlay without +leaving any traces behind. + +In order to update all overlays managed by *layman* you can run +the script with the *--sync ALL* option or the *--sync-all* flag. + + +LIST OVERLAYS +~~~~~~~~~~~~~ +*layman* provides the *--list* and *--list-local* options to print +a list of available respectively installed overlays. + +Listing will prepend all fully supported overlays with a green +asterisk, all non-official overlays with a yellow asterisk and +all overlays that you will not be able to use since you do not +have the necessary tools installed with a red asterisk. + +In the default mode *layman* will be strict about listing overlays +and only present you with overlays that are fully supported. +In addition it will complain about overlays that are missing +a description field or a contact attribute. This type of behavior +has been added with *layman* 1.0.7 and if you'd like to return to +the old behavior you may use the k option flag or set the nocheck +option in the configuration file. + + +SEARCHING EBUILDS IN OVERLAYS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +You can search through the ebuilds available in the overlays on +'http://overlays.gentoo.org/' by using *eix*. Emerge the package and +run `update-eix-remote update`. + + +OVERLAY TYPES +~~~~~~~~~~~~~ +Currently *layman* supports overlays that are exported via *rsync*, +*subversion*, *bzr*, *darcs*, *git*, *mercurial* or provided as tar +packages. + + +OVERLAY LISTS +------------- + +OVERLAY LIST FORMAT +~~~~~~~~~~~~~~~~~~~ +Layman uses a central list of overlays in XML format. The file looks +like this: + +Example 1. An example overlays.xml file + +------------------------------------------- +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd"> +<repositories xmlns="" version="1.0"> +<repo quality="experimental" status="official"> + <name>gnome</name> + <description>experimental gnome ebuilds</description> + <homepage>http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=summary</homepage> + <owner type="project"> + <email>gnome@gentoo.org</email> + <name>GNOME herd</name> + </owner> + <source type="git">git://git.overlays.gentoo.org/proj/gnome.git</source> + <source type="git">http://git.overlays.gentoo.org/gitroot/proj/gnome.git</source> + <source type="git">git+ssh://git@git.overlays.gentoo.org/proj/gnome.git</source> + <feed>http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=atom</feed> + <feed>http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=rss</feed> +</repo> +</repositories> +------------------------------------------- + + +ADDING AN OVERLAY LOCALLY +~~~~~~~~~~~~~~~~~~~~~~~~~ +Simply create an overlay list in the format described above and run +*layman* with the -o switch. You need to prepend local file URLs +with 'file://'. + + +ADDING AN OVERLAY GLOBALLY +~~~~~~~~~~~~~~~~~~~~~~~~~~ +The global list of overlays used by *layman* lies at +'http://www.gentoo.org/proj/en/overlays/repositories.xml'. + +All Gentoo developers have access to this location via CVS and +can modify the list of overlays. + +If you are not a Gentoo developer but wish to get your overlay +listed you should contact the Gentoo Overlays team at +<overlays@gentoo.org>. You can also join *#gentoo-overlays* on +irc.freenode.net. + + +EXAMPLES +-------- + +INSTALLING AN OVERLAY +~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------- +layman -f -a wrobel +------------------------------------------- + +This would add the overlay with the id wrobel to your list of +installed overlays. + + +SYNCING YOUR OVERLAYS +~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------- +layman -s ALL +------------------------------------------- + +This updates all overlays + + +PERFORMING SEVERAL ACTIONS AT THE SAME TIME +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------- +layman -f -a wrobel -a webapps-experimental +------------------------------------------- + +This fetches the remote list and immediately adds two overlays + + +FILES +----- +'/etc/layman/layman.cfg':: + Configuration file, holding the defaults for *layman* + + +AUTHORS +------- +- Gunnar Wrobel <wrobel@gentoo.org> +- Sebastian Pipping <sping@gentoo.org> + + +REPORTING BUGS +-------------- +Please report bugs you might find at 'http://bugs.gentoo.org/' diff --git a/doc/layman.8.xml b/doc/layman.8.xml deleted file mode 100644 index dda55e9..0000000 --- a/doc/layman.8.xml +++ /dev/null @@ -1,994 +0,0 @@ -<?xml version='1.0'?> -<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<article> - - <articleinfo> - <title>layman</title> - - <authorgroup> - <author> - <firstname>Gunnar</firstname> - <surname>Wrobel</surname> - <affiliation> - <address> - <email>wrobel@gentoo.org</email> - <otheraddr> - <ulink url="http://gunnarwrobel.de" /> - </otheraddr> - </address> - </affiliation> - </author> - </authorgroup> - - <copyright> - <year>2005-2009</year> - <holder>Gunnar Wrobel</holder> - </copyright> - </articleinfo> - - <section> - <title>Overview</title> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-synopsis">Synopsis</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-description">Description</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-actions">Action flags</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-other-options">Other options</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-configuration">Configuration</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-remote">Overlay lists</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-local">Layman cache</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-make-conf">Handling make.conf</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-update">Handle overlays</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-list">List overlays</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-search">Searching ebuilds in overlays</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-types">Overlay types</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-global">Get your overlay published to the world</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-examples">Examples</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-files">Layman files</link> - </para> - </listitem> - </itemizedlist> - <itemizedlist> - <listitem> - <para> - <link linkend="layman-bugs">Reporting bugs</link> - </para> - </listitem> - </itemizedlist> - </section> - - <section> - <title>External links</title> - <itemizedlist> - <listitem> - <para> - <ulink url="http://sourceforge.net/projects/layman/">Layman project page on SourceForge</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="http://overlays.gentoo.org">Gentoo Overlays project</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="http://ohloh.net/projects/layman/">Layman project page on Ohloh</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="http://freshmeat.net/projects/layman/">Layman project page on Freshmeat</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="http://bugs.gentoo.org/">Bug tracker</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="http://gentoo-wiki.com/Portage_Overlay_Listing#Layman">Wiki</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="http://log.onthebrink.de/feeds/posts/default/-/layman">Blog</ulink> - </para> - </listitem> - <listitem> - <para> - <ulink url="http://www.google.com/reader/public/atom/user/02645926629531261525/label/%5Bproject%5D%20layman">Combined RSS feed</ulink> - </para> - </listitem> - </itemizedlist> - </section> - - <section id="layman-reference"> - <title>Reference</title> - - <refentry id="layman-manpage"> - <refentryinfo> - <title>layman</title> - <date>July 2010</date> - <productname>layman</productname> - <productnumber>1.4.1</productnumber> - <copyright> - <year>2005-2009</year> - <holder>Gunnar Wrobel</holder> - </copyright> - <legalnotice> - <para> - This is free software. You may redistribute copies of it - under the terms of the GNU General Public License v2 - (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html). - </para> - </legalnotice> - </refentryinfo> - <refmeta> - <refentrytitle>layman</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - <refnamediv> - <refname>layman</refname> - <refpurpose> - manage your local repository of Gentoo overlays - </refpurpose> - </refnamediv> - - <refsynopsisdiv id="layman-synopsis"> - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-a</arg> - <arg>--add</arg> - </group> - <group choice="plain"> - <arg>ALL</arg> - <arg><replaceable>overlay</replaceable></arg> - </group> - </cmdsynopsis> - - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-d</arg> - <arg>--delete</arg> - </group> - <group choice="plain"> - <arg>ALL</arg> - <arg><replaceable>overlay</replaceable></arg> - </group> - </cmdsynopsis> - - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-s</arg> - <arg>--sync</arg> - </group> - <group choice="plain"> - <arg>ALL</arg> - <arg><replaceable>overlay</replaceable></arg> - </group> - </cmdsynopsis> - - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-i</arg> - <arg>--info</arg> - </group> - <group choice="plain"> - <arg>ALL</arg> - <arg><replaceable>overlay</replaceable></arg> - </group> - </cmdsynopsis> - - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-S</arg> - <arg>--sync-all</arg> - </group> - </cmdsynopsis> - - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-L</arg> - <arg>--list</arg> - </group> - </cmdsynopsis> - - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-l</arg> - <arg>--list-local</arg> - </group> - </cmdsynopsis> - - <cmdsynopsis> - <command>layman</command> - <group choice="plain"> - <arg>-f</arg> - <arg>--fetch</arg> - </group> - </cmdsynopsis> - - </refsynopsisdiv> - - <refsection id="layman-description"> - <title>Description</title> - - <para><command>layman</command> is a script that allows you to - add, remove and update Gentoo overlays from a variety of - sources.</para> - - <refsection> - <title>WARNING</title> - - <para><command>layman</command> makes it easy to retrieve and - update overlays for Gentoo. In addition it makes it TRIVIAL - to break your system. - </para> - - <para>The main portage tree provides you with high quality ebuilds - that are all maintained by Gentoo developers. This will not - be the case for most of the overlays you can get by using - <command>layman</command>. Thus you are removing the - security shield that the standard tree provides for - you. You should keep that in mind when installing ebuilds - from an overlay. - </para> - - <para>To ensure the security of your system you MUST read the - source of the ebuild you are about to install. - </para> - - </refsection> - - </refsection> - - <refsection id="layman-options"> - <title>Options</title> - - <refsection id="layman-actions"> - <title>Actions</title> - - <para>List of possible <command>layman</command> actions.</para> - - <variablelist> - <varlistentry> - <term><option>-f</option></term> - <term><option>--fetch</option></term> - <listitem> - <para>Fetches the remote list of overlays. You will - usually NOT need to explicitly specify this option. The - fetch operation will be performed automatically once you - run the sync, sync-all, or list action. You can prevent - this automatic fetching using the --nofetch option.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-a</option> <replaceable>overlay</replaceable></term> - <term><option>--add</option> <replaceable>overlay</replaceable></term> - <listitem> - <para>Add the given overlay from the cached remote list to - your locally installed overlays. Specify "ALL" to add - all overlays from the remote list.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-d</option> <replaceable>overlay</replaceable></term> - <term><option>--delete</option> <replaceable>overlay</replaceable></term> - <listitem> - <para>Remove the given overlay from your locally installed - overlays. Specify "ALL" to remove all overlays</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-s</option> <replaceable>overlay</replaceable></term> - <term><option>--sync</option> <replaceable>overlay</replaceable></term> - <listitem> - <para>Update the specified overlay. Use "ALL" as - parameter to synchronize all overlays</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-i</option> <replaceable>overlay</replaceable></term> - <term><option>--info</option> <replaceable>overlay</replaceable></term> - <listitem> - <para>Display all available information about the specified overlay.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-S</option></term> - <term><option>--sync-all</option></term> - <listitem> - <para>Update all overlays. Shortcut for -s ALL.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-L</option></term> - <term><option>--list</option></term> - <listitem> - <para>List the contents of the remote list.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-l</option></term> - <term><option>--list-local</option></term> - <listitem> - <para>List the locally installed overlays.</para> - </listitem> - </varlistentry> - - </variablelist> - </refsection> - - <refsection id="layman-other-options"> - - <title>Other options</title> - - <para>List of other available <command>layman</command> options.</para> - - <variablelist> - - <varlistentry> - <term><option>-c</option> <replaceable>path</replaceable></term> - <term><option>--config</option> <replaceable>path</replaceable></term> - <listitem> - <para>Path to an alternative configuration file.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-o</option> <replaceable>url</replaceable></term> - <term><option>--overlays</option> <replaceable>url</replaceable></term> - <listitem> - <para>Specifies the location of additional overlay - lists. You can use this flag several times and the - specified URLs will get temporarily appended to the list - of URLs you specified in your config file. You may also - specify local file URLs by prepending the path with - <userinput>file://</userinput>. This option - will only append the URL for this specific layman run - - edit your config file to add a URL permanently. So this - is useful for testing purposes. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-n</option></term> - <term><option>--nofetch</option></term> - <listitem> - <para>Prevents <command>layman</command> from - automatically fetching the remote lists of overlays. The - default behavior for <command>layman</command> is to - update all remote lists if you run the sync, list or - fetch operation.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-k</option></term> - <term><option>--nocheck</option></term> - <listitem> - <para>Prevents <command>layman</command> from checking - the remote lists of overlays for complete overlay - definitions. The default behavior for layman is to - reject overlays that do not provide a description or a - contact attribute.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-q</option></term> - <term><option>--quiet</option></term> - <listitem> - <para>Makes <command>layman</command> completely quiet. - In quiet mode child processes will be run with stdin closed - to avoid running into infinite and blindly interactive sessions. - Thus a child process may abort once it runs into an - situation with need for human interaction. - For example this might happen if your overlay - resides in Subversion and the SSL certificate of - the server needs manual acceptance.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-v</option></term> - <term><option>--verbose</option></term> - <listitem> - <para>Makes <command>layman</command> more verbose and - you will receive a description of the overlays you can - download.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-N</option></term> - <term><option>--nocolor</option></term> - <listitem> - <para>Remove color codes from the <command>layman</command> - output.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-Q</option><replaceable>LEVEL</replaceable></term> - <term><option>--quietness</option><replaceable>LEVEL</replaceable></term> - <listitem> - <para>Makes <command>layman</command> less verbose. - Choose a value between 0 and 4 with 0 being completely - quiet. Once you set this below 3, the same warning as - given for --quiet applies.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-p</option><replaceable>LEVEL</replaceable></term> - <term><option>--priority</option><replaceable>LEVEL</replaceable></term> - <listitem> - <para>Use this option in combination with - the <command>--add</command>. It will modify the - priority of the added overlay and thus influence the - order of entries in the make.conf file. The lower the - priority, the earlier in the list the entry will be - mentioned. Use a value between 0 and 100. The default - value is 50.</para> - </listitem> - </varlistentry> - - </variablelist> - - </refsection> - - </refsection> - - <refsection id="layman-configuration"> - - <title>Configuration</title> - - <para><command>layman</command> reads configuration parameters - from the file - <filename>/etc/layman/layman.cfg</filename> by - default. This file provides seven possible settings.</para> - - <variablelist> - - <varlistentry> - <term><option>storage</option></term> - <listitem> - <para>Directory that will be used to store the overlays - and all additional data <command>layman</command> - needs. The default is - <filename>/var/lib/layman</filename>. layman - uses a location within the /usr/portage hierarchy instead - of <filename>/var</filename> in order to - store its data. This decision has been made to support - network file systems. If you have your portage tree on nfs - or a similar file system and several machines access the - same ebuild repository over the net it will be necessary - to also provide all necessary <command>layman</command> - data within the hierarchy of the tree. This way the - overlays will also have to be synced at one location - only.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>cache</option></term> - <listitem> - <para><command>layman</command> will store the downloaded - global list of overlays here. The default is - <filename>%(storage)s/cache.xml</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>overlays</option></term> - <listitem> - <para><command>layman</command> will store the list of - installed overlays here. The default is - <filename>%(storage)s/overlays.xml</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>make.conf</option></term> - <listitem> - <para>This is the portage configuration file that - <command>layman</command> will modify in order to make - the new overlays available within portage. The default - is <filename>%(storage)s/make.conf</filename>. You could - also specify <filename>/etc/make.conf - directly</filename>. But that would mean that you have - an external program trying to automatically set - variables within this very central configuration - file. Since I consider that dangerous I prefer having a - very small external file that only contains the setting - for PORTAGE_OVERLAYS. This file is then sourced at the - end of <filename>/etc/make.conf</filename>. This is the - reason why <command>layman</command> suggests running - "echo "source - <filename>/var/lib/layman/make.conf</filename>" >> - <filename>/etc/make.conf</filename>" after it has been - installed.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>overlays</option></term> - <listitem> - <para>Specifies the URL for the remote list of all - available overlays. The default is - <filename>http://www.gentoo.org/proj/en/overlays/repositories.xml</filename>. You - can specify several URLs here (one per line). The - contents will get merged to a single list of - overlays. This allows to add a personal collection of - overlays that are not present in the global list.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>proxy</option></term> - <listitem> - <para>Specify your proxy in case you have to use - one.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>nocheck</option></term> - <listitem> - <para>Set to "yes" if <command>layman</command> should stop - worrying about overlays with missing a contact address or - the description.</para> - </listitem> - </varlistentry> - - </variablelist> - - </refsection> - - <refsection id="layman-handling"> - <title>Handling overlays</title> - - <para><command>layman</command> intends to provide easy - maintenance of Gentoo overlays while not requiring any - configuration. - </para> - - <refsection id="layman-remote"> - - <title>Overlay lists</title> - - <para><command>layman</command> allows you to fetch an - overlay without the need to modify any configuration - files. In order for this to be possible the script needs an - external list of possible overlay sources. There is a - centralized list available at <ulink - url="http://www.gentoo.org/proj/en/overlays/repositories.xml"/> - but nothing will prevent you from using or publishing your - own list of overlays. The location of the remote lists can - also be modified using the <option>--overlays</option> - option when running <command>layman</command>. - </para> - - <para>To get a new overlay added to the central list provided - for layman, send a mail to - <email>overlays@gentoo.org</email>. Gentoo developers may - add their overlay entries directly into the list which can - be accessed over the CVS repository for the Gentoo - website. - </para> - - <para>You can also use several lists at the same time. Just - add one URL per line to the overlays variable in your - configuration file. <command>layman</command> will merge the - contents of all lists. - </para> - - <para><command>layman</command> also allows you to define - local files in this list. Just make sure you prepend these - path names in standard URL notation - with <filename>file://</filename>. - </para> - - <para>If you need to use a proxy for access to the Internet, - you can use the corresponding variable in - the <command>layman</command> configuration file. Layman - will also respect the <command>http_proxy</command> - environment variable in case you set it. - </para> - - </refsection> - - <refsection id="layman-local"> - - <title>Local cache</title> - - <para><command>layman</command> stores a local copy of the - fetched remote list. It will be stored in - <filename>/var/lib/layman/cache.xml</filename> - by default. There exists only one such cache file and it - will be overwritten every time you - run <command>layman</command>. - </para> - - </refsection> - - <refsection id="layman-make-conf"> - - <title>Handling <filename>/etc/make.conf</filename></title> - - <para>Since <command>layman</command> is designed to - automatically handle the inclusion of overlays into your - system it needs to be able to modify - the <command>PORTDIR_OVERLAY</command> variable in your - <filename>/etc/make.conf</filename> file. But - <filename>/etc/make.conf</filename> is a very central and - essential configuration file for a Gentoo - system. Automatically modifying this file would be - somewhat dangerous. You can - allow <command>layman</command> to do this by setting - the <command>make_conf</command> variable in the - configuration file to <filename>/etc/make.conf</filename>. - </para> - - <para>A much safer and in fact recommended solution to the - problem is to let <command>layman</command> handle an - external file that only contains - the <command>PORTDIR_OVERLAY</command> variable and is - sourced within the - standard <filename>/etc/make.conf</filename> file. Just add the following line to the end of your - <filename>/etc/make.conf</filename> file: - </para> - - <para>source /var/lib/layman/make.conf</para> - - <para><filename>/var/lib/layman/make.conf</filename> - is the default provided in the layman - configuration. Change this file name in case you decide to - store it somewhere else. - </para> - - <para>The file does not necessarily need to exist at the - beginning. If it is missing, layman will create it for you. - </para> - - <para>There is also no need to remove the - original <command>PORTDIR_OVERLAY</command> variable from - the make.conf file. Layman will simply add new overlays to - this variable and all your old entries will remain in there. - </para> - - </refsection> - - <refsection id="layman-update"> - - <title>Adding, removing and updating overlays</title> - - <para>Once a remote list of overlays has been fetched, - <command>layman</command> allows to add overlays from the - remote list to your system. The script will try to fetch - the overlay. If this is successful the overlay information - will be copied from the cache to the list of locally - installed overlays. In addition - <command>layman</command> will modify the - <command>PORTDIR_OVERLAY</command> variable to include the - new overlay path. - </para> - - <para>Removing the overlay with <command>layman</command> will - delete the overlay without leaving any traces behind. - </para> - - <para>In order to update all overlays managed by - <command>layman</command> you can run the script with the - <option>--sync ALL</option> option or - the <option>--sync-all</option> flag. - </para> - - </refsection> - - <refsection id="layman-list"> - - <title>List overlays</title> - - <para><command>layman</command> provides the - <option>--list</option> and <option>--list-local</option> - options to print a list of available respectively - installed overlays. - </para> - - <para> Listing will prepend all fully supported overlays - with a green asterisk, all non-official overlays with a - yellow asterisk and all overlays that you will not be able - to use since you do not have the necessary tools installed - with a red asterisk. - </para> - - <para> In the default mode layman will be strict about - listing overlays and only present you with overlays that - are fully supported. In addition it will complain about - overlays that are missing a description field or a contact - attribute. This type of behavior has been added with - layman-1.0.7 and if you'd like to return to the old - behavior you may use the k option flag or set the nocheck - option in the configuration file. - </para> - - </refsection> - - <refsection id="layman-search"> - - <title>Searching ebuilds in overlays</title> - - <para> - You can search through the ebuilds available in the - overlays on <ulink url="http://overlays.gentoo.org"/> by - using "eix". Emerge the package and run - <command>update-eix-remote update</command>. - </para> - - </refsection> - - <refsection id="layman-types"> - - <title>Overlay types</title> - - <para>Currently <command>layman</command> supports overlays that - are exported via <command>rsync</command>, - <command>subversion</command>, <command>bzr</command>, - <command>darcs</command>, <command>git</command>, - <command>mercurial</command> or provided - as <command>tar</command> packages. - </para> - - </refsection> - - </refsection> - - <refsection id="layman-global"> - - <title>Overlay lists</title> - - <refsection> - - <title>Overlay list format</title> - - <para> - Layman uses a central list of overlays in XML format. The file looks like this: - <example> - <title>An example overlays.xml file</title> - <programlisting> - <?xml version="1.0" encoding="UTF-8"?> - <!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd"> - <repositories xmlns="" version="1.0"> - <repo quality="experimental" status="official"> - <name>gnome</name> - <description>experimental gnome ebuilds</description> - <homepage>http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=summary</homepage> - <owner type="project"> - <email>gnome@gentoo.org</email> - <name>GNOME herd</name> - </owner> - <source type="git">git://git.overlays.gentoo.org/proj/gnome.git</source> - <source type="git">http://git.overlays.gentoo.org/gitroot/proj/gnome.git</source> - <source type="git">git+ssh://git@git.overlays.gentoo.org/proj/gnome.git</source> - <feed>http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=atom</feed> - <feed>http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=rss</feed> - </repo> - </repositories> - </programlisting> - </example> - </para> - - </refsection> - - <refsection> - - <title>Adding an overlay locally</title> - - <para> - Simply create an overlay list in the format described - above and run <command>layman</command> with the - <option>-o</option> switch. You need to - prepend local file URLs with - <userinput>file://</userinput>. - </para> - - </refsection> - - <refsection> - - <title>Adding an overlay globally</title> - - <para> - The global list of overlays used by - <command>layman</command> lies at - <filename>http://www.gentoo.org/proj/en/overlays/repositories.xml</filename>. - </para> - - <para> - All Gentoo developers have access to this location via CVS - and can modify the list of overlays. - </para> - - <para> - If you are not a Gentoo developer but wish to get your - overlay listed you should contact the Gentoo Overlays team - at <email>overlays@gentoo.org</email>. You can also join - <userinput>#gentoo-overlays</userinput> on - <filename>irc.freenode.net</filename>. - </para> - - </refsection> - - </refsection> - - <refsection id="layman-examples"> - - <title>Examples</title> - - <refsection> - - <title>Installing an overlay</title> - - <para><userinput>layman -f -a wrobel</userinput></para> - <para>This would add the overlay with the id - <command>wrobel</command> to your list of installed - overlays.</para> - - </refsection> - - <refsection> - - <title>Syncing your overlays</title> - - <para><userinput>layman -s ALL</userinput></para> - <para>This updates all overlays</para> - - </refsection> - - <refsection> - - <title>Performing several actions at the same time</title> - - <para><userinput>layman -f -a wrobel -a webapps-experimental</userinput></para> - <para>This fetches the remote list and immediately adds two - overlays</para> - - </refsection> - - </refsection> - - <refsection id="layman-files"> - - <title>Files</title> - - <variablelist> - - <varlistentry> - <term><filename>/etc/layman/layman.cfg</filename></term> - <listitem> - <para>Configuration file, holding the defaults for - <command>layman</command></para> - </listitem> - </varlistentry> - - </variablelist> - - </refsection> - - <refsection id="layman-bugs"> - - <title>Reporting bugs</title> - - <para> - Please report bugs you might find at <ulink url="http://bugs.gentoo.org"/> - </para> - - </refsection> - - </refentry> - </section> -</article> |