3.5. BuildRoots
In the context of RPM packaging, buildroot
is a chroot environment. This means that the build artifacts are placed here using the same file system hierarchy as the future hierarchy in the end user’s system, with buildroot
acting as the root directory. The placement of build artifacts should comply with the file system hierarchy standard of the end user’s system.
The files in buildroot
are later put into a cpio
archive, which becomes the main part of the RPM. When RPM is installed on the end user’s system, these files are extracted in the root
directory, preserving the correct hierarchy.
Starting from Red Hat Enterprise Linux 6, the rpmbuild
program has its own defaults. Overriding these defaults leads to several problems; hence, Red Hat does not recommend to define your own value of this macro. You can use the %{buildroot}
macro with the defaults from the rpmbuild
directory.