DISPEL(8)

NAME
dispel - removes software packages

SYNOPSIS
dispel [options] [package1] ... [package2] ...

dispel -e|--exile|-d|--downgrade <package> <version>

EXAMPLE
To uninstall emacs type:

    dispel emacs

DESCRIPTION
dispel is part of the sorcery source-code package management suite. It is a command-line tool for automatically uninstalling a package and its associated files.

DEPENDENCY FOLLOWING
dispel has options to follow spell dependencies. For example, you can dispel xorg and dispel can remove spells that xorg depends on, and spells those spells depends on, all the way down the dependency tree. Similarly spells that depend on xorg can be removed (and the spells that depend on those spells...).

To understand this there are a few terms to understand:

    A child is a spell that the current spell depends on, for example, fontconfig is a child of xorg.

    An orphan is a child that is only depended on by the current spell. In other words, no other spell depends on the child and gaze orphans will include this spell. It can be safely removed without breaking any dependencies.

    A non-orphan is a child that other spells besides the current spell depend on. If this spell is removed, it will break its parent spells.

    A parent is a spell that depends on the current spell, for example, blackbox (a window manager) depends on xorg.

If you dispel a spell and supply options to dispel child spells, dispel will travel down the depends tree removing spells (depending on options it will ask you what to do for each spell). Once that is complete, dispel will inspect the parents of spells that were removed. A parent spell may have had only optional dependencies removed, if this is the case it may be possible to recast the spell without those optional dependencies. If this is not possible, or you elect to not recast, you can either dispel the parent, or ignore the problem. If you choose to ignore the problem please run cleanse --prune to fix the dependency tree. Once all the parents have been accounted for, dispel will again travel down the depends tree for the newly removed parent spells, and then inspect the parents of those newly removed children.

There are several options, described below, for dependency following. They accept one of the following four parameters: always ask-yes ask-no ignore.

OPTIONS

  -d, --downgrade <spell> <version>
remove the selected spell and restore to the given previously installed version.

  -e, --exile <spell>
removes software package and sets package status to 'exiled'. This prevents it from being cast again automatically, such as when it is needed as a dependency.

To unexile a spell, refer to the sorcery unexile subcommand.

  --notriggers
disables handling of "triggers" for this session, the automatic recasting/dispelling of other spells when a spell is dispelled.

  --nosustain
usually, sorcery will refuse to dispel things it vitally needs (gcc, tar, bash, etc.) This overrides that protection.

  --noreap
dispel the spell without removing its files

  --no-reap-depends
Dont remove dependency information, do not use this unless you know exactly what you are doing, and dont complain if it breaks your box.

  --orphan <quad-opt>
Default action for dispelling a newly orphaned child spell.

  --non-orphan <quad-opt>
Default action for dispelling a dependee of another spell, that is not an orphan (doing this will break the spells that still depend on it).

  --child <quad-opt>
Default action for dispelling a child spell that is either an orphan or non-orphan.

  --recast-parent <quad-opt>
If a spell has a child removed from under it, the spell is considered broken, if all of the removed children are optional, the spell may be recast without those depends. This option controls the default for this action.

  --dispel-parent <quad-opt>
Default action for dispelling broken parents, the user is asked for recasting if possible first.

  --user-deps

  --user-child-deps

  --user-parent-deps
Use defaults for dependency following from the sorcery menu for child and/or parent dependency following.

  -h, --help
outputs short help

FILES

  /var/lib/sorcery/excluded
List of regexps that are excluded during a cast or dispel.

  /var/lib/sorcery/protected
List of files that will not be removed.

  /var/lib/sorcery/sustained
List of spells that are essential to system, and dispel of is not permitted. Casting and upgrading is fine.

ADVANCED USAGE
Remove xfree86, will not be cast again for any reason

    dispel --exile xfree86

Rolling back to a previous version of a package

    dispel --downgrade glibc 2.2.3

NOTES
Do not include version or section when specifying a package. To get complete listing of installed software packages and versions type gaze installed

NOTES
Downgrade will only rollback to versions that were previously installed. It will not download older versions from the Internet.

AUTHOR
Original version by Kyle Sallee, and updated Thomas Stewart and Karsten Behrmann.

Maintained by the Source Mage GNU Linux Team (http://www.sourcemage.org)

REPORTING BUGS
Report bugs to bugzilla <http://bugs.sourcemage.org>

SEE ALSO
alter(8), cast(8), cleanse(8), gaze(1), grimoire(5), scribbler(8), scribe(8), sorcery(8), sorcery_config(5), summon(8)

WARRANTY
This is free software with ABSOLUTELY NO WARRANTY