[Aptitude-devel] Bug#835372: Bug#835372: Bug#835372: aptitude: behavior change with 0.7.6 with packages that can't be installed breaking automated installations

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Tue Apr 18 19:36:43 UTC 2017

Control: tags -1 + pending


2016-09-17 17:13 Manuel A. Fernandez Montecelo:
>2016-08-25 02:13 Thomas Lange:
>>>>>>>On Thu, 25 Aug 2016 01:59:47 +0200, Axel Beckert <abe at debian.org> said:
>>   > So let's try to define the exact behaviour needed for automated setups
>>   > where package lists might be not 100% fit what's available.
>>   > * Installation requests for packages which don't exist in the package
>>   >   lists.
>>   > * Removal and purge request for not installed or non-existent
>>   >   packages.
>>   > * Hold requests for not installed packages.
>>This is missing:
>>Packages which are in the package list, but do not have an
>>installation candidate.
>>For me it's OK to have this as a wishlist bug, but it's very
>>important, that this option will be implemented for stretch. FAI and
>>other automated installation systems did not rely on the bad behaviour
>>of aptitude, but the used this behaviour as a usefull feature.
>>I would love to see a comment from the aptitude/apt-get developers, if
>>this new option can be implemented for stretch.
>Reverting is not very likely, sorry.  The change was not made late in
>the development cycle of the release (as we are now) for a reason.
>The option of implementing a config flag for this would maybe make
>sense, but I haven't had much time in the last few weeks and I will be
>busy for a while yet, so let's see.

Indeed, I have been through some hellish months.  Maybe we're still in
time for stretch, though, let's try.

Please check this option in the next version and tell me if it works and
is a good solution (I think that it is for you, because it works as it
did before, ignoring errors).

About the fix itself...  I think that -f / Aptitude::CmdLine::Fix-Broken
[1] serves for this purpose, so I implemented a small check for "if
errors but fix_broken, continue anyway":

  $ sudo ./src/aptitude reinstall -f anacron does-not-exist
  Couldn't find any package whose name or description matched "does-not-exist"
  Unable to apply some actions but Aptitude::CmdLine::Fix-Broken (-f) is enabled, continuing...
  The following packages will be REINSTALLED:
  0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 64 not upgraded.
  Need to get 0 B/32.8 kB of archives. After unpacking 0 B will be used.
  (Reading database ... 254749 files and directories currently installed.)
  Preparing to unpack .../anacron_2.3-23_amd64.deb ...
  Unpacking anacron (2.3-23) over (2.3-23) ...
  Processing triggers for systemd (232-22) ...
  Processing triggers for man-db ( ...
  Setting up anacron (2.3-23) ...

[1] From the man page:

  Try hard to fix the dependencies of broken packages, even if it means
  ignoring the actions requested on the command line.

  This corresponds to the configuration item Aptitude::CmdLine::Fix-Broken.

Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>

More information about the Aptitude-devel mailing list