# Delve command

delve is a low-level tool that allows the running of single spell states such as PRE_BUILD and INSTALL. It should not be used normally as it can harm one's system if used improperly. As such, please do not complain if your system becomes broken if this is used. Consider if what your doing could be useful to more than one person. If it can, file a bug report to get the spell changed.

Usage of delve comes in these forms:

# delve [-f] -c <beginning> <end> <spell>
# delve [-f] <spell> <state0> [ <state1> ... <stateN> ]
# delve <spell> success|failure
• -f is an option to force the running of the remaining specified states even after previous states have failed, though the remaining states may fail anyway because of the previous failures.
• -c is an option to continuously run from the start state to the end state.

Please note that -fc does not imply -f and -c and -f must be the first flag.

delve, although against recommendation, can be useful to circumvent dependencies, such as when there are files that would fulfill a spell's dependencies otherwise or to fix up a spell's source interactively in order to use make strength to recompile only what is needed. It can also be useful for debugging.

Spell states depend on build API. The spell states for each API are listed, as well as the order of the states. The default is API 2.

API1=start PRE_BUILD config_loc BUILD POST_BUILD POST_INSTALL TRIGGERS end
API2=start PRE_BUILD config_loc BUILD PRE_INSTALL INSTALL INSTALL_EXTRAS POST_INSTALL TRANSFER FINAL TRIGGERS end
• start is an empty state that will automatically go to the next state that a spell has (in both cases, PRE_BUILD).
• config_loc will ask for custom ./configure flags if CONFIG_LOC is enabled in sorcery feature menu, otherwise it is an empty state.
• there are also special "substates" of end which are success and failure:
• if all previous states to end were successful, then the success sequence is played, such as marking the spell as installed, playing the sounds, etc.
• failure plays its failure state as well. delve can use these as well, e.g. delve <spell> failure