[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Requires & Provides on -devel packages (Continued)



On Tue, Mar 25, 2003 at 02:19:24PM +0100, Dag Wieers wrote:
> On Tue, 25 Mar 2003, Stefan van der Eijk wrote:
> 
> > 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.
> 
> Creating a slim clean build environment for each package seems to be 
> overkill (to me). I simply don't have the resources. I have one fat clean
> build environment for each distribution.
> 

Using the --bind option to mount to remount pieces of the build environment
readonly on a per-package build mount point isn't impossible.

What's more, all build dependencies could then be accurately and automagically
generated by trapping open/exec calls at the file system layer.

> Building as a user helps you not to pollute your build environment, but 
> for each violation the build is halted. Compare this to rpmbuild telling 
> you only the first file from %files it cannot find ;)
> 

Sooner or later you build as non-root and fix the package. Pollution
is a much nastier problem, as it can affect all, not just one, package(s).

> 
> > > 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?
> 
> Hmmm, Soapbox is not about creating a clean environment for building.
> IMO rpmbuild should never have to write outside its builddir and 
> buildroot. You could use Soapbox to do this.
> 
> 
> > 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.
> 
> Well, you could use the same techniques (overloading open()) to make a 
> list of all the requirements a build-process has. And list them for 
> inclusion or add them to the source-package automatically.

Yup, LD_PRELOAD has uses, but can screw up dependencies.

73 de Jeff

-- 
Jeff Johnson	ARS N3NPQ
jbj@redhat.com (jbj@jbj.org)
Chapel Hill, NC





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []