diff options
author | Michał Górny <mgorny@gentoo.org> | 2019-12-30 17:44:21 +0100 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2020-01-23 08:48:04 +0100 |
commit | 198d314f12ef28b47be3b8e97966244336e0483a (patch) | |
tree | 6639e079c40278643896c8de41fda69edd1e37ce /ebuild-maintenance | |
parent | ebuild-writing/functions/src_install: Don't mention old EAPIs. (diff) | |
download | devmanual-198d314f12ef28b47be3b8e97966244336e0483a.tar.gz devmanual-198d314f12ef28b47be3b8e97966244336e0483a.tar.bz2 devmanual-198d314f12ef28b47be3b8e97966244336e0483a.zip |
ebuild-maintenance: Move package & slot moves into sep chapter
Signed-off-by: Michał Górny <mgorny@gentoo.org>
[Fixed guide tag, use title case for chapter title.]
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'ebuild-maintenance')
-rw-r--r-- | ebuild-maintenance/maintenance-tasks/text.xml | 120 | ||||
-rw-r--r-- | ebuild-maintenance/package-moves/text.xml | 134 | ||||
-rw-r--r-- | ebuild-maintenance/text.xml | 1 |
3 files changed, 135 insertions, 120 deletions
diff --git a/ebuild-maintenance/maintenance-tasks/text.xml b/ebuild-maintenance/maintenance-tasks/text.xml index 0de2f6d..b5b7359 100644 --- a/ebuild-maintenance/maintenance-tasks/text.xml +++ b/ebuild-maintenance/maintenance-tasks/text.xml @@ -246,126 +246,6 @@ to be in very poor taste and may result in disciplinary action. </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 <c>profiles/updates/</c> in the -following format: -</p> - -<pre> -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 <c>profiles/</c> such as -<c>profiles/package.mask</c> and update them to reflect the ebuild -move. Various eclasses automatically provide some of the dependencies upon -inherit, so the files under <c>eclass/</c> 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><pkg></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 -<c>net-misc/fwbuilder</c> is transparently moved to -<c>net-firewall/fwbuilder</c>: -</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 - <c>profile/updates/</c>: - </p> - <p><c>move net-misc/fwbuilder net-firewall/fwbuilder</c></p> - </li> - <li>Update the reverse dependencies of the package</li> - <li> - Update <c>profiles/package.mask</c> and other related files under - <c>profiles/</c> - </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><pkg></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 --signoff</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 7a699bcdce5c1412c02a2aa7717a31bc17c49058 -Author: Miroslav Šulc <fordfrog@gentoo.org> -Date: Wed Dec 18 19:56:03 2019 +0100 - - media-libs/libclxclient: moved to x11-libs/libclxclient - - Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org> -</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 <c>profiles/updates/</c> in -the Gentoo repository in the following format: -</p> - -<pre> -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 <c>profiles/</c> directory that -happens to contain an entry which may be affected by your change. -</p> - -</body> -</section> - -<section> <title>Removing ebuilds</title> <body> diff --git a/ebuild-maintenance/package-moves/text.xml b/ebuild-maintenance/package-moves/text.xml new file mode 100644 index 0000000..0d20667 --- /dev/null +++ b/ebuild-maintenance/package-moves/text.xml @@ -0,0 +1,134 @@ +<?xml version="1.0"?> +<guide self="ebuild-maintenance/package-moves/"> +<chapter> +<title>Package and Slot Moves</title> +<body> + +<p> +This chapter describes the use of package and slot moves. +</p> + +</body> + +<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 <c>profiles/updates/</c> in the +following format: +</p> + +<pre> +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 <c>profiles/</c> such as +<c>profiles/package.mask</c> and update them to reflect the ebuild +move. Various eclasses automatically provide some of the dependencies upon +inherit, so the files under <c>eclass/</c> 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><pkg></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 +<c>net-misc/fwbuilder</c> is transparently moved to +<c>net-firewall/fwbuilder</c>: +</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 + <c>profile/updates/</c>: + </p> + <p><c>move net-misc/fwbuilder net-firewall/fwbuilder</c></p> + </li> + <li>Update the reverse dependencies of the package</li> + <li> + Update <c>profiles/package.mask</c> and other related files under + <c>profiles/</c> + </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><pkg></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 --signoff</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 7a699bcdce5c1412c02a2aa7717a31bc17c49058 +Author: Miroslav Šulc <fordfrog@gentoo.org> +Date: Wed Dec 18 19:56:03 2019 +0100 + + media-libs/libclxclient: moved to x11-libs/libclxclient + + Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org> +</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 <c>profiles/updates/</c> in +the Gentoo repository in the following format: +</p> + +<pre> +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 <c>profiles/</c> directory that +happens to contain an entry which may be affected by your change. +</p> + +</body> +</section> +</chapter> +</guide> diff --git a/ebuild-maintenance/text.xml b/ebuild-maintenance/text.xml index f1f759d..eabda98 100644 --- a/ebuild-maintenance/text.xml +++ b/ebuild-maintenance/text.xml @@ -18,5 +18,6 @@ This section covers various tasks related to working with ebuilds. </chapter> <include href="git/"/> +<include href="package-moves/"/> <include href="maintenance-tasks/"/> </guide> |