commit:     cb01d9ebc777517fce784dde4f8cdbf78d91b5bf
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 21 10:34:07 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jan 23 07:48:05 2020 +0000
URL:        https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=cb01d9eb

ebuild-maintenance/new-ebuild: New chapter.

Split off from ebuild-maintenance/maintenance-tasks.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-maintenance/maintenance-tasks/text.xml | 123 -------------------------
 ebuild-maintenance/new-ebuild/text.xml        | 126 ++++++++++++++++++++++++++
 ebuild-maintenance/text.xml                   |   1 +
 ebuild-writing/common-mistakes/text.xml       |   3 +-
 4 files changed, 128 insertions(+), 125 deletions(-)

diff --git a/ebuild-maintenance/maintenance-tasks/text.xml 
b/ebuild-maintenance/maintenance-tasks/text.xml
index b5b7359..972b7b3 100644
--- a/ebuild-maintenance/maintenance-tasks/text.xml
+++ b/ebuild-maintenance/maintenance-tasks/text.xml
@@ -11,129 +11,6 @@ developers may not be familiar with.
 </p>
 </body>
 
-<section>
-<title>Adding a new ebuild</title>
-
-<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
-<c>.ebuild</c> 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 <c>mycat/mypkg/files</c> directory
-to keep the main <c>mycat/mypkg</c> 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="https://www.debian.org/distrib/packages";>Debian</uri> or
-<uri link="https://src.fedoraproject.org/projects/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>The files Directory</title>
-<body>
-
-<p>
-As noted earlier, under each package subdirectory is
-a <c>files/</c> 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 <c>mypkg-1.0-gentoo.diff</c>, or more
-simply, <c>1.0-gentoo.diff</c>.  Also note that the
-<c>gentoo</c> 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 <c>mypkg-1.0</c>) every file
-you put into the <c>files/</c> 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 <c>files/</c> directory,
-consider creating subdirectories such as <c>files/1.0/</c> 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>
-</section>
-
 <section>
 <title>Stabilizing ebuilds</title>
 <body>

diff --git a/ebuild-maintenance/new-ebuild/text.xml 
b/ebuild-maintenance/new-ebuild/text.xml
new file mode 100644
index 0000000..332b527
--- /dev/null
+++ b/ebuild-maintenance/new-ebuild/text.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<guide self="ebuild-maintenance/new-ebuild/">
+<chapter>
+<title>Adding a New Ebuild</title>
+
+<section>
+<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
+<c>.ebuild</c> 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 <c>mycat/mypkg/files</c> directory
+to keep the main <c>mycat/mypkg</c> 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="https://www.debian.org/distrib/packages";>Debian</uri> or
+<uri link="https://src.fedoraproject.org/projects/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>
+</section>
+
+<section>
+<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>
+</section>
+
+<section>
+<title>The files Directory</title>
+<body>
+
+<p>
+As noted earlier, under each package subdirectory is
+a <c>files/</c> 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 <c>mypkg-1.0-gentoo.diff</c>, or more
+simply, <c>1.0-gentoo.diff</c>.  Also note that the
+<c>gentoo</c> 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 <c>mypkg-1.0</c>) every file
+you put into the <c>files/</c> 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 <c>files/</c> directory,
+consider creating subdirectories such as <c>files/1.0/</c> 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>
+</section>
+</chapter>
+</guide>

diff --git a/ebuild-maintenance/text.xml b/ebuild-maintenance/text.xml
index eabda98..58ac723 100644
--- a/ebuild-maintenance/text.xml
+++ b/ebuild-maintenance/text.xml
@@ -17,6 +17,7 @@ This section covers various tasks related to working with 
ebuilds.
 </section>
 </chapter>
 
+<include href="new-ebuild/"/>
 <include href="git/"/>
 <include href="package-moves/"/>
 <include href="maintenance-tasks/"/>

diff --git a/ebuild-writing/common-mistakes/text.xml 
b/ebuild-writing/common-mistakes/text.xml
index a133037..2127b3f 100644
--- a/ebuild-writing/common-mistakes/text.xml
+++ b/ebuild-writing/common-mistakes/text.xml
@@ -451,8 +451,7 @@ at least when the ebuild hits the stable branch.
 
 <p>
 Please submit ebuilds properly by following the
-<uri link="::ebuild-maintenance/maintenance-tasks#Adding a new ebuild">
-Adding new Ebuild</uri> tutorial.
+<uri link="::ebuild-maintenance/new-ebuild/"/> tutorial.
 </p>
 
 </body>

Reply via email to