diff options
author | Thomas Anderson <gentoofan23@gentoo.org> | 2009-06-16 17:06:15 +0000 |
---|---|---|
committer | Thomas Anderson <gentoofan23@gentoo.org> | 2009-06-16 17:06:15 +0000 |
commit | afa883bdc680f187d249446f8d20ae9d7f5cdcc6 (patch) | |
tree | 553adb4e7306462156713648cc1aa6dc3d0c82a0 /eclass-writing | |
parent | Fix example of PVR, thanks to Ulrich Müller <ulm AT gentoo DOT org>; bug #27... (diff) | |
download | devmanual-afa883bdc680f187d249446f8d20ae9d7f5cdcc6.tar.gz devmanual-afa883bdc680f187d249446f8d20ae9d7f5cdcc6.tar.bz2 devmanual-afa883bdc680f187d249446f8d20ae9d7f5cdcc6.zip |
Add information on deprecating eclasses as decided by the Council on May 28, 2009.
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/devmanual/trunk@150 176d3534-300d-0410-8db8-84e73ed771c3
Diffstat (limited to 'eclass-writing')
-rw-r--r-- | eclass-writing/text.xml | 44 |
1 files changed, 39 insertions, 5 deletions
diff --git a/eclass-writing/text.xml b/eclass-writing/text.xml index a9dd85a..36927ac 100644 --- a/eclass-writing/text.xml +++ b/eclass-writing/text.xml @@ -80,11 +80,45 @@ Committing a broken eclass can kill huge numbers of packages. Since A simple way to verify syntax is <c>bash -n foo.eclass</c>. </p> -<p> -Eclasses must <b>not</b> be removed from the tree, even if they are no longer used, -as this will cause problems for users who have installed packages which used the -eclass in question. -</p> +</body> +</section> + +<section> +<title>Removing Eclasses</title> +<body> + +<p>No longer used eclasses may be removed from the tree, but developers must +adhere to the following process(developers must follow these rules because +packages installed with a portage version of less than 2.1.4 would break +during uninstallation or upgrades):</p> + +<ol> + <li> + Make sure that no packages or other eclasses in the tree <c>inherit</c> the + eclass. + </li> + <li> + Send a message to the gentoo-dev and gentoo-dev-announce mailing lists + announcing that the eclass you are deprecating is now deprecated. + </li> + <li> + Add a warning to all installation phases that the eclass is now deprecated, + perhaps with a hint at what, if any, eclass replaced the functionality that + the old eclass provided. + </li> + <li> + Remove all functionality related to installation of packages from the eclass. + </li> + <li> + Add a one line comment saying exactly <c># @DEAD</c> so that the + eclass-manpages package will not attempt to document it. + </li> + <li> + After two years have passed since the eclass was deprecated, the eclass may + be removed from the portage tree. + </li> +</ol> + </body> </section> |