Removing Ebuilds and Packages

Removing ebuilds

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.

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.

You should also not cause an unnecessary downgrade for any ~arch when removing ebuilds — instead, it is best to get the newest version marked ~arch first and then remove redundant versions of the ebuild.

Removing a package

When removing packages follow these steps:

  1. Make sure that no dependencies in the Gentoo repository are broken due to the removal
  2. Send last rites to gentoo-dev-announce and gentoo-dev
  3. Mask the package
  4. Wait 30 days (or more)
  5. Remove from the git tree unless the reason for removal has been fixed
  6. Remove any references to the package from other ebuilds, e.g., use-conditional dependencies. Blockers are the only exception to this.
  7. Remove package.mask and any package.use.mask entries
  8. Remove the <pkg> tags referencing this package in the metadata.xml files of other packages.
  9. Close open bugs as WONTFIX

Here is a list of commands that will delete dev-util/pmk from the tree:

# cd dev-qt
# git rm -rf qtphonon
# git commit --signoff --gpg-sign

An example commit message is shown below:

commit b97eb6d43f45dfd5b739638928db22d3f3392685
Author: Michael Palimaka <>
Date:   Tue Oct 3 21:43:03 2017 +1100

  dev-qt/qtphonon: remove last rited package