From f514dd04c2dac66cb8450dd6a0c56b18aad7ba1a Mon Sep 17 00:00:00 2001 From: Frank Halasz Date: Tue, 1 Aug 2023 22:59:01 -0700 Subject: [PATCH] First full pass at loadups revamp. --- internal/MEDLEY-UTILS | 23 +++++++++++---------- internal/MEDLEY-UTILS.LCOM | Bin 7148 -> 7317 bytes scripts/copy-all.sh | 27 ++++++++++++++----------- scripts/copy-db.sh | 9 +++++++-- scripts/cpv | 7 ++++--- scripts/loadup-apps-from-full.sh | 33 ++++++++++++++++++++++++++++--- scripts/loadup-aux.sh | 8 ++++---- scripts/loadup-db-from-full.sh | 17 ++++++++++++---- scripts/loadup-full-from-lisp.sh | 24 +++++++++++++++++++--- scripts/loadup-full.sh | 11 +++++------ scripts/loadup-init.sh | 27 ++++++++++++++++++++++--- scripts/loadup-lisp-from-mid.sh | 24 +++++++++++++++++++--- scripts/loadup-mid-from-init.sh | 18 ++++++++++++++--- scripts/loadup-setup.sh | 15 ++++++++++---- 14 files changed, 184 insertions(+), 59 deletions(-) diff --git a/internal/MEDLEY-UTILS b/internal/MEDLEY-UTILS index c4c6c9ca..47d52d5e 100644 --- a/internal/MEDLEY-UTILS +++ b/internal/MEDLEY-UTILS @@ -1,11 +1,11 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) -(FILECREATED "31-Jul-2023 18:34:20" |{DSK}frank>il>medley>gmedley>internal>MEDLEY-UTILS.;3| 10550 +(FILECREATED " 1-Aug-2023 22:43:13" |{DSK}frank>il>medley>gmedley>internal>MEDLEY-UTILS.;5| 10714 - :CHANGES-TO (FNS MAKE-WHEREIS-HASH) + :CHANGES-TO (FNS MAKE-FULLER-DB) - :PREVIOUS-DATE "31-Jul-2023 18:07:23" -|{DSK}frank>il>medley>gmedley>internal>MEDLEY-UTILS.;2|) + :PREVIOUS-DATE " 1-Aug-2023 22:22:02" +|{DSK}frank>il>medley>gmedley>internal>MEDLEY-UTILS.;4|) (PRETTYCOMPRINT MEDLEY-UTILSCOMS) @@ -105,14 +105,17 @@ (* \; "Edited 20-Jun-2022 17:23 by larry") (FILESLOAD (SOURCE) FILESETS) - (DRIBBLE (MEDLEYDIR "tmp" "fuller.dribble" T T)) + (DRIBBLE (CONCAT "{DSK}" (UNIX-GETENV "LOADUP_WORKDIR") + "/" "fuller.dribble")) (DOFILESLOAD (SUBSET (APPEND OKSOURCES OKLIBRARY OKLISPUSERS OKINTERNAL) 'FINDFILE)) (GATHER-INFO 'ALL) (MASTERSCOPE '(WHO CALLS XYZZY)) - (DUMPDATABASE NIL (MKATOM (MEDLEYDIR "tmp" "fuller.database" T T))) + (DUMPDATABASE NIL (MKATOM (CONCAT "{DSK}" (UNIX-GETENV "LOADUP_WORKDIR") + "/" "fuller.database"))) (DRIBBLE) - (MAKESYS (MEDLEYDIR "tmp" "fuller.sysout" T T) + (MAKESYS (CONCAT "{DSK}" (UNIX-GETENV "LOADUP_WORKDIR") + "/" "fuller.sysout") "Welcome to Fuller sysout"))) (MEDLEY-FIX-LINKS @@ -175,7 +178,7 @@ (DRIBBLE)))) ) (DECLARE\: DONTCOPY - (FILEMAP (NIL (623 7498 (GATHER-INFO 633 . 6161) (MAKE-FULLER-DB 6163 . 6853) (MEDLEY-FIX-LINKS 6855 - . 7252) (MEDLEY-FIX-DATES 7254 . 7496)) (8537 10527 (MAKE-EXPORTS-ALL 8547 . 9575) (MAKE-WHEREIS-HASH - 9577 . 10525))))) + (FILEMAP (NIL (620 7662 (GATHER-INFO 630 . 6158) (MAKE-FULLER-DB 6160 . 7017) (MEDLEY-FIX-LINKS 7019 + . 7416) (MEDLEY-FIX-DATES 7418 . 7660)) (8701 10691 (MAKE-EXPORTS-ALL 8711 . 9739) (MAKE-WHEREIS-HASH + 9741 . 10689))))) STOP diff --git a/internal/MEDLEY-UTILS.LCOM b/internal/MEDLEY-UTILS.LCOM index acc62cc9a2efcc4c6fc909397450126bcadb30e3..4a353503f00571c86078e35bfd0c85c18b11ca6d 100644 GIT binary patch delta 773 zcmZva&2G~`5XWl{m6`*JPzB^R@+lFr@vgsOBMzJFrm^DK#&(*fDndzP5K^*MM5#wm@G79Tvb|JnJ?f9?Ha|8jo5I|ib#-k$4;R^Z_1_Ltu9d1S&lk;DuvG8|n>I6vp4X+fN9GDj zM6-#J|BznLR?qiEtnfw++$a{OUf4?%j)+GDG_Fw@O1Ue&k&K(eC+(-wZ620i=C7U~ z=U>b3H}SSyDdKv1fKRD-l@F>^v!Tm6A{pSR92=Tp&}1o)I)z@~ohc_G6~QSG%LX2M zjfO8Ur@(vN2(7RNOHeS8(P3%W#guLly1kE}1SciwTEs~+jIfOmIALiU&*%lM5Qs*A zhsBpl{E%_5O=x)mF9fhGxVT_ZBmz#sB0CFnw_+Gum%4Lrgc^H3)(&F-&A>lHGz*yT zV+ME$K<;Og%juU47E@>~CzEUj^KbL%a)Fn@!SctArf#*m4f1QO*%%Agz34+fj62+m z3lST>^Q3cyxq%xt&Fh(pw`DjQ&NI1$I_@a|I>tu;icR+bVnMav4xx!|6F3{3pATxF g8(T}`+2_${lF2}wJ0gY$z+xO6-Vtx6&#sRC0@H88UH||9 delta 659 zcmZuu(Q4Z;6s^0L#f%ZQ!Pddx;wSsTL9%RD_Sl0GDYaK8_N-)GN?#I^K_I20Ngf7a z`Gpm;uh?UMqo2}`sFXG(tkc8g>KvVOuB1QF?cwh)ZwPijFK4cYJOY@;#E%KOnsg7y z$^q*i644mbtD6J4i#Hk#3s&RdVlrO+PvH^EG3|DmiB>6CPw*#)RHlb2YJ94Z6_^+W z0jho(Z-bLWlp>XG!ert=T$JK#n)jv4mCF+obQr57Fss=3Xn5Dp_LG;!-zuxW+n#2LXX}6sNrNDFjR5HsM zhtPv|+T|L6fWX-qD+p#HSv~lw?}!MnEK?2OkW}c^hjoC# z`o5gaCYO!*&-ul2VW~TYU@gvns18SutorHUXgHr})Zg-mfPIqW&{D1vz70-K2aXB5 cs>|tUG}EH3#s}M$dB1E4M~!xEzdo>>>> START ${script_name}" + # was # cp -p tmp/full.sysout tmp/lisp.sysout tmp/*.dribble tmp/whereis.hash loadups/ # cp -p tmp/exports.all tmp/RDSYS tmp/RDSYS.LCOM library/ # just copy the files that are released -./scripts/cpv ${LOADUP_WORKDIR}/full.sysout loadups -./scripts/cpv ${LOADUP_WORKDIR}/lisp.sysout loadups +./scripts/cpv "${LOADUP_WORKDIR}"/full.sysout loadups +./scripts/cpv "${LOADUP_WORKDIR}"/lisp.sysout loadups if [ "${1}" = "-apps" ]; then - ./scripts/cpv ${LOADUP_WORKDIR}/apps.sysout loadups + ./scripts/cpv "${LOADUP_WORKDIR}"/apps.sysout loadups fi -./scripts/cpv ${LOADUP_WORKDIR}/whereis.hash loadups -./scripts/cpv ${LOADUP_WORKDIR}/exports.all loadups +./scripts/cpv "${LOADUP_WORKDIR}"/whereis.hash loadups +./scripts/cpv "${LOADUP_WORKDIR}"/exports.all loadups -./scripts/cpv ${LOADUP_WORKDIR}/init.dribble loadups -./scripts/cpv ${LOADUP_WORKDIR}/lisp.dribble loadups -./scripts/cpv ${LOADUP_WORKDIR}/full.dribble loadups -./scripts/cpv ${LOADUP_WORKDIR}/whereis.dribble loadups +./scripts/cpv "${LOADUP_WORKDIR}"/init.dribble loadups +./scripts/cpv "${LOADUP_WORKDIR}"/lisp.dribble loadups +./scripts/cpv "${LOADUP_WORKDIR}"/full.dribble loadups +./scripts/cpv "${LOADUP_WORKDIR}"/whereis.dribble loadups -./scripts/cpv ${LOADUP_WORKDIR}/RDSYS library -./scripts/cpv ${LOADUP_WORKDIR}/RDSYS.LCOM library +./scripts/cpv "${LOADUP_WORKDIR}"/RDSYS library +./scripts/cpv "${LOADUP_WORKDIR}"/RDSYS.LCOM library +echo "<<<<< END ${script_name}" +echo "" +exit 0 diff --git a/scripts/copy-db.sh b/scripts/copy-db.sh index 25044ad1..4c22b420 100755 --- a/scripts/copy-db.sh +++ b/scripts/copy-db.sh @@ -7,6 +7,11 @@ fi . scripts/loadup-setup.sh -./scripts/cpv ${LOADUP_WORKDIR}/fuller.database loadups -./scripts/cpv ${LOADUP_WORKDIR}/fuller.dribble loadups +echo ">>>>> START ${script_name}" +./scripts/cpv "${LOADUP_WORKDIR}"/fuller.database loadups +./scripts/cpv "${LOADUP_WORKDIR}"/fuller.dribble loadups + +echo "<<<<< END ${script_name}" +echo "" +exit 0 diff --git a/scripts/cpv b/scripts/cpv index 7f0e7ece..4d84e663 100755 --- a/scripts/cpv +++ b/scripts/cpv @@ -2,7 +2,6 @@ # cpv file dest # could extend with -r or copying multiple files -# could change from cp to ln ln_or_cp () { f=$(df $(dirname $1) | tail -1 | awk '{ print $1 }') @@ -14,9 +13,8 @@ ln_or_cp () { file="$1" dest="$2" - if [ ! -f "$file" ]; then - echo no such file "$file" + echo "Error: no such file "$file". Exiting." exit 1 fi @@ -34,6 +32,7 @@ fi # if no such file $dest then just copy if [ ! -f "$dest" ]; then $(ln_or_cp $file $dest) $file $dest + echo "Added $(basename $dest) to $(dirname $dest)" exit 0 fi @@ -67,5 +66,7 @@ fi # make new version and link it $(ln_or_cp $file $dest.~new~) $file $dest.~$new~ +echo "Added $(basename $dest.~$new~) to $(dirname $dest.~$new~)" rm -f $dest ln $dest.~$new~ $dest +echo "Linked $(basename $dest) to $(basename $dest.~$new~) in $(dirname $dest)" diff --git a/scripts/loadup-apps-from-full.sh b/scripts/loadup-apps-from-full.sh index d7b6cb7d..c4ba2e47 100755 --- a/scripts/loadup-apps-from-full.sh +++ b/scripts/loadup-apps-from-full.sh @@ -7,7 +7,7 @@ fi . scripts/loadup-setup.sh -loadup_start "loadup-apps-from-full" +loadup_start export ROOMSDIR=${MEDLEYDIR}/rooms export CLOSDIR=${MEDLEYDIR}/clos @@ -23,8 +23,35 @@ if [ ! -e ${NOTECARDSDIR} ]; then fi fi -./run-medley $scr -loadup "${MEDLEYDIR}/sources/LOADUP-APPS.CM" "${LOADUP_WORKDIR}/full.sysout" +cat >"${cmfile}" <<"EOF" +" -loadup_finish "loadup-apps-from-full" "apps.sysout" "apps.*" +(PROGN + (IL:MEDLEY-INIT-VARS 'IL:GREET) + (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE NOTECARDSDIR))(QUOTE |/system/NOTECARDS.LCOM|)) 'IL:SYSLOAD) + (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE ROOMSDIR))(QUOTE /ROOMS)) 'IL:SYSLOAD) + (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE CLOSDIR))(QUOTE /DEFSYS.DFASL)) 'IL:SYSLOAD) + (IL:LOAD (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE MEDLEYDIR))(QUOTE |lispusers/BUTTONS.LCOM|)) 'IL:SYSLOAD) + (IL:LOAD + (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE MEDLEYDIR))(QUOTE |/sources/LOADUP-APPS.LCOM|)) + 'IL:SYSLOAD + ) + (IL:HARDRESET) +) +SHH +(PROGN + (IL:ENDLOADUP) + (CLOS::LOAD-CLOS) + (IL:|Apps.LOADUP|) + (IL:MAKESYS + (IL:CONCAT (QUOTE {DSK})(IL:UNIX-GETENV(QUOTE LOADUP_WORKDIR))(IL:L-CASE (QUOTE /apps.sysout))) + :APPS) +) +(IL:LOGOUT T) +" +EOF +./run-medley ${scr} -loadup "${cmfile}" "${LOADUP_WORKDIR}/full.sysout" + +loadup_finish "apps.sysout" "apps.*" diff --git a/scripts/loadup-aux.sh b/scripts/loadup-aux.sh index f0abfb47..4a48f779 100755 --- a/scripts/loadup-aux.sh +++ b/scripts/loadup-aux.sh @@ -7,9 +7,9 @@ fi . scripts/loadup-setup.sh -loadup_start "loadup-aux" +loadup_start -cat >"${LOADUP_WORKDIR}"/loadup-aux.cm <<"EOF" +cat >"${cmfile}" <<"EOF" " (IL:MEDLEY-INIT-VARS) (IL:LOAD(QUOTE MEDLEY-UTILS)) @@ -19,6 +19,6 @@ cat >"${LOADUP_WORKDIR}"/loadup-aux.cm <<"EOF" " EOF -./run-medley $scr -loadup "${LOADUP_WORKDIR}"/loadup-aux.cm "${LOADUP_WORKDIR}"/full.sysout +./run-medley ${scr} -loadup "${cmfile}" "${LOADUP_WORKDIR}"/full.sysout -loadup_finish "loadup-aux" "whereis.hash" "whereis.hash" "exports.all" +loadup_finish "whereis.hash" "whereis.hash" "exports.all" diff --git a/scripts/loadup-db-from-full.sh b/scripts/loadup-db-from-full.sh index b1793a11..c972491a 100755 --- a/scripts/loadup-db-from-full.sh +++ b/scripts/loadup-db-from-full.sh @@ -7,11 +7,20 @@ fi . scripts/loadup-setup.sh -DBCM="${LOADUP_WORKDIR}"/db.cm +loadup_start -echo '" (IL:MEDLEY-INIT-VARS)(IL:FILESLOAD MEDLEY-UTILS)(IL:MAKE-FULLER-DB)(IL:LOGOUT T)"' > ${DBCM} +cat >"${cmfile}" <<"EOF" +" -./run-medley $scr -loadup "${DBCM}" -full +(IL:MEDLEY-INIT-VARS) +(IL:FILESLOAD MEDLEY-UTILS) +(IL:MAKE-FULLER-DB) +(IL:LOGOUT T) -loadup_finish "loadup-db" "fuller.database" "fuller*" +" +EOF + +./run-medley ${scr} -loadup "${cmfile}" -full + +loadup_finish "fuller.database" "fuller*" diff --git a/scripts/loadup-full-from-lisp.sh b/scripts/loadup-full-from-lisp.sh index 351ab260..6c027ec4 100755 --- a/scripts/loadup-full-from-lisp.sh +++ b/scripts/loadup-full-from-lisp.sh @@ -7,9 +7,27 @@ fi . scripts/loadup-setup.sh -loadup_start "loadup-full-from-lisp" +loadup_start -./run-medley $scr -loadup "$MEDLEYDIR/sources/LOADUP-FULL.CM" "${LOADUP_WORKDIR}/lisp.sysout" +cat >"${cmfile}" <<"EOF" +" -loadup_finish "loadup-full-from-lisp" "full.sysout" "full.*" +(PROGN + (IL:LOAD(IL:CONCAT(QUOTE {DSK})(IL:UNIX-GETENV(QUOTE MEDLEYDIR))(QUOTE /sources/LOADUP-FULL.LCOM))) + (IL:LOADUP-FULL (IL:CONCAT (QUOTE {DSK}) (IL:UNIX-GETENV(QUOTE LOADUP_WORKDIR))(IL:L-CASE (QUOTE /full.dribble)))) + (IL:HARDRESET) +) +SHH +(PROGN + (IL:ENDLOADUP) + (IL:MAKESYS (IL:CONCAT (QUOTE {DSK})(IL:UNIX-GETENV(QUOTE LOADUP_WORKDIR))(IL:L-CASE (QUOTE /full.sysout))) :FULL)) + (IL:LOGOUT T) +) + +" +EOF + +./run-medley ${scr} -loadup "${cmfile}" "${LOADUP_WORKDIR}/lisp.sysout" + +loadup_finish "full.sysout" "full.*" diff --git a/scripts/loadup-full.sh b/scripts/loadup-full.sh index a3a06fe1..a49fdd5a 100755 --- a/scripts/loadup-full.sh +++ b/scripts/loadup-full.sh @@ -1,15 +1,14 @@ #!/bin/sh -export MEDLEYDIR=`pwd` - if [ ! -x run-medley ] ; then echo must run from MEDLEYDIR ; exit 1 ; fi +. ./scripts/loadup-setup.sh - ./scripts/loadup-init.sh && \ - ./scripts/loadup-mid-from-init.sh && \ - ./scripts/loadup-lisp-from-mid.sh && \ - ./scripts/loadup-full-from-lisp.sh +./scripts/loadup-init.sh && \ +./scripts/loadup-mid-from-init.sh && \ +./scripts/loadup-lisp-from-mid.sh && \ +./scripts/loadup-full-from-lisp.sh diff --git a/scripts/loadup-init.sh b/scripts/loadup-init.sh index 4c7be321..e08f8ad5 100755 --- a/scripts/loadup-init.sh +++ b/scripts/loadup-init.sh @@ -7,8 +7,29 @@ fi . scripts/loadup-setup.sh -loadup_start "loadup-init" +loadup_start -./run-medley $scr -loadup "${MEDLEYDIR}"/sources/LOADUP-INIT.LISP loadups/starter.sysout +cat >"${cmfile}" <<"EOF" +(* "make init files; this file is loaded as a 'greet' file by scripts/loadup-init.sh") -loadup_finish "loadup-init" "init.dlinit" "init.*" "RDSYS*" "I-NEW*" +(LOAD (CONCAT (UNIX-GETENV "MEDLEYDIR") "/sources/MEDLEYDIR.LCOM")) +(CNDIR (UNIX-GETENV "LOADUP_WORKDIR")) +(DRIBBLE "init.dribble") + +(UNADVISE) +(ADVISE 'PAGEFULLFN '(RETURN)) +(ADVISE '(ERROR IN \DO-DEFINE-FILE-INFO) '(RETURN)) +(MOVD? 'NILL 'SETTEMPLATE) +(DEFINEQ (RRE (LAMBDA (X Y) Y))) +(MOVD? 'RRE 'READ-READER-ENVIRONMENT) + +(LOAD (MEDLEYDIR "sources" "MAKEINIT.LCOM")) +(MAKEINITGREET) +(DRIBBLE) +(LOGOUT T) +STOP +EOF + +./run-medley $scr -loadup "${cmfile}" loadups/starter.sysout + +loadup_finish "init.dlinit" "init.*" "RDSYS*" "I-NEW*" diff --git a/scripts/loadup-lisp-from-mid.sh b/scripts/loadup-lisp-from-mid.sh index 283b8ba6..7233f85b 100755 --- a/scripts/loadup-lisp-from-mid.sh +++ b/scripts/loadup-lisp-from-mid.sh @@ -7,8 +7,26 @@ fi . scripts/loadup-setup.sh -loadup_start "loadup-lisp-from-mid" +loadup_start -./run-medley $scr -loadup "$MEDLEYDIR/sources/LOADUP-LISP.CM" ${LOADUP_WORKDIR}/init-mid.sysout +cat >"${cmfile}" <<"EOF" +" -loadup_finish "loadup-lisp-from-mid" "lisp.sysout" "lisp.*" +(PROGN + (LOAD(CONCAT(QUOTE {DSK})(UNIX-GETENV(QUOTE MEDLEYDIR))(QUOTE /sources/LOADUP-LISP.LCOM))) + (LOADUP-LISP(CONCAT(QUOTE {DSK})(UNIX-GETENV(QUOTE LOADUP_WORKDIR))(QUOTE /lisp.dribble))) + (HARDRESET) +) +SHH +(PROGN + (IL:ENDLOADUP) + (IL:MAKESYS (IL:CONCAT (QUOTE {DSK})(IL:UNIX-GETENV(QUOTE LOADUP_WORKDIR))(IL:L-CASE (QUOTE /lisp.sysout))) :LISP) + (IL:LOGOUT T) +) + +" +EOF + +./run-medley ${scr} -loadup "${cmfile}" "${LOADUP_WORKDIR}/init-mid.sysout" + +loadup_finish "lisp.sysout" "lisp.*" diff --git a/scripts/loadup-mid-from-init.sh b/scripts/loadup-mid-from-init.sh index d5f4ff26..7efc13e4 100755 --- a/scripts/loadup-mid-from-init.sh +++ b/scripts/loadup-mid-from-init.sh @@ -7,8 +7,20 @@ fi . scripts/loadup-setup.sh -loadup_start "loadup-mid-from-init" +loadup_start -./run-medley -prog "ldeinit" -NF -loadup $MEDLEYDIR/sources/XREM.CM $scr -vmem ${LOADUP_WORKDIR}/init-mid.sysout ${LOADUP_WORKDIR}/init.dlinit +cat >"${cmfile}" <<"EOF" +" +(MOVD? (QUOTE NILL) (QUOTE PROMPTPRINT)) +(MOVD? (QUOTE NILL) (QUOTE CURSORP)) +(MOVD? (QUOTE NILL) (QUOTE CHANGEBACKGROUNDBORDER)) +(LOGOUT) +" +EOF -loadup_finish "loadup-mid-from-init" "init-mid.sysout" "init-mid.sysout" +./run-medley -prog "ldeinit" \ + -NF \ + -loadup "${cmfile}" ${scr} -vmem "${LOADUP_WORKDIR}/init-mid.sysout" \ + "${LOADUP_WORKDIR}/init.dlinit" + +loadup_finish "init-mid.sysout" "init-mid.sysout" diff --git a/scripts/loadup-setup.sh b/scripts/loadup-setup.sh index 2fca51be..98e15150 100644 --- a/scripts/loadup-setup.sh +++ b/scripts/loadup-setup.sh @@ -12,14 +12,20 @@ scr="-sc 1024x768 -g 1042x790" touch "${LOADUP_WORKDIR}"/loadup.timestamp +script_name=$(basename "$0" ".sh") +cmfile="${LOADUP_WORKDIR}/${script_name}.cm" + + +###################################################################### loadup_start () { - echo ">>>>> START ${1}" + echo ">>>>> START ${script_name}" } loadup_finish () { - local script_name=${1} - if [ "${LOADUP_WORKDIR}/${2}" -nt "${LOADUP_WORKDIR}"/loadup.timestamp ]; + local exit_code + rm -f "${cmfile}" + if [ "${LOADUP_WORKDIR}/${1}" -nt "${LOADUP_WORKDIR}"/loadup.timestamp ]; then echo "+++++ SUCCESS +++++" exit_code=0 @@ -28,7 +34,7 @@ loadup_finish () { exit_code=1 fi echo "..... files created ....." - shift; shift + shift; for f in ${*}; do ls -l "${LOADUP_WORKDIR}"/$f 2>/dev/null @@ -38,5 +44,6 @@ loadup_finish () { exit ${exit_code} } +######################################################################