]> git.decadent.org.uk Git - dak.git/blobdiff - dak/check_archive.py
Make the wnpp parse more robust for missing files
[dak.git] / dak / check_archive.py
index b9837d3049d529da66db95423e8ab023b0d610aa..a88f8ebaaacbcf99a9d705b1c233af2a4d0a93cf 100755 (executable)
@@ -95,8 +95,7 @@ def process_dir (unused, dirname, filenames):
     if dirname.find('proposed-updates') != -1:
         return
     for name in filenames:
-        filename = os.path.abspath(dirname+'/'+name)
-        filename = filename.replace('potato-proposed-updates', 'proposed-updates')
+        filename = os.path.abspath(os.path.join(dirname,name))
         if os.path.isfile(filename) and not os.path.islink(filename) and not db_files.has_key(filename) and not excluded.has_key(filename):
             waste += os.stat(filename)[stat.ST_SIZE]
             print "%s" % (filename)
@@ -119,7 +118,7 @@ def check_files():
     db_files.clear()
 
     for f in q.all():
-        filename = os.path.abspath(f.location.path, f.filename)
+        filename = os.path.abspath(os.path.join(f.location.path, f.filename))
         db_files[filename] = ""
         if os.access(filename, os.R_OK) == 0:
             if f.last_used:
@@ -137,7 +136,7 @@ def check_files():
 
     print "Existent files not in db:"
 
-    os.path.walk(cnf["Dir::Root"] + 'pool/', process_dir, None)
+    os.path.walk(os.path.join(cnf["Dir::Root"], 'pool/'), process_dir, None)
 
     print
     print "%s wasted..." % (utils.size_type(waste))
@@ -162,7 +161,7 @@ def check_dscs():
         for line in list_file.readlines():
             f = line[:-1]
             try:
-                utils.parse_changes(f, signing_rules=1)
+                utils.parse_changes(f, signing_rules=1, dsc_file=1)
             except InvalidDscError, line:
                 utils.warn("syntax error in .dsc file '%s', line %s." % (f, line))
                 count += 1
@@ -339,7 +338,7 @@ def check_files_in_dsc():
 
         try:
             # NB: don't enforce .dsc syntax
-            dsc = utils.parse_changes(filename)
+            dsc = utils.parse_changes(filename, dsc_file=1)
         except:
             utils.fubar("error parsing .dsc file '%s'." % (filename))
 
@@ -461,7 +460,7 @@ def chk_bd_process_dir (unused, dirname, filenames):
         if not name.endswith(".dsc"):
             continue
         filename = os.path.abspath(dirname+'/'+name)
-        dsc = utils.parse_changes(filename)
+        dsc = utils.parse_changes(filename, dsc_file=1)
         for field_name in [ "build-depends", "build-depends-indep" ]:
             field = dsc.get(field_name)
             if field: