Dag, Sorry for the late reply.
> Axel Thimm forwarded me here about something I'm implementing in my > buildsystem. I was fed up with Makefiles writing outside the buildroot > and I wrote a library yesterday that overloads the glibc functions > (systemcalls) and checks some conditions before executing. It's called > Soapbox. http://dag.wieers.com/home-made/soapbox/ I'm using a dedicated machine (in a VMware) to do this at the moment. A normal user performs the rebuilding, so damage to the system should be limited. When Jeff Garzik was still employed at Mandrakesoft we discussed using a chroot() environment to build packages. The idea was to install a stripped system (basesystem + rpm-build + BuildRequires) for every package to be rebuilt in a chroot environment. In the end we didn't go through with the idea. > If a process is doing something outside the buildroot, it can fake > succesful completion without messing up my (clean) build environment. True. > Axel told me that this (overloading glibc functions) would be something > that should be included in rpmbuild for generating build requirements, > which I agree with. If it can be done safeproof ofc. If we could use it > also to prevent builds to pollute the build environment, I would be even > more happy. True. What I've noticed (at least at MDK) that people aren't interested in a clean build environment. They just want their packages to build and not to worry about (useless?) stuff like BuildRequires. > I'm not a real C programmer, ie. it's been a couple of years and I never > did anything useful with my C education ;) I think this might be the > first thing worth mentioning and I'm really interested in people's > opinion of Soapbox and the implementation. Would such an application really need to be a C application? The build scripts I've made are bash script, with some perl bits and they work fine. > I'd like to help get this thing inside rpmbuild (and in debugging it > more). As far as I can see, what rpmbuild needs is easier for collecting > build requirements, than what I'm doing in Soapbox. But reality bites... It would be cool if rpmbuild would be able to build in a clean environment, but do you think this should be mandatory for rpmbuild, or should such a mode be turned on by an option? Before something like this is implemented, the current FUNDEMENTAL breakage in the dependancies of the -devel packages needs to be resolved. My experience with finding the right BuildRequires is that due to the fact that the dependancies for -devel packages are not automatically found it's difficult (if not impossible) to maintain. Example: recently the libart_lgpl2-devel has been created. I beleive that the files in this package used to be part of the kdelibs-devel or kdebase-devel packages. Now the package is split off. Now quite some packages that BuildRequire kdebase-devel or kdelibs-devel are not compiling due to the fact that the dependancies have been broken. See: http://eijk.homelinux.org/build/cooker/i586/problem/kdeartwork-3.1-3mdk.src.rpm.txt with kind regards, Stefan van der Eijk
