Re: dpkg 18.104.22.168.1 bug
>> Second, this isn't a library problem. If the kernel changed
>> applications have to cope with it, for the better or the worse.
>I looked at a strace output for a dpkg that goes wrong. While unpacking
>the tar file, it does symlink() and then chown()s the symlink, and THEN
>creates the file the symlink it points to. Unpacking the same tar file
>with regular tar doesn't give this problem, so it's IMHO clearly a dpkg
>problem as it tries to handle tar files but fails to do so correctly.
I looked a bit at the code for dpkg, and does indeed do it wrong.
Unfortunately, just patching it to do lchown instead of chown will fail
(at least on i386/2.0.x). I'd consider this a bug in libc. Anyway,
dpkg needs to call lchown() instead of chown() since that is really what
it wants to do. libc should be fixed to call chown() for lchown() iff
lchown() fails with ENOSYS. The interim fix is probably to have dpkg
call chown() iff lchown() fail with ENOSYS.
Who wants to file the bug reports?
-- Of course I'm crazy, but that doesn't mean I'm wrong.
Anders Hammarquist | Mud at Kingdoms | firstname.lastname@example.org
NetGuide Scandinavia | telnet kingdoms.se 1812 | Fax: +46 31 50 79 39
http://www.netg.se | | Tel: +46 31 50 79 40
To UNSUBSCRIBE, email to email@example.com
with a subject of "unsubscribe". Trouble? Contact firstname.lastname@example.org