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 spellMakefile
s if you have to/usr/share/man
/usr/share/info
/usr/local
UPDATED
(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.