|
|
48.
|
|
|
LIMITATIONS
|
|
|
type: SH
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:205
|
|
|
49.
|
|
|
B<Library versions>
|
|
|
type: IP
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:207
|
|
|
50.
|
|
|
Every command executed within B<fakeroot> needs to be linked to the same version of the C library as B<fakeroot> itself.
|
|
|
type: Plain text
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:214
|
|
|
51.
|
|
|
B<open()/create()>
|
|
|
type: IP
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:214
|
|
|
52.
|
|
|
fakeroot doesn't wrap open(), create(), etc. So, if user B<joost> does either
|
|
|
type: Plain text
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:218
|
|
|
53.
|
|
|
touch foo 
fakeroot 
ls -al foo
|
|
|
type: Plain text
|
|
|
represents a line break.
Start a new line in the equivalent position in the translation.
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:222
|
|
|
54.
|
|
|
or the other way around,
|
|
|
type: Plain text
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:224
|
|
|
55.
|
|
|
fakeroot 
touch foo 
ls -al foo
|
|
|
type: Plain text
|
|
|
represents a line break.
Start a new line in the equivalent position in the translation.
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:228
|
|
|
56.
|
|
|
fakeroot has no way of knowing that in the first case, the owner of foo really should be B<joost> while the second case it should have been B<root>. For the Debian packaging, defaulting to giving all "unknown" files uid=gid=0, is always OK. The real way around this is to wrap B<open()> and B<create()>, but that creates other problems, as demonstrated by the libtricks package. This package wrapped many more functions, and tried to do a lot more than B<fakeroot .> It turned out that a minor upgrade of libc (from one where the B<stat>() function didn't use B<open>() to one with a B<stat>() function that did (in some cases) use B<open>() ), would cause unexplainable segfaults (that is, the libc6 B<stat>() called the wrapped B<open>() , which would then call the libc6 B<stat>() , etc). Fixing them wasn't all that easy, but once fixed, it was just a matter of time before another function started to use open(), never mind trying to port it to a different operating system. Thus I decided to keep the number of functions wrapped by fakeroot as small as possible, to limit the likelihood of \(oqcollisions\(cq.
|
|
|
type: Plain text
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:264
|
|
|
57.
|
|
|
GNU configure (and other such programs)
|
|
|
type: IP
|
|
|
|
|
(no translation yet)
|
|
|
|
Located in
../doc/fakeroot.1:264
|