ALTER(8)

NAME
alter - changes spells after they have been installed

SYNOPSIS
alter [action] [parameters]

DESCRIPTION
alter is part of the sorcery source-code package management suite. It is a command-line tool to change spells after they have been installed. Basically, what this does is change a spell's logs so sorcery has a better idea of what files are supposed to be. This ought to help fixing the problems we've been having running cleanse --fix with md5sum checking turned on.

OPTIONS

-a, --alter
    This is the default action of alter. It will run a command and add all the files it touched to the spells' install log and change the cache and md5sum log. parameters: -n|--spell <spell>

    specify which spell to alter. If not given, the pseudo-spell "alter" is altered. If the spell does not exist yet, it is created. -v|--version <version>

    specify which version of the logs to alter. Note: it seems like -v is getting overridden in the source !? <command>

    The main part. This is the command to run. This command will be tracked like a command during spell install. Note that this command will be run as "$@"|bash, which means that you may have to double-escape some things (or put the whole command in '')

-m, --md5mend <spell(s)>
    This is another major action of alter. It will scan the install logs of all the spells on the command line for files that are also in the install log of other, "environmental" spells. those files will be removed from all environmental spells' md5sum logs. This should fix the problem that cleanse --fix is overly touchy with md5sum checks turned on.

-p, --prelink [prelink args]
    This will prelink all binaries on your system. This makes especially C++ apps with many links a lot faster (KDE). All files touched will be added to the pseudo-spell "smgl-prelink". alter -m smgl-prelink is run automatically. DO NOT dispel that spell. It is not in the sustained spells for some reason, but doing so will wipe all executables off your system... If no prelink args are given, the defaults are "-afmR".

-z, --strip-all [strip args]
    This will strip debugging symbols from all binaries on your system. This will make the binaries smaller. If you want both strip and prelink, strip before prelink is recommended. The pseudo-spell created here is smgl-strip. The default options to strip are "".

note:
    the first time you run one of these last two commands, They will create /etc/prelink.conf, a listing of all directories on your system that contain binaries. This takes a long time.

-s, --strip '<spell[s]>' [strip args]
    This lets you strip specified spells. Several spells have to be given as alter -s "spell1 spell2" [strip args] If one spell is given, the spell logs of that spell are altered. If multiple spells are given, smgl-strip is altered.

-h --help --about
    Displays a longer help message.

NOTES
Never dispel an alter (spell alter, smgl-prelink, smgl-strip) unless you want to delete everything the alter touched! Instead, use the undo archives (created after a md5mend): (This will restore the original md5sum logs. Nothing else!)

dispel -d <spell>-undo <version> alter -m <spell>-undo

Note that all these archives take up a lot of space. To save a drastic amount of space in /var, set ARCHIVE=off. In alter, this will keep alter from creating compile caches for the spells it touches. This may actually make sense. Otherwise, smgl-prelink and smgl-strip will have caches of 1-2gig each (your mileage may vary). For casts however it may be intelligent to turn ARCHIVE back on so you have an easy rollback in case something fails.

WARNING
alter is still under development and freshly written. Do not use this on a production system, it may still be pretty buggy.

AUTHOR
Manpage by Karsten Behrmann, source by Seth Woolley.

Maintained by the Source Mage GNU Linux Team (http://www.sourcemage.org)

REPORTING BUGS
Report bugs to bugzilla <http://bugs.sourcemage.org>

SEE ALSO
cast(8), cleanse(8), dispel(8), gaze(1), grimoire(5), scribbler(8), scribe(8), sorcery(8), sorcery_config(8), summon(8)

WARRANTY
This is free software with ABSOLUTELY NO WARRANTY