[Lunar-commits] 
	CVS: theedge/var/lib/lunar/functions recovery.lunar, 1.5, 1.6
    Auke Kok 
    sofar at lunar-linux.org
       
    Mon May 10 11:46:22 GMT 2004
    
    
  
Update of /var/cvs/lunar/theedge/var/lib/lunar/functions
In directory dbguin.lunar-linux.org:/tmp/cvs-serv32583
Modified Files:
	recovery.lunar 
Log Message:
This way recovery even recovers the approximate install date. I've tested this on many boxes now and it's absolutely wonderfull. Considering putting this in the lunar maintenance menu so people can use it (although it's still mopping up after some other part goofs up)
Index: recovery.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/recovery.lunar,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- recovery.lunar	9 May 2004 12:08:55 -0000	1.5
+++ recovery.lunar	10 May 2004 11:46:20 -0000	1.6
@@ -21,33 +21,21 @@
 # purpose  : rebuild the accidentally deleted status files
 rebuild_status_files() {
   debug_msg "rebuild_status_files ($@)"
-  message "${PROBLEM_COLOR} Unable to find MODULE_STATUS files\n"          \
-          "${MODULE_COLOR}$MODULE_STATUS and $MODULE_STATUS_BACKUP"        \
-          "${DEFAULT_COLOR}\n"                                             \
-          "${PROBLEM_COLOR}This is a serious error!!\n\nInformation about" \
-          "the modules on hold CAN NOT be recovered.\nHowever, the files"  \
-          "can be re-constructed.\nDo not forget to check your on hold "   \
-          "modules!"                                                       \
-          "${DEFAULT_COLOR}\n"
 
   if ! query \
      "Do you want to re-construct the status files from install logs?" y; then
-     message  "${PROBLEM_COLOR}Unable to continue without status files :=("\
-              "No more operation!!"                                        \
+     message  "${PROBLEM_COLOR}Unable to continue without status files" \
               "${DEFAULT_COLOR}"
      exit 1
   fi
 
   if ! [ -d "$INSTALL_LOGS" ]; then
-     message  "${PROBLEM_COLOR}Unable to continue without install logs :=("\
-              "No more operation!!"  \
+     message  "${PROBLEM_COLOR}Unable to continue without install logs " \
               "${DEFAULT_COLOR}"
      exit 1
   fi
 
   message  "${MESSAGE_COLOR}Re-creating status files." \
-           "${DEFAULT_COLOR}"                          \
-           "${PROBLEM_COLOR}DO NOT BREAK!!"            \
            "${DEFAULT_COLOR}"
 
   LOG_FILES=$(ls -rt $INSTALL_LOGS)
@@ -62,16 +50,23 @@
         ((COUNTS++))
         VERSION=$(echo $MODULE_NAME | cut -d "-" -f "$COUNTS"-)
         SIZE=$(find_module_size $REAL_NAME $VERSION)
-        add_module $REAL_NAME installed $VERSION $SIZE
-        message "Added: $REAL_NAME-$VERSION ($SIZE)"
+        DATE=$(ls -l $INSTALL_LOGS/$REAL_NAME-$VERSION --time-style=+%Y%m%d | awk '{print $6}')
+        lock_file $MODULE_STATUS &&
+        lock_file $MODULE_STATUS_BACKUP &&
+        # adjusted add_module code that echos the DATE field ;^)
+        grep -v "^$1:" $MODULE_STATUS_BACKUP >$MODULE_STATUS 2>/dev/null &&
+        echo "$1:$DATE:$2:$3:$4" >>$MODULE_STATUS &&
+        cat $MODULE_STATUS >$MODULE_STATUS_BACKUP &&
+        unlock_file $MODULE_STATUS_BACKUP &&
+        unlock_file $MODULE_STATUS
+        message "Added: $REAL_NAME-$VERSION ($SIZE) ($DATE)"
         break;
       fi
       ((COUNTS--))
     done
   done
 
-  message  "${MESSAGE_COLOR}Success!!"   \
-           "${DEFAULT_COLOR}\n"
+  message  "${MESSAGE_COLOR}Success!!${DEFAULT_COLOR}\n"
 }
 
 
    
    
More information about the Lunar-commits
mailing list