Re: Overriding default BuildRoot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/03/2012 11:16 PM, Wempa, Kristofer wrote:
I have been using RPM to build thousands of packages for various SuSE
and RedHat Linux distributions.  We recently acquired Red Hat 6
servers and I noticed that the RPM on that server sets a "BuildRoot"
by default.  I need to override this since we already have a
well-defined structure for our tool chains.  Modifying all of the
spec files is not an option since the packages all install in various
ways.  I tried re-defining the %{buildroot} and %{_buildrootdir}
macros in my local macros file, but it looks like RPM ignores this.
How can I unset the BuildRoot so that my builds will behave as they
have with other operating systems ?  Thanks in advance.

rpm >= 4.6 simply ignores any BuildRoot directive in specs and there's no way to make it honor it. Overriding %_buildrootdir (and %buildroot for that matter) does work as expected though, eg putting this to ~/.rpmmacros makes the buildroot go to /var/tmp:

%_buildrootdir /var/tmp/

Moving it to a "better" place (eg to avoid having the buildroot end up over NFS, have a large/fast local scratch area reserved for the purpose or such) is fine, the default of ending up in ~/rpmbuild/ is the way it is to avoid having to deal with multiuser clashes in eg /var/tmp. Beyond that, the exact location of buildroot is an internal implementation detail which does not matter at all, that it ever was spec defineable was nothing but somebody's mistake a long, long time ago.

	- Panu -
_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/mailman/listinfo/rpm-list


[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux