On Tue, Apr 18, 2006 at 12:14:25PM +0200, Eduard Bloch wrote: > > If you move the files, dpkg may be unable to find them at package > > uninstallation, resulting in orphaned files on the filesystem; or there may > > Not 100% correct. The problem of deinstallation is covered with the > symlink workaround since dpkg AFAICS follows the symlinks in the path > when removing a file.
Hmm, you're assuming that we don't, at some later date (post-etch), drop the /usr/X11R6/bin compat symlink. If one of these packages is removed *after* that point, dpkg has no way to locate the binaries in order to remove them. > It's only the other way round that does create headaches, future > installations of third-party packages which may try to install files > into X11R6/bin and may overwrite files from other packages. I thought > a while about that and could not come up with any sane solution, not > even hacking dpkg's .list files would help because of missing > information. Only blacklisting this directory in dpkg would have been a > "good" solution but it's too late for that. Yes, that is the other side of the issue. > > Forcing the user to deal with the conflict is the only safe way of handling > > files left in /usr/X11R6/bin. It should probably be turned into a debconf > > note later on, but for the time being I think the current behavior is as > > good as it's going to get. > > "safe" does not mean reliable or usefriendly. As I'm using the word "safe", I do mean that it's reliable -- you reliably get one of two results, a successful upgrade or a message telling you that you need to reconcile by hand. > I still think that the current lone "rmdir" hidden in the postinst is not > sufficient. What we need is IMO a list of "dirty" files - files that have > existed in Debian in X11R6/bin directory before and which would certainly > be uninstalled by apt/dpkg during the upgrade. The debconf's config script > should be executed during dpkg-preconfigure (NOTE: not in the middle of > upgrade!), scan the existing /usr/X11R6/bin directory, substract the set > of "dirty" files and if there are still remaining files in the list, then > the user should be given a chance to abort the whole installation before > it starts. And a list of remaining files should be printed. Maybe together > with 3rd-party packages that those files may belong to. > If you wish me to implement a such solution, please say "do it" and I > will try to. If you do compile a list of files that you believe came from packages, what do you do with them if you find them still there when it's time to turn /usr/X11R6/bin into a symlink? -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
signature.asc
Description: Digital signature