Remove the sets configuration docs.
authorZac Medico <zmedico@gentoo.org>
Thu, 13 Nov 2008 18:08:48 +0000 (18:08 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 13 Nov 2008 18:08:48 +0000 (18:08 -0000)
svn path=/main/branches/2.1.6/; revision=11882

doc/config.docbook
doc/config/sets.docbook [deleted file]
doc/portage.docbook

index 88009dfc6f65c8a3c73906231ccbec3442e98e3a..118d98b55778c7fef73e9236eaa72d3e8f2d0b4e 100644 (file)
@@ -1,5 +1,4 @@
 <part id='config'>
 <title>Configuration</title>
 &config_bashrc;
-&config_set;
 </part>
diff --git a/doc/config/sets.docbook b/doc/config/sets.docbook
deleted file mode 100644 (file)
index d993024..0000000
+++ /dev/null
@@ -1,580 +0,0 @@
-<chapter id='config-set'>
-       <title>Package Set Configuration</title>
-       <sect1 id='config-set-locations'>
-               <title>sets.conf locations</title>
-               <para>
-               There are multiple locations where portage looks for set configuration 
-               files, which are usually named <filename>sets.conf</filename>. Not all 
-               of these locations have to contain a sets.conf, missing files are simply 
-               ignored.
-               </para>
-               <para>
-               At first it looks for the default configuration in 
-               <filename>/usr/share/portage/config</filename>.
-               The default config includes sets that are expected on all systems and 
-               often critical for normal operation, like <varname>world</varname>, 
-               <varname>system</varname> or <varname>security</varname>.
-               <!-- TODO: Add reference to currently non-existing documentation about
-               set usage and default sets -->
-               After that it will read repository specific configurations from 
-               <envar>PORTDIR</envar> and <envar>PORTDIR_OVERLAY</envar> that might
-               include definitions of sets included in the repository.
-               Finally a system-specific set configuration may reside in 
-               <filename>/etc/portage</filename> to either define additional sets or
-               alter the default and repository sets.
-               </para>
-       </sect1>
-       
-       <sect1 id='config-set-syntax'>
-               <title>sets.conf Syntax</title>
-               <para>
-               Unlike other Portage configuration files <filename>sets.conf</filename> 
-               uses Pythons <classname>ConfigParser</classname> module, which implements
-               the syntax usually found in .ini files. At its core it allows various
-               named sections that each can contain any number of key-value pairs, see
-               the <ulink url="http://doc.python.org/lib/module-ConfigParser.html" type="text/html">Python documentation</ulink>
-               for the full details.
-               </para>
-               <para>
-               In a <filename>sets.conf</filename> file, a section can define either a 
-               single package set, or a complete class of sets. These cases are handled 
-               in different ways, and will be explained in detail in the following sections.
-               </para>
-               <sect2 id='config-set-syntax-single'>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       The configuration of a single set can be very simple as in most cases
-                       it only requires a single option <varname>class</varname> to be 
-                       complete <footnote><para>Technically the <varname>class</varname> option
-                       isn't stricly required, but it should always be used as the default 
-                       handler might be changed in future versions.</para></footnote>.
-                       That option defines which handler class should be used to 
-                       create the set. Other universal options available for single sets are:
-                       <itemizedlist>
-                       <listitem><varname>name</varname> (which is usually not needed as the name
-                       of the set is generated from the section name if <varname>name</varname>
-                       is missing)</listitem>
-                       <listitem><varname>world-candidate</varname>, which determines if
-                       given package should be added to the <varname>world</varname> set</listitem>
-                       <listitem><varname>extend</varname> to include the contents of other package sets
-                       </listitem>
-                       <listitem><varname>remove</varname> to remove the contents of other package sets
-                       </listitem>
-                       <listitem><varname>intersect</varname> to only include packages that are also 
-                       included in one or more other package sets</listitem>
-                       </itemizedlist>
-                       Some handler classes might require additional options for their configuration,
-                       these will be covered later in this chapter.
-                       </para>
-                       <para>
-                       Here are a few examples for single sets taken from the default 
-                       configuration file:
-                       <programlisting>
-                       # The classic world set
-                       [world]
-                       class = portage.sets.files.WorldSet
-                       world-candidate = False
-                       
-                       # The classic system set
-                       [system]
-                       class = portage.sets.profiles.PackagesSystemSet
-                       </programlisting>
-                       <!-- TODO: reference list of available set handler classes here -->
-                       </para>
-               </sect2>
-       
-               <sect2 id='config-set-syntax-multi'>
-                       <title>Multi Set Configuration</title>
-                       <para>
-                       As configuring each single set manually could be quite annoying if 
-                       you want many sets with the same options Portage also allows to
-                       define whole classes of sets in a single section. Like with single
-                       sets each section still requires the <varname>class</varname> option,
-                       but to indicate that the section should generate multiple sets it's
-                       also necessary to set the <varname>multiset</varname> option to 
-                       <parameter>true</parameter>. The <varname>world-candidate</varname>,
-                       <varname>extend</varname>, <varname>remove</varname> and 
-                       <varname>intersect</varname> options are also supported like with 
-                       single sets (they'll apply to all sets generated by the section).
-                       </para>
-                       <para>
-                       As it doesn't make much sense to specify a single name for multiple sets
-                       the <varname>name</varname> option isn't available for multiset sections.
-                       Most handler classes will have a reasonable default for generating names,
-                       and usually you can (but don't have to) set the 
-                       <varname>name_pattern</varname> option to change the naming rules. That 
-                       option generally has to include a (handler-specific) placeholder that 
-                       will be replaced with a unique identifier (e.g. for category sets the 
-                       category name). As with single sets handler classes might require and/or 
-                       support additional options, these will be discussed later.
-                       </para>
-                       <para>
-                       Some examples for multiset configurations:
-                       <programlisting>
-                       # generate a set for each file in /etc/portage/sets
-                       # this section is also in the default configuration
-                       [user sets]
-                       class = portage.sets.files.StaticFileSet
-                       multiset = true
-                       directory = /etc/portage/sets
-                       
-                       # Generate a set for each category that includes all installed packages
-                       # from that category. The sets will be named &lt;category&gt;/*
-                       [installed category packages]
-                       class = portage.sets.dbapi.CategorySet
-                       multiset = true
-                       name_pattern = $category/*
-                       intersect = installed
-                       </programlisting>
-                       </para>
-                       <!-- TODO: reference list of available set handler classes here -->
-               </sect2>
-       </sect1>
-
-       <sect1 id='config-set-classes'>
-               <title>Available Set Handler Classes</title>
-               <para>
-               The following sections contain the available handler classes that can be
-               used for the <varname>class</varname> option in 
-               <filename>sets.conf</filename>, together with a description about required
-               and optional configuration options for single and multi set configurations.
-               Note that not all classes support both configuration styles.
-               </para>
-               
-               <sect2 id='config-set-classes-StaticFileSet' xreflabel='StaticFileSet'>
-               <title>portage.sets.files.StaticFileSet</title>
-               <para>
-               This class implements a simple file based package set. All atoms from 
-               configured file are used to form the set, and currently only simple and 
-               versioned atoms are supported (no use conditionals or any-of constructs).
-               For descriptive purposes the file can be accompanied by a file with the 
-               same name plus a <filename>.metadata</filename> suffix which can contain
-               metadata sections for description, author, location and so on. Each section
-               has the form <msgtext>key: value</msgtext> where <varname>value</varname>
-               can contain multiple lines. Therefore sections have to be separated by 
-               blank lines. For example:
-               <programlisting>
-               description: This is a somewhat
-               longer description than usual. So it 
-               needs more than one line.
-               
-               homepage: http://www.foobar.org
-               
-               author: John Doe &lt;john@doe.com&gt;
-               </programlisting>
-               </para>
-               
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In a single set configuration this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>filename</varname>: Required. Specifies the path to the file
-                               that should be used for the package set.</listitem>
-                       <listitem><varname>greedy</varname>: Optional, defaults to <parameter>false</parameter>.
-                               Determines if atoms in the package should include all installed slots (when set to
-                               <parameter>true</parameter>) or if no slot expansion is wanted (when set to 
-                               <parameter>false</parameter>). This option only affects packages that have multiple
-                               slots available (e.g. <parameter>sys-kernel/gentoo-sources</parameter>).</listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-
-                       <sect3>
-                       <title>Multi Set Configuration</title>
-                       <para>
-                       In a multi set configuration this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>directory</varname>: Optional, defaults to 
-                               <filename>/etc/portage/sets</filename>. Specifies the path to a directory
-                               containing package set files. For each file (excluding metadata files) in 
-                               that location a separate package set is created.
-                       </listitem>
-                       <listitem><varname>name_pattern</varname>: Optional, defaults to 
-                               <parameter>$name</parameter>. This describes the naming pattern
-                               to be used for creating the sets. It must contain either 
-                               <parameter>$name</parameter> or <parameter>${name}</parameter>, which 
-                               will be replaced by the filename (without any directory components).
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-ConfigFileSet'>
-               <title>portage.sets.files.ConfigFileSet</title>
-               <para>
-               Similar to <classname>StaticFileSet</classname>, but uses Portage configuration files.
-               Namely it can work with <filename>package.use</filename>, 
-               <filename>package.keywords</filename>, <filename>package.mask</filename>
-               and <filename>package.unmask</filename>. It does not support 
-               <filename>.metadata</filename> files, but ignores the extra data (like 
-               USE flags or keywords) typically found in those files.
-               </para>
-               
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In a single set configuration this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>filename</varname>: See 
-                               <xref linkend='config-set-classes-StaticFileSet'>StaticFileSet</xref>
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-                       
-                       <sect3>
-                       <title>Multi Set Configuration</title>
-                       <para>
-                       In a multi set configuration this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>directory</varname>: Optional, defaults to 
-                               <filename>/etc/portage</filename>. Specifies the path to a directory
-                               containing one or more of the following portage configuration files:
-                               <filename>package.use</filename>, <filename>package.keywords</filename>,
-                               <filename>package.mask</filename> or <filename>package.unmask</filename>.
-                               No other files in that directory will be used.
-                       </listitem>
-                       <listitem><varname>name_pattern</varname>: Optional, defaults to 
-                               <parameter>package_$suffix</parameter>. This describes the naming 
-                               pattern to be used for creating the sets. It must contain either
-                               <parameter>$suffix</parameter> or <parameter>${suffix}</parameter>, 
-                               which will be replaced by the file suffix (e.g. 
-                               <parameter>use</parameter> or <parameter>mask</parameter>).
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-WorldSet'>
-               <title>portage.sets.files.WorldSet</title>
-               <para>
-               A minor variation of <classname>StaticFileSet</classname>, mainly for implementation 
-               reasons. It should never be used in user configurations as it's already configured
-               by default, doesn't support any options and will eventually be removed in a future version.
-               </para>
-               
-                       <sect3>
-                       <title>Single Set Configuraton</title>
-                       <para>
-                       This class doesn't support any extra options.
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-PackagesSystemSet'>
-               <title>portage.sets.profiles.PackagesSystemSet</title>
-               <para>
-               This class implements the classic <parameter>system</parameter> set, based on the 
-               <filename>packages</filename> files in the profile.
-               <!-- TODO: Add reference to profile documentation regarding "packages" -->
-               There is no reason to use this in a user configuration as it is already
-               confgured by default and doesn't support any options.
-               </para>
-               
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       This class doesn't support any extra options.
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-SecuritySet' xreflabel='SecuritySet'>
-               <title>portage.sets.security.SecuritySet</title>
-               <para>
-               The set created by this class contains all atoms that need to be installed 
-               to apply all GLSAs in the ebuild repository, no matter if they are already 
-               applied or no (it's equivalent to the <parameter>all</parameter> target of
-               glsa-check). Generally it should be avoided in configurations in favor of
-               <classname>NewAffectedSet</classname> described below.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In single set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>use_emerge_resolver</varname>: Optional, defaults to 
-                               <parameter>false</parameter>. This option determines which resolver 
-                               strategy should be used for the set atoms. When set to 
-                               <parameter>true</parameter>, it will use the default emerge algorithm 
-                               and use the highest visible version that matches the GLSA. If set 
-                               to <parameter>false</parameter> it will use the default glsa-check 
-                               algorithm and use the lowest version that matches the GLSA and is 
-                               higher than the currently installed version (least change policy).
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-NewGlsaSet'>
-               <title>portage.sets.security.NewGlsaSet</title>
-               <para>
-               Like <xref linkend='config-set-classes-SecuritySet'>SecuritySet</xref>,
-               but ignores all GLSAs that were already applied or injected previously.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In single set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>use_emerge_resolver</varname>: See
-                               <xref linkend='config-set-classes-SecuritySet'>SecuritySet</xref>
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-NewAffectedSet'>
-               <title>portage.sets.security.NewAffectedSet</title>
-               <para>
-               Like <xref linkend='config-set-classes-SecuritySet'>SecuritySet</xref>,
-               but ignores all GLSAs that were already applied or injected previously,
-               and all GLSAs that don't affect the current system. Practically there
-               should be no difference to <classname>NewGlsaSet</classname> though.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In single set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>use_emerge_resolver</varname>: See
-                               <xref linkend='config-set-classes-SecuritySet'>SecuritySet</xref>
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-AffectedSet'>
-               <title>portage.sets.security.AffectedSet</title>
-               <para>
-               Like <xref linkend='config-set-classes-SecuritySet'>SecuritySet</xref>,
-               but ignores all GLSAs that don't affect the current system. Practically
-               there should be no difference to <classname>SecuritySet</classname> though.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In single set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>use_emerge_resolver</varname>: See
-                               <xref linkend='config-set-classes-SecuritySet'>SecuritySet</xref>
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-CommandOutputSet'>
-               <title>portage.sets.shell.CommandOutputSet</title>
-               <para>
-               As the name says, this class creates a package set based on the output of
-               a given command. The command is run once when the set is accessed 
-               for the first time during the current session.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In single set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>command</varname>: Required. Specifies the command
-                               that should be executed to generate the package set. It should 
-                               output a newline separated list of simple and/or versioned atoms
-                               on stdout.
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-AgeSet'>
-               <title>portage.sets.dbapi.AgeSet</title>
-               <para>
-               Package sets created by this class will include installed packages that
-               have been installed before / after a given date.
-               </para>
-                       
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In single set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>age</varname>: Optional, defaults to 7. Specifies 
-                               the number of days passed since installation to use as cut-off point.
-                       </listitem>
-                       <listitem><varname>mode</varname>: Optional, defaults to "older". Must 
-                               be either "older" or "newer" to select packages installed either 
-                               before resp. after the cut-off-date given by <varname>age</varname>.
-                               E.g. the defaults will select all installed packages that have been 
-                               installed more than one week ago.
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-CategorySet'>
-               <title>portage.sets.dbapi.CategorySet</title>
-               <para>
-               This class simply creates a set with all packages in a given category.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       In single set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>category</varname>: Required. The name of an existing ebuild
-                               category which should be used to create the package set.
-                       </listitem>
-                       <listitem><varname>only_visible</varname>: Optional, defaults to <parameter>true</parameter>.
-                               When set to <parameter>true</parameter> the set will only include visible packages, 
-                               when set to <parameter>false</parameter> it will also include masked packages.
-                               It's currently only effective in combination with the <parameter>porttree</parameter>
-                               repository.
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-                       
-                       <sect3>
-                       <title>Multi Set Configuration</title>
-                       <para>
-                       In multi set configurations this class supports the following options:
-                       <itemizedlist>
-                       <listitem><varname>categories</varname>: Optional, defaults to all categories.
-                               If set it must be a space separated list of existing ebuild categories for
-                               which package sets should be created.
-                       </listitem>
-                       <listitem><varname>repository</varname>: See previous section.</listitem>
-                       <listitem><varname>only_visible</varname>: See previous section.</listitem>
-                       <listitem><varname>name_pattern</varname>: Optional, defaults to 
-                               <parameter>$category/*</parameter>. This describes the naming pattern
-                               to be used for creating the sets. It must contain either 
-                               <parameter>$category</parameter> or <parameter>${category}</parameter>, which 
-                               will be replaced by the category name.
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-               
-               <sect2 id='config-set-classes-EverythingSet'>
-               <title>portage.sets.dbapi.EverythingSet</title>
-               <para>
-               A superset of the classic <parameter>world</parameter> target, a set created
-               by this class contains SLOT atoms to match all installed packages. Note that
-               use of this set makes it impossible for emerge to solve blockers by automatic
-               uninstallation of blocked packages.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       This class doesn't support any extra options.
-                       </para>
-                       </sect3>
-               </sect2>
-               <sect2 id='config-set-classes-OwnerSet'>
-               <title>portage.sets.dbapi.OwnerSet</title>
-               <para>
-               Package set which contains all packages
-               that own one or more files.
-               This class supports the following options:
-               <itemizedlist>
-               <listitem><varname>files</varname>: Required. A list of file paths
-               that should be used to create the package set.
-               </listitem>
-               </itemizedlist>
-               </para>
-               </sect2>
-               <sect2 id='config-set-classes-VariableSet'>
-               <title>portage.sets.dbapi.VariableSet</title>
-               <para>
-               Package set which contains all packages
-               that match specified values of specified variable.
-               This class supports the following options:
-               <itemizedlist>
-               <listitem><varname>variable</varname>: The name of
-               the specified variable whose values are checked.
-               </listitem>
-               <listitem><varname>includes</varname>: A list of
-               values that must be contained within the specified
-               variable.
-               </listitem>
-               <listitem><varname>excludes</varname>: A list of
-               values that must not be contained within the specified
-               variable.
-               </listitem>
-               <listitem><varname>metadata-source</varname>: Optional, defaults to
-               "vartree". Specifies the repository to use for getting the metadata
-               to check.</listitem>
-               </itemizedlist>
-               </para>
-               </sect2>
-               <sect2 id='config-set-classes-DowngradeSet'>
-               <title>portage.sets.dbapi.DowngradeSet</title>
-               <para>
-               Package set which contains all packages
-               for which the highest visible ebuild version is lower than
-               the currently installed version.
-               This class doesn't support any extra options.
-               </para>
-               </sect2>
-               <sect2 id='config-set-classes-PreservedLibraryConsumerSet'>
-               <title>portage.sets.libs.PreservedLibraryConsumerSet</title>
-               <para>
-               A special set used to rebuild all packages that need a preserved library that only
-               remains due to <varname>FEATURES="preserve-libs"</varname>.
-               </para>
-
-                       <sect3>
-                       <title>Single Set Configuration</title>
-                       <para>
-                       This class supports the following option:
-                       <itemizedlist>
-                       <listitem><varname>debug</varname>: Generate extra output useful to figure out why
-                               certain packages are included in the set, as it's not always obvious.
-                       </listitem>
-                       </itemizedlist>
-                       </para>
-                       </sect3>
-               </sect2>
-       </sect1>
-       
-       <sect1 id='config-set-defaults'>
-       <title>Default Sets</title>
-       <para>
-       By default, Portage already creates a few default sets that can be used 
-       without further configuration. See <xref linkend='config-set-locations'/>
-       and <xref linkend='config-set-syntax'/> for details on how to change those
-       defaults.
-       </para>
-       <para>
-       The default sets are:
-       <itemizedlist>
-       <listitem><varname>system</varname>: uses <classname>PackagesSystemSet</classname></listitem>
-       <listitem><varname>world</varname>: uses <classname>WorldSet</classname></listitem>
-       <listitem><varname>security</varname>: uses <classname>NewAffectedSet</classname> with default options</listitem>
-       <listitem><varname>installed</varname>: uses <classname>EverythingSet</classname></listitem>
-       <listitem><varname>preserved-rebuild</varname>: uses <classname>PreservedLibraryConsumerSet</classname></listitem>
-       <listitem><varname>live-rebuild</varname>: uses <classname>VariableSet</classname></listitem>
-       <listitem><varname>module-rebuild</varname>: uses <classname>OwnerSet</classname></listitem>
-       <listitem><varname>downgrade</varname>: uses <classname>DowngradeSet</classname></listitem>
-       </itemizedlist>
-       Additionally the default configuration includes a multi set section based on
-       the <classname>StaticFileSet</classname> defaults that creates a set for each 
-       file in <filename>/etc/portage/sets</filename> for convenience.
-       </para>
-       </sect1>
-</chapter>
index bfe9750d3f4a51cfa5f21c6c85124fdc353589cb..8d7b0cac8f4b152bee4896a95f38d9085d450676 100644 (file)
@@ -21,7 +21,6 @@
        <!ENTITY qa SYSTEM "qa.docbook">
        <!ENTITY config SYSTEM "config.docbook">
        <!ENTITY config_bashrc SYSTEM "config/bashrc.docbook">
-       <!ENTITY config_set SYSTEM "config/sets.docbook">
 ]>
 
 <book id="portage" lang="en">