#!/bin/bash
#
# Where is the documentation of this lib??? (erics)
#

invoke_cross_environment() 
{

	if  [[ $CROSS_INSTALL == on ]]; then

           # Set directory options.

            INSTALL_ROOT="/opt/cross-install/${HOST}"

          DEPENDS_CONFIG=${INSTALL_ROOT}/etc/sorcery/local/depends
          LOCAL_EXCLUDED=${INSTALL_ROOT}/etc/sorcery/local/excluded
  SM_CONFIG_OPTION_CACHE=${INSTALL_ROOT}/etc/sorcery/local/config_option_cache

            ACTIVITY_LOG=${INSTALL_ROOT}/var/log/sorcery/activity
            SECURITY_LOG=${INSTALL_ROOT}/var/log/sorcery/security
            INSTALL_LOGS=${INSTALL_ROOT}/var/log/sorcery/install
            COMPILE_LOGS=${INSTALL_ROOT}/var/log/sorcery/compile
             MD5SUM_LOGS=${INSTALL_ROOT}/var/log/sorcery/md5sum
           INSTALL_QUEUE=${INSTALL_ROOT}/var/log/sorcery/queue/install
            REMOVE_QUEUE=${INSTALL_ROOT}/var/log/sorcery/queue/remove

          DEPENDS_STATUS=${INSTALL_ROOT}/var/state/sorcery/depends
   DEPENDS_STATUS_BACKUP=${INSTALL_ROOT}/var/state/sorcery/depends.backup
            SPELL_STATUS=${INSTALL_ROOT}/var/state/sorcery/packages
     SPELL_STATUS_BACKUP=${INSTALL_ROOT}/var/state/sorcery/packages.backup
            TRIGGER_LIST=${INSTALL_ROOT}/var/state/sorcery/triggers
             MENU_STATUS=${INSTALL_ROOT}/var/state/sorcery/menus
      MENU_STATUS_BACKUP=${INSTALL_ROOT}/var/state/sorcery/menus.backup

           INSTALL_CACHE=${INSTALL_ROOT}/var/cache/sorcery

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

  	debug "libcrossinstall" "Install root is ${INSTALL_ROOT}"

  	# Set environment for cross-compilation.
       PATH=${PATH}:/opt/cross-build/bin
         CC=${HOST}-gcc
  	BUILDCC=gcc

  	export PATH CC BUILDCC

		# check if sorcery needs to be installed.
		if  [  !  -d  ${INSTALL_ROOT}/etc/sorcery  ]; then
			cross_install_sorcery 
		fi
	fi
}

#
# Will install sorcery in cross-install directories, by copying from
# the existing sorcery install on the machine using this function.
#
cross_install_sorcery()
{
	
	message -n "${MESSAGE_COLOR}Setting up Sorcery for cross-install environment."
	message -n "${DEFAULT_COLOR}"
	
	mkdir -p ${INSTALL_ROOT}/etc/init.d/runlevels/{%1,%2,%3,%4,%5,%S}
	mkdir -p ${INSTALL_ROOT}/etc/sysconfig
	mkdir -p ${INSTALL_ROOT}/{home,root,dev,lib,bin,sbin,mnt,tmp,proc}
	mkdir -p ${INSTALL_ROOT}/var/state/sorcery
	mkdir -p ${INSTALL_ROOT}/var/cache/sorcery
	mkdir -p ${INSTALL_ROOT}/usr/{src,sbin,bin,lib}
	mkdir -p ${INSTALL_ROOT}/usr/share/info
	mkdir -p ${INSTALL_ROOT}/usr/share/man/{man1,man2,man3,man4,man5,man6,man7,man8}
	mkdir -p ${INSTALL_ROOT}/var/log/sorcery/compile/
	mkdir -p ${INSTALL_ROOT}/var/log/sorcery/install/
	mkdir -p ${INSTALL_ROOT}/var/log/sorcery/md5sum/
	mkdir -p ${INSTALL_ROOT}/var/log/sorcery/queue/
	mkdir -p ${INSTALL_ROOT}/var/lib/sorcery/
	mkdir -p ${INSTALL_ROOT}/var/spool/sorcery/
	mkdir -p ${INSTALL_ROOT}/var/tmp
	cp -ruv /etc/sorcery ${INSTALL_ROOT}/etc
        rm -f ${INSTALL_ROOT}/etc/sorcery/local/depends/*
        cp /etc/sysconfig/init ${INSTALL_ROOT}/etc/sysconfig
        touch ${INSTALL_ROOT}/var/state/sorcery/{depends,packages,triggers}
	cp -ruv /var/lib/sorcery ${INSTALL_ROOT}/var/lib
        cp -p /usr/sbin/{cast,dispel,gaze,invoke,scribbler,scribe,sorcery,summon,vcast,xsorcery} ${INSTALL_ROOT}/usr/sbin
        cp -p /usr/share/man/man8/{cast.8,dispel.8,invoke.8,scribbler.8,scribe.8,sorcery.8,summon.8} ${INSTALL_ROOT}/usr/share/man/man8
        cp -p /usr/share/man/man1/gaze.1 ${INSTALL_ROOT}/usr/share/man/man1/
        cp -p /usr/share/man/man5/grimoire.5 ${INSTALL_ROOT}/usr/share/man/man5/

}
