[Lunar-commits] CVS: theedge/var/lib/lunar/functions aliases.lunar, 1.1, 1.2

Auke Kok sofar at lunar-linux.org
Wed Apr 13 08:02:55 UTC 2005


Update of /var/cvs/lunar/theedge/var/lib/lunar/functions
In directory espresso.foo-projects.org:/home/sofar/active/theedge/var/lib/lunar/functions

Modified Files:
	aliases.lunar 
Log Message:
Much more powerfull aliasing code: really track all possible alias possibilities, survives 'lunar fixdepends' test.


Index: aliases.lunar
===================================================================
RCS file: /var/cvs/lunar/theedge/var/lib/lunar/functions/aliases.lunar,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- aliases.lunar	12 Oct 2004 11:29:06 -0000	1.1
+++ aliases.lunar	13 Apr 2005 08:02:53 -0000	1.2
@@ -30,14 +30,36 @@
     fi
     # shortcut out: in the satisfy_depends stage we should NOT ask this again
     if [ -z "$DEPS_ONLY" ] ; then
+      # first we check if this dependency is already existant in the exact
+      # way: does this MODULE depends on TARGET already ?
       for TARGET in $TARGETS ; do
-        # the target should be present in the dependency database:
         if in_depends $MODULE $TARGET ; then
           debug_msg "unaliased \"$1\"->\"$TARGET\""
           echo $TARGET
           return
-	fi
+        fi
+      done
+      # not so... other possibility is that something else already depends
+      # on TARGET?
+      for TARGET in $TARGETS ; do
+        if is_depends $TARGET ; then
+          debug_msg "unaliased \"$1\"->\"$TARGET\""
+          echo $TARGET
+          return
+        fi
       done
+      # also not so. our last attempt is for a DISABLED dependency, but
+      # we can only use this method for OPTIONAL dependencies
+      if [ "${FUNCNAME[1]}" == "optional_depends" ]; then
+        for TARGET in $TARGETS ; do
+          # there's no function for this yet
+          if grep -q ":$TARGET:off:" $DEPENDS_STATUS ; then
+            debug_msg "unaliased \"$1\"->\"$TARGET\""
+            echo $TARGET
+            return
+          fi
+        done
+      fi
     fi
 
     # propose one and let the user pick it from a list:



More information about the Lunar-commits mailing list