The logic for finding long matches before short ones was wrong (why did I never notice this??!?), fixed.
diff --git a/Mac/scripts/MkDistr.py b/Mac/scripts/MkDistr.py
index 1ed774c..a8728ab 100644
--- a/Mac/scripts/MkDistr.py
+++ b/Mac/scripts/MkDistr.py
@@ -142,13 +142,13 @@
 				if DEBUG:
 					print 'include', patharg, dstpath
 				return dstpath
-			path, lastcomp = os.path.split(path)
-			if not path:
-				break
-			removed[0:0] = [lastcomp]
-		# Next check the exclude directory
-		path = patharg
-		while 1:
+##			path, lastcomp = os.path.split(path)
+##			if not path:
+##				break
+##			removed[0:0] = [lastcomp]
+##		# Next check the exclude directory
+##		path = patharg
+##		while 1:
 			if self.edict.has_key(path):
 				if DEBUG:
 					print 'exclude', patharg, path