CVS: theedge/var/lib/lunar/functions main.lunar, NONE, 1.1 build.lunar, 1.1, 1.2 depends.lunar, 1.8, 1.9 download.lunar, 1.17, 1.18 install.lunar, 1.1, 1.2 modules.lunar, 1.19, 1.20 moonbase.lunar, 1.7, 1.8 optimize.lunar, 1.35, 1.36 prune.lunar, 1.2, 1.3 sizes.lunar, 1.1.1.1, 1.2 sources.lunar, 1.7, 1.8 tracking.lunar, 1.1, 1.2 uniqid.lunar, 1.1, 1.2 updatelog.lunar, 1.8, 1.9

sofar at lunar-linux.org sofar at lunar-linux.org
Sun Jul 13 20:49:57 GMT 2003


Update of /var/cvs/lunar/theedge/var/lib/lunar/functions
In directory dbguin.lunar-linux.org:/tmp/cvs-serv18149/var/lib/lunar/functions

Modified Files:
	build.lunar depends.lunar download.lunar install.lunar 
	modules.lunar moonbase.lunar optimize.lunar prune.lunar 
	sizes.lunar sources.lunar tracking.lunar uniqid.lunar 
	updatelog.lunar 
Added Files:
	main.lunar 
Log Message:

Hi,

this is not a mailbox flood, but rather something I've been working on for
about 3.4 weeks now. Some fundamental things have changed in the code and
from the outside not much may have changed, but this is a 2400 line merge!

Biggest differences is in the function calling and temporary file generation,
which now has a complete unique ID and gets cleaned up better. All major 
functions have been rewritten to handle $@ and return data over STDOUT.

Upgrading and installing multiple modules has been rewritten, all frontends
are now true frontends (no standard code in there anymore).

I added some gadgets for CVS options thanks to jol, and there's a framework
for downloading code from SVN:// urls, which I haven't been able to check
yet... someone please try.

some gaps still remain, this *IS* theedge. I suspect resurrect behaviour to
be broken, as well as the download monitoring (but at least it works). At
least I'll be able to track most of the bugs now pretty fast, as I know
where there still is more work to do...

Noted also that md5sum checking was down in theedge up to this one, as for 
quite some few other bugs... should be all fixed I hope.

Please make sure that you run the theedge code for testing, I really need
the feedback on this in the coming 2 weeks.

Thanks,

sofar

PS fortune of the day:
Live fast, die young, and leave a flat patch of fur on the highway!
                -- The Squirrels' Motto (The "Hell's Angels of Nature")
		




--- NEW FILE: main.lunar ---
############################################################
#                                                          #
# This code is written for Lunar Linux, see                #
# http://www.lunar-linux.org                               #
#                                                          #
############################################################
#                                                          #
# $FUNCTIONS/main.lunar                                    #
# contains all main handling code, aka the long complex    #
# functions like renew, update, fix, etc. One day they all #
# will be in here.                                         #
#                                                          #
############################################################
#                                                          #
# Copyrighted Auke Kok 2003 under GPLv2                    #
#                                                          #
############################################################

# function : renew
# usage    : renew
# purpose  : frontend function that includes all renewing code
renew() {
  message "${MESSAGE_COLOR}Starting update of installed modules${DEFAULT_COLOR}"

  purge_modules
  
  export TMP_LIN_SUCCESS=$(temp_create "successfull")
  export TMP_LIN_FAIL=$(temp_create "failed")
      
  update_modules

  if [ "$AUTOFIX" == "on" ] ; then
    message "${MESSAGE_COLOR}Executing AUTOFIX : lin --fix${DEFAULT_COLOR}"
    lin --fix
  fi

  if [ "$AUTOPRUNE" == "on" ] ; then
    message "${MESSAGE_COLOR}Executing AUTOPRUNE : lunar prune${DEFAULT_COLOR}"
    prune
  fi

  display_update_log

  temp_destroy $TMP_LIN_SUCCESS
  temp_destroy $TMP_LIN_FAIL

}


update() {
  if  ps  -C  lin  >  /dev/null;  then
    echo    "Unable to update lunar concurrently while installing."
    sleep   5
    return  1
  fi

  lin moonbase
  if (( $(lvu installed $LUNAR_MODULE) < $(lvu version $LUNAR_MODULE) )) 
  then
    lin $LUNAR_MODULE && lunar renew
  else
    lunar renew
  fi

}


rebuild()  {
  rm  -f  $INSTALL_QUEUE

  message  "To do a non recursive rebuild"
  message  "all installed modules must be fixed first."
  sleep  3
  $LIN  --fix

  for  LINE  in  `cat  $MODULE_STATUS_BACKUP`;  do
     MODULE=`echo  "$LINE"  |  cut  -d : -f1`
     STATUS=`echo  "$LINE"  |  cut  -d : -f3`
    if  [  "$STATUS"   ==  "installed"  ]   &&
        [  "$MODULE"  !=  "$LUNAR_MODULE"      ];  then
      echo  $MODULE  >>  $INSTALL_QUEUE
    fi
  done

  message  "Sorting the dependencies, that may take some time"
  sort_install_queue

  unset  MODULE
  if    query  "Edit Rebuild/Install Queue?" n
  then  edit_file  $INSTALL_QUEUE
  fi

  $LIN  --compile  `cat  $INSTALL_QUEUE`
  rm -f                  $INSTALL_QUEUE
}


# function : prune
# usage    : prune
# purpose  : prune all old logs, source copy's, install caches
prune() {
  message  "${MESSAGE_COLOR}Generating a keep list..." \
           "${DEFAULT_COLOR}"

  KEEP="/tmp/prune.keep.$$"
  trap "rm -f $KEEP 2>/dev/null; exit" INT QUIT TERM
  generate_keep_list

  message  "${MESSAGE_COLOR}Now pruning $SOURCE_CACHE..." \
           "${DEFAULT_COLOR}"
  ls  $SOURCE_CACHE  |
  while  read  FILE;  do
      grep  -q  "^$FILE$"  $KEEP  || {
        rm  $SOURCE_CACHE/$FILE 2>/dev/null
	verbose_msg "rm \"$SOURCE_CACHE/$FILE\""
      }
  done

  message  "${MESSAGE_COLOR}Now pruning $INSTALL_CACHE..." \
           "${DEFAULT_COLOR}"
  ls  $INSTALL_CACHE  |
  while  read  FILE;  do
      grep  -q  "^$FILE$"  $KEEP  || {
        rm  $INSTALL_CACHE/$FILE 2>/dev/null
	verbose_msg "rm \"$INSTALL_CACHE/$FILE\""
      }	
  done

  KEEP2="/tmp/prune.instlist.$$"
  trap "rm -f $KEEP2 2>/dev/null; exit" INT QUIT TERM
  cat $MODULE_STATUS | cut -d: -f1,4 | sed 's/:/-/' > $KEEP2

  message  "${MESSAGE_COLOR}Now pruning $INSTALL_LOGS..." \
             "${DEFAULT_COLOR}"
  ls  $INSTALL_LOGS  |
  while  read  FILE;  do
      grep -q "^$FILE$"   $KEEP2 || {
        rm $INSTALL_LOGS/$FILE
	verbose_msg "rm \"$INSTALL_LOGS/$FILE\""
      }
  done

  message  "${MESSAGE_COLOR}Now pruning $COMPILE_LOGS..." \
             "${DEFAULT_COLOR}"
  ls  $COMPILE_LOGS  | sed 's/.bz2$//' |
  while  read  FILE;  do
      grep -q "^$FILE$"    $KEEP2 || {
        rm $COMPILE_LOGS/$FILE.bz2
	verbose_msg "rm \"$COMPILE_LOGS/$FILE\""
      }
  done

  message  "${MESSAGE_COLOR}Now pruning $MD5SUM_LOGS..." \
             "${DEFAULT_COLOR}"
  ls  $MD5SUM_LOGS  |
  while  read  FILE;  do
      grep -q "^$FILE$"    $KEEP2 || {
        rm $MD5SUM_LOGS/$FILE
	verbose_msg "rm \"$MD5SUM_LOGS/$FILE\""
      }
  done

  rm  -f  $KEEP 2>/dev/null
  rm  -f  $KEEP2 2>/dev/null
  trap INT QUIT TERM
}


resurrect_modules() {
  for MODULE in $@ ; do
    if run_details $MODULE ; then
      resurrect $MODULE
    fi
  done
}

Index: build.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/build.lunar,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- build.lunar	27 Apr 2003 17:24:56 -0000	1.1
+++ build.lunar	13 Jul 2003 20:49:54 -0000	1.2
@@ -195,8 +195,7 @@
 }
 
 
-default_config() 
-{
+default_config() {
    verbose_msg "running \"default_config\""
 
    verbose_msg "CFLAGS=\"$CFLAGS\""            &&
@@ -283,8 +282,7 @@
   unlock_file $MODULE_STATUS_BACKUP                            &&
   unlock_file $MODULE_STATUS 
 
-  if  [  -n  "$EXILE"  ];  
-  then
+  if [ -n "$EXILE" ] ; then
      lock_file $MODULE_STATUS                            && 
      lock_file $MODULE_STATUS_BACKUP                     &&
      echo  "$1::exiled:0.0"  >>  $MODULE_STATUS          &&
@@ -301,6 +299,7 @@
   fi
 }
 
+
 # function: add_module
 # usage   : add_module <module_name>
 # purpose : adds the 1st parameter as the module name to the MODULE_STATUS files
@@ -322,17 +321,14 @@
   fi
 
   true
-
 } 
 
 
 push_install_queue() {
- 
   remove_queue   $REMOVE_QUEUE    "$1"
   remove_queue   $INSTALL_QUEUE   "$1"
   !  module_installed             "$1"  &&
   add_queue  $INSTALL_QUEUE       "$1"
-    
 }
 
 
@@ -342,7 +338,6 @@
   remove_queue   $REMOVE_QUEUE   "$1"
   module_installed               "$1"  &&
   add_queue  $REMOVE_QUEUE       "$1"
-    
 }
 
 
@@ -351,115 +346,126 @@
 # purpose  : sorts the install queue according to the dependencies
 sort_install_queue() {
 
-   if ! [ -s $INSTALL_QUEUE ]; then return; fi
-
-   message  "${MESSAGE_COLOR}Sorting module dependencies...${DEFAULT_COLOR}"
-
-   export   TMP_DEPENDS="/tmp/lunar_tmp_depends.$$"
-   rm -f $TMP_DEPENDS 2>/dev/null
-
-   export   TMP_INSTALL="/tmp/lunar_install_queue.$$"
-   rm -f $TMP_INSTALL 2>/dev/null
-
-   cp $INSTALL_QUEUE $TMP_INSTALL || return 1
 
-   for MODULE in `cat $TMP_INSTALL`; do
+   for MODULE in $@; do
+     QUEUE="$QUEUE $MODULE"
      show_fancy_progress "Processing: $MODULE"
-     find_depends $MODULE
+     for DEP in $(find_depends $MODULE) ; do
+       if $(echo "$@" | grep -qw "$DEP") ; then
+         QUEUE="$DEP $QUEUE"
+       fi
+     done
    done
 
-   for LINE in `tsort $TMP_DEPENDS 2>/dev/null`; do
-      if grep -q "^$LINE\$" $TMP_INSTALL 2>/dev/null; then
-         remove_queue $INSTALL_QUEUE $LINE
-         add_queue    $INSTALL_QUEUE $LINE
-      fi
-   done
-   rm -f $TMP_DEPENDS 2>/dev/null
-   rm -f $TMP_INSTALL 2>/dev/null
+   echo $QUEUE | tsort
 }
 
-# function : update_installed
-# usage    : update_installed
-# purpose  : add the packages which will be updated  into the INSTALL_QUEUE
-update_installed()  {
 
-  message "${MESSAGE_COLOR}Searching installed modules for upgrade..." \
-           "${DEFAULT_COLOR}"
-  rm -f $INSTALL_QUEUE
-  for LINE in $(cat $MODULE_STATUS | grep -v "^moonbase" | sort) ; do
-
-      MODULE=$(echo "$LINE" | cut  -d : -f1)
-       IDATE=$(echo "$LINE" | cut  -d : -f2)
-      STATUS=$(echo "$LINE" | cut  -d : -f3)
-    IVERSION=$(echo "$LINE" | cut  -d : -f4)
-
-    show_fancy_progress "Processing: $MODULE"
-
-    if [ "$STATUS" == "installed" ] ; then
-
-      if ! run_details $MODULE &> /dev/null ; then
-     
-        message "${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} was removed from ${FILE_COLOR}${MOONBASE}${DEFAULT_COLOR}"
-      
-        if query "Do you want to remove ${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${QUERY_COLOR} ?" y ; then
-	  lrm $MODULE
-          continue
-	else
-	  message "${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} is kept and can be removed manually later${DEFAULT_COLOR}"
-	  echo
-	fi
-	
+# function : purge_modules
+# usage    : purge_modules
+# purpose  : purge modules that were removed from moonbase
+purge_modules() {
+  verbose_msg "Discovering modules that were removed from moonbase"
+  for MODULE in $(list_installed | grep -v "^moonbase$") ; do
+    if ! run_details $MODULE &> /dev/null ; then
+      message "${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} was removed from ${FILE_COLOR}${MOONBASE}${DEFAULT_COLOR}"
+      if query "Do you want to remove ${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${QUERY_COLOR} ?" y ; then
+        lrm $MODULE
+        continue
       else
+        message "${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} is kept and can be removed manually later${DEFAULT_COLOR}"
+      fi
+    fi
+  done 
+}
+
 
+# function : list_expired_modules
+# usage    : list_expired_modules
+# purpose  : return a list of modules that need to be updated
+list_expired_modules() {
+  for LINE in $(cat $MODULE_STATUS | grep -v "^moonbase" | sort) ; do
+    MODULE=$(echo "$LINE" | cut -d: -f1)
+    IDATE=$(echo "$LINE" | cut -d: -f2)
+    STATUS=$(echo "$LINE" | cut -d: -f3)
+    IVERSION=$(echo "$LINE" | cut -d: -f4)
+    if run_details $MODULE ; then
+      if [ "$STATUS" == "installed" ] ; then
         if [ "$VERSION" != "$IVERSION" ] || [ -z "$IDATE" ] || 
-	      (( "$UPDATED" > "$IDATE" )) ; then
+          (( "$UPDATED" > "$IDATE" )) ; then
           if [ "$MODULE" != "lunar" ] && [ "$MODULE" != "theedge" ] ; then
-            add_queue $INSTALL_QUEUE $MODULE
+            echo $MODULE
           fi
-        fi
-     
-     fi
-
+	fi
+      fi
     fi
   done
-  sort_install_queue
 }
 
-# function : upgrade_install_queue
-# usage    : upgrade_install_queue
-# purpose  : optionally edit INSTALL_QUEUE, install modules, fix and prune
-upgrade_install_queue()  {
-
-  if  [  -f  $INSTALL_QUEUE  ];  then
 
-    message  "The following modules will be updated:"
-    cat  $INSTALL_QUEUE
-    unset  MODULE
-    if    query  "Do you wish to edit ${FILE_COLOR}$INSTALL_QUEUE${QUERY_COLOR} ?" n
-    then  edit_file  $INSTALL_QUEUE
+# function : sort_by_dependency
+# usage    : LIST=$(sort_by_dependency $LIST)
+# purpose  : return a LIST sorted by dependency
+sort_by_dependency() {
+  LIST=$@
+  for MODULE in $LIST ; do
+    unset DEPS
+    for DEP in $(find_depends $MODULE) ; do
+      if $(echo $LIST | grep -qw $DEP) ; then
+        DEPS="$DEPS $DEP"
+      fi
+    done
+    TMP_LIST="$TMP_LIST $DEPS $MODULE"
+  done
+  
+  for MODULE in $TMP_LIST ; do
+    if ! $(echo $QUEUE | grep -qw $MODULE) ; then
+      QUEUE="$QUEUE $MODULE"
     fi
+  done
 
-    if  [  -n  "`cat  $INSTALL_QUEUE`"  ];  then
-      export  LOGTMP=$$_`date +%s`
-      lin      `cat  $INSTALL_QUEUE`         
-      rm             $INSTALL_QUEUE
-    fi
+  echo $QUEUE
+}
 
-  fi
 
-  if  [  "$AUTOFIX"  ==  "on"  ];  then
-    message  "${MESSAGE_COLOR}Executing AUTOFIX :    lin --fix${DEFAULT_COLOR}"
-    lin --fix
+# function : update_modules
+# usage    : update_modules
+# purpose  : update all installed modules that need to be updated
+update_modules() {(
+
+  export IFS="$STANDARD_IFS"
+
+  verbose_msg "Searching for modules to update"
+  LIST=$(list_expired_modules)
+  
+  if [ -z "$LIST" ] ; then
+    verbose_msg "Nothing to update!"
+    return
   fi
+  
+  verbose_msg "Sorting update queue"
+  QUEUE=$(sort_by_dependency $LIST)
 
-  if  [  "$AUTOPRUNE"  ==  "on"  ];  then
-    message  "${MESSAGE_COLOR}Executing AUTOPRUNE :  lunar prune${DEFAULT_COLOR}"
-    prune
+
+  message "${MESSAGE_COLOR}The following modules will be updated:${DEFAULT_COLOR}"
+  TMP_QUEUE=$(temp_create "update-queue")
+  for MODULE in $QUEUE ; do
+    echo $MODULE >> $TMP_QUEUE
+    echo $MODULE
+  done
+
+  unset MODULE
+  if query "Do you wish to edit the update queue ? " n ; then
+    edit_file $TMP_QUEUE
   fi
+  QUEUE=$(cat $TMP_QUEUE)
+  temp_destroy $TMP_QUEUE
 
-  display_update_log update
+  if [ -n "$QUEUE" ] ; then
+    lin -c $QUEUE
+  fi
+)}
 
-}
 
 
 log_list()  {
@@ -593,7 +599,6 @@
    TMP_LOG="/tmp/$MODULE-$VERSION"
   INST_LOG="$INSTALL_LOGS/$MODULE-$VERSION"
    MD5_LOG="$MD5SUM_LOGS/$MODULE-$VERSION"
-    IW_LOG="/tmp/$MODULE.iw"
 
   rm  -f   $CACHE
   rm  -f   $INST_LOG

Index: depends.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/depends.lunar,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- depends.lunar	8 Jun 2003 19:30:47 -0000	1.8
+++ depends.lunar	13 Jul 2003 20:49:54 -0000	1.9
@@ -29,53 +29,37 @@
 # purpose  : recursive dependency finder, no need to be installed
 function find_depends() {
 
-  verbose_msg "find_depends $@"
-   [ -n "$1" ]                || return 1
-   run_details $1             || return 1
-   [ -n "$SCRIPT_DIRECTORY" ] || return 1   
-
-   REQ_DEPENDS="/tmp/lunar_req_depends.`uuidgen`"
-   rm -f $REQ_DEPENDS 2>/dev/null
+  # as always, use private depends() and optional_depends() functions
+  depends () {
+    if ! $(echo $FOUND_DEPENDS | grep -qw $1) ; then
+      export FOUND_DEPENDS="$FOUND_DEPENDS $1"
+      find_depends $1
+      echo $1
+    fi
+  }
 
-   DEPENDS_FILE=$SCRIPT_DIRECTORY/DEPENDS
-   [ -s "$DEPENDS_FILE" ]     || return 1
-   
-   grep -q ^depends $DEPENDS_FILE 2>/dev/null && {
-       grep ^depends $DEPENDS_FILE 2>/dev/null |
-       tr "\t" " "                             |
-       sed "s/^depends *//g"                   |
-       cut -d " " -f 1-1                       |
-       sed "s/[\'\"\\ &]//g"                   |
-       while read TMP_DEP
-       do
-          echo $TMP_DEP >> $REQ_DEPENDS
-          echo $TMP_DEP $1 >> $TMP_DEPENDS   
-       done
-   }
+  optional_depends() {
+    if ! $(echo $FOUND_DEPENDS | grep -qw $1) ; then
+      if module_installed $1 ; then
+        export FOUND_DEPENDS="$FOUND_DEPENDS $1"
+        find_depends $1
+        echo $1
+      fi
+    fi
+  }
+  
+  export FOUND_DEPENDS="$FOUND_DEPENDS $1"
+  if ! run_details $1 ; then
+    exit 1
+  fi
 
-   grep -q ^optional_depends $DEPENDS_FILE 2>/dev/null && {
-       grep ^optional_depends $DEPENDS_FILE 2>/dev/null |
-       tr "\t" " "                                      |
-       sed "s/^optional_depends *//g"                   |
-       cut -d " " -f 1-1                                |
-       sed "s/[\'\"\\ &]//g"                            |
-       while read TMP_DEP
-       do
-          echo $TMP_DEP >> $REQ_DEPENDS
-          echo $TMP_DEP $1 >> $TMP_DEPENDS   
-       done
-   }
-   [ -s "$REQ_DEPENDS" ] && {
-      cat $REQ_DEPENDS |
-      while read REQ_DEP
-      do
-         grep -q " $REQ_DEP" $TMP_DEPENDS ||
-         find_depends $REQ_DEP
-      done
-   }
+  if [ -e "$MODULE_CONFIG" ] ; then
+    . "$MODULE_CONFIG"
+  fi
 
-   rm -f $REQ_DEPENDS 2>/dev/null
-   rm -f $OPT_DEPENDS 2>/dev/null
+  if [ -x "$SCRIPT_DIRECTORY/DEPENDS" ] ; then
+    . "$SCRIPT_DIRECTORY/DEPENDS"
+  fi
 
 }
 
@@ -100,17 +84,16 @@
                                                                                 
   if [ -n "$2" ] ; then
     if grep -q "^$1:$2:" $DEPENDS_STATUS ; then
-	    grep -v "^$1:$2:" $DEPENDS_STATUS_BACKUP > $DEPENDS_STATUS
+      grep -v "^$1:$2:" $DEPENDS_STATUS_BACKUP > $DEPENDS_STATUS
       verbose_msg "removing depends for \"$1\" on \"$2\""
-		fi
-  else
-	  if grep -q "^$1:" $DEPENDS_STATUS ; then
-      grep -v "^$1:" $DEPENDS_STATUS_BACKUP | \
-      grep -v ":$1:on:optional:" > $DEPENDS_STATUS
-      verbose_msg "removing all depends for and optional on \"$1\""
-		fi
+    fi
+  elif grep -q "^$1:" $DEPENDS_STATUS ; then
+    grep -v "^$1:" $DEPENDS_STATUS_BACKUP | \
+    grep -v ":$1:on:optional:" > $DEPENDS_STATUS
+    verbose_msg "removing all depends for and optional on \"$1\""
   fi
-  cat $DEPENDS_STATUS > $DEPENDS_STATUS_BACKUP
+
+  cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
                                                                                 
   unlock_file $DEPENDS_STATUS_BACKUP &&
   unlock_file $DEPENDS_STATUS
@@ -138,7 +121,7 @@
 run_depends() {
   # local definitions of depends and optional_depends!
   depends()  {
-    grep -q "^"$1"\$" $PREPD 2>/dev/null && return 0
+    grep -q "^"$1"\$" $TEMP_PREPAREDDEPS 2>/dev/null && return 0
 
     if ! module_installed $1 && ! module_held $1 ; then
       if ! is_depends $1 && module_exiled $1 ; then
@@ -148,7 +131,7 @@
                 "Adding required dependency${FILE_COLOR}"   \
                 "$1 ${DEFAULT_COLOR}"
         lin --deps $1
-        echo "$1" >> $PREPD
+        echo "$1" >> $TEMP_PREPAREDDEPS
       fi
     fi
     add_depends "$MODULE" "$1" "on" "required" "$2" "$3"
@@ -183,7 +166,7 @@
   }
                                                                                 
   prepare_depends_status
-  grep -q "^"$MODULE"\$" $PREPD 2>/dev/null && return 0
+  grep -q "^"$MODULE"\$" $TEMP_PREPAREDDEPS 2>/dev/null && return 0
   if  [  -x  $SCRIPT_DIRECTORY/DEPENDS  ];  then
     message  "${CHECK_COLOR}Checking dependencies for"  \
              "${MODULE_COLOR}${MODULE}"                   \
@@ -239,7 +222,7 @@
   # base vars needed to execute DEPENDS
   SECTION=$(find_section $MODULE)
   SCRIPT_DIRECTORY=$MOONBASE/$SECTION/$MODULE
-  MODULE_CONFIG=$CONFIG_CACHE/depends/$MODULE
+  MODULE_CONFIG=$DEPENDS_CONFIG/$MODULE
                                                                                 
   # reroute depends output to our private files:
   OLD_DEPENDS_STATUS=$DEPENDS_STATUS
@@ -281,10 +264,10 @@
         OLD_OFF_OPTS=$(echo $OLDDEP | cut -d: -f6)
         NEW_OFF_OPTS=$(echo $NEWDEP | cut -d: -f6)
         if [ -z "$NEWDEP" ] ; then
-          echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was removed from the dependancy list${DEFAULT_COLOR}"
+          echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was removed from the dependency list${DEFAULT_COLOR}"
         else
           if [ -z "$OLDDEP" ] ; then
-            echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was added to the $NEW_REQD dependancy list${DEFAULT_COLOR}"
+            echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was added to the $NEW_REQD dependency list${DEFAULT_COLOR}"
           else
             # the dep changed!
             if [ "$OLD_STATUS" == "on" -a "$NEW_STATUS" == "on" ]; then
@@ -434,16 +417,15 @@
 satisfy_depends()  {
                                                                                 
   [ -n "$DEPS_ONLY" ] && return 0
-  unset  OPTS
-  MODULE_CONFIG=$DEPENDS_CONFIG/$MODULE
-                                                                                
+  unset OPTS
+
   if  [  -s  $MODULE_CONFIG  ];  then
           .  $MODULE_CONFIG
   fi
                                                                                 
   TMP_FILE="/tmp/satisfy_depends.`uuidgen`"
   grep  "^$MODULE:"  $DEPENDS_STATUS > $TMP_FILE
-                                                                                
+
   while read LINE; do
     DEP_MODULE=`echo  $LINE  |  cut  -d :  -f2`
     DEP_STATUS=`echo  $LINE  |  cut  -d :  -f3`

Index: download.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/download.lunar,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- download.lunar	8 Jun 2003 19:30:47 -0000	1.17
+++ download.lunar	13 Jul 2003 20:49:54 -0000	1.18
@@ -33,6 +33,67 @@
 ############################################################
 
 
+get_svn() {(
+  if ! module_installed subversion ; then
+    message "${PROBLEM_COLOR}Cannot fetch SVN sources without \"subversion\" installed!${DEFAULT_COLOR}"
+    exit 1
+  fi
+
+  message  "${MESSAGE_COLOR}Downloading SVN module for" \
+ 	   "module ${MODULE_COLOR}${MODULE}${DEFAULT_COLOR}"
+
+  mk_source_dir /tmp/$MODULE-$VERSION
+  cd /tmp/$MODULE-$VERSION
+
+  if [[ -f $SOURCE_CACHE/$2 ]]; then
+    verbose_msg "Extracting local SVN copy"
+    # unpacking in last component dir of $CVSMODULE
+    CD=$(pwd)
+    if ! tar xjf $SOURCE_CACHE/$2 ; then
+      message "${PROBLEM_COLOR}Warning: bad local SVN copy, checking out fresh SVN copy${DEFAULT_COLOR}"
+      
+      rm_source_dir /tmp/$MODULE-$VERSION
+      mk_source_dir /tmp/$MODULE-$VERSION
+    fi
+  fi
+
+  NUM_RETRY=${NUM_RETRY:-5}
+
+  # 0 == infinity
+  if [ $NUM_RETRY -eq 0 ]; then
+      NUM_RETRY=1000
+  fi
+
+  for (( TRY=1 ; $TRY<$NUM_RETRY+1 ; TRY++ )) ; do
+    if [[ -d $(basename $1).svn ]]; then
+      verbose_msg "[${TRY}] svn up $1"
+      svn up $1 && GOT_SVN="yes" 
+    elif ! [[ -d $(basename $1).svn ]]; then
+      verbose_msg "[${TRY}] svn co $1"
+      svn co $1 && GOT_SVN="yes"
+    fi
+
+    if [[ "$?" == "0" ]]; then
+      break
+    fi
+
+    sleep 2
+  done
+  
+  if [[ "$GOT_SVN" == "yes" ]]; then
+    message "${MESSAGE_COLOR}Creating ${FILE_COLOR}${SOURCE}${DEFAULT_COLOR}"
+    # pack in last component dir of $CVSMODULE
+    tar cjf $SOURCE_CACHE/$2 $(basename $1)
+  else
+    activity_log "lget"  "$MODULE"  "$VERSION"  "failed" "Could not get $1"
+  fi
+
+  cd /tmp
+  rm_source_dir /tmp/$MODULE-$VERSION
+
+)}
+
+
 get_cvs() {(
   if ! module_installed cvs ; then
     message "${PROBLEM_COLOR}Cannot fetch CVS sources without \"cvs\" installed!${DEFAULT_COLOR}"
@@ -47,6 +108,8 @@
   CVSSPATH=$(echo $CVSURL | cut -d@ -f2 | cut -d: -f2)
   CVSMODULE=$(echo $CVSURL | cut -d@ -f2 | cut -d: -f3)
   CVSRELEASE=$(echo $CVSURL | cut -d@ -f2 | cut -d: -f4)
+  CVSOPTIONS=$(echo $CVSURL | cut -d@ -f2 | cut -d: -f5)
+
 
   if [ ! -z $CVSRELEASE ]; then
     CVSRELEASE="-r $CVSRELEASE"
@@ -68,7 +131,7 @@
     mkdir -p $(dirname $CVSMODULE)
     cd $(dirname $CVSMODULE)
     if ! tar xjf $SOURCE_CACHE/$2 ; then
-      message "${WARNING_COLOR}Warning: bad local CVS copy, checking out fresh CVS copy${DEFAULT_COLOR}"
+      message "${PROBLEM_COLOR}Warning: bad local CVS copy, checking out fresh CVS copy${DEFAULT_COLOR}"
       
       rm_source_dir /tmp/$MODULE-$VERSION
       mk_source_dir /tmp/$MODULE-$VERSION
@@ -78,7 +141,7 @@
 
   verbose_msg "CVSROOT=\"$CVSROOT\""
 
-  NUM_RETRY=${NUM_RETRY:=5}
+  NUM_RETRY=${NUM_RETRY:-5}
 
   # 0 == infinity
   if [ $NUM_RETRY -eq 0 ]; then
@@ -86,14 +149,12 @@
   fi
 
   for (( TRY=1 ; $TRY<$NUM_RETRY+1 ; TRY++ )) ; do
-    verbose_msg "${MESSAGE_COLOR}Try: ${TRY}${DEFAULT_COLOR}"
-
     if [[ -d $CVSMODULE/CVS ]]; then
-      verbose_msg "cvs -qz3 up -PAd $CVSRELEASE $CVSMODULE"
-      cvs -qz3 up -PAd $CVSRELEASE $CVSMODULE && GOT_CVS="yes" 
+      verbose_msg "[${TRY}] cvs -qz3 up -PAd $CVSOPTIONS $CVSRELEASE $CVSMODULE"
+      cvs -qz3 up -PAd $CVSOPTIONS $CVSRELEASE $CVSMODULE && GOT_CVS="yes" 
     elif ! [[ -d CVS ]]; then
-      verbose_msg "cvs -qz3 co $CVSRELEASE $CVSMODULE"
-      cvs -qz3 co $CVSRELEASE $CVSMODULE && GOT_CVS="yes"
+      verbose_msg "[${TRY}] cvs -qz3 co $CVSOPTIONS $CVSRELEASE $CVSMODULE"
+      cvs -qz3 co $CVSOPTIONS $CVSRELEASE $CVSMODULE && GOT_CVS="yes"
     fi
 
     if [[ "$?" == "0" ]]; then
@@ -243,11 +304,25 @@
         elif [ "$(find $SOURCE_CACHE/$2 -amin +$CVS_THRESHOLD)" == "$SOURCE_CACHE/$2" ] ; then
 	  get_cvs $1 $2
 	else
-	  verbose_msg "skipping cvs update (less than $CVS_THRESHOLD mins old)"
+	  verbose_msg "Skipping cvs update (less than $CVS_THRESHOLD mins old)"
 	fi
       else
         get_cvs $1 $2
       fi
+    elif [ "${1:0:6}" == "svn://" ] ; then
+      # svn urls
+      SVN_THRESHOLD=${SVN_THRESHOLD:-10}
+      if [ "SVN_THRESHOLD" > 0 ] ; then
+        if [ ! -f $SOURCE_CACHE/$2 ] ; then
+	  get_svn $1 $2
+	elif [ "$(find $SOURCE_CACHE/$2 -amin +$SVN_THRESHOLD)" == "$SOURCE_CACHE/$2" ] ; then
+	  get_svn $1 $2
+	else
+	  verbose_msg "Skipping svn update (less than $SVN_THRESHOLD mins old)"
+	fi
+      else
+        get_svn $1 $2
+      fi
     elif [ "$1:0:7}" == "cpan://" ] ; then
       # no way, this cannot be tru
       #
@@ -275,13 +350,13 @@
 
 
 lget_lock()  {
-  echo $$ > /var/lock/lgetting.$MODULE
+  echo $$ > /var/lock/lgetting.$1
 }
 
 
 lget_locked()  {
-  if [ -f "/var/lock/lgetting.$MODULE" ] &&
-        ps `cat /var/lock/lgetting.$MODULE` | grep  -q  "lget" ; then
+  if [ -f "/var/lock/lgetting.$1" ] &&
+        ps `cat /var/lock/lgetting.$1` | grep  -q  "lget" ; then
     true
   else
     false
@@ -290,21 +365,22 @@
 
 
 lget_unlock()  {
-  rm -f /var/lock/lgetting.$MODULE &> /dev/null
+  rm -f /var/lock/lgetting.$1 &> /dev/null
 }
 
 
 download_module() { (
-
-  run_details $1 || exit 1
+  if ! run_details $1 ; then
+    exit 1
+  fi
 
   MAX_SOURCES=${MAX_SOURCES:=100}
 
   # loop over all sources
   for (( N = 0 ; N < MAX_SOURCES ; N++ )) ; do
     # get the URL part
-    eval  SRC=\$$(echo SOURCE$N          | sed s/SOURCE0/SOURCE/  )
-    eval URLS=\${$(echo SOURCE${N}_URL    | sed s/SOURCE0/SOURCE/  )[@]}
+    eval SRC=\$$(echo SOURCE$N | sed s/SOURCE0/SOURCE/ )
+    eval URLS=\${$(echo SOURCE${N}_URL | sed s/SOURCE0/SOURCE/ )[@]}
 
     # continue (to next) if empty once, break if empty tiwce
     if [ -z "$SRC" ] ; then
@@ -334,7 +410,7 @@
 	  verbose_msg "trying to download \"$URL\""
 	  get_url $URL $SRC
 	else
-	  verbose_msg "skipping download of \"$SRC\" for module \"$MODULE\" (in cache)"
+	  verbose_msg "Skipping download of \"$SRC\" for module \"$MODULE\" (in cache)"
 	  continue 2
 	fi
       else
@@ -348,6 +424,8 @@
       
     done
   done
+
+  return 0
   
 ) }
 

Index: install.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/install.lunar,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- install.lunar	8 Jun 2003 19:30:47 -0000	1.1
+++ install.lunar	13 Jul 2003 20:49:54 -0000	1.2
@@ -74,29 +74,28 @@
 
 
 prepare_module_config()  {
-  MODULE_CONFIG=$DEPENDS_CONFIG/$MODULE
-  if  [  !  -x  $MODULE_CONFIG  ];  then
-    touch       $MODULE_CONFIG
-    chmod  a+x  $MODULE_CONFIG
+  if [ ! -x $MODULE_CONFIG  ] ; then
+    touch $MODULE_CONFIG
+    chmod a+x $MODULE_CONFIG
   fi
 }
 
 
 run_configure() {
-  if  [  -n  "$RECONFIGURE"  ];  then
-    rm  -f  $DEPENDS_CONFIG/$MODULE
-    remove_depends  $MODULE
+  if [ -n "$RECONFIGURE" ];  then
+    verbose_msg "Reconfiguring \"$MODULE\""
+    rm -f $DEPENDS_CONFIG/$MODULE
+    remove_depends $MODULE
   fi
 
   prepare_module_config
-  use_xinetd || {
-  if  [  -n  "$RECONFIGURE" ] || ! grep -q INITDSCRIPTS $MODULE_CONFIG ;  then
-    use_initd
-  fi
-  }
-
-  grep -q "^"$MODULE"\$" $PREPD 2>/dev/null && return 0
 
+  if ! use_xinetd ; then
+    if [ -n "$RECONFIGURE" ] || ! grep -q INITDSCRIPTS $MODULE_CONFIG ; then
+      use_initd
+    fi
+  fi
+  grep -q "^"$MODULE"\$" $TEMP_PREPAREDDEPS 2>/dev/null && return 0
   if  [  -x  $SCRIPT_DIRECTORY/CONFIGURE  ];  then
     . $SCRIPT_DIRECTORY/CONFIGURE
   fi
@@ -104,22 +103,16 @@
 
 
 run_pre_build() {
-  if  [  -f  /tmp/$MODULE.iw ] ; then
-    verbose_msg echo "removing \"/tmp/$MODULE.iw\""
-    rm -f /tmp/$MODULE.iw
-  fi
-
-  message  "${MESSAGE_COLOR}Building"  \
-           "${MODULE_COLOR}${MODULE}"    \
-           "${DEFAULT_COLOR}"
+  message "${MESSAGE_COLOR}Building ${MODULE_COLOR}$MODULE${DEFAULT_COLOR}"
 
-  cd  $BUILD_DIRECTORY
+  cd $BUILD_DIRECTORY
 
-  verify_sources  &&
-  if  [  -x  $SCRIPT_DIRECTORY/PRE_BUILD  ];  then
-           . $SCRIPT_DIRECTORY/PRE_BUILD
-  else
-    default_pre_build
+  if verify_sources ; then
+    if [ -x $SCRIPT_DIRECTORY/PRE_BUILD ] ; then
+      . $SCRIPT_DIRECTORY/PRE_BUILD
+    else
+      default_pre_build
+    fi
   fi
 }
 
@@ -129,26 +122,26 @@
            "${FILE_COLOR}$COMPILE_LOGS/$MODULE-$VERSION.bz2"  \
            "${DEFAULT_COLOR}"
 
-  bzip2  -9f  <  $C_LOG  >  $COMPILE_LOGS/$MODULE-$VERSION.bz2
-  rm -f $C_LOG $C_FIFO
-  unset C_LOG C_FIFO
+  bzip2 -9f < $C_LOG > $COMPILE_LOGS/$MODULE-$VERSION.bz2
+  temp_destroy $C_LOG
+  temp_destroy $C_FIFO
 }
 
 
 view_compile_log()  {
-    sleep   1
-    report              $C_LOG  "Compile log"
+    sleep  1
+    report $C_LOG "Compile log"
 }
 
 
 start_logging () {
-  export C_LOG=/tmp/$MODULE.compile.log
-  export C_FIFO=/tmp/$MODULE.compile.fifo
+  export C_LOG=$(temp_create "${MODULE}_compilelog")
+  export C_FIFO=$(temp_create "${MODULE}_compilefifo")
 
-  rm  -f $C_FIFO
-  mknod  $C_FIFO p
-  rm  -f $C_LOG
-  echo  "Compile log for $MODULE  $VERSION  Built on `date  -u`"  >  $C_LOG
+  # just remaking this as FIFO
+  rm -f $C_FIFO
+  mknod $C_FIFO p
+  echo  "Compile log for  $MODULE  $VERSION  Built on `date  -u`" > $C_LOG
 
   activate_voyeur
 }
@@ -166,10 +159,9 @@
 
 
 run_build()  {
-  [  -d  "$SOURCE_DIRECTORY"  ]  &&
-  cd      $SOURCE_DIRECTORY
-
-  invoke_installwatch
+  if [ -d "$SOURCE_DIRECTORY" ] ; then
+    cd $SOURCE_DIRECTORY
+  fi
 
   verbose_msg "building \"$MODULE\" version \"$VERSION\" in `pwd`"
   
@@ -311,9 +303,9 @@
           PASSED="$PASSED$MODULE:"
         else
           FIXED="no"
-          (  run_details
-             satisfy_depends
-             unset  FIX
+          (  run_details $MODULE  &&
+             satisfy_depends      &&
+             unset FIX            &&
              satisfy_depends
           )
 
@@ -347,87 +339,31 @@
 ) }
 
 
-process_parameters()  {
-  while  [  -n  "$1"  ];  do
-    if  echo  "" $1  |  grep  -q  "^ -";  then
-      case  $1  in
-                  --deps)  export  DEPS_ONLY="$1";      shift 1  ;;
-        -r|--reconfigure)  RECONFIGURE="$1";            shift 1  ;;
-            -c|--compile)  COMPILE="$1";                shift 1  ;;
-	      -p|--probe)  PROBE="yes";                 shift 1  ;;
-                  --from)  export  SOURCE_CACHE=$2;     shift 2  ;;
-                --silent)  SILENT="$1";                 shift 1  ;;
-                -f|--fix)  export  FIX="$1";            shift 1  ;;
-              -n|--nofix)  export  FIX="--fix"
-                           export  NOFIX="$1";          shift 1  ;;
-	 -d|--fixdepends)  export  FIXDEPENDS="$1";
-	 		   export  FIX="$1";            shift 1  ;;
-                      -s)  SEPARATE="$1";               shift 1  ;;
-                   --url)  export  BASE_URL="$2";       shift 2  ;;
-                   --pam)  lin  -c  `find_pam_aware`;   shift 1  ;;
-                       *)  help                                  ;;
-      esac
-    else
-      shift
-   fi
-  done
-}
-
-
-strip_parameters()  {
-  while  [  -n  "$1"  ];  do
-    if  echo  "" $1  |  grep  -q  "^ -";  then
-      case  $1  in
-                  --deps)  shift 1  ;;
-        -r|--reconfigure)  shift 1  ;;
-                  --from)  shift 2  ;;
-                --silent)  shift 1  ;;
-                -f|--fix)  shift 1  ;;
-              -n|--nofix)  shift 1  ;;
-         -d|--fixdepends)  shift 1  ;;
-            -c|--compile)  shift 1  ;;
-	      -p|--probe)  shift 1  ;;
-                      -s)  shift 1  ;;
-                   --url)  shift 2  ;;
-                   --pam)  shift 1  ;;
-                       *)  shift 1  ;;
-      esac
-    else
-      echo  $1
-      shift
-   fi
-  done
-}
-
-
-resurrect()  {  (  
-  run_details      &&
+resurrect()  {  ( 
+  if ! run_details $1 ; then
+    return 1
+  fi
   run_conflicts    &&
   satisfy_depends  &&
 
-  STATUS=installed
+  STATUS=installed &&
 
-  if  module_held  $MODULE;  then
-    VERSION=`installed_version  $MODULE`
-     STATUS=held
-     lrm --keepconfig $MODULE
-  fi
+  if module_held $MODULE ; then
+    VERSION=`installed_version $MODULE`
+    STATUS=held
+    lrm --keepconfig $MODULE
+  fi &&
 
   CACHE_BZ="$INSTALL_CACHE/$MODULE-$VERSION-$BUILD.tar.bz2"
 
-  if  [      -f   $CACHE_BZ  ]  &&
-      bzip2  -tf  $CACHE_BZ;    then
-
-    bzip2         -cd   $CACHE_BZ  |  tar  -Pkx  1>/dev/null  2>&1
-    add_module     $MODULE  $STATUS  $VERSION
+  if [ -f $CACHE_BZ ] && bzip2 -tf $CACHE_BZ ; then
+    message  "${RESURRECT_COLOR}Resurrecting ${MODULE_COLOR}${MODULE}${DEFAULT_COLOR} ${MESSAGE_COLOR}version ${VERSION_COLOR}${VERSION}${DEFAULT_COLOR}"
+    bzip2 -cd $CACHE_BZ | tar -Pkx 1>/dev/null 2>&1
+    add_module $MODULE $STATUS $VERSION
+    verbose_msg "running \"lin --fix $MODULE\""
+    lin --fix $SILENT $MODULE
     activity_log  "lin"  "$MODULE"  "$VERSION"  "success"
-    message  "${RESURRECT_COLOR}Resurrected module:"  \
-             "${MODULE_COLOR}${MODULE}"                \
-             "${DEFAULT_COLOR}"                      \
-             "version"                               \
-             "${VERSION_COLOR}${VERSION}"            \
-             "${DEFAULT_COLOR}"
-    lin  --fix  $SILENT  $MODULE
+    message  "${RESURRECT_COLOR}Resurrected ${MODULE_COLOR}${MODULE}${DEFAULT_COLOR} ${MESSAGE_COLOR}succesfully${DEFAULT_COLOR}"
   else
     false
   fi
@@ -435,28 +371,32 @@
 
 
 show_download_progress()  {
-  if  [  -f  "$D_LOG"  ];  then
-    if  [  -z  "$LC_OLD"  ];  then
+  if [ -f "$TEMP_DOWNLOADLOG" ] ; then
+    if [ -z "$LC_OLD" ] ; then
       LC_OLD=0
     fi
 
-    LC=`cat  $D_LOG  2>/dev/null  |  wc  -l  |  tr  -d ' '`
+    LC=`cat $TEMP_DOWNLOADLOG 2>/dev/null | wc -l | tr -d ' '`
 
-    if  [  "$LC"  !=  "$LC_OLD"  ];  then
-      ((  LC_OLD++  ))
-      sed  -n ${LC_OLD},${LC}p  $D_LOG
+    if [ "$LC" != "$LC_OLD" ] ; then
+      verbose_msg "====== download progess:"
+      (( LC_OLD++ ))
+      sed  -n ${LC_OLD},${LC}p $TEMP_DOWNLOADLOG
       LC_OLD=$LC
+      verbose_msg "====== end download progress"
     fi
   fi
 }
 
 
-show_downloading()  {
-  while  !  lget  $MODULE;  do
-    show_download_progress
-    sleep 1
-  done
+show_downloading() {
+  if [ -e "$TEMP_DOWNLOADLOG" ] ; then
+    while ! lget $MODULE >> $TEMP_DOWNLOADLOG 2>&1 ; do
+      show_download_progress
+      sleep 1
+    done
     show_download_progress
+  fi
 }
 
 
@@ -467,9 +407,28 @@
 
 
 lin_module()  { (
-  if [ $MODULE == "moonbase" ] ; then
+  # make sure we got all the info
+  if ! run_details $1 ; then
+    return 1
+  fi
+
+  if [ "$AUTORESURRECT" == "on" ] ; then
+    if resurrect $MODULE ; then
+      return 0
+    fi
+  fi
+
+  # make sure we have the source code
+  download_module $MODULE
+  
+  # set the installwatchfile
+  export INSTALLWATCHFILE=$(temp_create "$MODULE-installwatch")
+  invoke_installwatch
+
+  # lock the module for installation, check for moonbase call
+  linING="/var/lock/installing.$MODULE"
+  if [ "$MODULE" == "moonbase" ] ; then
     if ! current_locked && ! solo_locked ; then
-      linING="/var/lock/installing.$MODULE"
       echo $$ > $linING       &&
       get_moonbase            &&
       rm -f $linING           &&
@@ -479,11 +438,13 @@
     fi
   fi
   check_blacklist             &&
-  run_details                 &&
+  
+  # here we run CONFLICTS, DEPENDS and CONFIGURE stuff
   run_conflicts               &&
   satisfy_depends             &&
   show_downloading            &&
-  
+ 
+  # now entering the physical BUILD stage
   if ! current_locked && ! solo_locked ; then
     echo $$ > $linING          &&
     if ! [[ $CFLAGS ]] ; then
@@ -507,7 +468,9 @@
     stop_logging
     
     if [ -n "$LIN_ERROR" ] ; then
-      [ -f /tmp/$MODULE.iw ] && rm -f /tmp/$MODULE.iw
+      if [ -f "$INSTALLWATCHFILE" ] ; then
+        temp_destroy $INSTALLWATCHFILE
+      fi
       sound  FAILURE
       message  "${PROBLEM_COLOR}! Problem detected during \"$LIN_ERROR\" !${DEFAULT_COLOR}"
       rm  -f  $linING
@@ -518,12 +481,15 @@
 
     if ! boost ; then
       LIN_ERROR="boost"
-      [ -f /tmp/$MODULE.iw ] && rm -f /tmp/$MODULE.iw
     else
       if ! run_post_install ; then
         LIN_ERROR="POST_INSTALL"
       fi
     fi
+    if [ -f "$INSTALLWATCHFILE" ] ; then
+      verbose_msg "removing installwatch file"
+      temp_destroy $INSTALLWATCHFILE
+    fi
 
     if [ -n "$LIN_ERROR" ] ; then
       sound  FAILURE
@@ -534,9 +500,10 @@
       return 1
     fi
 
+    
     rm_source_dir               &&
     report_install              &&
-    rm  -f  $linING             &&
+    rm -f $linING               &&
     sound  SUCCESS              &&
     activity_log  "lin"  "$MODULE"  "$VERSION"  "success"
 
@@ -588,64 +555,18 @@
 }
 
 
-lin_modules()  {
-  for MODULE in $@ ; do
-  
-    if ! module_installed $MODULE || [ ! -n "$PROBE" ] ; then
-      if ! module_held $MODULE ; then
-        linING="/var/lock/installing.$MODULE"
-        if  [  -n  "$COMPILE"      ]  ||
-            [  -n  "$RECONFIGURE"  ]  ||
-            module_installed  $MODULE   ||
-            !  resurrect     $MODULE;  then
-          if  !  lin_module;  then
-            if  [  -n  "$LOGTMP"  ];  then
-              echo  "$MODULE"  >>  /tmp/fail_$LOGTMP
-            fi
-            lin_EXIT_STATUS=1;  
-          else
-            if  [  -n  "$LOGTMP"  ];  then
-              echo  "$MODULE"  >>  /tmp/success_$LOGTMP
-            fi
-          fi
-        fi
-      else
-        verbose_msg "Skipping compile and install for held module \"$MODULE\""
-      fi
-    fi
-  done
-
-  if  [  -n  "$lin_EXIT_STATUS"  ];  then
-    exit  1
-  fi
-}
-
-
 build_depends()  {
   for MODULE in $@ ; do
     if ! module_installed $MODULE || [ ! -n "$PROBE" ] ; then
       if ! module_held $MODULE ; then
         ( 
-          run_details    &&
-          run_configure  &&
-          run_depends    &&
+          run_details $MODULE  &&
+          run_configure        &&
+          run_depends          &&
           satisfy_depends
         )
       else
-        verbose_msg "Skipping dependancy checking of held module \"$MODULE\""
-      fi
-    fi
-  done
-}
-
-
-build_sources()  {
-  for MODULE in $@ ; do
-    if ! module_installed $MODULE || [ ! -n "$PROBE" ] ; then
-      if ! module_held $MODULE ; then
-        lget $MODULE >> $D_LOG 2>&1
-      else
-        verbose_msg "Skipping download check for held module \"$MODULE\""
+        verbose_msg "Skipping dependency checking of held module \"$MODULE\""
       fi
     fi
   done

Index: modules.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/modules.lunar,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- modules.lunar	9 Jun 2003 14:51:24 -0000	1.19
+++ modules.lunar	13 Jul 2003 20:49:54 -0000	1.20
@@ -110,14 +110,16 @@
 # usage   : create_module_index
 # purpose : created an index file of module:section pair list
 create_module_index() {
+  # make sure it exists before trying to see it's writeable
+  touch $MODULE_INDEX &> /dev/null
+  
   # silently fail if we cannot write to $MODULE_INDEX, it is okay
   # for this to fail in case we are a mere user using lvu's search
   # functionality
-  touch $MODULE_INDEX &> /dev/null
-
   if [ ! -w $MODULE_INDEX ] ; then
     return 0
   fi
+
   lock_file $MODULE_INDEX || return 1
 
   if [ -f "$MODULE_INDEX" ] ; then
@@ -181,39 +183,32 @@
 
 
 # function : run_details
-# usage    : run_details |module_name| ($MODULE is pre-defined or param)
+# usage    : run_details module_name ($MODULE is pre-defined or param)
 # purpose  : runs the DETAILS file of a module
 # returns  : (0) on success, (1) on failure, error messages on stdout
 run_details() {
+  # Note: run_details doesn't EXIT the code, but merely drops a warning
+  # (return 1), which means that the calling code needs to decide 
+  # if this is a problem or not... -sofar
 
-  if [ -z "$MODULE" ] && [ -z "$1" ] ; then
+  if ! SECTION=$(find_section $1) ; then
+    message  "${PROBLEM_COLOR}Unable to find module ${MODULE_COLOR}${1}${DEFAULT_COLOR}"  \
+             "${PROBLEM_COLOR}in ${FILE_COLOR}$MOONBASE${DEFAULT_COLOR}"
     return 1
-  elif [ -n "$1" ] ; then
-    MODULE="$1"
-  fi
-
-  if SECTION=$(find_section $MODULE) ; then
-    [ -d "$MOONBASE/$SECTION/$MODULE" ] || {
-       message  "${PROBLEM_COLOR}Unable to find module"    \
-                "${MODULE_COLOR}${MODULE}${DEFAULT_COLOR}"  \
-                "${PROBLEM_COLOR}in ${FILE_COLOR}$MOONBASE${DEFAULT_COLOR}"
-       return 1
-    }
-
-    [ -f "$MOONBASE/$SECTION/$MODULE/DETAILS" ] || {
-       message  "${PROBLEM_COLOR}Module ${MODULE_COLOR}${MODULE}" \
-                "${DEFAULT_COLOR}${PROBLEM_COLOR}has no ${FILE_COLOR}DETAILS" \
-                "${DEFAULT_COLOR}${PROBLEM_COLOR}file!${DEFAULT_COLOR}"
-       return 1
-    }
+  else
+    if [ ! -f "$MOONBASE/$SECTION/$1/DETAILS" ] ; then
+      message  "${PROBLEM_COLOR}Module ${MODULE_COLOR}${1}" \
+               "${DEFAULT_COLOR}${PROBLEM_COLOR}has no ${FILE_COLOR}DETAILS" \
+               "${DEFAULT_COLOR}${PROBLEM_COLOR}file!${DEFAULT_COLOR}"
+      return 1
+    fi
    
-    SCRIPT_DIRECTORY=$MOONBASE/$SECTION/$MODULE
+    SCRIPT_DIRECTORY=$MOONBASE/$SECTION/$1
     . $SCRIPT_DIRECTORY/DETAILS &>/dev/null &&
-    SOURCE_DIRECTORY=${SOURCE_DIRECTORY:-$BUILD_DIRECTORY/$MODULE-$VERSION}
+    SOURCE_DIRECTORY=${SOURCE_DIRECTORY:-$BUILD_DIRECTORY/$1-$VERSION}
+    MODULE_CONFIG=${MODULE_CONFIG:-$DEPENDS_CONFIG/$1}
 
     return 0
-  else
-    return 1
   fi
 }
 
@@ -290,6 +285,42 @@
     for MODULE in "$@" ; do
       grep -v "^$MODULE:" $MODULE_STATUS > $MODULE_STATUS_BACKUP
       grep "^$MODULE:" $MODULE_STATUS | sed "s:held:installed:" >> $MODULE_STATUS_BACKUP
+      cp $MODULE_STATUS_BACKUP $MODULE_STATUS
+    done
+    unlock_file $MODULE_STATUS
+    unlock_file $MODULE_STATUS_BACKUP
+  fi
+}
+
+
+# function : exile_modules
+# usage    : exile_modules $MODULE [$MODULE....]
+# purpose  : put modules on exile
+exile_modules() {
+  if [ -n "$1" ] ; then
+    lock_file $MODULE_STATUS_BACKUP
+    lock_file $MODULE_STATUS
+    for MODULE in "$@" ; do
+      grep -v "^$MODULE:" $MODULE_STATUS > $MODULE_STATUS_BACKUP
+      grep "^$MODULE:" $MODULE_STATUS | sed "s:installed:exiled:" >> $MODULE_STATUS_BACKUP
+      cp $MODULE_STATUS_BACKUP $MODULE_STATUS
+    done
+    unlock_file $MODULE_STATUS
+    unlock_file $MODULE_STATUS_BACKUP
+  fi
+}
+
+
+# function : unexile_modules
+# usage    : unexile_modules $MODULE [$MODULE....]
+# purpose  : put modules on exile back to normal
+unexile_modules () {
+  if [ -n "$1" ] ; then
+    lock_file $MODULE_STATUS_BACKUP
+    lock_file $MODULE_STATUS
+    for MODULE in "$@" ; do
+      grep -v "^$MODULE:" $MODULE_STATUS > $MODULE_STATUS_BACKUP
+      grep "^$MODULE:" $MODULE_STATUS | sed "s:exiled:installed:" >> $MODULE_STATUS_BACKUP
       cp $MODULE_STATUS_BACKUP $MODULE_STATUS
     done
     unlock_file $MODULE_STATUS

Index: moonbase.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/moonbase.lunar,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- moonbase.lunar	17 Jun 2003 14:23:42 -0000	1.7
+++ moonbase.lunar	13 Jul 2003 20:49:54 -0000	1.8
@@ -24,10 +24,7 @@
    CLEAR_CACHE=on
   }
 
-  if [ "$UNIQID" == "" ]; then
-    mk_uniqid;
-  fi
-
+  # make sure we set these values up front to be sure
   run_details
   rm -f /tmp/$SOURCE
 
@@ -39,9 +36,9 @@
     mkdir -p $SYSTEM_MOONBASE/zlocal
   fi
 
-  wget -O - >/dev/null "www.lunar-linux.org/cgi-bin/houston?loc=$UNIQID"
+  push_uniq_id
 
-  if download_module ; then
+  if download_module $MODULE ; then
     echo -e "${MESSAGE_COLOR}Preparing to install ${FILE_COLOR}${SOURCE}" \
             "${DEFAULT_COLOR}${MESSAGE_COLOR}...${DEFAULT_COLOR}"       &&
     mv $SYSTEM_MOONBASE/zlocal/ /var/lib/lunar/.zlocal-backup    &&

Index: optimize.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/optimize.lunar,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- optimize.lunar	13 Jun 2003 03:56:37 -0000	1.35
+++ optimize.lunar	13 Jul 2003 20:49:54 -0000	1.36
@@ -25,7 +25,7 @@
    . /etc/lunar/local/optimizations
 else
   verbose_msg "initializing optimizations with hard-coded defaults"
-  echo -e PLATFORM=x86            '\n'    \
+  echo -e PLATFOM=x86             '\n'    \
           BUILD=i386-pc-linux-gnu '\n'    \
 	  MAKES=                  '\n'    \
 	  COPT=                   '\n'    \
@@ -120,7 +120,7 @@
       Fastest) CFLAGS="-O3"
                CXXFLAGS="-O3"
                ;;
-      Smaller) CFLAGS="-Os"
+        Small) CFLAGS="-Os"
                CXXFLAGS="-Os"
                ;;
    esac
@@ -735,17 +735,6 @@
 }
 
 
-optimize_cc_warn() {
-  for W in ${CC_WARN[@]}; do
-    case $W in
-    Deprecated)
-      CFLAGS="$CFLAGS -Wno-deprecated"
-      ;;
-    esac
-  done
-}
-
-
 optimize_ccc_warn() {
   for W in ${CCC_WARN[@]}; do
     case $W in
@@ -769,7 +758,6 @@
                 optimize_extra    ${XTRA[@]} &&
 		optimize_stack               &&
                 optimize_fp       $FPM       &&
-		optimize_cc_warn             &&
 		optimize_ccc_warn            &&
                 optimize_ld       ${LDF[@]}  &&
 		optimize_addon
@@ -780,7 +768,6 @@
                 optimize_speed    ${SPD[@]}  &&
                 optimize_extra    ${XTRA[@]} &&
                 optimize_fp       $FPM       &&
-		optimize_cc_warn             &&
 		optimize_ccc_warn            &&
                 optimize_ld       ${LDF[@]}  &&
 		optimize_addon
@@ -791,7 +778,6 @@
                 optimize_speed    ${SPD[@]}  &&
                 optimize_extra    ${XTRA[@]} &&
                 optimize_fp       $FPM       &&
-		optimize_cc_warn             &&
 		optimize_ccc_warn            &&
                 optimize_ld       ${LDF[@]}  &&
 		optimize_addon
@@ -802,7 +788,6 @@
                 optimize_speed    ${SPD[@]}  &&
                 optimize_extra    ${XTRA[@]} &&
                 optimize_fp       $FPM       &&
-		optimize_cc_warn             &&
 		optimize_ccc_warn            &&
                 optimize_ld       ${LDF[@]}  &&
 		optimize_addon
@@ -890,11 +875,6 @@
   fpm_options                 &&
   menu radiolist              &&
   FPM=$RESULT
-
-  help cc_warn_help           &&
-  cc_warn             &&
-  menu checklist              &&
-  CC_WARN=$RESULT
 
   help ccc_warn_help          &&
   ccc_warn            &&

Index: prune.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/prune.lunar,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- prune.lunar	8 Jun 2003 19:30:47 -0000	1.2
+++ prune.lunar	13 Jul 2003 20:49:54 -0000	1.3
@@ -34,7 +34,7 @@
     sources $MODULE >> $KEEP
     VERSION=$(installed_version $MODULE)
     if [ -z "$VERSION" ] ; then
-      VERSION=$(run_details ; echo $VERSION)
+      VERSION=$(run_details $MODULE ; echo $VERSION)
     fi
     echo $MODULE-$VERSION-$BUILD.tar.bz2 >> $KEEP
   done
@@ -42,76 +42,6 @@
   echo  README >> $KEEP
 }
 
-
-# function : prune
-# usage    : prune
-# purpose  : prune all old logs, source copy's, install caches
-prune() {
-  message  "${MESSAGE_COLOR}Generating a keep list..." \
-           "${DEFAULT_COLOR}"
-
-  KEEP="/tmp/prune.keep.$$"
-  trap "rm -f $KEEP 2>/dev/null; exit" INT QUIT TERM
-  generate_keep_list
-
-  message  "${MESSAGE_COLOR}Now pruning $SOURCE_CACHE..." \
-           "${DEFAULT_COLOR}"
-  ls  $SOURCE_CACHE  |
-  while  read  FILE;  do
-      grep  -q  "^$FILE$"  $KEEP  || {
-        rm  $SOURCE_CACHE/$FILE 2>/dev/null
-	verbose_msg "rm \"$SOURCE_CACHE/$FILE\""
-      }
-  done
-
-  message  "${MESSAGE_COLOR}Now pruning $INSTALL_CACHE..." \
-           "${DEFAULT_COLOR}"
-  ls  $INSTALL_CACHE  |
-  while  read  FILE;  do
-      grep  -q  "^$FILE$"  $KEEP  || {
-        rm  $INSTALL_CACHE/$FILE 2>/dev/null
-	verbose_msg "rm \"$INSTALL_CACHE/$FILE\""
-      }	
-  done
-
-  KEEP2="/tmp/prune.instlist.$$"
-  trap "rm -f $KEEP2 2>/dev/null; exit" INT QUIT TERM
-  cat $MODULE_STATUS | cut -d: -f1,4 | sed 's/:/-/' > $KEEP2
-
-  message  "${MESSAGE_COLOR}Now pruning $INSTALL_LOGS..." \
-             "${DEFAULT_COLOR}"
-  ls  $INSTALL_LOGS  |
-  while  read  FILE;  do
-      grep -q "^$FILE$"   $KEEP2 || {
-        rm $INSTALL_LOGS/$FILE
-	verbose_msg "rm \"$INSTALL_LOGS/$FILE\""
-      }
-  done
-
-  message  "${MESSAGE_COLOR}Now pruning $COMPILE_LOGS..." \
-             "${DEFAULT_COLOR}"
-  ls  $COMPILE_LOGS  | sed 's/.bz2$//' |
-  while  read  FILE;  do
-      grep -q "^$FILE$"    $KEEP2 || {
-        rm $COMPILE_LOGS/$FILE.bz2
-	verbose_msg "rm \"$COMPILE_LOGS/$FILE\""
-      }
-  done
-
-  message  "${MESSAGE_COLOR}Now pruning $MD5SUM_LOGS..." \
-             "${DEFAULT_COLOR}"
-  ls  $MD5SUM_LOGS  |
-  while  read  FILE;  do
-      grep -q "^$FILE$"    $KEEP2 || {
-        rm $MD5SUM_LOGS/$FILE
-	verbose_msg "rm \"$MD5SUM_LOGS/$FILE\""
-      }
-  done
-
-  rm  -f  $KEEP 2>/dev/null
-  rm  -f  $KEEP2 2>/dev/null
-  trap INT QUIT TERM
-}
 
 
 

Index: sizes.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/sizes.lunar,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- sizes.lunar	21 Aug 2002 00:59:02 -0000	1.1.1.1
+++ sizes.lunar	13 Jul 2003 20:49:54 -0000	1.2
@@ -21,7 +21,7 @@
 # purpose : finds the installed size of module in KB
 find_module_size()
 {
-   #this functions checks the packages file if there is already size entry
+   #this functions checks the modules file if there is already size entry
    module_size()
    {
       unset SIZE

Index: sources.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/sources.lunar,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- sources.lunar	8 Jun 2003 19:30:47 -0000	1.7
+++ sources.lunar	13 Jul 2003 20:49:54 -0000	1.8
@@ -23,25 +23,34 @@
 sources() { (
   MAX_SOURCES=${MAX_SOURCES:=100}
 
-  run_details $1 || return 1
+  if ! run_details $1 ; then
+    return 1
+  fi
 
   for (( CNT=0; CNT<=$MAX_SOURCES; CNT++ )) ; do
     TEMP=SOURCE$((CNT))
-    eval TEMP=\$${TEMP/SOURCE0/SOURCE}
-    eval TEMP2=\$SOURCE$((CNT+1))
-    eval TEMP3=\$SOURCE$((CNT+2))
+    TEMP=${TEMP/SOURCE0/SOURCE}
 
-    TEMP1_MD5=${TEMP1}_MD5[@]
-    eval TEMP_MD5=\${$TEMP1_MD5}
-    TEMP_MD5=${TEMP_MD5:=0}
+    eval SRC1=\$${TEMP}
+    if [ "$2" == "MD5" ] ; then
+      eval SRC_MD5=\$${TEMP}_MD5
+      if [ -z "$SRC_MD5" ] ; then
+        SRC_MD5=0
+      fi
+    fi
 
-    [ -n "$TEMP" ]         &&
-    echo  $TEMP            &&
-    [ "$2" == "MD5" ]      && 
-    echo  $TEMP_MD5 
+    eval SRC2=\$SOURCE$((CNT+1))
+    eval SRC3=\$SOURCE$((CNT+2))
+
+    if [ -n "$SRC1" ] ; then
+      echo $SRC1
+      if [ "$2" == "MD5" ] ; then
+        echo $SRC_MD5
+      fi
+    fi
 
     #if two consequtive empty sources, then break
-    [ -z "$TEMP2" ] && [ -z "$TEMP3" ] && {
+    [ -z "$SRC2" ] && [ -z "$SRC3" ] && {
       break
     }
   done
@@ -51,33 +60,35 @@
 # function : md5_verify_source
 # usage    : md5_verify_source filename_1 md5_1, filename_2 md52.....
 # purpose  : md5 verifies a filename
-md5_verify_source()
-{
-   ALL_OK=true   
-   while [ -n "$2" ]
-   do
-      verify_source $1 || return 1
+md5_verify_source() {
+  ALL_OK=true   
+  while [ -n "$2" ]
+  do
+    if ! verify_source $1 ; then
+      return 1
+    fi
 
+    if [ "$2" == "0" ] ; then
+      TEMP=0
+    else
       verbose_msg "checking md5sum of \"$1\""
-
-      [ "$2" == "0" ]  && 
-      TEMP=0           || 
-      TEMP=`md5sum $SOURCE_CACHE/$1 | cut -d " " -f 1-1`
+      TEMP=$(md5sum $SOURCE_CACHE/$1 | cut -d " " -f 1-1)
+    fi
       
-      [ "$TEMP" == "$2" ] || {
-         message  "${PROBLEM_COLOR}Wrong md5 sum for ${FILE_COLOR}${1}" \
-                   "${DEFAULT_COLOR}"
-         message  "${PROBLEM_COLOR}Removing ${FILE_COLOR}${SOURCE_CACHE}/${1}" \
-                  "${DEFAULT_COLOR}"
-         rm -f $SOURCE_CACHE/$1 2>/dev/null                             &&
-         message  "${FILE_COLOR}Removed!!${DEFAULT_COLOR}"              ||
-         message  "${PROBLEM_COLOR}Unable to remove!!${DEFAULT_COLOR}" 
-         ALL_OK=false
-      }
+    if [ "$TEMP" != "$2" ] ; then 
+       message  "${PROBLEM_COLOR}Wrong md5 sum for ${FILE_COLOR}${1}" \
+                 "${DEFAULT_COLOR}"
+       message  "${PROBLEM_COLOR}Removing ${FILE_COLOR}${SOURCE_CACHE}/${1}" \
+                "${DEFAULT_COLOR}"
+       rm -f $SOURCE_CACHE/$1 2>/dev/null                             &&
+       message  "${FILE_COLOR}Removed!!${DEFAULT_COLOR}"              ||
+       message  "${PROBLEM_COLOR}Unable to remove!!${DEFAULT_COLOR}" 
+       ALL_OK=false
+    fi
 
-      shift 2
-   done
-   $ALL_OK
+    shift 2
+  done
+  $ALL_OK
 }
 
 

Index: tracking.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/tracking.lunar,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- tracking.lunar	27 Apr 2003 17:24:56 -0000	1.1
+++ tracking.lunar	13 Jul 2003 20:49:54 -0000	1.2
@@ -35,7 +35,6 @@
 # purpose  : start logging all disk accesses with installwatch
 invoke_installwatch() {
   if [ -e /usr/lib/installwatch.so ] ; then
-    export INSTALLWATCHFILE=/tmp/$MODULE.iw
     export LD_PRELOAD=/usr/lib/installwatch.so
   fi
 }
@@ -56,9 +55,8 @@
   OMIT="^/dev\|^/tmp\|^/usr/src"
   OMIT_IN="	rename\|	symlink\|	unlink"
 
-  grep -v "$OMIT_IN" $IW_LOG | cut -f3 | grep -v "$OMIT"
-  cat                $IW_LOG | cut -f4 | grep -v "$OMIT" | grep "^/"
-
+  grep -v "$OMIT_IN" $INSTALLWATCHFILE | cut -f3 | grep -v "$OMIT"
+  cat                $INSTALLWATCHFILE | cut -f4 | grep -v "$OMIT" | grep "^/"
 }
 
 
@@ -68,7 +66,7 @@
 track() {
   message  "${MESSAGE_COLOR}Creating ${FILE_COLOR}${INST_LOG}${DEFAULT_COLOR}"
 
-  export  IFS="$TAB_ENTER_IFS"
+  export IFS="$TAB_ENTER_IFS"
 
   parse_iw                   |
   sort                       |
@@ -89,8 +87,7 @@
   else  grep  -v  "$MISOWNED_SYMLINKS"  $TMP_LOG  >  $INST_LOG
   fi
 
-  verbose_msg "removing \"$IW_LOG\""
-  rm  -f  $IW_LOG  $TMP_LOG
+  rm  -f  $TMP_LOG
 }
 
 

Index: uniqid.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/uniqid.lunar,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- uniqid.lunar	17 Jun 2003 02:20:48 -0000	1.1
+++ uniqid.lunar	13 Jul 2003 20:49:54 -0000	1.2
@@ -8,8 +8,18 @@
 #                                                          #
 ############################################################
 
-mk_uniqid() {
 
+push_uniq_id() {
+  if [ "$UNIQID" == "" ]; then
+    create_uniq_id
+  fi
+ 
+  verbose_msg "registering \"$UNIQID\" with server"
+  wget -O - >/dev/null "www.lunar-linux.org/cgi-bin/houston?loc=$UNIQID" &>/dev/null
+  
+}
+
+create_uniq_id() {
   if [ $UNIQID >= "" ]; then 
     return
   fi
@@ -19,22 +29,22 @@
   if [  "$OS"  == "OpenBSD" ]; then
     HASH="sha1"
     IFACE=`netstat -r | grep default | awk '{print $7}'`
-
   elif [  "$OS"  == "Linux" ]; then
     HASH="md5sum"
     IFACE=`netstat -r | grep default | awk '{print $8}'`
-
-  else exit 1
-
+  else
+    exit 1
   fi
 
-
-  echo "Interface=$IFACE"
   UNIQID=`ifconfig $IFACE |\
       awk '/addr.*[:]* [0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]/ {print $NF}' |\
       tr 'A-Z' 'a-z' | $HASH | awk '{print $1}'`
   export UNIQID
+
+  verbose_msg "id(\"$IFACE\")=\"$UNIQID\""
+
   echo  "      UNIQID=$UNIQID"   >>   $LOCAL_CONFIG
+
 }
 
 

Index: updatelog.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/updatelog.lunar,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- updatelog.lunar	27 Mar 2003 17:41:11 -0000	1.8
+++ updatelog.lunar	13 Jul 2003 20:49:54 -0000	1.9
@@ -15,54 +15,46 @@
 #                                                          #
 ############################################################
 
+
 # function : display_update_log 
 # usage    : display_update_log update|rebuild 
 # purpose  : display a log describing update successes, failures, and summaries
-
-display_update_log()  { 
+display_update_log() {
   rm -f /var/log/lunar/update 
- 
   { 
-    display_success_info $1
-    if [  "$1" == "update" ]; then  
-      display_moonbase_changes
-    fi  
+    if [ -e "$TMP_LIN_SUCCESS" -a -e "$TMP_LIN_FAIL" ] ; then 
+      display_success_info
+    fi
+    display_moonbase_changes
   } | tee /var/log/lunar/update 
- 
-  rm -f /tmp/fail_$LOGTMP /tmp/success_$LOGTMP
 }
 
+
 # function : display_success_info 
 # usage    : display_success_info update|rebuild
 # purpose  : display a list of update successes and failures
-display_success_info()  {
-
-  touch /tmp/success_$LOGTMP /tmp/fail_$LOGTMP
+display_success_info() {
 
-  NUMSUCCESS=`cat /tmp/success_$LOGTMP | wc -l` 
-  NUMFAILURES=`cat /tmp/fail_$LOGTMP | wc -l`  
+  NUMSUCCESS=$(cat $TMP_LIN_SUCCESS | wc -l)
+  NUMFAILURES=$(cat $TMP_LIN_FAIL | wc -l)
 
   message
-  message  "${MESSAGE_COLOR}Lunar $1 completed at `date`${DEFAULT_COLOR}"
-  message  "Successful ${1}s : " $NUMSUCCESS
-  message  "Failed ${1}s     : " $NUMFAILURES  
+  message  "${MESSAGE_COLOR}Lunar renew completed at `date`${DEFAULT_COLOR}"
+  message  "Successful  : " $NUMSUCCESS
+  message  "Failed      : " $NUMFAILURES  
   message  
   
   if  [  "$NUMSUCCESS" -gt "0"  ]; then   
     message  "${MESSAGE_COLOR}Successfully updated modules:${DEFAULT_COLOR}"  
-    cat  /tmp/success_$LOGTMP  
+    cat $TMP_LIN_SUCCESS  
     message  
   fi  
  
   if  [  "$NUMFAILURES" -gt "0"  ]; then    
     message  "${MESSAGE_COLOR}Failed updated modules:${DEFAULT_COLOR}"
-    cat  /tmp/fail_$LOGTMP   
+    cat $TMP_LIN_FAIL
     message   
   fi   
-
-  if [  "$1" == "update" ]; then 
-    display_moonbase_changes 
-  fi 
 
 }
 




More information about the Lunar-commits mailing list