On Saturday 20 September 2008 04:28:51 Robert Connolly wrote: > Installing to a temporary directory and copying files to the system is also > inconvenient, for the same reason. Some packages will need some work to get > them to cooperate.
As I said, if you see something not using GNU autotools, you can always get Debian's diff for the package and apply patches fixing the bahavior. Hopefully patches for various packages will find their way to wiki for others. > If one in twenty packages need Makefile's edited to get > them to install to $tmpdir/$pkg, is this faster or slower then running > find(1) on / for every install? At least the find(1) command is automated, > so I think this is preferable. I'm not sure about like three packages in the book, all other need no modification. The ones who will be writing the patch are us anyway. If we don't get it from elsewhere. > I don't know if there are any standards for this. It's not important, only > vanity, but it should be something reasonable. For which user owns the binaries? Said de-facto, because on AIX it's "bin" user. I haven't seen a Linux not having everything owned by root for a while. LSB does not recommend that... On AIX the semantics are different. "bin" owns majority of binaries, "adm" thingies for privileged users. I'm not sure about rest of files and can't look until monday. And the de-facto standard build-by-unprivileged-user-and-then-install-by-root? I can't remember any distribution that is not doing this. > I don't see how this would work with something like glibc. Some of glibc is > installed to /lib, and some in installed to /usr/lib, so where would the > glibc-real_files/ go? We need to be able to boot without /usr mounted. You will, it's called initrd and it has busybox in it. It can mount everything required before pivot_rooting to prepared environment. Actually, you can just symlink /lib and /bin to /usr and save a lot of trouble. > Who would have guessed it is so complicated to disallow packages from > overwriting eachother's files. Ah, I've got an idea. Do you know checkinstall or fakeroot? It's about LD_PRELOAD. So, what about creating divert.so, that would intercept any file system operation and divert it to another directory if applicable. And, of course, make a simple union of the directory contents for `ls` to work. Except for link count this would be perfect, just `divert /tmp/pkg-x.y make install`. -- http://linuxfromscratch.org/mailman/listinfo/hlfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page