diff --git a/boot b/boot
index 29643e483a17ae9c2dba903854b1fc712f10b730..f534c30d69c5622e8f10f22c8f13fed80a23b267 100755
--- a/boot
+++ b/boot
@@ -13,7 +13,6 @@ cwd = os.getcwd()
 
 parser = argparse.ArgumentParser()
 parser.add_argument('--validate', action='store_true', help='Run in validate mode')
-parser.add_argument('--required-tag', type=str, action='append', default=set())
 parser.add_argument('--hadrian', action='store_true', help='Do not assume the make base build system')
 args = parser.parse_args()
 
@@ -65,16 +64,16 @@ def check_boot_packages():
         if l.startswith('#'):
             continue
 
-        parts = l.split(' ')
+        parts = [part for part in l.split(' ') if part]
         if len(parts) != 4:
             die("Error: Bad line in packages file: " + l)
 
         dir_ = parts[0]
         tag = parts[1]
 
-        # If $tag is not "-" then it is an optional repository, so its
+        # If tag is not "-" then it is an optional repository, so its
         # absence isn't an error.
-        if tag in args.required_tag:
+        if tag == '-':
             # We would like to just check for a .git directory here,
             # but in an lndir tree we avoid making .git directories,
             # so it doesn't exist. We therefore require that every repo
@@ -82,9 +81,9 @@ def check_boot_packages():
             license_path = os.path.join(dir_, 'LICENSE')
             if not os.path.isfile(license_path):
                 die("""\
-                    Error: %s doesn't exist" % license_path)
+                    Error: %s doesn't exist
                     Maybe you haven't run 'git submodule update --init'?
-                    """)
+                    """ % license_path)
 
 # Create libraries/*/{ghc.mk,GNUmakefile}
 def boot_pkgs():
@@ -191,6 +190,7 @@ def check_build_mk():
             """))
 
 check_for_url_rewrites()
+check_boot_packages()
 if not args.hadrian:
     boot_pkgs()
 autoreconf()
diff --git a/validate b/validate
index 2f82b2800bc5aa77a6f7f50f758a6232ea058d0e..8ceaa6105d612bbd5819d456bd2c752b160f4a23 100755
--- a/validate
+++ b/validate
@@ -23,7 +23,6 @@ Flags:
   --slow            Build stage2 with -DDEBUG. Run tests for all WAYS,
                     but skip those that call compiler_stats_num_field.
                     2008-07-01: 14% slower than the default.
-  --dph             Also build libraries/dph and run associated tests.
   --quiet           More pretty build log.
                     See Note [Default build system verbosity].
   --help            shows this usage help.
@@ -50,7 +49,6 @@ testsuite_only=0
 build_only=0
 hpc=NO
 speed=NORMAL
-use_dph=0
 be_quiet=0
 # Validate uses gzip compression for the binary distribution to avoid the rather
 # heavy cost of xz, which is the typical default. The options are defined in
@@ -81,12 +79,6 @@ do
     --normal) # for backward compat
         speed=NORMAL
         ;;
-    --no-dph) # for backward compat
-        use_dph=0
-        ;;
-    --dph)
-        use_dph=1
-        ;;
     --quiet)
         be_quiet=1
         ;;
@@ -158,11 +150,7 @@ if [ $no_clean -eq 0 ]; then
 
     INSTDIR="$thisdir/inst"
 
-    if [ $use_dph -eq 1 ]; then
-        python3 ./boot --validate --required-tag=dph
-    else
-        python3 ./boot --validate
-    fi
+    python3 ./boot --validate
     ./configure --prefix="$INSTDIR" $config_args
 fi