[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: After upgrade, what do you do about "removed" and "obsolete" packages ?



Hi,

just for the archive:

I think i found the source code which emits the "[...]" strings of
apt-list:

  https://sources.debian.org/src/apt/2.9.4/apt-private/private-output.cc/#L292

The possible status strings are:

  [installed,upgradable to: ...]
  [installed,local]
  [installed,auto-removable]
  [installed,automatic]
  [installed]
  [upgradable from: ...]"
  [residual-config]

More seem not to exist.

Their meaning has to be guessed from the names of methods, variables, and
constants in the code. (I believe "pkgCache::Flag::Auto" is a constant and
not an overloaded monster car. With C++ one never knows what's behind a
name.)

   if (P->CurrentVer != 0)
   {
      if (P.CurrentVer() == V)
      {
         if (state.Upgradable() && state.CandidateVer != NULL)
            strprintf(StatusStr, _("[installed,upgradable to: %s]"),
         else if (V.Downloadable() == false)
            StatusStr = _("[installed,local]");
         else if(V.Automatic() == true && state.Garbage == true)
            StatusStr = _("[installed,auto-removable]");
         else if ((state.Flags & pkgCache::Flag::Auto) == pkgCache::Flag::Auto)
            StatusStr = _("[installed,automatic]");
         else
            StatusStr = _("[installed]");
      }
      else if (state.CandidateVer == V && state.Upgradable())
         strprintf(StatusStr, _("[upgradable from: %s]"),
               InstalledVerStr.c_str());
   }
   else if (V.ParentPkg()->CurrentState == pkgCache::State::ConfigFiles)
      StatusStr = _("[residual-config]");

---------------------------------------------------------------------
About my post-upgrade activities:

I ran the command that is proposed in
  https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.en.html#purge-removed-packages
  apt purge '~c'

It flooded me with package names under the headline

  The following packages were automatically installed and are no longer required:
  ...
  Use 'apt autoremove' to remove them.

Then it offered me a list with slightly frightening wildcards:

  The following packages will be REMOVED:
    fuse* libreoffice-avmedia-backend-gstreamer* linux-image-4.19.0-17-amd64*
    linux-image-4.19.0-20-amd64* linux-image-4.19.0-9-amd64* python*
    python-twisted-core* wicd-daemon* wicd-gtk*

After my confirmation it purged the 9 configurations which were reported
by "apt list '~c'"
  Purging configuration files for fuse (2.9.9-5) ...
  ...
  Purging configuration files for python (2.7.16-1) ...
and as last line said
  Processing triggers for dbus (1.14.10-1~deb12u1) ...

Somewhat mistrusting about the removal of "python" i asked apt-file from
where my current /usr/bin/python stems. Answer: python-is-python3 .
(As side result i now wonder how the result of /usr/bin/python3-pasteurize
might taste and how long it stays fresh.)


I will probably run "apt autoremove" after verifying that the few
worthy local packages are not in the list proposed for autoremoval.


Have a nice day :)

Thomas


Reply to: