CVS: theedge/var/lib/lunar/functions check.lunar, 1.5,
1.6 depends.lunar, 1.16, 1.17 install.lunar, 1.14, 1.15
sofar at lunar-linux.org
sofar at lunar-linux.org
Thu Aug 7 09:48:33 GMT 2003
Update of /var/cvs/lunar/theedge/var/lib/lunar/functions
In directory dbguin.lunar-linux.org:/tmp/cvs-serv1519/var/lib/lunar/functions
Modified Files:
check.lunar depends.lunar install.lunar
Log Message:
Adding uniform parameter passing to lvu, fixing up lvu urls to ignore testpack() and connect(), hooking up --help to lunar, also making it call the proper fix/nofix/fixdepends code. Last merged fixing code into check.lunar, so this is all together in one file and not in install.lunar.
Index: check.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/check.lunar,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- check.lunar 4 Aug 2003 23:19:42 -0000 1.5
+++ check.lunar 7 Aug 2003 09:48:31 -0000 1.6
@@ -215,3 +215,324 @@
}
+# rework_module : check depends database for a module
+rework_module() {
+ debug_msg "rework_module ($@)"
+
+ # we declare these local to override the systems default ones:
+ optional_depends() {
+ debug_msg " optional_depends ($@)"
+ if module_exiled $1
+ then add_depends "$MODULE" "$1" "off" "optional" "$2" "$3"
+ else
+ if module_installed $1 ||
+ module_held $1
+ then add_depends "$MODULE" "$1" "on" "optional" "$2" "$3"
+ else add_depends "$MODULE" "$1" "off" "optional" "$2" "$3"
+ fi
+ fi
+ }
+
+ depends() {
+ debug_msg " depends ($@)"
+ if ! module_installed $1 &&
+ ! module_held $1
+ then
+ if ! is_depends $1 &&
+ module_exiled $1
+ then return 1
+ else
+ echo -e "${MODULE_COLOR}${MODULE}${DEFAULT_COLOR}${MESSAGE_COLOR} is missing ${MODULE_COLOR}$1${DEFAULT_COLOR}"
+ CHANGED_MODULES="$CHANGED_MODULES $1"
+ fi
+ fi
+ add_depends "$MODULE" "$1" "on" "required" "$2" "$3"
+ }
+ run_depends() {
+ debug_msg " run_depends ($@)"
+ if [ -s "$SCRIPT_DIRECTORY/DEPENDS" ] ; then
+ show_fancy_progress "Processing: $MODULE"
+ run_module_file $MODULE DEPENDS
+ fi
+ }
+
+ # here starts the real work:
+ MODULE=$1
+
+ # base vars needed to execute DEPENDS
+ SECTION=$(find_section $MODULE)
+ SCRIPT_DIRECTORY=$MOONBASE/$SECTION/$MODULE
+ MODULE_CONFIG=$DEPENDS_CONFIG/$MODULE
+
+ # reroute depends output to our private files:
+ OLD_DEPENDS_STATUS=$DEPENDS_STATUS
+ OLD_DEPENDS_STATUS_BACKUP=$DEPENDS_STATUS_BACKUP
+
+ DEPENDS_STATUS=$TMP/depends
+ DEPENDS_STATUS_BACKUP=$TMP/depends.backup
+ touch $DEPENDS_STATUS
+ touch $DEPENDS_STATUS_BACKUP
+
+ # fetch old depend data:
+ grep "^$MODULE:" $OLD_DEPENDS_STATUS | sort | uniq > $TMP/depends.old.$MODULE
+
+ # fetch new depend data:
+ run_depends
+ grep "^$MODULE:" $DEPENDS_STATUS | sort | uniq > $TMP/depends.new.$MODULE
+
+ if $(! diff -q $TMP/depends.old.$MODULE $TMP/depends.new.$MODULE &> /dev/null
+) ; then
+ echo -e "${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} has changed depends:${DEFAULT_COLOR}"
+ CHANGED_MODULES="$CHANGED_MODULES $MODULE"
+ LIST=$(cat $TMP/depends.old.$MODULE $TMP/depends.new.$MODULE | cut -d: -f2 | sort | uniq )
+ for DEP in $LIST; do
+ OLDDEP=$(grep ":$DEP:" $TMP/depends.old.$MODULE)
+ NEWDEP=$(grep ":$DEP:" $TMP/depends.new.$MODULE)
+ if [ "$OLDDEP" != "$NEWDEP" ] ; then
+
+ # diff style output for debugging:
+ # echo "- $OLDDEP"
+ # echo "+ $NEWDEP"
+
+ # the tricky part is deciding what is necessary and what not:
+ OLD_STATUS=$(echo $OLDDEP | cut -d: -f3)
+ NEW_STATUS=$(echo $NEWDEP | cut -d: -f3)
+ OLD_REQD=$(echo $OLDDEP | cut -d: -f4)
+ NEW_REQD=$(echo $NEWDEP | cut -d: -f4)
+ OLD_ON_OPTS=$(echo $OLDDEP | cut -d: -f5)
+ NEW_ON_OPTS=$(echo $NEWDEP | cut -d: -f5)
+ 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 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 dependency list${DEFAULT_COLOR}"
+ else
+ # the dep changed!
+ if [ "$OLD_STATUS" == "on" -a "$NEW_STATUS" == "on" ]; then
+ if [ "$OLD_REQD" == "required" -a "$NEW_REQD" == "optional" ]
+ then
+ echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to optional${DEFAULT_COLOR}"
+ elif [ "$OLD_REQD" == "optional" -a "$NEW_REQD" == "required" ]
+ then
+ echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to required${DEFAULT_COLOR}"
+ else
+ echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} has new compile flags for ${MODULE_COLOR}$DEP${MESSAGE_COLOR}${DEFAULT_COLOR}"
+ fi
+ elif [ "$OLD_STATUS" == "off" -a "$NEW_STATUS" == "off" ]; then
+ if [ "$OLD_REQD" == "required" -a "$NEW_REQD" == "optional" ]
+ then
+ echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to optional${DEFAULT_COLOR}"
+ elif [ "$OLD_REQD" == "optional" -a "$NEW_REQD" == "required" ]
+ then
+ echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to required${DEFAULT_COLOR}"
+ else
+ echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} has new compile flags for ${MODULE_COLOR}$DEP${MESSAGE_COLOR}${DEFAULT_COLOR}"
+ fi
+ elif [ "$OLD_STATUS" == "off" -a "$NEW_STATUS" == "on" ]; then
+ echo -e "${MESSAGE_COLOR}* $NEW_REQD ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was installed${DEFAULT_COLOR}"
+ elif [ "$OLD_STATUS" == "on" -a "$NEW_STATUS" == "off" ]; then
+ echo -e "${MESSAGE_COLOR}* $NEW_REQD ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was removed${DEFAULT_COLOR}"
+ else
+ echo -e "${$MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} ${PROBLEM_COLOR}missed exception $OLD_STATUS $NEW_STATUS${DEFAULT_COLOR}"
+ fi
+ fi
+ fi
+ fi
+ done
+ fi
+
+ # clean up
+ rm -f $DEPENDS_STATUS
+ rm -f $DEPENDS_STATUS_BACKUP
+ DEPENDS_STATUS=$OLD_DEPENDS_STATUS
+ DEPENDS_STATUS_BACKUP=$OLD_DEPENDS_STATUS_BACKUP
+
+}
+
+
+# rework_list : rework a list of modules and save output
+rework_list() {
+ debug_msg "rework_list ($@)"
+
+ for MODULE in $* ; do
+ module_exiled $MODULE || rework_module $MODULE
+ done
+
+}
+
+
+# fix_depends : single pass to fix depends database
+fix_depends () {
+ debug_msg "fix_depends ($@)"
+
+ TMP=/tmp/lunar.fix
+ [ -d $TMP ] || mkdir -p $TMP
+
+ CHANGED_MODULES=
+ # we NEED this
+ if [ -f "$INSTALL_QUEUE" ] ; then
+ rm -f $INSTALL_QUEUE
+ touch $INSTALL_QUEUE
+ fi
+
+ if [ -n "$1" ] ; then
+ rework_list $*
+ else
+ rework_list $(cat $MODULE_STATUS | cut -d: -f1 | sort )
+ fi
+
+ if [ -n "$CHANGED_MODULES" ] ; then
+
+ for MODULE in $CHANGED_MODULES ; do
+ if [ ! -e "$TMP/depends.new.$MODULE" ] ; then
+ rework_module $MODULE
+ fi
+ done
+
+ # this ensures the bastard doesn't recheck it:
+ if [ -z "$NOFIX" ] ; then
+ mv $DEPENDS_STATUS $TMP/depends
+ cp $TMP/depends $TMP/depends.filter
+ for MODULE in $CHANGED_MODULES ; do
+ grep -v "^$MODULE:" $TMP/depends.filter > $TMP/depends.filter~
+ mv $TMP/depends.filter~ $TMP/depends.filter
+ done
+ mv $TMP/depends.filter $DEPENDS_STATUS
+ cat $TMP/depends.new.* >> $DEPENDS_STATUS
+ cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
+ fi
+
+ OLD_FIX=$FIX
+ unset FIX
+ OLD_lin_PASS=$lin_PASS; export lin_PASS=three
+
+ for MODULE in $CHANGED_MODULES ; do
+ if [ -n "$FIXDEPENDS" ] ; then
+ # special case: when called with --fixdepends, skip recompile!
+ cp $TMP/depends $TMP/depends.filter
+ for MODULE in $CHANGED_MODULES ; do
+ grep -v "^$MODULE:" $TMP/depends.filter > $TMP/depends.filter~
+ mv $TMP/depends.filter~ $TMP/depends.filter
+ done
+ mv $TMP/depends.filter $DEPENDS_STATUS
+ cat $TMP/depends.new.* >> $DEPENDS_STATUS
+ cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
+ else
+ if [ -z "$NOFIX" ] ; then
+ if ! lin -c $MODULE ; then
+ # put back the faulty depends so we know fixing this failed
+ # and will be found again on the next run
+ cat $TMP/depends > $DEPENDS_STATUS
+ cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
+ else
+ # sometimes after lin all depends are gone! force it down it's throat
+ cp $TMP/depends $TMP/depends.filter
+ for MODULE in $CHANGED_MODULES ; do
+ grep -v "^$MODULE:" $TMP/depends.filter > $TMP/depends.filter~
+ mv $TMP/depends.filter~ $TMP/depends.filter
+ done
+ mv $TMP/depends.filter $DEPENDS_STATUS
+ cat $TMP/depends.new.* >> $DEPENDS_STATUS
+ cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
+ fi
+ fi
+ fi
+ remove_queue $INSTALL_QUEUE $MODULE
+ done
+
+ FIX=$OLD_FIX
+ unset OLD_FIX
+ export lin_PASS=$OLD_lin_PASS
+
+ fi
+
+ rm -rf $TMP
+
+}
+
+
+run_fix() {
+ debug_msg "run_fix ($@)"
+ MODULES=$*
+
+ if [ -z "$MODULES" ] ; then
+ MODULES=$(cat $MODULE_STATUS_BACKUP | cut -d: -f1 | sort)
+ fi
+
+ PASSED=":"
+
+ verbose_msg "Saving LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH\""
+ [ -n "$EXPORT_LD_PATH" ] ||
+ export EXPORT_LD_PATH=$(find /usr/lib -type d ! -empty)
+ if [ "$LDD_CHECK" == "on" ] ; then
+ LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
+ export_ld $EXPORT_LD_PATH
+ fi
+
+ until [ "$FIXED" == "yes" ] ||
+ [ "$HOPELESS" == "yes" ]; do
+
+ FIXED="yes"
+ HOPELESS="no"
+
+ for MODULE in $MODULES; do
+
+ fix_depends $MODULE
+
+ # if we were called with --fixdepends then we may skip the rest
+ if [ -n "$FIXDEPENDS" ] ; then
+ continue
+ fi
+
+ if module_installed $MODULE &&
+ [ "$MODULE" != "lunar" ] &&
+ [ "$MODULE" != "j2sdk" ] &&
+ module_held $MODULE &&
+ ! echo $PASSED | grep -q ":$MODULE:"; then
+
+ if run_checks $MODULE ||
+ [ -n "$NOFIX" ]
+ then
+ PASSED="$PASSED$MODULE:"
+ else
+ FIXED="no"
+ (
+ run_details $MODULE &&
+ satisfy_depends &&
+ unset FIX &&
+ satisfy_depends
+ )
+
+ if [ "$LDD_CHECK" == "on" ] ; then
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
+ export_ld $EXPORT_LD_PATH
+ fi
+
+ if run_checks $MODULE ||
+ [ -n "$NOFIX" ]
+ then
+
+ PASSED="$PASSED$MODULE:"
+ if [ "$LDD_CHECK" == "on" ] ; then
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
+ export_ld $EXPORT_LD_PATH
+ fi
+
+ else
+ unset FIX
+ if ! lin --compile $MODULE; then HOPELESS="yes"
+ elif ! run_checks $MODULE; then HOPELESS="yes"
+ fi
+ export FIX="--fix"
+ fi
+ fi
+ fi
+ done
+ done
+ rm -f /tmp/LD_LIBRARY_PATH_FILE
+}
+
+
+
Index: depends.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/depends.lunar,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- depends.lunar 4 Aug 2003 23:19:42 -0000 1.16
+++ depends.lunar 7 Aug 2003 09:48:31 -0000 1.17
@@ -122,7 +122,7 @@
fi
}
-
+
run_depends() {
debug_msg "run_depends ($@)"
# local definitions of depends and optional_depends!
@@ -185,244 +185,8 @@
}
-# rework_module : check depends database for a module
-rework_module() {
- debug_msg "rework_module ($@)"
-
- # we declare these local to override the systems default ones:
- optional_depends() {
- debug_msg " optional_depends ($@)"
- if module_exiled $1
- then add_depends "$MODULE" "$1" "off" "optional" "$2" "$3"
- else
- if module_installed $1 ||
- module_held $1
- then add_depends "$MODULE" "$1" "on" "optional" "$2" "$3"
- else add_depends "$MODULE" "$1" "off" "optional" "$2" "$3"
- fi
- fi
- }
-
- depends() {
- debug_msg " depends ($@)"
- if ! module_installed $1 &&
- ! module_held $1
- then
- if ! is_depends $1 &&
- module_exiled $1
- then return 1
- else
- echo -e "${MODULE_COLOR}${MODULE}${DEFAULT_COLOR}${MESSAGE_COLOR} is missing ${MODULE_COLOR}$1${DEFAULT_COLOR}"
- CHANGED_MODULES="$CHANGED_MODULES $1"
- fi
- fi
- add_depends "$MODULE" "$1" "on" "required" "$2" "$3"
- }
- run_depends() {
- debug_msg " run_depends ($@)"
- if [ -s "$SCRIPT_DIRECTORY/DEPENDS" ] ; then
- show_fancy_progress "Processing: $MODULE"
- run_module_file $MODULE DEPENDS
- fi
- }
-
- # here starts the real work:
- MODULE=$1
-
- # base vars needed to execute DEPENDS
- SECTION=$(find_section $MODULE)
- SCRIPT_DIRECTORY=$MOONBASE/$SECTION/$MODULE
- MODULE_CONFIG=$DEPENDS_CONFIG/$MODULE
-
- # reroute depends output to our private files:
- OLD_DEPENDS_STATUS=$DEPENDS_STATUS
- OLD_DEPENDS_STATUS_BACKUP=$DEPENDS_STATUS_BACKUP
-
- DEPENDS_STATUS=$TMP/depends
- DEPENDS_STATUS_BACKUP=$TMP/depends.backup
- touch $DEPENDS_STATUS
- touch $DEPENDS_STATUS_BACKUP
-
- # fetch old depend data:
- grep "^$MODULE:" $OLD_DEPENDS_STATUS | sort | uniq > $TMP/depends.old.$MODULE
-
- # fetch new depend data:
- run_depends
- grep "^$MODULE:" $DEPENDS_STATUS | sort | uniq > $TMP/depends.new.$MODULE
-
- if $(! diff -q $TMP/depends.old.$MODULE $TMP/depends.new.$MODULE &> /dev/null
-) ; then
- echo -e "${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} has changed depends:${DEFAULT_COLOR}"
- CHANGED_MODULES="$CHANGED_MODULES $MODULE"
- LIST=$(cat $TMP/depends.old.$MODULE $TMP/depends.new.$MODULE | cut -d: -f2 | sort | uniq )
- for DEP in $LIST; do
- OLDDEP=$(grep ":$DEP:" $TMP/depends.old.$MODULE)
- NEWDEP=$(grep ":$DEP:" $TMP/depends.new.$MODULE)
- if [ "$OLDDEP" != "$NEWDEP" ] ; then
-
- # diff style output for debugging:
- # echo "- $OLDDEP"
- # echo "+ $NEWDEP"
-
- # the tricky part is deciding what is necessary and what not:
- OLD_STATUS=$(echo $OLDDEP | cut -d: -f3)
- NEW_STATUS=$(echo $NEWDEP | cut -d: -f3)
- OLD_REQD=$(echo $OLDDEP | cut -d: -f4)
- NEW_REQD=$(echo $NEWDEP | cut -d: -f4)
- OLD_ON_OPTS=$(echo $OLDDEP | cut -d: -f5)
- NEW_ON_OPTS=$(echo $NEWDEP | cut -d: -f5)
- 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 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 dependency list${DEFAULT_COLOR}"
- else
- # the dep changed!
- if [ "$OLD_STATUS" == "on" -a "$NEW_STATUS" == "on" ]; then
- if [ "$OLD_REQD" == "required" -a "$NEW_REQD" == "optional" ]
- then
- echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to optional${DEFAULT_COLOR}"
- elif [ "$OLD_REQD" == "optional" -a "$NEW_REQD" == "required" ]
- then
- echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to required${DEFAULT_COLOR}"
- else
- echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} has new compile flags for ${MODULE_COLOR}$DEP${MESSAGE_COLOR}${DEFAULT_COLOR}"
- fi
- elif [ "$OLD_STATUS" == "off" -a "$NEW_STATUS" == "off" ]; then
- if [ "$OLD_REQD" == "required" -a "$NEW_REQD" == "optional" ]
- then
- echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to optional${DEFAULT_COLOR}"
- elif [ "$OLD_REQD" == "optional" -a "$NEW_REQD" == "required" ]
- then
- echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was changed to required${DEFAULT_COLOR}"
- else
- echo -e "${MESSAGE_COLOR}* ${MODULE_COLOR}$MODULE${DEFAULT_COLOR}${MESSAGE_COLOR} has new compile flags for ${MODULE_COLOR}$DEP${MESSAGE_COLOR}${DEFAULT_COLOR}"
- fi
- elif [ "$OLD_STATUS" == "off" -a "$NEW_STATUS" == "on" ]; then
- echo -e "${MESSAGE_COLOR}* $NEW_REQD ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was installed${DEFAULT_COLOR}"
- elif [ "$OLD_STATUS" == "on" -a "$NEW_STATUS" == "off" ]; then
- echo -e "${MESSAGE_COLOR}* $NEW_REQD ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} was removed${DEFAULT_COLOR}"
- else
- echo -e "${$MESSAGE_COLOR}* ${MODULE_COLOR}$DEP${DEFAULT_COLOR}${MESSAGE_COLOR} ${PROBLEM_COLOR}missed exception $OLD_STATUS $NEW_STATUS${DEFAULT_COLOR}"
- fi
- fi
- fi
- fi
- done
- fi
-
- # clean up
- rm -f $DEPENDS_STATUS
- rm -f $DEPENDS_STATUS_BACKUP
- DEPENDS_STATUS=$OLD_DEPENDS_STATUS
- DEPENDS_STATUS_BACKUP=$OLD_DEPENDS_STATUS_BACKUP
-
-}
-
-
-# rework_list : rework a list of modules and save output
-rework_list() {
- debug_msg "rework_list ($@)"
-
- for MODULE in $* ; do
- module_exiled $MODULE || rework_module $MODULE
- done
-
-}
-
-
-# fix_depends : single pass to fix depends database
-fix_depends () {
- debug_msg "fix_depends ($@)"
-
- TMP=/tmp/lunar.fix
- [ -d $TMP ] || mkdir -p $TMP
-
- CHANGED_MODULES=
- # we NEED this
- if [ -f "$INSTALL_QUEUE" ] ; then
- rm -f $INSTALL_QUEUE
- touch $INSTALL_QUEUE
- fi
-
- if [ -n "$1" ] ; then
- rework_list $*
- else
- rework_list $(cat $MODULE_STATUS | cut -d: -f1 | sort )
- fi
-
- if [ -n "$CHANGED_MODULES" ] ; then
-
- for MODULE in $CHANGED_MODULES ; do
- if [ ! -e "$TMP/depends.new.$MODULE" ] ; then
- rework_module $MODULE
- fi
- done
-
- # this ensures the bastard doesn't recheck it:
- if [ -z "$NOFIX" ] ; then
- mv $DEPENDS_STATUS $TMP/depends
- cp $TMP/depends $TMP/depends.filter
- for MODULE in $CHANGED_MODULES ; do
- grep -v "^$MODULE:" $TMP/depends.filter > $TMP/depends.filter~
- mv $TMP/depends.filter~ $TMP/depends.filter
- done
- mv $TMP/depends.filter $DEPENDS_STATUS
- cat $TMP/depends.new.* >> $DEPENDS_STATUS
- cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
- fi
-
- OLD_FIX=$FIX
- unset FIX
- OLD_lin_PASS=$lin_PASS; export lin_PASS=three
-
- for MODULE in $CHANGED_MODULES ; do
- if [ -n "$FIXDEPENDS" ] ; then
- # special case: when called with --fixdepends, skip recompile!
- cp $TMP/depends $TMP/depends.filter
- for MODULE in $CHANGED_MODULES ; do
- grep -v "^$MODULE:" $TMP/depends.filter > $TMP/depends.filter~
- mv $TMP/depends.filter~ $TMP/depends.filter
- done
- mv $TMP/depends.filter $DEPENDS_STATUS
- cat $TMP/depends.new.* >> $DEPENDS_STATUS
- cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
- else
- if [ -z "$NOFIX" ] ; then
- if ! lin -c $MODULE ; then
- # put back the faulty depends so we know fixing this failed
- # and will be found again on the next run
- cat $TMP/depends > $DEPENDS_STATUS
- cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
- else
- # sometimes after lin all depends are gone! force it down it's throat
- cp $TMP/depends $TMP/depends.filter
- for MODULE in $CHANGED_MODULES ; do
- grep -v "^$MODULE:" $TMP/depends.filter > $TMP/depends.filter~
- mv $TMP/depends.filter~ $TMP/depends.filter
- done
- mv $TMP/depends.filter $DEPENDS_STATUS
- cat $TMP/depends.new.* >> $DEPENDS_STATUS
- cp $DEPENDS_STATUS $DEPENDS_STATUS_BACKUP
- fi
- fi
- fi
- remove_queue $INSTALL_QUEUE $MODULE
- done
-
- FIX=$OLD_FIX
- unset OLD_FIX
- export lin_PASS=$OLD_lin_PASS
-
- fi
-
- rm -rf $TMP
-
-}
-
-
+
+
# function : satisfy_depends
# usage : satisfy_depends (operates on $MODULE variable)
# purpose : re-check module deps based on DEPENDS_CONFIG and DEPENDS_STATUS
Index: install.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/install.lunar,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- install.lunar 6 Aug 2003 01:31:08 -0000 1.14
+++ install.lunar 7 Aug 2003 09:48:31 -0000 1.15
@@ -253,87 +253,6 @@
}
-run_fix() {
- debug_msg "run_fix ($@)"
- MODULES=$*
-
- if [ -z "$MODULES" ]; then
- MODULES=$(cat $MODULE_STATUS_BACKUP | cut -d: -f1 | sort)
- fi
-
- PASSED=":"
-
- [ -n "$EXPORT_LD_PATH" ] ||
- export EXPORT_LD_PATH=$(find /usr/lib -type d ! -empty)
- if [ "$LDD_CHECK" == "on" ] ; then
- LD_LIBRARY_PATH_OLD="$LD_LIBRARY_PATH"
- export_ld $EXPORT_LD_PATH
- fi
-
- until [ "$FIXED" == "yes" ] ||
- [ "$HOPELESS" == "yes" ]; do
-
- FIXED="yes"
- HOPELESS="no"
-
- for MODULE in $MODULES; do
-
- fix_depends $MODULE
-
- # if we were called with --fixdepends then we may skip the rest
- if [ -n "$FIXDEPENDS" ] ; then
- continue
- fi
-
- if module_installed $MODULE &&
- [ "$MODULE" != "lunar" ] &&
- [ "$MODULE" != "j2sdk" ] &&
- module_held $MODULE &&
- ! echo $PASSED | grep -q ":$MODULE:"; then
-
- if run_checks $MODULE ||
- [ -n "$NOFIX" ]
- then
- PASSED="$PASSED$MODULE:"
- else
- FIXED="no"
- (
- run_details $MODULE &&
- satisfy_depends &&
- unset FIX &&
- satisfy_depends
- )
-
- if [ "$LDD_CHECK" == "on" ] ; then
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
- export_ld $EXPORT_LD_PATH
- fi
-
- if run_checks $MODULE ||
- [ -n "$NOFIX" ]
- then
-
- PASSED="$PASSED$MODULE:"
- if [ "$LDD_CHECK" == "on" ] ; then
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH_OLD"
- export_ld $EXPORT_LD_PATH
- fi
-
- else
- unset FIX
- if ! lin --compile $MODULE; then HOPELESS="yes"
- elif ! run_checks $MODULE; then HOPELESS="yes"
- fi
- export FIX="--fix"
- fi
- fi
- fi
- done
- done
- rm -f /tmp/LD_LIBRARY_PATH_FILE
-}
-
-
resurrect() {
(
debug_msg "resurrect ($@)"
More information about the Lunar-commits
mailing list