diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-08-11 01:36:23 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-08-11 01:36:23 +0200 |
commit | 0a7370ca91289db3d23d72aeac397edfe3dfb75b (patch) | |
tree | a268cee713cb295851634d3a4a91c7283b564952 /doc | |
parent | 6b3ddbd059c403efeb40d81c29f2cae6e8f5b1bf (diff) | |
parent | 28557f94578602f9ce0011501a2259bd98ab0688 (diff) |
Merge branch 'feature/apt-dpkg-comm'
Diffstat (limited to 'doc')
-rw-r--r-- | doc/apt.conf.5.xml | 84 | ||||
-rw-r--r-- | doc/external-installation-planner-protocol.txt | 4 |
2 files changed, 10 insertions, 78 deletions
diff --git a/doc/apt.conf.5.xml b/doc/apt.conf.5.xml index 09db5a0e0..cfc840ae9 100644 --- a/doc/apt.conf.5.xml +++ b/doc/apt.conf.5.xml @@ -904,84 +904,14 @@ APT::Compressor::rev { <listitem><para>These options are passed to &dpkg-buildpackage; when compiling packages; the default is to disable signing and produce all binaries.</para></listitem> </varlistentry> - </variablelist> - <refsect2><title>dpkg trigger usage (and related options)</title> - <para>APT can call &dpkg; in such a way as to let it make aggressive use of triggers over - multiple calls of &dpkg;. Without further options &dpkg; will use triggers once each time it runs. - Activating these options can therefore decrease the time needed to perform the - install or upgrade. Note that it is intended to activate these options per default in the - future, but as it drastically changes the way APT calls &dpkg; it needs a lot more testing. - <emphasis>These options are therefore currently experimental and should not be used in - production environments.</emphasis> It also breaks progress reporting such that all front-ends will - currently stay around half (or more) of the time in the 100% state while it actually configures - all packages.</para> - <para>Note that it is not guaranteed that APT will support these options or that these options will - not cause (big) trouble in the future. If you have understand the current risks and problems with - these options, but are brave enough to help testing them, create a new configuration file and test a - combination of options. Please report any bugs, problems and improvements you encounter and make sure - to note which options you have used in your reports. Asking &dpkg; for help could also be useful for - debugging proposes, see e.g. <command>dpkg --audit</command>. A defensive option combination would be -<literallayout>DPkg::NoTriggers "true"; -PackageManager::Configure "smart"; -DPkg::ConfigurePending "true"; -DPkg::TriggersPending "true";</literallayout></para> - - <variablelist> - <varlistentry><term><option>DPkg::NoTriggers</option></term> - <listitem><para>Add the no triggers flag to all &dpkg; calls (except the ConfigurePending call). - See &dpkg; if you are interested in what this actually means. In short: &dpkg; will not run the - triggers when this flag is present unless it is explicitly called to do so in an extra call. - Note that this option exists (undocumented) also in older APT versions with a slightly different - meaning: Previously these option only append --no-triggers to the configure calls to &dpkg; - - now APT will also add this flag to the unpack and remove calls.</para></listitem> - </varlistentry> - <varlistentry><term><option>PackageManager::Configure</option></term> - <listitem><para>Valid values are "<literal>all</literal>", - "<literal>smart</literal>" and "<literal>no</literal>". - The default value is "<literal>all</literal>", which causes APT to - configure all packages. The "<literal>smart</literal>" way is to - configure only packages which need to be configured before another - package can be unpacked (Pre-Depends), and let the rest be configured - by &dpkg; with a call generated by the ConfigurePending option (see - below). On the other hand, "<literal>no</literal>" will not configure - anything, and totally relies on &dpkg; for configuration (which at the - moment will fail if a Pre-Depends is encountered). Setting this option - to any value other than <literal>all</literal> will implicitly also - activate the next option by default, as otherwise the system could end - in an unconfigured and potentially unbootable state.</para></listitem> - </varlistentry> - <varlistentry><term><option>DPkg::ConfigurePending</option></term> - <listitem><para>If this option is set APT will call <command>dpkg --configure --pending</command> - to let &dpkg; handle all required configurations and triggers. This option is activated automatically - per default if the previous option is not set to <literal>all</literal>, but deactivating it could be useful - if you want to run APT multiple times in a row - e.g. in an installer. In these sceneries you could - deactivate this option in all but the last run.</para></listitem> - </varlistentry> - <varlistentry><term><option>DPkg::TriggersPending</option></term> - <listitem><para>Useful for the <literal>smart</literal> configuration as a package which has pending - triggers is not considered as <literal>installed</literal>, and &dpkg; treats them as <literal>unpacked</literal> - currently which is a showstopper for Pre-Dependencies (see debbugs #526774). Note that this will - process all triggers, not only the triggers needed to configure this package.</para></listitem> - </varlistentry> - <varlistentry><term><option>OrderList::Score::Immediate</option></term> - <listitem><para>Essential packages (and their dependencies) should be configured immediately - after unpacking. It is a good idea to do this quite early in the upgrade process as these - configure calls also currently require <literal>DPkg::TriggersPending</literal> which - will run quite a few triggers (which may not be needed). Essentials get per default a high score - but the immediate flag is relatively low (a package which has a Pre-Depends is rated higher). - These option and the others in the same group can be used to change the scoring. The following - example shows the settings with their default values. - <literallayout>OrderList::Score { - Delete 500; - Essential 200; - Immediate 10; - PreDepends 50; -};</literallayout> - </para></listitem> - </varlistentry> - </variablelist> - </refsect2> + <varlistentry><term><option>DPkg::ConfigurePending</option></term> + <listitem><para>If this option is set APT will call <command>dpkg --configure --pending</command> + to let &dpkg; handle all required configurations and triggers. This option is activated by default, + but deactivating it could be useful if you want to run APT multiple times in a row - e.g. in an installer. + In this scenario you could deactivate this option in all but the last run.</para></listitem> + </varlistentry> + </variablelist> </refsect1> <refsect1> diff --git a/doc/external-installation-planner-protocol.txt b/doc/external-installation-planner-protocol.txt index 44fa8ff53..4bad9da0a 100644 --- a/doc/external-installation-planner-protocol.txt +++ b/doc/external-installation-planner-protocol.txt @@ -248,7 +248,9 @@ before it was unpacked, dependency relations must be satisfied, …), but they don't need to be complete: A planner can and should expect that any package which wasn't explicitly configured will be configured at the end automatically. That also means through that a planner is not allowed to -produce a solution in which a package remains unconfigured. +produce a solution in which a package remains unconfigured. Also, +packages which are requested to be removed will be automatically removed +at the end if not marked for removal explicitly earlier. In terms of expressivity, all stanzas can carry one single field each, as APT-IDs are enough to pinpoint packages to be installed/removed. |