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

Bug#156463: dpkg: Doesn't replace obsolete dirs with symlinks on upgrade

Josip Rodin wrote:

On Tue, Aug 13, 2002 at 04:58:46PM -0400, Adam C Powell IV wrote:
I won't reopen the bug, but *please* reconsider and reopen it yourself, I'm pretty sure this is not the way it's supposed to work.
dpkg doesn't know or doesn't have a guarantee that there isn't actually
anything within the directory that you want to remove, so it doesn't try it.

I don't understand. "dpkg --remove libc6-dev" *does* remove the /usr/include/asm/arch directory (and its parent too). But with that directory in existence (i.e., with the old package installed, not removed), "dpkg --install libc6-dev_2.2.5-13_arm.deb" does *not* remove the directory and replace it with the symlink in the new package as it should.

So --remove knows to remove the directory (knows that there isn't anything there and that it's unique to this package) and a subsequent --install succeeds. But upgrade fails, and causes breakage if something with the same name was supposed to replace the directory. How is this not a bug?

Arguably it could go check, but I guess there's a reason against that if
nobody did that yet.

So upgrading doesn't remove *any* directories while upgrading? I'm curious, why not just do the --remove and --install, is there such a big performance hit associated with removing and creating directories?

Please clarify.


-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Welcome to the best software in the world today cafe! <http://lyre.mit.edu/%7Epowell/The_Best_Stuff_In_The_World_Today_Cafe.ogg>

Reply to: