Code

check MANIFEST against the files actually unpacked
authorrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Fri, 16 Apr 2004 10:43:51 +0000 (10:43 +0000)
committerrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Fri, 16 Apr 2004 10:43:51 +0000 (10:43 +0000)
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@2283 57a73879-2fb5-44c3-a270-3262357dd7e2

CHANGES.txt
run_tests.py
setup.py

index 377ed7e2c6b8b895571b1812b4f33cfc7038cb49..262529cd856314a4934ee836035fccbb525c2dad 100644 (file)
@@ -12,6 +12,7 @@ Feature:
 - added another sample detector "creator_resolution"
 - added search_checkboxes as an option for the search form
 - added IMAP support to mail gateway (sf rfe 934000)
+- check MANIFEST against the files actually unpacked
 
 Fixed:
 - mysql and postgresql schema mutation now handle added Multilinks
index 70311a2d23829e5d51293ec585894548f88dded7..2cb85a6ddb69b18fb59cad2359c67d750182af6b 100644 (file)
@@ -622,6 +622,9 @@ def main(module_filter, test_filter, libdir):
     # Hmm...
     logini = os.path.abspath("log.ini")
 
+    from setup import check_manifest
+    check_manifest()
+
     # Initialize the path and cwd
     global pathinit
     pathinit = PathInit(build, build_inplace, libdir)
index aac46c35acabadc0be241dbd2f29c077a702c30c..f5e654adb16319958f249e875d0136c2048705ca 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -16,7 +16,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: setup.py,v 1.59 2004-03-24 05:56:06 richard Exp $
+# $Id: setup.py,v 1.60 2004-04-16 10:43:51 richard Exp $
 
 from distutils.core import setup, Extension
 from distutils.util import get_platform
@@ -128,6 +128,25 @@ def scriptname(path):
         script = script + ".bat"
     return script
 
+def check_manifest():
+    """Check that the files listed in the MANIFEST are present when the
+    source is unpacked.
+    """
+    try:
+        f = open('MANIFEST')
+    except:
+        print '\n*** SOURCE ERROR: The MANIFEST file is missing!'
+        sys.exit(1)
+    try:
+        manifest = [l.strip() for l in f.readlines()]
+    finally:
+        f.close()
+    err = [line for line in manifest if not os.path.exists(line)]
+    if err:
+        n = len(manifest)
+        print '\n*** SOURCE ERROR: There are files missing (%d/%d found)!'%(
+            n-len(err), n)
+        sys.exit(1)
 
 
 #############################################################################