Bug#1744: dpkg: cannot scan updates directory `/var/lib/dpkg/updates/': No such file or directory
I had written:
> On a newly created (though slightly fudged) debian system, I'm getting
> the message:
> dpkg: cannot scan updates directory `/var/lib/dpkg/updates/': No such file or directory
> when I try and use dpkg (-i or -C, for instance).
Here is the relevant bit of code from dpkg:
cdn= scandir(updatefnbuf, &cdlist, &ulist_select, alphasort);
if (cdn == -1) ohshite("cannot scan updates directory `%.255s'",updatefnbuf);
> /var/lib/dpkg/updates/ exists and is empty.
/var/lib/dpkg/updates is usually empty when dpkg starts up, so its
emptiness shouldn't be a problem.
Are you using an odd libc of some kind ?
I was indeed using some kind of mix of the libc from the base disks
and and libs copied off another debian machine. I'd needed to do this
to bring up a debian umsdos system on a laptop. However, at this
point I've re-installed libc-4.6.27-6.deb (using dpkg-deb -e and -X
and manually running the postinst from the DEBIAN directory), and I
still have this problem.
It does look like scandir() is the culprit -- and dpkg-deb -I also
fails. I've written perl programs which call readdir() on this new
system and they seem to work fine, so I have some confidence that this
isn't a umsdos filesystem implementation problem (though I'm not ready
to cross that off my list either).
It would be ideal, for me, if you could re-write dpkg, etc. without
scandir. However, I imagine this is going to have to get fixed in
libc or some such.
I'll see if I can find the source for scandir to expedite this.