On Wed, 10 Sep 2008 15:17:57 +0000
Tzafrir Cohen <[EMAIL PROTECTED]> wrote:

> Be careful with fakeroot:
> [EMAIL PROTECTED]:~$ ls -l /etc/ | grep -v root
> total 2156
> -rw-r-----  1 asterisk asterisk   4500 2008-08-12 23:31 amportal.conf
> drwxrwxr-x  4 asterisk asterisk   4096 2008-09-10 13:57 asterisk
> -rw-r-----  1 mpd      audio      8037 2008-01-30 05:25 mpd.conf
> drwxr-x---  2 partimag partimag   4096 2008-08-31 21:02 partimaged
> [EMAIL PROTECTED]:~$ fakeroot ls -l /etc/ | grep -v root
> total 2156

You're pointing out that within fakeroot, all files that have been
created normally (before fakeroot has started) will show up as
root:root; this is explained in the manpage, IIUC:

> LIMITATIONS

...

>        open()/create()
>               fakeroot doesn’t wrap open(), create(), etc. So, if user joost 
> does either
> 
>               touch foo
>               fakeroot
>               ls -al foo
> 
>               or the other way around,
> 
>               fakeroot
>               touch foo
>               ls -al foo
> 
>               fakeroot has no way of knowing that in the first case, the 
> owner of foo really should be joost
>               while  the second case it should have been root.  For the 
> Debian packaging, defaulting to giv‐
>               ing all "unknown" files uid=gid=0, is always OK. The real way 
> around this is  to  wrap  open()
>               and  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 fakeroot .  It turned out
>               that a minor upgrade of libc (from one where the stat() 
> function didn’t use open() to one with
>               a stat() function that did (in some cases) use open()), would  
> cause  unexplainable  segfaults
>               (that  is, the libc6 stat() called the wrapped open(), which 
> would then call the libc6 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  possi‐
>               ble, to limit the likelihood of ‘collisions’.

In any event, the file I mentioned in my OP, the fakeroot README.saving,
specifically discusses using fakeroot with rsync, and some pitfalls
associated with doing so.

> Tzafrir Cohen         | [EMAIL PROTECTED] | VIM is

Celejar
--
mailmin.sourceforge.net - remote access via secure (OpenPGP) email
ssuds.sourceforge.net - A Simple Sudoku Solver and Generator


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to