Package conflict resolution

When running tori check, tori will generate two package lists: one with your installed packages and one from the packages file in your configuration directory.

In case it finds differences between the two lists, its default behavior is to ask you what to do. This approach is described in the following section.

Interactive resolution

If it finds a difference between the two package lists, tori will present you with a list of packages and a menu with several conflict resolution strategies:

[tori] 16:38:19: System and configuration packages differ

Packages on configuration but not installed: bastille fend ksh xh
  [1] Install all
  [2] Enter packages to install
  [3] Remove all from configuration
  [4] Enter packages to remove from configuration
  [5] Decide on editor
  [6] Cancel
Choose an option [1-6]:

tori will perform two separate checks that may produce two separate dialogues like the one above. It checks for packages found in the configuration that are missing from the system and for packages found in the system but missing from the configuration.

If it finds packages in your configuration that are not installed on the system, it will present you with the following choices:

  • Install all: The exact list of packages just displayed is passed to the package manager’s install option. The package manager may ask for additional confirmation.
  • Enter packages to install: Allows you to provide a space-separated list of packages to install. These packages will be checked for invalid characters and invalid package names. If there is an issue, you will be prompted again.
  • Remove all from configuration: Removes all packages from your configuration file.
  • Enter packages to remove from configuration: Allows you to provide a space-separated list of packages to remove from the configuration file.
  • Decide on editor: Opens your editor and allows you to choose individually what actions to take for each package.
  • Cancel: Do nothing and close the dialog

If it finds packages installed on the system but not listed in your configuration, it will present you with the following choices:

  • Uninstall all: The exact list of packages just displayed is passed to the package manager’s uninstall option. The package manager may ask for additional confirmation.
  • Enter packages to uninstall: Allows you to provide a space-separated list of packages to uninstall. These packages will be checked for invalid characters and invalid package names. If there is an issue, you will be prompted again.
  • Add all to configuration: Adds all packages to your configuration file.
  • Enter packages to add to configuration: Allows you to provide a space-separated list of packages to add to the configuration file.
  • Decide on editor: Opens your editor and allows you to choose individually what actions to take for each package.
  • Cancel: Do nothing and close the dialog

Decide on editor

If you choose to decide what to do in your editor, the editor set on your $EDITOR environment variable will be launched with the following text:

# Options:
#   [i]nstall     Install package to system
#   [r]emove      Remove from configuration
#   [s]kip        Do not take any action

# Providing just the value between brackets is sufficient
# Replace 'skip' below with the desired option

skip bastille
skip fend
skip ksh
skip xh

This example shows packages on configuration but not installed. The inverse set of operations are displayed on top if you have installed packages that are not in your configuration:

# Options:
#   [u]ninstall   Uninstall package from system
#   [a]dd         Add to configuration
#   [s]kip        Do not take any action

# Providing just the value between brackets is sufficient
# Replace 'skip' below with the desired option

skip bastille
skip fend
skip ksh
skip xh

Edit the skip option on each package to decide what action to take on them:

# Options:
#   [u]ninstall   Uninstall package from system
#   [a]dd         Add to configuration
#   [s]kip        Do not take any action

# Providing just the value between brackets is sufficient
# Replace 'skip' below with the desired option

uninstall bastille
u fend
a ksh
skip xh

In the example above, bastille and fend would be uninstalled, ksh would be added to the configuration and no action would be taken for xh.