On Sep 12, 2010, at 8:51 AM, Max Horn wrote: > Good question... Anybody know? > > They used to have a tool called "fakeroot" for allowing non-root users to > build packages (we used to contemplate porting that to Mac OS X, but that's > hard, as the tool is system specific). But I don't know whether that (a) was > ever used for build machines (indeed, whether that is even possible, see > below), and (b) whether they still use it at all. Its homepage (or what I > believe to be its homepage) <http://fakeroot.alioth.debian.org/> looks as if > it was last modified in 2003. Then again, I googled a bit and Ubuntu also has > a package for it which seems to be actively maintained: > <https://launchpad.net/fakeroot>... > > *But* I am not even sure whether it can be used to build packages that > contain correct ownership info -- or whether it can only be used to build > package as non-root that are then installed as non-root (I highly suspect > that the latter is the case, but don't know for sure). > > > Besides fakeroot, there is fakeroot-ng (as I just learned), on > <http://fakeroot-ng.lingnu.com>. Both apps are highly system specific and > thus difficult to port to anything not Linux. We actually looked into porting > this a long time ago (see e.g. > <http://fink.cvs.sourceforge.net/fink/experimental/bcully/fakeroot.patch?revision=1.1&view=markup>; > for a more recent attempt, see > <http://lists.apple.com/archives/carbon-dev/2009/Oct/msg00092.html>). > > Both work, roughly, by intercepting system calls and using that to track e.g. > file permission changes; thinks like "chown root:admin XYZ" are then not > actually performed, but still recorded; return values of e.g. stat() are then > tweaked so that the client program believes its changes were executed as > desired. Combining this with chroot allows building .debs as non-root.
I just tried building fakeroot-1.14.4. Believe it or, it actually builds and even has Mac OS X specific code in it. If someone wants to play with it, you can't just call 'make', you need to use 'make wrapper.h libmacosx.la all' due to some flakiness in the Makefile. Unfortunately, it says that it only works with binaries that don't require two-level namespace to run so I'm not sure how useful it'll be. Also, it fails half of its test suite. It MAY suit our needs, but we'd need to test it thoroughly. fakeroot-ng looks hopeless as it needs the PTRACE mechanism to hook into the kernel, which doesn't exist on OS X. Daniel ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel