[Fedora-packaging] BuildRoot

Matthias Saou thias at spam.spam.spam.spam.spam.spam.spam.egg.and.spam.freshrpms.net
Tue Jul 25 10:38:37 UTC 2006


Ralf Corsepius wrote :

> On Tue, 2006-07-25 at 12:07 +0200, Matthias Saou wrote:
> > Hi,
> > 
> > Two quickies :
> > 
> > 1) The current "preferred" BuildRoot which executes "id -u" isn't
> > useful when used with mach or mock. I have nothing against it, I just
> > don't feel the need to use it... as it's "preferred", I should be able
> > to still use any BuildRoot value I want, right? I really simply prefer
> > the same, but without forking a useless "id -u" execution.
> > 
> > Yet another discussion about this here :
> > https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188461
> > (nearly all my review requests change into debates regarding useless
> > details...
> This isn't a useless detail. Your buildroot is plain broken:
> 
> It is not suitable for multi-user environments:
> 
> [Citation from a reply to a similar mail from Axel a couple of days
> ago.]
> 
> # su -l user1
> # rpmbuild -bi vtkdata.spec
> # exit
> 
> # su -l user2
> # rpmbuild -bb vtkdata.spec
> ...
> + rm -rf /var/tmp/vtkdata-5.0.1-4-root
> rm: cannot remove
> `/var/tmp/vtkdata-5.0.1-4-root/usr/share/vtkdata-5.0.1/Data/cth.vtr':
> Permission denied
> rm: cannot remove
> `/var/tmp/vtkdata-5.0.1-4-root/usr/share/vtkdata-5.0.1/Data/Particles.raw': Permission denied
> ...
> 
> With FE's current buildroot-recommendation this case doesn't happen.
> 
> To put it differently: 
> Your buildroot regresses in comparison to the recommendation in the
> guidelines and therefore is harmful to users rebuilding FE packages.
> 
> > If the "preferred" term is changed to "mandatory" in the guidelines, I
> > will abide, but continue thinking it's plain silly, and this brings us
> > to...
> Things are quite simple: I want "a mandatory BuildRoot" to stop this
> kind of discussions to stop once and for all times.

Your example is bad. On a default installation, you'll hit permission
problems in /usr/src/ way before hitting them on /var/tmp... so
you need the users to define stuff in their ~/.rpmmacros anyway. Why not
just also set %_tmppath there at the same time? Makes your example work
fine. FYI, I never used /var/tmp for _tmppath when I used to build
on real systems... now with mach and mock, I don't care anymore.

I'd really prefer we try to move forward here, i.e. get some comments
on my point n°2 about trying to set a sane (non empty like currently)
default for BuildRoot, so that we can simply forget about it in a few
releases.

Matthias

-- 
Clean custom Red Hat Linux rpm packages : http://freshrpms.net/
Fedora Core release 5.90 (Test) - Linux kernel 2.6.17-1.2431.fc6
Load : 1.03 0.86 0.69




More information about the Fedora-packaging mailing list