summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2006-12-30 08:39:25 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2006-12-30 08:39:25 +0000
commitcd7cac1253f9aacf09732666d8b1efb05c4dd504 (patch)
tree0c3fdc2788627ede6f29dbcae84688d552dcc166 /doc
parentMake standalone just a subsection of Introduction. (diff)
downloadautoepatch-cd7cac1253f9aacf09732666d8b1efb05c4dd504.tar.gz
autoepatch-cd7cac1253f9aacf09732666d8b1efb05c4dd504.tar.bz2
autoepatch-cd7cac1253f9aacf09732666d8b1efb05c4dd504.zip
Add some documentation about whitespaces in autoepatch.
svn path=/trunk/; revision=29
Diffstat (limited to 'doc')
-rw-r--r--doc/howitworks.docbook40
1 files changed, 40 insertions, 0 deletions
diff --git a/doc/howitworks.docbook b/doc/howitworks.docbook
index abb25fb..4472531 100644
--- a/doc/howitworks.docbook
+++ b/doc/howitworks.docbook
@@ -144,6 +144,46 @@ in the next sections and chapters.
</sect1>
+<sect1 id="whitespaces">
+<title>Whitespaces handling and safety</title>
+
+<para>
+While there are currently some limitations in ebuilds and in Portage
+code that disallow using paths with spaces for important directories
+like the merge root, the temporary directory and the portage tree
+directory, autoepatch was supposed not to break even if all of them had
+all kind of special characters. Unfortunately this is not always
+possible, because of limitations in the tools and the language used.
+</para>
+
+<para>
+The biggest limitation is provided by bash itself: variables cannot
+contain the NULL character, which means that the targets cannot be
+passed with the output of find -print0 or grep -Z, so the targets
+have to be separated by the \n sequence (new line).
+</para>
+
+<para>
+To try minimising the possibility of problems during piping throught
+different commands (find, grep and so on), it is suggested to use the
+option <emphasis>find $dir -exec cmd {} +</emphasis> rather than using
+-print and xargs (this also avoids one process spawn), and if you need
+to pass the result of grep -l, also add the --null parameter.
+</para>
+
+<warning>
+ <para>
+ For reasons far from our understanding, FreeBSD people decided to
+ use the -Z option to GNU grep to support running grep over
+ gzip-compressed files. For compatibility and portability, rather
+ than using the -Z option, you should use the --null option in
+ autoepatch patchsets, which would behave consistently on both Linux
+ and non-Linux systems.
+ </para>
+</warning>
+
+</sect1>
+
<sect1 id="prefixsupport">
<title>Alternative prefixes support</title>