Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-04 Thread Clint Adams
On Fri, Oct 03, 2008 at 09:43:19PM -0400, Joe Malicki wrote: > This faked-link2.diff (patch to fakeroot 1.5.10) passes tests and holds up > through > reasonable testing. > > It should fix all cases noted in this bug, which were probably all caused by > ldconfig. Forward-ported to 1.10 so I can

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Joe Malicki
- "Clint Adams" <[EMAIL PROTECTED]> wrote: > On Fri, Oct 03, 2008 at 07:11:08PM -0400, Joe Malicki wrote: > > faked.diff was thoroughly tested. When I posted I noticed that it > didn't cover > > all of the cases and added faked-link.diff, and meant to mention > that I hadn't > > tried it yet

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Clint Adams
On Fri, Oct 03, 2008 at 07:11:08PM -0400, Joe Malicki wrote: > faked.diff was thoroughly tested. When I posted I noticed that it didn't > cover > all of the cases and added faked-link.diff, and meant to mention that I hadn't > tried it yet (I am testing it now, with the {). Okay, I've uploaded t

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Joe Malicki
Ugh, should never have posted faked-link.diff without trying it, it's completely busted. Respinning and fixing. faked.diff is well tested. - "Clint Adams" <[EMAIL PROTECTED]> wrote: > On Fri, Oct 03, 2008 at 06:22:44PM -0400, Joe Malicki wrote: > > +if ((buf->st.mode&S_IFMT) != (st->mod

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Joe Malicki
Err, thanks. I got distracted and didn't finish and screwed up the original message as well. faked.diff was thoroughly tested. When I posted I noticed that it didn't cover all of the cases and added faked-link.diff, and meant to mention that I hadn't tried it yet (I am testing it now, with the {

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Clint Adams
On Fri, Oct 03, 2008 at 06:22:44PM -0400, Joe Malicki wrote: > +if ((buf->st.mode&S_IFMT) != (st->mode&S_IFMT) && > +((buf->st.mode&S_IFMT) != S_IFREG || (st->mode&(S_ISBLK|S_ISCHR Missing { here? > + > + fprintf(stderr,"FAKEROOT: chmod mode=%lo incompatible with " >

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Joe Malicki
> The first patch (faked-link.diff) fixes it in all cases except when > the *new* inode type is a regular file. > The second fixes it for more cases, wherever this sort of scheme is > possible (i.e. everywhere but inodes that are > regular files in our database but device nodes on disk). > Patch

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Joe Malicki
- "Joe Malicki" <[EMAIL PROTECTED]> wrote: > We've root caused this bug being related to statically linked binaries > (usually ldconfig) which don't let fakeroot intercept their syscalls. > > When ldconfig is run and modifies /etc/ld.so.cache, it creates a new > file and replaces it. Howeve

Bug#366067: fakeroot doesn't work with statically linked binaries

2008-10-03 Thread Joe Malicki
We've root caused this bug being related to statically linked binaries (usually ldconfig) which don't let fakeroot intercept their syscalls. When ldconfig is run and modifies /etc/ld.so.cache, it creates a new file and replaces it. However, the old ld.so.cache never gets purged from the fakeroo