On Wed, 2006-07-19 at 21:02 +0200, Axel Thimm wrote:
On Wed, Jul 19, 2006 at 02:29:27PM +0200, Axel Thimm wrote:
Also consider what this really is about: Deambiguifying the BuildRoot per package makes sense as there may be several build processes sharing the same filesystem (either locally or through NFS), but deambiguifying the build user, too, means that we assume that the same EVR package will be possibly built on the same filesystem by different users? And even simultaneously?
On Wed, Jul 19, 2006 at 04:46:56PM +0200, Ralf Corsepius wrote:
On Wed, 2006-07-19 at 16:15 +0200, Axel Thimm wrote:
On Wed, Jul 19, 2006 at 08:54:22AM -0500, Rex Dieter wrote:
Axel Thimm wrote:
Two independent reviewer considered this a blocker for a review's acceptance (even though it's marked "preferred").
The reviewers need to be whacked with a clue-stick. A working (non-broken) buildroot is *not* a blocker.
The point you seem to be missing, your buildroot is broken: buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
No, I'm not, I added the original post above to prove I was aware of that ;)
This directory is NOT unique and will break if 2 or more users are running an rpmbuild in parallel on the same /var/tmp filesystem.
And everything will break if someone builds for i686 and i586 (e.g. a kernel or glibc) simultaneously on the same filesystem (as the same user),
True, i.e. defect/bug.
It will also break if 2 different users are running buildjobs of the same package consecutively and if the first one fails and leaves it buildroot behind.
That's what rm -fr %{buildroot} at the beginning of %install is for.
Nope, these buildroots will carry different uids => User2 cannot remove user1's buildroot.
Let me demonstrate it with one of your rpms:
# 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 this case doesn't happen.
I'm just saying that we are focusing on an almost non-existant corner case obfuscating the BuildRoot while we allow failures in non-corner cases.
I don't see how working in a multiuser environment would qualify as a corner case. Building for different target archs to me is a corner case, but that's probably a matter of personal background.
The above situation above would easily happen if working in a team, e.g. when developing an rpm.spec.
Ralf