summaryrefslogtreecommitdiff
path: root/doc/manual/buildroot
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/buildroot')
-rw-r--r--doc/manual/buildroot66
1 files changed, 66 insertions, 0 deletions
diff --git a/doc/manual/buildroot b/doc/manual/buildroot
new file mode 100644
index 000000000..ec40c52ea
--- /dev/null
+++ b/doc/manual/buildroot
@@ -0,0 +1,66 @@
+BUILD ROOT
+==========
+
+The build root is very similar to Root: (which will be deprecated
+soon). By using Buildroot: in your spec file you are indicating
+that your package can be built (installed into and packaged from)
+a user-definable directory. This helps package building by normal
+users.
+
+The Spec File
+-------------
+
+Simply use
+
+ Buildroot: <dir>
+
+in your spec file. The acutal buildroot used by RPM during the
+build will be available to you (and your %prep, %build, and %install
+sections) as the environment variable RPM_BUILD_ROOT. You must
+make sure that the files for the package are installed into the
+proper buildroot. As with Root:, the files listed in the %files
+section should *not* contain the buildroot. For example, the
+following hypothetical spec file:
+
+ Name: foo
+ ...
+ Root: /tmp
+
+ %prep
+ ...
+
+ %build
+ ...
+
+ %install
+ install -m755 fooprog /tmp/usr/bin/fooprog
+
+ %files
+ /usr/bin/fooprog
+
+would be changed to:
+
+ Name: foo
+ ...
+ Buildroot: /tmp
+
+ %prep
+ ...
+
+ %build
+ ...
+
+ %install
+ install -m755 fooprog $RPM_BUILD_ROOT/usr/bin/fooprog
+
+ %files
+ /usr/bin/fooprog
+
+Building With a Build Root
+--------------------------
+
+RPM will use the buildroot listed in the spec file as the default
+buildroot. There are two ways to override this. First, you can
+have "buildroot: <dir>" in your rpmrc. Second, you can override
+the default, and any entry in an rpmrc by using "--buildroot <dir>"
+on the RPM command line.