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

Re: Package requiring a customised version of libc6

Hash: SHA1

Don Armstrong wrote:
> The people who have responded to you so far strongly suspect that it's
> not worth the effort, but without knowing why the glibc we already
> distribute can't be used, it's hard for us to give you a definitive
> answer.


As far as I can tell --- I've contacted upstream to confirm this --- what
plasticfs wants to do is to override the underlying system calls (or at least,
the functions that call them) that access the file system. Unfortunately,
those system calls are not exposed by default, so plasticfs wants a tweaked
glibc in which they are exposed. By overriding the system calls rather than
the higher-level functions, it means that plasticfs doesn't have to override
the higher-level functions --- they work automatically.

fakeroot and fakechroot appear to operate by overriding *all* glibc functions
that might access the file system. I've had a look at the code... it's
unpleasant. There are a lot of functions that might do this, and not all of
them are easily overridable, and quite a lot of them are rather obscure. (I'd
never even heard of ftw() and nftw() before now.). This makes it much harder
to catch coverage issues. A function that isn't wrapped will work on the real
file system, rather than the virtual one. I notice that fakechroot doesn't
wrap getpwent(), for example --- which means it'll always use the *real*
/etc/passwd, rather than the emulated one. This could be intentional, but as
it's not mentioned in the docs I suspect it's a bug.

I've given up on the replacing-glibc idea; it was pretty horrible anyway.
Unfortunately, the alternatives seem just as horrible, in different ways...

- --
┌── dg@cowlark.com ─── http://www.cowlark.com ───────────────────
│ "There does not now, nor will there ever, exist a programming language in
│ which it is the least bit hard to write bad programs." --- Flon's Axiom
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


Reply to: