commit:     d2e77eb8f1abe200a4c0ede569fa169c08205545
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 14 09:40:48 2017 +0000
Commit:     Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Wed Jan  3 01:20:19 2018 +0000
URL:        https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=d2e77eb8

Convert 'Ebuild Maintenance' into a section

The committer has reflowed some of the lines past 80 characters.

 .../{ => maintenance-tasks}/text.xml               |  62 +-
 ebuild-maintenance/text.xml                        | 670 +--------------------
 2 files changed, 44 insertions(+), 688 deletions(-)

diff --git a/ebuild-maintenance/text.xml 
b/ebuild-maintenance/maintenance-tasks/text.xml
similarity index 92%
copy from ebuild-maintenance/text.xml
copy to ebuild-maintenance/maintenance-tasks/text.xml
index 0a94d9c..ba401ca 100644
--- a/ebuild-maintenance/text.xml
+++ b/ebuild-maintenance/maintenance-tasks/text.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
-<guide self="ebuild-maintenance/">
+<guide self="ebuild-maintenance/maintenance-tasks/">
 <chapter>
-<title>Ebuild Maintenance</title>
+<title>Maintenance Tasks</title>
 
 <body>
 <p>
@@ -33,17 +33,18 @@ select all possible fields, then submit the query. For you 
lazy people, click
 <p>
 In general, the Gentoo repository should only be used for storing
 <path>.ebuild</path> files, as well as any relatively small companion
-files, such as patches or sample configuration files.  These types of
-files should be placed in the <path>/usr/portage/mycat/mypkg/files</path>
-directory to keep the main <path>mycat/mypkg</path> directory uncluttered.
-Exceptions to this rule are for larger patch files (we recommend this for 
patches
-above 20KB) which should be distributed as tarballs via the
-<uri link="::general-concepts/mirrors/#suitable-download-hosts">Gentoo mirror 
system</uri>
-so that people do not waste excessive amounts of bandwidth and hard drive
-space. Also, you should not add binary (non-ASCII) files to the
-git tree. Also, speaking of merging
-changes, any patches you add to Portage should generally <e>not</e> be
-compressed.  This will allow git to merge changes and correctly inform
+files, such as patches or sample configuration files. These types of
+files should be placed in the
+<path>/usr/portage/mycat/mypkg/files</path> directory to keep the main
+<path>mycat/mypkg</path> directory uncluttered. Exceptions to this
+rule are for larger patch files (we recommend this for patches above
+20KB) which should be distributed as tarballs via the
+<uri link="::general-concepts/mirrors/#suitable-download-hosts">Gentoo
+mirror system</uri> so that people do not waste excessive amounts of
+bandwidth and hard drive space. Also, you should not add binary
+(non-ASCII) files to the git tree. Also, speaking of merging changes,
+any patches you add to Portage should generally <e>not</e> be
+compressed. This will allow git to merge changes and correctly inform
 developers of conflicts.
 </p>
 
@@ -303,7 +304,12 @@ critical issue that needs to be handled ASAP. Otherwise a 
soft limit
 of 2 to 4 weeks depending on the severity of the bug is an acceptable
 time frame before you go ahead and fix it yourself.
 </p>
-<important> Common sense dictates to us that toolchain/base-system/core 
packages and eclasses or anything else which is delicate (e.g. glibc) or widely 
used (e.g. gtk+) should usually be left to those maintainers. If in doubt, 
don't touch it.</important>
+<important>
+Common sense dictates to us that toolchain/base-system/core packages
+and eclasses or anything else which is delicate (e.g. glibc) or widely
+used (e.g. gtk+) should usually be left to those maintainers. If in
+doubt, don't touch it.
+</important>
 
 <p>
 Respect developers' coding preferences. Unnecessarily changing the
@@ -367,10 +373,16 @@ the team can keep an eye out for possible keywording 
mistakes.
 </p>
 
 <p>
-Exotic architectures (like alpha, ia64, sparc, hppa, ppc*) are short on 
manpower, so it's best if you avoid opening stabilization bugs for them unless 
it is absolutely necessary (eg, a reverse dependency for your package). More 
about keywording policies can be found in the <uri 
link="::keywording">keywording</uri> section.
+Exotic architectures (like alpha, ia64, sparc, hppa, ppc*) are short
+on manpower, so it's best if you avoid opening stabilization bugs for
+them unless it is absolutely necessary (eg, a reverse dependency for
+your package). More about keywording policies can be found in the
+<uri link="::keywording">keywording</uri> section.
 </p>
 <p>
-Some architectures (like m68k, mips, s390, sh) do not maintain a stable 
keyword. So there is no use in marking a package stable for one of these 
architectures.
+Some architectures (like m68k, mips, s390, sh) do not maintain a
+stable keyword. So there is no use in marking a package stable for one
+of these architectures.
 </p>
 </body>
 </section>
@@ -522,18 +534,20 @@ Date:   Tue Nov 3 20:26:52 2015 +0100
 <title>Changing ebuild's SLOT</title>
 <body>
 <p>
-The process for changing the ebuild's SLOT is very similar to the previous 
process.
-Besides changing the SLOT in the ebuild file, you also need to create a new 
entry
-in <path>profiles/updates/</path> in the Gentoo repository in the following 
format:
+The process for changing the ebuild's SLOT is very similar to the
+previous process.  Besides changing the SLOT in the ebuild file, you
+also need to create a new entry in <path>profiles/updates/</path> in
+the Gentoo repository in the following format:
 </p>
 
 <pre caption="Adding an entry to updates">
 slotmove app-text/gtkspell 0 2
 </pre>
 
-<p>Make sure that you have fixed all the reverse dependencies and that you have
-updated every file in <path>profiles/</path> directory that happens to contain 
an
-entry which may be affected by your change.
+<p>
+Make sure that you have fixed all the reverse dependencies and that
+you have updated every file in <path>profiles/</path> directory that
+happens to contain an entry which may be affected by your change.
 </p>
 
 </body>
@@ -573,7 +587,9 @@ When removing packages follow these steps:
 </p>
 
 <ol>
-  <li>Make sure that no dependencies in Portage are broken due to the 
removal</li>
+  <li>
+    Make sure that no dependencies in Portage are broken due to the removal
+  </li>
   <li>Send last rites to gentoo-dev-announce and gentoo-dev</li>
   <li>Mask the package</li>
   <li>Wait 30 days (or more)</li>

diff --git a/ebuild-maintenance/text.xml b/ebuild-maintenance/text.xml
index 0a94d9c..46ab82f 100644
--- a/ebuild-maintenance/text.xml
+++ b/ebuild-maintenance/text.xml
@@ -5,677 +5,17 @@
 
 <body>
 <p>
-This guide aims to explain common everyday ebuild maintenance
-routines, as well as other rarer maintenance routines which
-developers may not be familiar with.
+This section covers various tasks related to working with ebuilds.
 </p>
-
-<section>
-<title>Adding a new ebuild</title>
-<body>
-
-<subsection>
-<title>What (not) to put in the Gentoo repository</title>
-<body>
-
-<p>
-Before writing a new ebuild, check
-<uri link="https://bugs.gentoo.org/";>bugs.gentoo.org</uri>
-to see if an ebuild has already been written for the package, but has not yet
-been added to the Gentoo repository.  Go to <uri
-link="https://bugs.gentoo.org/";>bugs.gentoo.org</uri>, choose query and select
-Advanced Search; as product select <e>Gentoo Linux</e>, as component select
-<e>ebuilds</e>.  In the search field put the name of the ebuild and as status
-select all possible fields, then submit the query. For you lazy people, click
-<uri 
link="https://bugs.gentoo.org/query.cgi?format=advanced&amp;product=Gentoo%20Linux&amp;component=New%20Ebuilds&amp;bug_Status=UNCONFIRMED&amp;bug_status=CONFIRMED&amp;bug_status=IN_PROGRESS&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED";>here</uri>.
-</p>
-
-<p>
-In general, the Gentoo repository should only be used for storing
-<path>.ebuild</path> files, as well as any relatively small companion
-files, such as patches or sample configuration files.  These types of
-files should be placed in the <path>/usr/portage/mycat/mypkg/files</path>
-directory to keep the main <path>mycat/mypkg</path> directory uncluttered.
-Exceptions to this rule are for larger patch files (we recommend this for 
patches
-above 20KB) which should be distributed as tarballs via the
-<uri link="::general-concepts/mirrors/#suitable-download-hosts">Gentoo mirror 
system</uri>
-so that people do not waste excessive amounts of bandwidth and hard drive
-space. Also, you should not add binary (non-ASCII) files to the
-git tree. Also, speaking of merging
-changes, any patches you add to Portage should generally <e>not</e> be
-compressed.  This will allow git to merge changes and correctly inform
-developers of conflicts.
-</p>
-
-<p>
-Remember, the packages that you commit must be <e>ready</e> <e>out of the
-box</e> for end users when committed as stable.  Make sure that you have a good
-set of default settings that will satisfy the majority of systems and
-users that will use your package.  If your package is broken, and you are
-not sure how to get it to work, check some other distributions that have
-done their own versions of the package.  You can check
-<uri link="http://cvs.mandriva.com/cgi-bin/viewvc.cgi/SPECS/";>Mandriva</uri>
-or <uri link="http://www.debian.org/distrib/packages";>Debian</uri> or
-<uri link="http://pkgs.fedoraproject.org/cgit/rpms/";>Fedora</uri> for some
-examples.
-</p>
-
-<p>
-When committing to git, all developers should use <c>repoman commit</c>
-instead of <c>git commit</c> to submit their ebuilds.  Before committing,
-please run <c>repoman full</c> to make sure you didn't forget something.
-</p>
-
-</body>
-</subsection>
-
-<subsection>
-<title>Initial Architecture Keywords</title>
-<body>
-<p>
-When adding a new ebuild, you should only include <c>KEYWORDS</c> for
-architectures on which you have actually tested the ebuild, confirming
-that it works as it should and that <c>USE</c> flags are properly
-honoured in the resulting package which would be installed. If
-possible, you should give the actual library or application thorough
-testing as well, since you would be responsible for any breakages for
-your architecture(s). Minimal testing such as checking that the
-application starts up without any errors should always be performed.
-</p>
-
-<p>
-If you are adding a user-submitted ebuild, do not assume that the
-submitter has done testing on various architectures: often, <c>KEYWORDS</c>
-are cloned across packages or generated from documentation in the
-source packages, which does not signify that the package does indeed
-work on those architectures.
-</p>
-
-</body>
-</subsection>
-
-<subsection>
-<title>Git Commit Message Format</title>
-<body>
-
-<p>
-It is important to format the commit messages properly so that they
-communicate the changes to the reader in a clear and concise
-way. Additionally, consistency in message format allows for easier
-parsing by external tools. The first line of the commit message should
-contain a brief summary of the changes, followed by an empty new
-line. From the third line onward should be a detailed, multiline
-explanation of the changes introduced by the commit. At the very end,
-auxiliary information such as the bugs related to the commit,
-contributors, and reviewers should be listed using RFC822/git style
-tags. The length of the lines in the message should be 70-75
-characters at maximum.
-</p>
-
-<p>
-The summary line should start with referencing what is affected by the
-change followed by a colon ':' character. Use the rules in the
-following list to determine the proper format based on what has
-changed, substituting the package, category and eclass names
-appropriately:
-
-<ul>
-<li><c>${CATEGORY}/${PN}:</c>Single Package (Note that <c>repoman commit</c>
-automatically inserts this for you)</li>
-<li><c>${CATEGORY}:</c> Package Category</li>
-<li><c>profiles:</c> Profile Directory</li>
-<li><c>${ECLASS}.eclass:</c> Eclass Directotry</li>
-<li><c>licenses:</c> Licenses Directory</li>
-<li><c>metadata:</c> Metadata Directory</li>
-</ul>
-
-For packages where <c>${CATEGORY}/${PN}:</c> is long, the line length
-limit can be exceeded, if absolutely necessary, to ensure a more
-useful summary line. If a commit affects multiple directories, prepend
-the message with which reflects the intention of the change best. If
-there are any bugs on Gentoo Bugzilla associated with the commit, id
-of the bug can be appended to the summary line using the format
-<c>#BUG-ID</c>. If you are modifying keywords, clearly state what
-keywords are added/removed.
-
-<warning>
-By default, lines starting with <c>#</c> are considered to be comments
-by git and not included in the commit message. Make sure that a new
-line does not start with <c>#BUG-ID</c>. Optionally, git can be
-configured to use a different character for comments by changing the
-<c>commentchar</c> option.
-</warning>
-</p>
-
-<p>
-For non-trivial commits, the message should contain a detailed
-explanation of what the commit intends to change, why it is required,
-and how it is accomplished, along with any other supplementary
-information.
-</p>
-
-<p>
-Finally the commit message should list auxiliary information such as
-people who are involved in authoring, suggesting, reviewing and
-testing the changes, and revelant bugs. Use RFC822/git style tags as
-explained in the
-<uri link="https://kernel.org/doc/html/latest/process/submitting-patches.html";>
-Linux Kernel patch guideline</uri>. Additionally, the following tags
-are optionally used in Gentoo:
-
-<ul>
-<li><c>Bug:</c> Use this to reference bugs <e>without</e> closing them.
-The value is a URL to the bug. If multiple bugs need to be referenced,
-each one should be listed in a separate <c>Bug</c> tag. If a bug
-on Gentoo Bugzilla, or an issue or a pull request on GitHub
-is referenced, a reference to the commit will be added
-automatically.</li>
-<li><c>Closes:</c> Use this to reference bugs and close them
-automatically. Alike <c>Bug:</c>, the value is a single URL to the bug,
-and multiple tags can be used to close multiple bugs. If a bug on Gentoo
-Bugzilla, or an issue or a pull request on a GitHub repository
-mirrored by Gentoo is referenced, it will be closed (as fixed)
-automatically with reference to the commit.</li>
-<li><c>Package-Manager:</c> This is automatically inserted by
-<c>repoman commit</c> and it specifies the version of
-<pkg>sys-apps/portage</pkg> on the system.</li>
-<li><c>RepoMan-Options:</c> This is automatically inserted by
-<c>repoman commit</c> and records the options passed to repoman (such
-as --force) for the commit.</li>
-</ul>
-</p>
-
-<p>
-Additionally, some developers prefer referencing bugs on the summary
-line using the <c>#nnnnnn</c> form. Developers are free to use either
-form, or both simultaneously to combine their advantages.
-</p>
-
-<p>
-When committing <uri link="::ebuild-writing/user-submitted">user
-contributions</uri>, make sure to credit them in your commit message
-with the user's full name and email address. Be aware and respectful
-of their privacy: some users prefer to be only known by a
-nickname. Take advantage of the tags such as <c>Suggested-By</c> or
-<c>Reported-By:</c>when entering such information to the commit
-message.
-</p>
-
-<p>
-An example commit message is shown below:
-</p>
-
-<pre caption="Example commit message">
-app-misc/foo: version bump to 0.5
-
-This also adds a new USE flag 'bar' which controls the
-new bar functionality introduced with this version.
-
-Bug: https://bugs.gentoo.org/00000
-Closes: https://bugs.gentoo.org/00001
-</pre>
-
 </body>
-</subsection>
-
-<subsection>
-<title>Git Commit Policy</title>
-<body>
-
-<ul>
-<li>Always run <c>repoman scan</c> before you commit.</li>
-<li>Please run <c>repoman full</c> before you commit.</li>
-<li>Always test that <path>package.mask</path> is okay by doing
-<c>emerge --pretend mypkg</c> before you commit and check
-that it doesn't contain any conflicts.</li>
-<li>Always commit the updated <path>package.mask</path> before
-the updated package.</li>
-<li>Always do atomic commits; if you commit a package with a new license,
-or that is masked, then first commit the revised <path>package.mask</path> 
and/or license,
-then commit the ebuild, patches
-and <uri link="::ebuild-writing/misc-files/metadata">metadata.xml</uri> all in 
<b>one</b> go
-.</li>
-<note> Although the set of changes in a single git commit is atomic, and
-combining <path>package.mask</path>/license changes with ebuild changes in a
-single commit wouldn't break atomicity, it is not currently possible to do so
-using <c>repoman commit</c>.</note>
-<!-- See: https://bugs.gentoo.org/show_bug.cgi?id=390651 -->
-</ul>
-
-</body>
-</subsection>
-
-<subsection>
-<title>The files Directory</title>
-<body>
-
-<p>
-As noted earlier, under each package subdirectory is
-a <path>files/</path> directory. Any patches, configuration files, or
-other ancillary files your package might require should be added to
-this directory; any files bigger than 20KB-or-so should go to the
-mirrors to lower the amount of (unneeded) files our users have to
-download. You may want to consider naming patches you create yourself
-just to get your package to build with a version-specific name, such
-as <path>mypkg-1.0-gentoo.diff</path>, or more
-simply, <path>1.0-gentoo.diff</path>.  Also note that the
-<path>gentoo</path> extension informs people that this patch was created
-by us, the Gentoo Linux developers, rather than having been grabbed from a
-mailing list or somewhere else. Again, you should not compress these
-patches.
-</p>
-
-<p>
-Consider prefixing or suffixing (such as <path>mypkg-1.0</path>) every file
-you put into the <path>files/</path> directory, so that the files used for
-each individual version on an ebuild are distinguishable from one another, and
-so that the changes between different revisions are visible.  This is generally
-a really good idea :).  You may want to use a different suffix if you wish to
-convey more meaning with the patch name.
-</p>
-
-<p>
-If you have many files that should go into the <path>files/</path> directory,
-consider creating subdirectories such as <path>files/1.0/</path> and putting 
the
-relevant files in the appropriate subdirectory.  If you use this method,
-you do not need to add version information to the names of the files,
-which is often more convenient.
-</p>
-
-</body>
-</subsection>
-
-</body>
-</section>
 
 <section>
-<title>Touching other developers ebuilds</title>
+<title>Contents</title>
 <body>
-<p>
-Usually you don't just change other developers ebuilds without
-permission unless you know that developer does not mind or if you are
-part of the project involved in maintenance (this information can
-typically be found in metadata.xml). Start with filing a bug or trying
-to catch them on IRC or via email. Sometimes you cannot reach them, or
-there is no response to your bug. It's a good idea to consult other
-developers on how to handle the situation, especially if it's a
-critical issue that needs to be handled ASAP. Otherwise a soft limit
-of 2 to 4 weeks depending on the severity of the bug is an acceptable
-time frame before you go ahead and fix it yourself.
-</p>
-<important> Common sense dictates to us that toolchain/base-system/core 
packages and eclasses or anything else which is delicate (e.g. glibc) or widely 
used (e.g. gtk+) should usually be left to those maintainers. If in doubt, 
don't touch it.</important>
-
-<p>
-Respect developers' coding preferences. Unnecessarily changing the
-syntax of an ebuild can cause complications for others. Syntax changes
-should only be done if there is a real benefit, such as faster
-compilation, improved information for the end user, or compliance with
-Gentoo policies.
-</p>
-
+<contentsTree/>
 </body>
 </section>
-
-<section>
-<title>Stabilizing ebuilds</title>
-<body>
-
-<p>
-Only architecture maintainers for a given architecture should mark packages as
-stable on that architecture. The maintainer of the package should always be
-contacted just in case there are reasons not to do so. The exception to this
-is if you are part of an architecture team, in which case you may mark the
-package stable for that architecture. If you are not part of an architecture
-team, you should consult the guidelines below; if the architecture you are
-looking for is not listed then please consult the relevant lead.
-</p>
-
-<p>
-You should <e>never</e> stabilize packages on
-architectures for which you cannot test and instead you should file a bug to
-the relevant architecture team, such as <mail link="sp...@gentoo.org">
-sp...@gentoo.org</mail> asking them to stabilize the
-ebuild. Alternatively, you may be able to find Gentoo developers on
-IRC who could help you with your request.
-</p>
-
-<p>
-It is best to not use <mail link="arch-maintain...@gentoo.org">
-arch-maintain...@gentoo.org</mail>, adding architecture teams onto a
-bug's CC list individually instead. That way teams can remove
-themselves from the list when they are done, giving a clear indication
-of which teams still have to stabilize a package.
-</p>
-
-</body>
-</section>
-
-<section>
-<title>Stabilization rules</title>
-<body>
-
-<p>
-SPARC: You must have prior permission from the arch lead. Usually we expect
-you to be on the sparc alias for QA reasons, although other arrangements
-can be made if you will only be working with a small group of packages.
-</p>
-
-<p>
-ALPHA: Maintainers may keyword their own packages but are reminded to inform
-the Alpha team if they can help out with testing and keywording packages so
-the team can keep an eye out for possible keywording mistakes.
-</p>
-
-<p>
-Exotic architectures (like alpha, ia64, sparc, hppa, ppc*) are short on 
manpower, so it's best if you avoid opening stabilization bugs for them unless 
it is absolutely necessary (eg, a reverse dependency for your package). More 
about keywording policies can be found in the <uri 
link="::keywording">keywording</uri> section.
-</p>
-<p>
-Some architectures (like m68k, mips, s390, sh) do not maintain a stable 
keyword. So there is no use in marking a package stable for one of these 
architectures.
-</p>
-</body>
-</section>
-
-<section>
-<title>Upgrading ebuilds</title>
-<body>
-
-<p>
-New ebuilds should rarely go in with "<c>arch</c>" keywords and even if they do
-not, the package <e>must</e> be tested on any architectures listed in the
-<c>KEYWORDS</c> variable of the new ebuild.
-</p>
-
-<p>
-Exceptions to the no "<c>arch</c>" rule are major bug fixes, or
-security fixes. If the previous version of the ebuild
-contains <c>KEYWORDS</c> which you cannot test for, you should
-downgrade them: turn any "<c>arch</c>" keyword to "<c>~arch</c>". If you
-think that your package may not work at all even on "<c>~arch</c>"
-then it is best to leave the keyword out and request testing from the
-relevant team: if you are to do this, you must file a bug to the team
-in question.
-</p>
-
-<p>
-If a new version introduces new dependencies which are not available
-on some architectures, then you should file a bug or ask on IRC before
-you upgrade the package. If you really need to get the ebuild added in
-a hurry, for example, for a security fix, then you should drop
-any <c>KEYWORDS</c> which are causing problems and CC the relevant
-architectures on the bug - you should file a new bug to the
-architecture in question regarding this if no bug is already
-available.
-</p>
-
-<p>
-If there are no new dependencies, do not remove keywords if your
-commit fails with repoman - please try a full <c>git pull</c> and if
-you still have problems, then commit with <c>repoman -I</c> and file a
-bug to the broken architecture, noting it in your git commit message.
-</p>
-
-<warning>
-When committing, make sure that you reference any bugs in the
-commit message. Failing to do so is considered
-to be in very poor taste and may result in disciplinary action.
-</warning>
-
-</body>
-</section>
-
-<section>
-<title>Moving a package</title>
-<body>
-
-<p>
-Moving a package in the tree requires several operations. Firstly,
-the package directory needs to be moved to the correct category
-using <c>git mv</c>. After this, a new entry needs to be added to
-the latest file in <path>profiles/updates/</path> in the
-following format:
-</p>
-
-<pre caption="Adding an entry to updates">
-move old-category/package-name new-category/package-name
-</pre>
-
-<p>
-Following the update entry, ebuilds that have a
-<uri link="::general-concepts/dependencies">dependency</uri>
-to this package (in other words, the reverse dependencies of
-the package to be moved) need to be updated properly.
-</p>
-
-<p>
-Next is checking the files under <path>profiles/</path> such as
-<path>profiles/package.mask</path> and update them to reflect the ebuild
-move. Various eclasses automatically provide some of the dependencies upon
-inherit, so the files under <path>eclass/</path> should be checked and updated
-properly. If the package metadata.xml has tags with <c>restrict</c>
-attribute, they should be updated to reflect the move. The
-metadata.xml for various packages may contain references to the
-package being moved using the <c>&lt;pkg&gt;</c> tag which need to be
-updated accordingly as well. Lastly, the titles of the open bugs
-related to the package should be updated.
-</p>
-
-<p>
-Here is an example where the package
-<path>net-misc/fwbuilder</path> is transparently moved to
-<path>net-firewall/fwbuilder</path>:
-</p>
-
-<ol>
-  <li>Issue <c>git mv net-misc/fwbuilder net-firewall/fwbuilder</c></li>
-  <li>
-    <p>
-      Add the following entry to the latest file in
-      <path>profile/updates/</path>:
-    </p>
-    <p><c>move net-misc/fwbuilder net-firewall/fwbuilder</c></p>
-  </li>
-  <li>Update the reverse dependencies of the package</li>
-  <li>
-    Update <path>profiles/package.mask</path> and other related files under
-    <path>profiles/</path>
-  </li>
-  <li>Check the eclasses that may be referencing the package</li>
-  <li>
-    Update all the
-    <uri link="::ebuild-writing/misc-files/metadata">metadata.xml</uri>
-    files which contain a reference to this package using the
-    <c>&lt;pkg&gt;</c> tag or the <c>restrict</c> attribute.
-  </li>
-  <li>
-    Stage all the changed files using <c>git add</c>. For example: <c>git add
-    profiles/package.mask</c>
-  </li>
-  <li>
-    Commit all the changes in one commit using: <c>git commit --gpg-sign</c>
-  </li>
-  <li>
-    Update any <uri link="::general-concepts/news">news items</uri>
-    referencing the package in a <c>Display-If-Installed</c> header
-    or in the item's body (and increment their <c>Revision</c>).
-  </li>
-  <li>Update any open bugs related to the package</li>
-</ol>
-
-<p>
-It is very important to commit all the changes in a single commit to ensure
-that no breakage occurs. The commit message should follow a format similar
-to the following:
-</p>
-
-<pre>
-commit d391643289097344a0b18ab2665bb26198a0e3a1
-Author: Guilherme Amadio &lt;ama...@gentoo.org&gt;
-Date:   Tue Nov 3 20:26:52 2015 +0100
-
-  media-fonts/nanumfont: renamed to media-fonts/nanum
-</pre>
-
-</body>
-</section>
-
-<section>
-<title>Changing ebuild's SLOT</title>
-<body>
-<p>
-The process for changing the ebuild's SLOT is very similar to the previous 
process.
-Besides changing the SLOT in the ebuild file, you also need to create a new 
entry
-in <path>profiles/updates/</path> in the Gentoo repository in the following 
format:
-</p>
-
-<pre caption="Adding an entry to updates">
-slotmove app-text/gtkspell 0 2
-</pre>
-
-<p>Make sure that you have fixed all the reverse dependencies and that you have
-updated every file in <path>profiles/</path> directory that happens to contain 
an
-entry which may be affected by your change.
-</p>
-
-</body>
-</section>
-
-<section>
-<title>Removing ebuilds</title>
-<body>
-
-<p>
-When removing an ebuild make sure that no dependencies in Portage are broken
-due to the removal - additionally, your git commit message should explain
-clearly why the ebuild is being removed from the git repository.
-</p>
-
-<p>
-If you need to remove ebuilds, make sure you do not accidentally remove
-the newest/only stable ebuild for any architecture. If you would like to
-get a newer version marked stable, then please file a bug or ask on IRC.
-</p>
-
-<p>
-You should also not cause an unnecessary downgrade for any "<c>~arch</c>"
-when removing ebuilds - instead, it is best to get the newest version
-marked "<c>~arch</c>" first and then remove redundant versions of the ebuild.
-</p>
-
-</body>
-</section>
-
-<section>
-<title>Removing a package</title>
-<body>
-
-<p>
-When removing packages follow these steps:
-</p>
-
-<ol>
-  <li>Make sure that no dependencies in Portage are broken due to the 
removal</li>
-  <li>Send last rites to gentoo-dev-announce and gentoo-dev</li>
-  <li>Mask the package</li>
-  <li>Wait 30 days (or more)</li>
-  <li>Remove from the git tree unless the reason for removal has been 
fixed</li>
-  <li>Remove package.mask entry</li>
-  <li>
-    Remove the <c>&lt;pkg&gt;</c> tags referencing this package in the
-    <uri link="::ebuild-writing/misc-files/metadata">metadata.xml</uri>
-    files of other packages.
-  </li>
-  <li>Close open bugs as WONTFIX</li>
-</ol>
-
-<p>
-Here is a list of commands that will delete <path>dev-util/pmk</path>
-from the tree:
-</p>
-
-<pre caption="Removing a package from git">
-# cd dev-util
-# git rm -rf pmk
-# git commit --gpg-sign
-</pre>
-
-<p>
-An example commit message is shown below:
-</p>
-
-<pre caption="Package removal commit message">
-commit e0bbcf8291501dc7de6b4b120d4372061367dd7a
-Author: Michael Palimaka &lt;kensing...@gentoo.org&gt;
-Date:   Fri Jan 29 07:11:01 2016 +1100
-
-  dev-util/pmk: remove last-rited package
-
-  Gentoo-bug: 541522
-</pre>
-
-</body>
-</section>
-
-<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 <path>/usr/bin/example</path> and "bar" is
-going to overwrite it, and later "bar" is unmerged, Portage will remove
-<path>/usr/bin/example</path> 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>
-
-<p>
-If the <c>HOMEPAGE</c> of your package seems to be unavailable or it
-never existed at all, please set the HOMEPAGE variable in every ebuild
-to <uri link="https://wiki.gentoo.org/wiki/No_homepage";>
-https://wiki.gentoo.org/wiki/No_homepage</uri>
-</p>
-
-</body>
-</section>
-
-</body>
 </chapter>
+
+<include href="maintenance-tasks/"/>
 </guide>

Reply via email to