public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/devmanual:master commit in: ebuild-maintenance/
Date: Fri,  5 Feb 2016 12:59:18 +0000 (UTC)	[thread overview]
Message-ID: <1454677100.5c0a5524b4261c497346db460eaaecd1499bd015.ulm@gentoo> (raw)

commit:     5c0a5524b4261c497346db460eaaecd1499bd015
Author:     Gokturk Yuksek <gokturk <AT> binghamton <DOT> edu>
AuthorDate: Thu Feb  4 00:57:39 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Feb  5 12:58:20 2016 +0000
URL:        https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=5c0a5524

ebuild-maintenance: rewrite the subsection on moving ebuilds for git #558642

Rename the subsection to "moving a package" and rewrite it from scratch.
The previous workflow suggested a 2 step process whereas the new one
suggests a single git commit to contain all the changes.

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=558642
Signed-off-by: Gokturk Yuksek <gokturk <AT> binghamton.edu>

 ebuild-maintenance/text.xml | 92 +++++++++++++++++++++++++++++----------------
 1 file changed, 59 insertions(+), 33 deletions(-)

diff --git a/ebuild-maintenance/text.xml b/ebuild-maintenance/text.xml
index 28442a3..74ef88b 100644
--- a/ebuild-maintenance/text.xml
+++ b/ebuild-maintenance/text.xml
@@ -290,56 +290,82 @@ to be in very poor taste and may result in disciplinary action.
 </section>
 
 <section>
-<title>Moving ebuilds</title>
+<title>Moving a package</title>
 <body>
 
 <p>
-Moving ebuilds is a two-step process:
+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>
 
-<p>
-Firstly, you need to move the ebuild in CVS. To do this, you should
-copy the ebuild to its new location and commit that as you would with
-a <uri link="#adding-a-new-ebuild">new ebuild</uri>.
-</p>
+<pre caption="Adding an entry to updates">
+move old-category/package-name new-category/package-name
+</pre>
 
 <p>
-After this, you should change any ebuilds which <c>DEPEND</c> on the
-old ebuild to depend on the new one. After this, should add an entry to the
-latest file in <path>profiles/updates/</path> in the Portage tree in the in
-the following format:
+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>
 
-<pre caption="Adding an entry to updates">
-move net-misc/fwbuilder net-firewall/fwbuilder
-</pre>
-
 <p>
-This example would transparently move <path>net-misc/fwbuilder</path> to
-<path>net-firewall/fwbuilder</path> if users have it installed. This
-way, users would now automatically receive updates
-for <path>net-firewall/fwbuilder</path> when they are available.
+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 as well. Lastly, the titles of the open bugs related to the package
+should be updated.
 </p>
 
 <p>
-Once this step is concluded, you are allowed to remove the old package.
-Simply issue a <c>cvs remove -Rf $PN</c> in the package category and commit
-the changes afterwards with a meaningful commit message. Don't forget to update
-entries in files such as profiles/package.mask to reflect the new category. Finally
-remember to change the title to open bugs related to this package if needed.
+Here is an example where the package
+<path>net-misc/fwbuilder</path> is transparently moved to
+<path>net-firewall/fwbuilder</path>:
 </p>
 
-<pre caption="Removing a package">
-net-misc # cvs rm -Rf fwbuilder
-cvs remove: use `cvs commit' to remove these files permanently
-net-misc # cvs ci -m "Moving net-misc/fwbuilder to net-firewall/fwbuilder."
+<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>
+    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 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;amadio@gentoo.org&gt;
+Date:   Tue Nov 3 20:26:52 2015 +0100
+
+  media-fonts/nanumfont: renamed to media-fonts/nanum
 </pre>
 
-<note>
-CVS cannot destroy directories: it will simply not re-create them if
-they are blank, providing you use CVS with the <c>-P</c> flag.
-</note>
-
 </body>
 </section>
 


             reply	other threads:[~2016-02-05 12:59 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-05 12:59 Ulrich Müller [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-01-23  8:40 [gentoo-commits] proj/devmanual:master commit in: ebuild-maintenance/ Ulrich Müller
2017-09-25  4:40 Göktürk Yüksek
2017-09-25  4:40 Göktürk Yüksek
2017-07-29 20:48 Göktürk Yüksek
2017-01-22 20:45 Göktürk Yüksek
2016-11-20 20:46 Göktürk Yüksek
2016-08-18  9:01 Ulrich Müller
2016-05-22  8:35 Ulrich Müller
2016-05-01  3:49 Göktürk Yüksek
2016-04-24  0:47 Göktürk Yüksek
2016-04-23 19:26 Göktürk Yüksek
2016-04-19 10:40 Ulrich Müller
2016-02-05 12:59 Ulrich Müller
2016-02-05 12:59 Ulrich Müller
2016-02-05 12:59 Ulrich Müller
2016-02-05 12:59 Ulrich Müller
2016-02-05 12:59 Ulrich Müller
2016-02-05 12:59 Ulrich Müller
2016-02-05 12:59 Ulrich Müller
2015-05-09 15:22 Ulrich Müller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1454677100.5c0a5524b4261c497346db460eaaecd1499bd015.ulm@gentoo \
    --to=ulm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox