]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Make check_subsystem_order work in out-of-tree builds.
authorNick Mathewson <nickm@torproject.org>
Sat, 4 Apr 2020 15:31:30 +0000 (11:31 -0400)
committerteor <teor@torproject.org>
Tue, 7 Apr 2020 07:35:58 +0000 (17:35 +1000)
scripts/maint/practracker/includes.py
scripts/maint/run_check_subsystem_order.sh

index 7d70a6a0aa98473e95dcb7c3e9812e8f260125be..e08fd0d7060ef6a283592bd374adf515ed4d699a 100755 (executable)
@@ -136,6 +136,15 @@ class Rules(object):
 
         return allowed
 
+def normalize_srcdir(fname):
+    """given the name of a source directory or file, return its name
+        relative to `src`.
+    """
+    fname = re.sub(r'^.*/src/', "", fname)
+    fname = re.sub(r'^src/', "", fname)
+    fname = re.sub(r'/[^/]*\.[ch]', "", fname)
+    return fname
+
 include_rules_cache = {}
 
 def load_include_rules(fname):
@@ -261,6 +270,8 @@ def open_or_stdin(fname):
         return open(fname)
 
 def check_subsys_file(fname, uses_dirs):
+    uses_dirs = { normalize_srcdir(k) : { normalize_srcdir(d) for d in v }
+                  for (k,v) in uses_dirs.items() }
     uses_closure = closure(uses_dirs)
     ok = True
     previous_subsystems = []
index 1e68b9d008891e9c37132bbb54b150c80e9c3164..4ec73bfd5686b500a4dbdaed4bf591ef95374fcc 100755 (executable)
@@ -12,6 +12,6 @@ if ! test -x "${INCLUDES_PY}" ; then
 fi
 
 "${TOR}" --dbg-dump-subsystem-list | \
-    "${INCLUDES_PY}" --check-subsystem-order -
+    "${INCLUDES_PY}" --check-subsystem-order - "${abs_top_srcdir}/src"
 
 echo ok