Bug#549920: chown/ls -ld fails on mac os
On Fri, Oct 09, 2009 at 01:47:07PM -0700, john blair wrote: Have a look at the attached diff See if fakeroot 1.14.3 does the trick for you. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#549920: chown/ls -ld fails on mac os
Have a look at the attached diff --- On Fri, 10/9/09, Clint Adams sch...@debian.org wrote: From: Clint Adams sch...@debian.org Subject: Re: Bug#549920: chown/ls -ld fails on mac os To: john blair mailtome200420032...@yahoo.com, 549...@bugs.debian.org Date: Friday, October 9, 2009, 9:34 AM On Tue, Oct 06, 2009 at 12:11:50PM -0700, john blair wrote: *STAT64_SUPPORT was not not set Can you tell me which conditions indicate stat64 support on MacOS/Darwin? *fakeroot didn't intercept versioned symbols, such as fts_read$INODE64 I know nothing about symbol versioning with dyld or whatever is being used, so I don't know if this is possible. *Also, fakeroot didn't intercept fts_children (or rather fts_children$INODE64), which is what ls -ald calls. This is theoretically the easy one. fakeroot.diff Description: Binary data
Bug#549920: chown/ls -ld fails on mac os
On Tue, Oct 06, 2009 at 12:11:50PM -0700, john blair wrote: *STAT64_SUPPORT was not not set Can you tell me which conditions indicate stat64 support on MacOS/Darwin? *fakeroot didn't intercept versioned symbols, such as fts_read$INODE64 I know nothing about symbol versioning with dyld or whatever is being used, so I don't know if this is possible. *Also, fakeroot didn't intercept fts_children (or rather fts_children$INODE64), which is what ls -ald calls. This is theoretically the easy one. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#549920: chown/ls -ld fails on mac os
Package: fakeroot Version: 1.13 Severity: important I built fakeroot-1.13 and fakeroot-1.12.5 for mac os 10.4. On both of them I tried to run the following script with fakeroot #!/bin/bash mkdir -p /tmp/newdir /usr/sbin/chown -R root:wheel /tmp/newdir ls -ld /tmp/newdir with the following result drwxr-xr-x 2 john wheel 68 Oct 5 22:29 /tmp/newdir Instead of root owning newdir, its owned by me. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#549920: chown/ls -ld fails on mac os
On Tue, Oct 06, 2009 at 03:31:53AM -0700, john blair wrote: I built fakeroot-1.13 and fakeroot-1.12.5 for mac os 10.4. On both of them I tried to run the following script with fakeroot #!/bin/bash mkdir -p /tmp/newdir /usr/sbin/chown -R root:wheel /tmp/newdir ls -ld /tmp/newdir with the following result drwxr-xr-x 2 john wheel 68 Oct 5 22:29 /tmp/newdir Instead of root owning newdir, its owned by me. Could you try this and see if it gives any clues? #!/bin/bash mkdir -p /tmp/newdir /usr/sbin/chown -R daemon /tmp/newdir ls -ld /tmp/newdir /usr/sbin/chgrp -R wheel /tmp/newdir ls -ld /tmp/newdir /usr/sbin/chown root /tmp/newdir ls -ld /tmp/newdir /usr/sbin/chown daemon:wheel /tmp/newdir ls -ld /tmp/newdir -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#549920: chown/ls -ld fails on mac os
Btw I am trying this on 10.5 and it doesn't work drwxr-xr-x 2 john wheel 68 Oct 6 11:59 /tmp/newdir drwxr-xr-x 2 john wheel 68 Oct 6 11:59 /tmp/newdir drwxr-xr-x 2 john wheel 68 Oct 6 11:59 /tmp/newdir drwxr-xr-x 2 john wheel 68 Oct 6 11:59 /tmp/newdir According to one of my colleague: ls -ld does a lstat64() syscall, and the syscall is not intercepted by fakeroot. There is a wrapper for lstat64, but it is not enabled (because STAT64_SUPPORT is not set). If we set STAT64_SUPPORT then it gets intercepted properly. But the call from ls does not get intercepted. The ls executable is implemented on top of the fts_*(3) API, in particular fts_read$INODE64, which is implemented by the C library internally by doing a lstat64() call. In summary: *STAT64_SUPPORT was not not set *fakeroot didn't intercept versioned symbols, such as fts_read$INODE64 *Also, fakeroot didn't intercept fts_children (or rather fts_children$INODE64), which is what ls -ald calls. --- On Tue, 10/6/09, Clint Adams sch...@debian.org wrote: From: Clint Adams sch...@debian.org Subject: Re: Bug#549920: chown/ls -ld fails on mac os To: john blair mailtome200420032...@yahoo.com, 549...@bugs.debian.org Date: Tuesday, October 6, 2009, 9:40 PM On Tue, Oct 06, 2009 at 03:31:53AM -0700, john blair wrote: I built fakeroot-1.13 and fakeroot-1.12.5 for mac os 10.4. On both of them I tried to run the following script with fakeroot #!/bin/bash mkdir -p /tmp/newdir /usr/sbin/chown -R root:wheel /tmp/newdir ls -ld /tmp/newdir with the following result drwxr-xr-x 2 john wheel 68 Oct 5 22:29 /tmp/newdir Instead of root owning newdir, its owned by me. Could you try this and see if it gives any clues? #!/bin/bash mkdir -p /tmp/newdir /usr/sbin/chown -R daemon /tmp/newdir ls -ld /tmp/newdir /usr/sbin/chgrp -R wheel /tmp/newdir ls -ld /tmp/newdir /usr/sbin/chown root /tmp/newdir ls -ld /tmp/newdir /usr/sbin/chown daemon:wheel /tmp/newdir ls -ld /tmp/newdir -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org