Package obsoletion is the mechanism by which packages are emptied of contents and removed from the system.
A package is made obsolete by publishing a new version with no content and with the following set action. An obsoleted package cannot deliver content other than set actions.
set name=pkg.obsolete value=true
If the package being obsoleted was previously renamed, you must also obsolete those renamed packages and remove their rename dependencies. A package cannot be marked both renamed and obsolete. In the renamed package, change pkg.renamed to pkg.obsolete and remove the depend action that specifies the package to which this package was renamed. See Renaming a Single Package for a reminder of what was done to rename the package.
An obsoleted package does not satisfy require dependencies. Update fails if an installed package has a require dependency on a package that is obsoleted in the update, unless the update also provides a newer version of the dependent package that no longer contains the require dependency on the obsolete package.
An obsolete package can be made non-obsolete by publishing a newer version that is not marked obsolete. If a user performs an update when an obsolete package is installed, the obsolete package is removed from the system. If a user performs an update before the package was obsolete and does not update again until after a newer, non-obsolete version of the package is published, the update installs that newer version.