[Fedora-packaging] Re: BuildRoot

Matthias Saou thias at spam.spam.spam.spam.spam.spam.spam.egg.and.spam.freshrpms.net
Tue Jul 25 11:01:32 UTC 2006


Axel Thimm wrote :

> > 2) Why the heck is there still the need for BuildRoot to be defined in
> > each and every spec file we have!? Could we once and for all push a
> > sane default value into FC6 and start considering removing it once and
> > for all from all spec files by the time we reach FC10 or so?
> 
> Yes, that's the time scale, or maybe even FC110 :)
> 
> > Currently, if BuildRoot isn't defined, then "" is used
> 
> Not always, if you use %{buildroot} w/o BuildRoot: tag it expands to
> literally to itself, e.g. "%{buildroot}". At least with FC5's
> rpm. Maybe previously it was effectively %{nil}.

Rebuilding for RHEL4, using mach on RHEL4, it seems to want to install
relative to "/", so %{buildroot} is empty or %{nil}. This is going to
be a really big problem as if we do remove BuildRoot from spec files
some day, people rebuilding those packages on ancient systems as root
might get bitten pretty hard (the "rm -rf %{buildroot}" parts).

One possible solution would be to also "externalise" a default %clean
and the cleaning of the %{buildroot} as the first step of %install.
This seems like it would actually make sense since those are also
"silly copy/paste" items present in every spec file nowadays, and some
--noclean option could probably easily be implemented in rpmbuild.
Thoughts?

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 : 0.60 0.42 0.47




More information about the Fedora-packaging mailing list