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

Re: Kernel version and dpkg bug?



[ Please don't Cc: public replies to me. ]

Paul Slootman:
> I reported a similar problem with the xview packages yesterday. I've
> been strace-ing dpkg, and what happens is this:
> 
>     symlink("/etc/blabla", "/usr/doc/xview/blabla.dpkg-new");
>     chown("/usr/doc/xview/blabla.dpkg-new", 0, 0);
> 
> This fails if /etc/blabla doesn't exist already. This only happens with
> some packages, because in others the file being linked to is in the
> data.tar.gz file earlier on, so it exists. A quick workaround is
> "touch /etc/blabla" before running dpkg, I've discovered. Not good,
> however.

If I have understood things correctly, chown is supposed to follow
symlinks. If one wants to operate on the symlink itself, one needs to
use lchown. However, our libc (libc6.1-dev version 2.0.7pre1-1) says,
when linking:

	warning: lchown is not implemented and will always fail

lchown seems to be a new addition to the kernel.

> > (Linus put lchown() on the old chown() system call number, thereby
> > retaining backwards binary compatibility).
> 
> Hmm, maybe not yet in 2.1.87? I'll try the latest next week.

2.1.88 has the problem.


Attachment: pgpIbsNsPOuEr.pgp
Description: PGP signature


Reply to: