Package: fakeroot
Version: 1.2.10
Severity: important

There seems to be a race condition between faked and the fakeroot script
that may lead to not updating the save-file when fakeroot is called
with a single command as argument (or for the first command in a
list of commands):

rm -f devnode .fakeroot.env
fakeroot -s .fakeroot.env mknod devnode c 5 1
fakeroot -i .fakeroot.env ls -l devnode .fakeroot.env

results in:
ipc1:~/tmp/fakeroot_bugs> fakeroot -i .fakeroot.env ls -l devnode .fakeroot.env
fakeroot: database file `.fakeroot.env' does not exist.
-rw-r--r--  1 root root 0 Aug  1 12:01 .fakeroot.env
-rw-r--r--  1 root root 0 Aug  1 12:01 devnode

The existence of .fakeroot.env in the 'ls' output despite the error
message shows that the file has obviously been created only after
the second fakeroot invocation.


When a dummy command is added things look better:
rm -f devnode .fakeroot.env
fakeroot -s .fakeroot.env sh -c "rm -f devnode;mknod devnode c 5 1"
fakeroot -i .fakeroot.env ls -l devnode .fakeroot.env

sometimes produces the correct result, but sometimes:
fakeroot: database file `.fakeroot.env' does not exist.
-rw-r--r--  1 root root 61 Aug  1 12:06 .fakeroot.env
-rw-r--r--  1 root root  0 Aug  1 12:06 devnode

repeating the 'ls' command gives:
-rw-r--r--  1 root root   61 Aug  1 12:06 .fakeroot.env
crw-r--r--  1 root root 5, 1 Aug  1 12:06 devnode


Piping commands into fakeroot seems to work reliably:
rm -f devnode .fakeroot.env
echo mknod devnode c 5 1 | fakeroot -s .fakeroot.env
fakeroot -i .fakeroot.env ls -l devnode .fakeroot.env

Result:
-rw-r--r--  1 root root   61 Aug  1 11:56 .fakeroot.env
crw-r--r--  1 root root 5, 1 Aug  1 11:56 devnode


Lothar Wassmann

-- System Information:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.4.27
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages fakeroot depends on:
ii  libc6                 2.3.2.ds1-22sarge3 GNU C Library: Shared libraries an

-- no debconf information


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

Reply via email to