Product SiteDocumentation Site

Chapter 8. Compose Process Details

8.1. Overview
8.2. Installation Media
8.3. Live Media
8.4. Respin Mode
8.4.1. Selecting Groups
8.4.2. Select Matching Packages
8.5. Dependency Resolving
8.5.1. Inclusive Dependency Resolving
8.5.2. Exclusive Dependency Resolving
8.6. Copying Arbitrary Files Onto the Media
8.7. Cleaning Up
8.7.1. Exception to the Rule
This chapter lists the details of the compose process as well as dives deep into the features of Revisor.

8.1. Overview

Of course, the compose process for installation media is a little different then the compose process for live media.
When composing, Revisor starts out doing the following:
  • Revisor initiates and loads plugins, options, and defaults. At this point, Revisor has a so-called ConfigStore that holds all options Revisor knows about.
  • Revisor reads the options from the command-line.
  • Revisor reads the configuration file specified with the --config command-line parameter, or uses it's builtin default, /etc/revisor/revisor.conf.
  • Revisor reads the global [revisor] section for all settings available in it's ConfigStore and sets those configured in the global section. Remember that if an option is not available in the ConfigStore but is configured in the global configuration section, it is ignored.
  • If a model is specified in the configuration file's global section [revisor], Revisor will set that model to be used and loads it.
  • If a model has been specified on the command-line, with option --model, Revisor loads that model.
  • When loading the model, Revisor again iterates over all the settings that are in the ConfigStore, checks if the setting has been configured in the model section, and adjusts the setting in the ConfigStore if necessary. Again remember that if the ConfigStore does not know about one or the other option already, that setting is ignored.
  • Now that the defaults and configuration file settings have been applied to the ConfigStore, it is time for Revisor to look at the options specified on the command-line to see if you wanted to override anything.
  • While loading each configuration setting available in the global [revisor], model-specific sections and/or command-line, Revisor checks every settings against a function that is specifically written to check such setting. For example, the label of an ISO cannot be longer then 32 characters.
  • Especially in CLI mode, these settings build up the task list for Revisor. If there's nothing to do, Revisor will throw an error explaining what's missing. If there's things to do that cannot be done in one run, Revisor will throw an error explaining that.
  • In Graphical User Interface mode however, if the settings loaded so far are all OK, the GUI will start. Since you can still adjust a few settings from within the GUI, the settings loaded so far will be the defaults for configuration settings that have a dialog for you to adjust them with, throughout the rest of the process.