aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'general-concepts/sandbox/text.xml')
-rw-r--r--general-concepts/sandbox/text.xml30
1 files changed, 30 insertions, 0 deletions
diff --git a/general-concepts/sandbox/text.xml b/general-concepts/sandbox/text.xml
new file mode 100644
index 0000000..d474f26
--- /dev/null
+++ b/general-concepts/sandbox/text.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<guide self="general-concepts/sandbox/">
+<chapter>
+<title>Sandbox</title>
+
+<body>
+<p>
+During the <c>src_unpack</c>, <c>src_compile</c>, <c>src_test</c> and <c>src_install</c>
+phases, <c>ebuild.sh</c> operates inside a <e>sandbox</e>. This is a special environment
+which attempts to help prevent badly written ebuilds (or ebuilds working with
+badly written build systems) accidentally writing outside of permitted locations.
+</p>
+
+<p>
+<b>All packages must build correctly when sandbox is active.</b> Packages must not
+achieve this by using sneaky tricks to make sandbox warnings not show up -- the
+sandbox is there to ensure that binary packages will work correctly, and that
+a badly written <c>Makefile</c> won't cause problems. Using <c>addwrite</c> is
+generally <b>not</b> the correct solution.
+</p>
+
+<p>
+See `Sandbox Functions Reference`_ for details on sandbox-related functions. See
+`Handling Access Violations`_ for suggestions on fixing sandbox-related build
+problems.
+</p>
+</body>
+
+</chapter>
+</guide>