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

Re: dpkg bug

>I get this with some packages:
>Preparing to replace manpages 1.19-1 (using .../doc/manpages_1.19-1.deb) ...
>Unpacking replacement manpages ...
>dpkg: error processing /usr/local/debian/dists/frozen/main/binary-alpha/doc/manpages_1.19-1.deb (--install):
>error setting ownership of symlink `usr/man/man4/kmem.4.gz': No such file or directory
>zsh: segmentation fault  dpkg -i
>This seems to happen whenever there are alternatives... This is quite
>a bad bug!

It's not a bug, it's a feature ;) You are running a late 2.1-series kernel,
which introduced the lchown(2) call. It used to be that chown(2) changed
the owner of the link, now it changes the owner of whatever the link points
to (and fails with ENOENT if it's a dangling symlink). Compile this snippet
with "cc -fPIC -Wl,-shared -o chown.so chown.c" and set LD_PRELOAD to point
to the resulting .so before running dpkg:

#define __LIBRARY__
#include <asm/unistd.h>

/* Quick wrapper to turn chown into lchown */

#ifndef __NR_lchown
#define __NR_lchown 208

_syscall3(int, lchown, const char *, path, int, owner, int, group);

int chown(const char *path, int owner, int group)
        return lchown(path,owner,group);


 -- Of course I'm crazy, but that doesn't mean I'm wrong.
Anders Hammarquist   |       Mud at Kingdoms        | iko@netg.se
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 debian-alpha-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Reply to: