Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to devel-stage-root sorcery by David Brown (055cf3717759575a490a0f255f007fd59e3577cb)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: David Brown <scm AT mail.sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to devel-stage-root sorcery by David Brown (055cf3717759575a490a0f255f007fd59e3577cb)
  • Date: Fri, 20 Oct 2006 13:10:30 -0500

GIT changes to devel-stage-root sorcery by David Brown
<dmlb2000@kajit-master.(none)>:

etc/sorcery/config | 22 +--------
usr/sbin/delve | 15 ++----
var/lib/sorcery/modules/build_api/api2 | 23 +++++-----
var/lib/sorcery/modules/libcast | 18 ++++----
var/lib/sorcery/modules/libstage | 13 -----
var/lib/sorcery/modules/libtrack | 74
+++++++++++++++++----------------
6 files changed, 70 insertions(+), 95 deletions(-)

New commits:
commit 055cf3717759575a490a0f255f007fd59e3577cb
Author: David Brown <dmlb2000@kajit-master.(none)>
Commit: David Brown <dmlb2000@kajit-master.(none)>

initial commit to make stage root work with castfs

diff --git a/etc/sorcery/config b/etc/sorcery/config
index 5219da4..08de72f 100755
--- a/etc/sorcery/config
+++ b/etc/sorcery/config
@@ -177,24 +177,10 @@ CONFIG_STAGE_DIRECTORY=${STATE_ROOT}/var

# this is passed directly to installwatch so it can't contain
# shell expansions or regex's
-INSTALLWATCH_UNSTAGED_PATHS=""
-for dir in /dev \
- /proc \
- /tmp \
- /var/tmp \
- /sys \
- ${BUILD_DIRECTORY} \
- ${SGL_LIBRARY} \
- ${INSTALL_ROOT}/${SGL_LIBRARY} \
- ${SOURCE_CACHE} \
- ${CONFIG_CACHE} \
- ${STATE_DIRECTORY} \
- ${LOG_DIRECTORY} ; do
- INSTALLWATCH_UNSTAGED_PATHS="${INSTALLWATCH_UNSTAGED_PATHS}${dir},"
-done
-INSTALLWATCH_UNSTAGED_PATHS=${INSTALLWATCH_UNSTAGED_PATHS%,}
-# this value can be between 0-4, 0 is nothing and 4 is everything
-INSTALLWATCH_DEBUG_LEVEL=1
+CASTFS_UNSTAGED_PATHS="/dev /proc /tmp /var/tmp /sys ${BUILD_DIRECTORY}
${SGL_LIBRARY} ${INSTALL_ROOT}/${SGL_LIBRARY} ${SOURCE_CACHE} ${CONFIG_CACHE}
${STATE_DIRECTORY} ${LOG_DIRECTORY}"
+# this value is a mask bits set mean output is done for that particular
+# component of castfs
+CASTFS_DEBUG_LEVEL=255

# this makes appending the sorcery path idempotent
[ -z ${PATH##*$SORCERY_PATH*} ] || export PATH="$PATH:$SORCERY_PATH"
diff --git a/usr/sbin/delve b/usr/sbin/delve
index 4fc5c94..69794ae 100755
--- a/usr/sbin/delve
+++ b/usr/sbin/delve
@@ -87,7 +87,7 @@ function delve_log_helper() {

# these have to go somewhere where future delves can find them
C_LOG=${C_LOG:="/tmp/sorcery/delve/$SPELL.compile.log"}
- IW_DBGLOG=${IW_DBGLOG:="/tmp/sorcery/delve/$SPELL.iwdbglog"}
+ CASTFS_DBGLOG=${CASTFS_DBGLOG:="/tmp/sorcery/delve/$SPELL.iwdbglog"}
C_FIFO=${C_FIFO:="/dev/stdout"}
IW_LOG=${IW_LOG:="/tmp/sorcery/delve/$SPELL.iw"}
VOYEUR_STDOUT=${VOYEUR_STDOUT:="/dev/stdout"}
@@ -160,12 +160,10 @@ function delve_install() {

delve_is_valid_step BUILD 2 || return 1
delve_log_helper
- invoke_installwatch &&
- if [[ "$STAGED_INSTALL" != "off" ]]
+ if ! [[ "$__DELVE_IN_CAST" ]]
then
- prepare_stage_root
- invoke_stage_root
- fi &&
+ invoke_installwatch
+ fi
(
run_install || return 2
) 2> >(tee -a $C_LOG 1>&2 > $VOYEUR_STDERR) \
@@ -339,10 +337,7 @@ function main() {

echo "DEBUG: $STATES"

- if ! installwatch_is_stageable
- then
- STAGED_INSTALL=off
- fi
+ STAGED_INSTALL=off

local last_rc=0
for STATE in $STATES; do
diff --git a/var/lib/sorcery/modules/build_api/api2
b/var/lib/sorcery/modules/build_api/api2
index a9a92ee..c418170 100755
--- a/var/lib/sorcery/modules/build_api/api2
+++ b/var/lib/sorcery/modules/build_api/api2
@@ -26,15 +26,17 @@ #---------------------------------------
function run_build_spell() {
debug "build_api/api2" "run_build_spell"

+ local CHROOT_CHECK=""
+
export C_LOG=$TMP_DIR/$SPELL.compile.log
- export IW_DBGLOG=$C_LOG.iwdbglog
+ export CASTFS_DBGLOG=$C_LOG.castfs.dbglog
export C_FIFO=/dev/stdout # not needed for api2 anymore, but just in case
export S_PWD=$TMP_DIR/build.saved.pwd
export VOYEUR_STDOUT VOYEUR_STDERR
export __DELVE_IN_CAST=on

- rm -f $IW_DBGLOG
- touch $IW_DBGLOG
+ rm -f $CASTFS_DBGLOG
+ touch $CASTFS_DBGLOG
rm -f $C_LOG
touch $C_LOG

@@ -53,7 +55,7 @@ function run_build_spell() {
VOYEUR_STDERR=/dev/null
fi

- if ! installwatch_is_stageable
+ if ! is_castfs_installed
then
STAGED_INSTALL=off
fi
@@ -66,14 +68,16 @@ function run_build_spell() {
(
run_build &&
run_pre_install &&
- invoke_installwatch &&
if [[ "$STAGED_INSTALL" != "off" ]]
then
prepare_stage_root &&
- invoke_stage_root
+ invoke_stage_root &&
+ CHROOT_CHECK="chroot ${STAGE_DIRECTORY}/MOUNT"
+ else
+ invoke_installwatch
fi &&
- set_stage_root_paths &&
- delve $SPELL INSTALL &&
+ message "${MESSAGE_COLOR}iwlog $IW_LOG${DEFAULT_COLOR}" &&
+ $CHROOT_CHECK delve $SPELL INSTALL &&
delve $SPELL POST_INSTALL || return 2
run_stage_install &&
devoke_installwatch &&
@@ -189,7 +193,6 @@ ## stage root properly
#---------------------------------------------------------------------
function run_install() {
debug "build_api/api2" "Starting run_install()"
- set_stage_root_paths
if [ -f $S_PWD ] ; then
cd "`cat $S_PWD`"
elif [ -d $SOURCE_DIRECTORY ] ; then
@@ -219,7 +222,6 @@ ## stage root properly
#---------------------------------------------------------------------
function run_post_install() {
debug "build_api/api2" "Starting run_post_install()"
- set_stage_root_paths
persistent_load &&
if [[ $STAGED_INSTALL != off ]]
then
@@ -237,7 +239,6 @@ ##--------------------------------------
function run_stage_install() {
if [[ "$STAGED_INSTALL" != "off" ]]
then
- set_stage_root_paths
devoke_stage_root &&
install_staged_spell
fi
diff --git a/var/lib/sorcery/modules/libcast b/var/lib/sorcery/modules/libcast
index 8a6c00f..67caf74 100755
--- a/var/lib/sorcery/modules/libcast
+++ b/var/lib/sorcery/modules/libcast
@@ -637,14 +637,16 @@ function create_compile_log() {
else
$COMPRESSBIN -f < $C_LOG > $COMPILE_LOGS/$SPELL-$VERSION$EXTENSION
fi
- message "${MESSAGE_COLOR}Creating installwatch debug log" \
- "${FILE_COLOR}$COMPILE_LOGS/$SPELL-$VERSION.iwdbglog$EXTENSION" \
- "${DEFAULT_COLOR}"
- if [ -z "$EXTENSION" ]
- then
- cp $IW_DBGLOG $COMPILE_LOGS/$SPELL-$VERSION.iwdbglog
- else
- $COMPRESSBIN -f < $IW_DBGLOG >
$COMPILE_LOGS/$SPELL-$VERSION.iwdbglog$EXTENSION
+ if [ -f $CASTFS_DBGLOG ] ; then
+ message "${MESSAGE_COLOR}Creating castfs debug log" \
+
"${FILE_COLOR}$COMPILE_LOGS/$SPELL-$VERSION.castfs.dbglog$EXTENSION" \
+ "${DEFAULT_COLOR}"
+ if [ -z "$EXTENSION" ]
+ then
+ cp $CASTFS_DBGLOG $COMPILE_LOGS/$SPELL-$VERSION.castfs.dbglog
+ else
+ $COMPRESSBIN -f < $CASTFS_DBGLOG >
$COMPILE_LOGS/$SPELL-$VERSION.castfs.dbglog$EXTENSION
+ fi
fi
}

diff --git a/var/lib/sorcery/modules/libstage
b/var/lib/sorcery/modules/libstage
index 40b2a31..14e5707 100755
--- a/var/lib/sorcery/modules/libstage
+++ b/var/lib/sorcery/modules/libstage
@@ -199,19 +199,6 @@ function stage_install_char_block()
esac
}

-function set_stage_root_paths()
-{
- local bindir libdir
- for bindir in /bin /sbin /usr/bin /usr/sbin
- do
- export PATH=$( envar_prepend_path "$STAGE_DIRECTORY/TRANSL/$bindir"
"$PATH" )
- done
- for libdir in /lib /usr/lib
- do
- export LD_LIBRARY_PATH=$( envar_prepend_path
$STAGE_DIRECTORY/TRANSL/$libdir $LD_LIBRARY_PATH )
- done
-}
-
#---------------------------------------------------------------------
## @param file
## install the file from the stage root to the system does check for
diff --git a/var/lib/sorcery/modules/libtrack
b/var/lib/sorcery/modules/libtrack
index 8cb33d0..05a5dd9 100755
--- a/var/lib/sorcery/modules/libtrack
+++ b/var/lib/sorcery/modules/libtrack
@@ -44,10 +44,19 @@ ##
#---------------------------------------------------------------------
function real_invoke_stage_root()
{
- export INSTW_TRANSL=1
- export INSTW_LOGFILE=/dev/null
- export DOCUMENT_DIRECTORY=${DOCUMENT_DIRECTORY#$INSTALL_ROOT}
- unset INSTALL_ROOT
+ export CASTFS_LOGFILE=${CASTFS_DBGLOG}
+ export CASTFS_DBGLVL=${CASTFS_DEBUG_LEVEL}
+ local CASTFS_IGNORE_LIST=""
+ # this forks and daemonizes so it will exit you simply unmount the dir to
stop the process
+ for dir in ${CASTFS_UNSTAGED_PATHS}
+ do
+ CASTFS_IGNORE_LIST="${CASTFS_IGNORE_LIST} -o ignore=$dir"
+ done &&
+ castfs "${STAGE_DIRECTORY}/MOUNT" -o "stage=${STAGE_DIRECTORY}/TRANSL"
$CASTFS_IGNORE_LIST &&
+ for dir in /dev /dev/pts /proc /sys
+ do
+ mount -o bind "$dir" "${STAGE_DIRECTORY}/MOUNT$dir"
+ done
}

#---------------------------------------------------------------------
@@ -57,11 +66,13 @@ ##
#---------------------------------------------------------------------
function real_devoke_stage_root()
{
- export INSTW_TRANSL=0
- export INSTW_LOGFILE=$IW_LOG
- [ -f $ROOTS_CONFIG ] && source $ROOTS_CONFIG
- export DOCUMENT_DIRECTORY=${INSTALL_ROOT}/${DOCUMENT_DIRECTORY}
- return 0
+ unset CASTFS_LOGFILE
+ unset CASTFS_DBGLVL
+ for dir in /dev/pts /dev /proc /sys
+ do
+ umount "${STAGE_DIRECTORY}/MOUNT$dir"
+ done &&
+ umount "${STAGE_DIRECTORY}/MOUNT"
}

#---------------------------------------------------------------------
@@ -71,7 +82,9 @@ ##
#---------------------------------------------------------------------
function prepare_stage_root()
{
- mk_source_dir $STAGE_DIRECTORY
+ mk_source_dir "${STAGE_DIRECTORY}" &&
+ mk_source_dir "${STAGE_DIRECTORY}/TRANSL" &&
+ mk_source_dir "${STAGE_DIRECTORY}/MOUNT"
}

#---------------------------------------------------------------------
@@ -92,13 +105,6 @@ #---------------------------------------
function real_invoke_installwatch() {
if [ -e /usr/lib/installwatch.so ]; then
export INSTALLWATCHFILE=$IW_LOG
- export INSTW_LOGFILE=$IW_LOG
- export INSTW_DBGFILE="$IW_DBGLOG"
- export INSTW_ROOTPATH=$STAGE_DIRECTORY
- export INSTW_TRANSL=0
- export INSTW_BACKUP=0
- export INSTW_DBGLVL=${INSTALLWATCH_DEBUG_LEVEL}
- export INSTW_EXCLUDE="$INSTALLWATCH_UNSTAGED_PATHS"
export LD_PRELOAD=/usr/lib/installwatch.so
fi
}
@@ -111,19 +117,11 @@ #---------------------------------------
function real_devoke_installwatch() {
unset LD_PRELOAD
unset INSTALLWATCHFILE
- unset INSTW_LOGFILE
- unset INSTW_DBGFILE
- unset INSTW_ROOTPATH
- unset INSTW_TRANSL
- unset INSTW_BACKUP
- unset INSTW_DBGLVL
- unset INSTW_EXCLUDE
}

-function installwatch_is_stageable()
+function is_castfs_installed()
{
- local MINOR_VER="`installed_version installwatch | cut -d. -f2`"
- if [[ $MINOR_VER == 7 ]]
+ if [[ $(installed_version castfs) || -f /usr/local/bin/castfs ]]
then
return 0
else
@@ -161,14 +159,20 @@ function create_install_log() {
local OUTPUT=$2

rm -f $OUTPUT
- parse_iw $INPUT |
- sort |
- uniq |
- install_log_filter $INSTALL_ROOT "" |
- grep -v -x "" |
- filter_excluded |
- install_log_filter "" $INSTALL_ROOT |
- exists > $OUTPUT
+ if [[ $STAGED_INSTALL != off ]]
+ then
+ find "${STAGE_DIRECTORY}/TRANSL/" |
+ sed "s#${STAGE_DIRECTORY}/TRANSL##g" > $OUTPUT
+ else
+ parse_iw $INPUT |
+ sort |
+ uniq |
+ install_log_filter $INSTALL_ROOT "" |
+ grep -v -x "" |
+ filter_excluded |
+ install_log_filter "" $INSTALL_ROOT |
+ exists > $OUTPUT
+ fi

echo "$C_LOG_COMP" >> $OUTPUT
echo "$MD5_LOG" >> $OUTPUT



  • [SM-Commit] GIT changes to devel-stage-root sorcery by David Brown (055cf3717759575a490a0f255f007fd59e3577cb), David Brown, 10/20/2006

Archive powered by MHonArc 2.6.24.

Top of Page