This page is for listing standards. It can be used as reference material for creating and editing spells. You should check here before copying some neat trick from an older spell.
Another purpose of this document is to gather together info about everything that needs to be removed from/changed in the grimoires. Therefore when adding an entry, you should include some data about how often the no-no in question still appears in the grimoire(s).
exit. Use return 1 when aborting from a spellMakefiles if you have to/usr/share/man/usr/share/info/usr/localUPDATED (see DETAILS documentation which includes PATCHLEVEL and SECURITY_PATCH)uname, $HOST, etc. to detect CPU arch, but SMGL_ARCHSPECS[?] (in transition periods don't forget to depend on "smgl-archspecs" spell)OPTS and only during BUILD and INSTALL)STAGED_INSTALL="off" without first consulting the Sorcery Team$SPELL$SPELL_CONFIG directly (use config_*, query*, persistent variables)MAKE_NJOBS in DETAILS to overwrite -j for make. use make_single and make_normal insteadprofile.d scriptsVERSION, SPELL, dependency flags and some othersunlikely errors:
persistent_add any non-conditional variable present in DETAILS (e.g., VERSION)persistent_add any variable provided by sorceryIFS Note: exporting variables in spells should be avoided, as sorcery makes no guarantee that they will be around in another file. Therefore even if it works, it works by accident and may break in the future. There might be some cases where compiling a program successfully requires an export <variable>=<value>, but for spells' internal operation it is never allowed. Use CONFIGURE and persistent variables instead. Also note that exporting important environmental variables can break other spells in queue.
See source integrity checking standards for more information.