aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2020-01-21 11:58:34 +0100
committerUlrich Müller <ulm@gentoo.org>2020-01-23 08:48:06 +0100
commitfc3dbac6583d211d9ad804d82f47c1bb50722ced (patch)
treea0af78368ea5c5bf93ad3bf96636774cd092ca9d /ebuild-maintenance
parentebuild-maintenance/removal: New chapter. (diff)
downloaddevmanual-fc3dbac6583d211d9ad804d82f47c1bb50722ced.tar.gz
devmanual-fc3dbac6583d211d9ad804d82f47c1bb50722ced.tar.bz2
devmanual-fc3dbac6583d211d9ad804d82f47c1bb50722ced.zip
ebuild-maintenance/collisions: New chapter.
Split off from ebuild-maintenance/maintenance-tasks. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'ebuild-maintenance')
-rw-r--r--ebuild-maintenance/collisions/text.xml49
-rw-r--r--ebuild-maintenance/maintenance-tasks/text.xml47
-rw-r--r--ebuild-maintenance/text.xml1
3 files changed, 50 insertions, 47 deletions
diff --git a/ebuild-maintenance/collisions/text.xml b/ebuild-maintenance/collisions/text.xml
new file mode 100644
index 0000000..6f5cec6
--- /dev/null
+++ b/ebuild-maintenance/collisions/text.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<guide self="ebuild-maintenance/collisions/">
+<chapter>
+<title>Package Collisions</title>
+<body>
+
+<p>
+When you encounter a package that is trying to install files that are
+already provided by another package (detectable with
+<c>FEATURES=collision-protect</c> for example) you have to fix this
+situation before you can commit the ebuild or, if you encounter this
+with an existing package, file a bug about that package (see below for
+a few exceptions). The reason file conflicts are critical is because
+if "foo" provides the file <c>/usr/bin/example</c> and "bar" is
+going to overwrite it, and later "bar" is unmerged, Portage will remove
+<c>/usr/bin/example</c> and it is therefore likely it will break
+"foo".
+</p>
+
+<p>
+The most obvious fix is to add a blocking dependency to both packages
+that want to install that file, so they can't be installed at the same
+time. But unless there are also other reasons for those packages to
+block each other you should avoid this if possible and rather fix the
+package, which could include one or more of the following steps:
+</p>
+
+<ul>
+ <li>Make "foo" (R)DEPEND on "bar" and not install the conflicting
+ file.</li>
+ <li>Remove conflicting files from "foo" in <c>src_install</c>
+ or <c>pkg_preinst</c>.</li>
+ <li>Move conflicting files into a new subpackage and make "foo" and
+ "bar" both (R)DEPEND on that package.</li>
+ <li>Change the location where "foo" or "bar" installs conflicting
+ files.</li>
+</ul>
+
+<p>
+In some cases conflicting files can't be really fixed or aren't
+critical, currently known exceptions are Perl module manpages
+(overwriting the ones from Perl itself) and <c>CONFIG_PROTECT</c>'ed
+files (which should still be fixed, but aren't critical as Portage
+won't overwrite them).
+</p>
+
+</body>
+</chapter>
+</guide>
diff --git a/ebuild-maintenance/maintenance-tasks/text.xml b/ebuild-maintenance/maintenance-tasks/text.xml
index 8a2c3fc..ccdefe9 100644
--- a/ebuild-maintenance/maintenance-tasks/text.xml
+++ b/ebuild-maintenance/maintenance-tasks/text.xml
@@ -12,53 +12,6 @@ developers may not be familiar with.
</body>
<section>
-<title>Conflicting files</title>
-<body>
-
-<p>
-When you encounter a package that is trying to install files that are
-already provided by another package (detectable with
-<c>FEATURES=collision-protect</c> for example) you have to fix this
-situation before you can commit the ebuild or, if you encounter this
-with an existing package, file a bug about that package (see below for
-a few exceptions). The reason file conflicts are critical is because
-if "foo" provides the file <c>/usr/bin/example</c> and "bar" is
-going to overwrite it, and later "bar" is unmerged, Portage will remove
-<c>/usr/bin/example</c> and it is therefore likely it will break
-"foo".
-</p>
-
-<p>
-The most obvious fix is to add a blocking dependency to both packages
-that want to install that file, so they can't be installed at the same
-time. But unless there are also other reasons for those packages to
-block each other you should avoid this if possible and rather fix the
-package, which could include one or more of the following steps:
-</p>
-
-<ul>
- <li>Make "foo" (R)DEPEND on "bar" and not install the conflicting
- file.</li>
- <li>Remove conflicting files from "foo" in <c>src_install</c>
- or <c>pkg_preinst</c>.</li>
- <li>Move conflicting files into a new subpackage and make "foo" and
- "bar" both (R)DEPEND on that package.</li>
- <li>Change the location where "foo" or "bar" installs conflicting
- files.</li>
-</ul>
-
-<p>
-In some cases conflicting files can't be really fixed or aren't
-critical, currently known exceptions are Perl module manpages
-(overwriting the ones from Perl itself) and <c>CONFIG_PROTECT</c>'ed
-files (which should still be fixed, but aren't critical as Portage
-won't overwrite them).
-</p>
-
-</body>
-</section>
-
-<section>
<title>Homepage unavailable</title>
<body>
diff --git a/ebuild-maintenance/text.xml b/ebuild-maintenance/text.xml
index b298807..1917b07 100644
--- a/ebuild-maintenance/text.xml
+++ b/ebuild-maintenance/text.xml
@@ -20,6 +20,7 @@ This section covers various tasks related to working with ebuilds.
<include href="new-ebuild/"/>
<include href="git/"/>
<include href="package-moves/"/>
+<include href="collisions/"/>
<include href="removal/"/>
<include href="stabilization/"/>
<include href="maintenance-tasks/"/>