Chapter 6. Package maintainer scripts and installation procedure
2 If this fails,
Error unwind, for both cases:
This is the point of no return if
gets this far, it won't back off past this point
if an error occurs. This will leave the package in a fairly bad state, which will require
a successful re installation to clear up, but it's when
starts doing things that are
6 Any files which were in the old version of the package but not in the new are removed.
7 The new file list replaces the old.
8 The new maintainer scripts replace the old.
9 Any packages all of whose files have been overwritten during the installation, and which
aren't required for dependencies, are considered to have been removed. For each such
overwriter overwriter version
2 The package's maintainer scripts are removed.
3 It is noted in the status database as being in a sane state, namely not installed (any
conffiles it may have are ignored, rather than being removed by
). Note that
disappearing packages do not have their prerm called, because
in advance that the package is going to vanish.
10 Any files in the package we're unpacking that are also listed in the file lists of other pack
ages are removed from those lists. (This will lobotomize the file list of the conflicting
package if there is one.)
11 The backup files made during installation, above, are deleted.
12 The new package's status is now sane, and recorded as unpacked .
Here is another point of no return if the conflicting package's removal fails we do not
unwind the rest of the installation; the conflicting package is left in a half removed limbo.
13 If there was a conflicting package we go and do the removal actions (described below),
starting with the removal of the conflicting package's files (any that are also in the pack
age being installed have already been removed from the conflicting package's file list,
and so do not get removed now).