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