disappear-replace.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. From ian Tue Apr 18 23:30:04 1995
  2. X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil]
  3. [nil nil nil nil nil nil nil nil nil nil nil nil "^To:" nil nil nil nil nil nil nil]
  4. nil)
  5. X-VM-Summary-Format: "%3n %a %2d %3m %-19.19F %s\n"
  6. X-VM-Labels: nil
  7. X-VM-VHeader: ("Resent-" "From:" "Sender:" "To:" "Apparently-To:" "Cc:" "Subject:" "Date:") nil
  8. X-VM-Bookmark: 5
  9. To: Debian developers list <debian-devel@pixar.com>
  10. Subject: Handling of base packages
  11. I propose to implement the following scheme to enable obsolete base
  12. packages to disappear, and to allow files in the base packages to move
  13. between one package and another.
  14. 1. When a package is installed, and contains files that are already
  15. marked as belonging to some other package, the older package will have
  16. the files that have been overwritten removed from its file list.
  17. 2. When a package ceases to contain any files due to the action of
  18. point 1 above, its postrm script is run with the argument `disappear'
  19. (in place of `remove', `purge' or whatever). It will then be moved
  20. into the `purge ok not-installed' state, so that it will cease to
  21. appear in dpkg and dselect lists. Its conffiles will be ignored,
  22. *not* purged. The prerm will *not* be run as the packaging system
  23. doesn't know what files are in a package until it unpacks it.
  24. This will all happen during the `unpack' phase of the replacing
  25. package.
  26. 3. If a base system package which is being installed conflicts with
  27. another base system package which is currently installed on the
  28. system, the currently installed one will be removed first (the prerm
  29. will be run with `replace <package> <version>' as arguments, then the
  30. package will be removed, then the postrm will be run, likewise with
  31. `replace'). If the replacement fails the removal will be aborted,
  32. involving running the old packages' scripts with `abort-replace'.
  33. 4. Base system packages may not be removed except under 2. or 3.
  34. above. (There will be a --force-remove-base flag to allow foolhardy
  35. users to go ahead anyway.)
  36. Ian.