$RPM_BUILD_ROOT != %{buildroot} (was:Re: Prelink success story :))

Mike A. Harris mharris at redhat.com
Fri Feb 27 07:14:33 UTC 2004


On Fri, 27 Feb 2004, Lamar Owen wrote:

>The point is that the $RPM_BUILD_ROOT recommendation isn't even consistently 
>followed in the rpmmacros definitions themselves, meaning that every spec 
>file is using a willy-nilly mix of %{buildroot} and $RPM_BUILD_ROOT even if 
>those strings do not appear in your spec file itself.  Thus the 
>recommendation and checklist item is totally redundant and really deserves to 
>be removed, Jeff's comments notwithstanding.  If and when Jeff actually 
>changes ${buildroot} basic core rpm build macros will break, and break badly, 
>so the likelihood of that change happening is somewhere between slim and 
>none, and Slim just left town.  Of course, Jeff has surprised us 
>before... :-)
>
>Each have their uses, and the spec file maintainer may intend %{buildroot} 
>where it is specified; and $RPM_BUILD_ROOT might be better for another.  But 
>it is obvious that %{buildroot} is a little (marginally) easier to type and 
>read.

I'm kindof rather amused by people arguing over "Which should be
used $RPM_BUILD_ROOT or %{buildroot}?" so violently.  It's very 
emacs versus vi'ish indeed.  ;o)

For the record, I use RPM_BUILD_ROOT exclusively myself, but only 
because that's what I started using way back when, and it just 
stuck.

Considering the fact that there are a massive number of RPM
packages in existance both inside the distribution and outside of
it which use either one of the two, removal of either one of them
would essentially break anywhere from 40-60% of all src.rpms in
existance at a guess.

The likelyhood of that major of a change happening to rpm *ever*, 
is very unrealistic IMHO, and so it really makes no difference 
which people use, so arguing vehemently about which one is more 
"correct" is a sheer and utter waste of time.  ;o)

That said, if there ever was an officially declared standard that 
was adopted by Red Hat, Mandrake, SuSE, all major 3rd party 
repositories, I would switch all my spec files in a heartbeat to 
comply, but the likelyhood of that ever actually happening is 
very small IMHO.

Why not argue instead about why RPM's %if/%ifarch macros are not 
nestable?  Or why there is no %elseif?   ;o)


-- 
Mike A. Harris     ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat





More information about the fedora-devel-list mailing list