export       DIALOGRC=/etc/sorcery/dialogrc
shopt -u expand_aliases

                  CAST=cast
        SORCERY_BRANCH="stable"
              ARCHIVE=${ARCHIVE:=on}
              AUTOFIX=${AUTOFIX:=on}
            UPDATEFIX=${UPDATEFIX:=off}
            AUTOPRUNE=${AUTOPRUNE:=off}
         MAIL_REPORTS=${MAIL_REPORTS:=off}
                PATCH=${PATCH:=off}
             PRESERVE=${PRESERVE:=on}
                 REAP=${REAP:=on}
       STORE_CONF_LOG=${STORE_CONF_LOG:-off}
             SORCERER=${SORCERER:=root}
                SOUND=${SOUND:=off}
              SUSTAIN=${SUSTAIN:=on}
                TMPFS=${TMPFS:=off}
         VIEW_REPORTS=${VIEW_REPORTS:=on}
               VOYEUR=${VOYEUR:=on}
         PROMPT_DELAY=${PROMPT_DELAY:=150}
           MAX_CABALS=${MAX_CABALS:=16}
           NET_SELECT=${NET_SELECT:=off}
            MD5SUM_DL=${MD5SUM_DL:=ask_risky}
         CLEAN_SOURCE=${CLEAN_SOURCE:=off}
          COMPRESSBIN=${COMPRESSBIN:=bzip2}
            EXTENSION=${EXTENSION:=.bz2}
       SET_TERM_TITLE=${SET_TERM_TITLE:=off}
    STRICT_SCM_UPDATE=${STRICT_SCM_UPDATE:=off}
                 NICE=${NICE:=+10}
                UMASK=${UMASK:=0022}
         SORCERY_PATH="/usr/sbin"
FORCE_BASESYSTEM_DEPENDS=${FORCE_BASESYSTEM_DEPENDS:-off}

            LDD_CHECK=${LDD_CHECK:=on}
           FIND_CHECK=${FIND_CHECK:=on}
         MD5SUM_CHECK=${MD5SUM_CHECK:=on}
            SYM_CHECK=${SYM_CHECK:=off}

        # menu defined defaults for dependency following
        ORPHAN_MENU_DEFAULT=${ORPHAN_MENU_DEFAULT:-ignore}
     NONORPHAN_MENU_DEFAULT=${NONORPHAN_MENU_DEFAULT:-ignore}
 RECAST_PARENT_MENU_DEFAULT=${RECAST_PARENT_MENU_DEFAULT:-ignore}
 DISPEL_PARENT_MENU_DEFAULT=${DISPEL_PARENT_MENU_DEFAULT:-ignore}

 URL_HTTP_FTP_TIMEOUT=${URL_HTTP_FTP_TIMEOUT:=90}

                    # pager info
                    # -R: display color codes properly
                    # -E: quit at eof (otherwise scribe pauses on empty updates)
                    # -X: dont do screen init and deinit, gaze install
                    # of a small spell is effectively useless otherwise as the
                    # screen is cleared afterwards.
                PAGER=${PAGER:=less -R -E -X}
             FILEPROG=${FILEPROG:=file}
           DIALOGPROG=${DIALOGPROG:=dialog}

                DEBUG=${DEBUG:=/dev/null}

          CROSS_INSTALL=${CROSS_INSTALL:=off}

         ARCHITECTURE=${ARCHITECTURE:=i386}
        OPTIMIZATIONS=${OPTIMIZATIONS:=strip}

        COMPILE_CONFIG=/etc/sorcery/compile_config
          ROOTS_CONFIG=/etc/sorcery/roots
          MEDIA_CONFIG=/etc/sorcery/media
            URL_CONFIG=/etc/sorcery/url
          STATE_CONFIG=/etc/sorcery/state
         SCREEN_CONFIG=/etc/sorcery/screen

          CONFIG_CACHE=/etc/sorcery/local

          LOCAL_ROOTS_CONFIG=/etc/sorcery/local/roots
          LOCAL_MEDIA_CONFIG=/etc/sorcery/local/media
          LOCAL_URL_CONFIG=/etc/sorcery/local/url
          LOCAL_CONFIG=/etc/sorcery/local/config

   SORCERY_INSTALL_LOG=/etc/sorcery/install.log

               MIRRORS=/etc/sorcery/mirrors
  SM_LICENSE_DIRECTORY=/etc/sorcery/licenses
SM_CONFIG_OPTION_CACHE=/etc/sorcery/local/config_option_cache
          ACCOUNT_LIST=/etc/sorcery/accounts
            GROUP_LIST=/etc/sorcery/groups
         GRIMOIRE_LIST=/etc/sorcery/local/grimoire
  GRIMOIRE_LIST_BACKUP=/etc/sorcery/local/grimoire.backup
        RESTORE_SCRIPT=/root/sorcery.restore
       CABAL_DIRECTORY=/etc/sorcery/cabal
           CABAL_NAMES=$CABAL_DIRECTORY/names
            CABAL_KEYS=$CABAL_DIRECTORY/keys
          CABAL_OUTPUT=/tmp/cabal.output

           GPG_KEY_DIR=/usr/share/smgl-pubkeys
           GPG_SIG_EXT=asc
    GPG_VERIFY_SORCERY=no
   GPG_VERIFY_GRIMOIRE=no
   
VERIFY_SPELL_LEVELS="WORKS_FOR_ME UPSTREAM_HASH UPSTREAM_KEY ESTABLISHED_UPSTREAM_KEY VERIFIED_UPSTREAM_HASH VERIFIED_UPSTREAM_KEY ID_CHECK_UPSTREAM_KEY"
DEFAULT_SPELL_VRF_LEVEL="WORKS_FOR_ME"
    VRF_ALLOWED_LEVELS=""
  VRF_ALLOW_NEW_LEVELS="on"
    VRF_ALLOWED_HASHES=""
  VRF_ALLOW_NEW_HASHES="on"
     GPG_GRIMOIRE_LIST="test stable-rc stable games z-rejected hardened"
GRIMOIRE_MANIFEST_ALGORITHM=sha1

      DEF_INSTALL_INIT=off
       DEF_ENABLE_INIT=off
    DEF_INSTALL_XINETD=off
     DEF_ENABLE_XINETD=off
    DEF_INIT_VS_XINETD=off

          SGL_LIBRARY=/var/lib/sorcery
  SGL_LIBRARY_MODULES=${SGL_LIBRARY}/modules
           # system archspecs are still considered part of sorcery
           # and are deliberatly not in INSTALL_ROOT
           ARCH_SPECS="/usr/share/archspecs ${SGL_LIBRARY}/archspecs"
             EXCLUDED=${SGL_LIBRARY}/excluded
                CODEX=${SGL_LIBRARY}/codex
            PROTECTED=${SGL_LIBRARY}/protected
            VOLATILES=${SGL_LIBRARY}/volatiles
              CONFIGS=${SGL_LIBRARY}/configs
                 SOLO=${SGL_LIBRARY}/solo
          SUBROUTINES=${SGL_LIBRARY}/subroutines
            SUSTAINED=${SGL_LIBRARY}/sustained
      SM_LICENSE_LIST=${SM_LICENSE_DIRECTORY}/license_list

         SPELL_INDEX_FILE=codex.index
       PROVIDE_INDEX_FILE=provides.index

             LOCK_DIR=/tmp/liblock-$UID
     LOCK_TRANSACTIONS="$LOCK_DIR/liblock.locklist"
            MAX_SLEEP=5

   TABLET_MAX_VERSION=1

         SOURCE_CACHE=${SOURCE_CACHE:=/var/spool/sorcery}

              # SECURITY NOTE: any script running as root must pick a
              # more secure location for temp files that is not accessable
              # by other users and override this variable.
              # mk_tmp_dirs accomplishes this. Scripts run as
              # unpriviledged users are also advised to override this,
              # it is here merely to ensure it is always defined.
              TMP_DIR=${TMP_DIR:-/tmp}

               SCREEN={SCREEN:-off}

              TRACKED="/bin /boot /etc /lib /sbin /usr /var"
                 DOCS="README* FAQ* CHAN* doc* DOC* conf SETUP LICENSE COPYING NEWS"
PROGRESS_SPINNER_CHARS='-\|/'

        WHITESPACE_IFS=$' \t\n'
         TAB_ENTER_IFS=$'\t\n'
             ENTER_IFS=$'\n'
          STANDARD_IFS=$WHITESPACE_IFS

. $SUBROUTINES

. $MEDIA_CONFIG
. $ROOTS_CONFIG
. $URL_CONFIG
. $STATE_CONFIG
. $LOCAL_CONFIG
. $COMPILE_CONFIG
. $SCREEN_CONFIG

[  -r  $GRIMOIRE_LIST  ]  &&  .  $GRIMOIRE_LIST

      BUILD_DIRECTORY=${INSTALL_ROOT}/usr/src
   DOCUMENT_DIRECTORY=${INSTALL_ROOT}/usr/share/doc

# this makes appending the sorcery path idempotent
[ -z ${PATH##*$SORCERY_PATH*} ] || export PATH="$PATH:$SORCERY_PATH"

optimize
umask $UMASK >/dev/null
# this fixes breakage with multiply nested triggers, if/when we dont use
# make anymore this can be removed
unset MAKELEVEL
unset MAKEFLAGS
