On Wed, Jul 19, 2006 at 09:10:16AM -0400, Jesse Keating wrote:
On Wednesday 19 July 2006 08:51, Axel Thimm wrote:
I would agree, if it weren't for undefined behaviour at best when someone uses the buildroot-less specfile on a system not supplying a default buildroot.
In the worst case you could end up with an empty buildroot and %install/%clean operations on the buildroot could suddenly really happen in the live filesystem.
Have you tried (within a chroot) to build a package w/out a chroot on our modern rpm? (I haven't yet, other things to do today...)
You mean w/out a buildroot?
I did try on FC5, and there
BuildRoot: foo
is effectively the same as
%define buildroot foo
No errors/warnings if BuildRoot is missing (and of course no sensible default, in fact no definition of the buildroot macro at all), which is a bit disappointing if you ask me.
But that's only half the story. Even if we would find FC5's rpm to do something sensible w/o a BuildRoot tag, we cannot rely only on modern rpm's behaviour and try to check whether a missing BuildRoot tag would create havoc there or not. You would need to check this behaviour with past rpm versions, both packaged in Red Hat/Fedora products/releases and even upstream. We don't want to be responsible for any breakage, not even outside Fedora/RHEL.
I don't think it's worth while risking it. Better/easier to
a) override it in buildsystems aynway, and b) put a sensible default in the guidelines