Update Status field values handling
authorGuillem Jover <guillem@debian.org>
Mon, 1 Sep 2014 14:09:48 +0000 (16:09 +0200)
committerMichael Vogt <mvo@debian.org>
Wed, 8 Oct 2014 15:48:44 +0000 (17:48 +0200)
Remove long obsolete (hold, hold-reinstreq, removal-failed) or just
wrong (post-inst-failed vs postinst-failed) values, that have been
autoconverted by dpkg at run-time to their new equivalents, so there
should not be any such instance in any recent system (removal-failed
since dpkg 1.1.4 in Apr 1996, hold and hold-reinstreq since dpkg
1.2.0 in May 1996). dpkg even stopped doing the mapping in 1.15.4
and 1.15.8 respectively.

At the same time sort the list in the same order as they appear in
the dpkg code.

apt-pkg/deb/deblistparser.cc
doc/dpkg-tech.dbk

index 8311b5d..4eef66c 100644 (file)
@@ -338,13 +338,9 @@ unsigned short debListParser::VersionHash()
 /* Status lines are of the form,
      Status: want flag status
    want = unknown, install, hold, deinstall, purge
-   flag = ok, reinstreq, hold, hold-reinstreq
-   status = not-installed, unpacked, half-configured,
-            half-installed, config-files, post-inst-failed, 
-            removal-failed, installed
-   
-   Some of the above are obsolete (I think?) flag = hold-* and 
-   status = post-inst-failed, removal-failed at least.
+   flag = ok, reinstreq
+   status = not-installed, config-files, half-installed, unpacked,
+            half-configured, triggers-awaited, triggers-pending, installed
  */
 bool debListParser::ParseStatus(pkgCache::PkgIterator &Pkg,
                                pkgCache::VerIterator &Ver)
@@ -401,15 +397,13 @@ bool debListParser::ParseStatus(pkgCache::PkgIterator &Pkg,
 
    // Process the flag field
    WordList StatusList[] = {{"not-installed",pkgCache::State::NotInstalled},
+                            {"config-files",pkgCache::State::ConfigFiles},
+                            {"half-installed",pkgCache::State::HalfInstalled},
                             {"unpacked",pkgCache::State::UnPacked},
                             {"half-configured",pkgCache::State::HalfConfigured},
-                            {"installed",pkgCache::State::Installed},
-                            {"half-installed",pkgCache::State::HalfInstalled},
-                            {"config-files",pkgCache::State::ConfigFiles},
                             {"triggers-awaited",pkgCache::State::TriggersAwaited},
                             {"triggers-pending",pkgCache::State::TriggersPending},
-                            {"post-inst-failed",pkgCache::State::HalfConfigured},
-                            {"removal-failed",pkgCache::State::HalfInstalled},
+                            {"installed",pkgCache::State::Installed},
                             {NULL, 0}};
    if (GrabWord(string(Start,I-Start),StatusList,Pkg->CurrentState) == false)
       return _error->Error("Malformed 3rd word in the Status line");
index 660ccab..2584cf6 100644 (file)
@@ -222,13 +222,11 @@ Where <replaceable>Want</replaceable> may be one of
 <emphasis>unknown</emphasis>, <emphasis>install</emphasis>,
 <emphasis>hold</emphasis>, <emphasis>deinstall</emphasis>,
 <emphasis>purge</emphasis>. <replaceable>Flag</replaceable> may
-be one of <emphasis>ok</emphasis>, <emphasis>reinstreq</emphasis>,
-<emphasis>hold</emphasis>,
-<emphasis>hold-reinstreq</emphasis>. <replaceable>Status</replaceable> may
-be one of <emphasis>not-installed</emphasis>, <emphasis>unpacked</emphasis>,
-<emphasis>half-configured</emphasis>, <emphasis>installed</emphasis>,
-<emphasis>half-installed</emphasis> <emphasis>config-files</emphasis>,
-<emphasis>post-inst-failed</emphasis>, <emphasis>removal-failed</emphasis>.
+be one of <emphasis>ok</emphasis>, <emphasis>reinstreq</emphasis>.
+<replaceable>Status</replaceable> may
+be one of <emphasis>not-installed</emphasis>, <emphasis>config-files</emphasis>,
+<emphasis>half-installed</emphasis>, <emphasis>unpacked</emphasis>,
+<emphasis>half-configured</emphasis> and <emphasis>installed</emphasis>.
 The states are as follows:-
 </para>
 <variablelist>
@@ -287,22 +285,6 @@ nothing else.
 </para>
 </listitem>
 </varlistentry>
-<varlistentry>
-<term>post-inst-failed</term>
-<listitem>
-<para>
-Old name for half-configured. Do not use.
-</para>
-</listitem>
-</varlistentry>
-<varlistentry>
-<term>removal-failed</term>
-<listitem>
-<para>
-Old name for half-installed. Do not use.
-</para>
-</listitem>
-</varlistentry>
 </variablelist>
 <para>
 The two last items are only left in dpkg for compatibility - they are