diff --git a/lib/spack/spack/cmd/build.py b/lib/spack/spack/cmd/build.py
deleted file mode 100644
index a56c37fdd42af856a8f91b86836cbfacb498fba1..0000000000000000000000000000000000000000
--- a/lib/spack/spack/cmd/build.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-import spack.cmd.configure as cfg
-import llnl.util.tty as tty
-
-from spack.build_systems.autotools import AutotoolsPackage
-from spack.build_systems.cmake import CMakePackage
-from spack.build_systems.qmake import QMakePackage
-from spack.build_systems.scons import SConsPackage
-from spack.build_systems.waf import WafPackage
-from spack.build_systems.python import PythonPackage
-from spack.build_systems.perl import PerlPackage
-from spack.build_systems.meson import MesonPackage
-from spack.build_systems.sip import SIPPackage
-
-description = 'DEPRECATED: stops at build stage when installing a package'
-section = "build"
-level = "long"
-
-
-build_system_to_phase = {
-    AutotoolsPackage: 'build',
-    CMakePackage: 'build',
-    QMakePackage: 'build',
-    SConsPackage: 'build',
-    WafPackage: 'build',
-    PythonPackage: 'build',
-    PerlPackage: 'build',
-    MesonPackage: 'build',
-    SIPPackage: 'build',
-}
-
-
-def setup_parser(subparser):
-    cfg.setup_parser(subparser)
-
-
-def build(parser, args):
-    tty.warn("This command is deprecated. Use `spack install --until` to"
-             " select an end phase instead. The `spack build` command will be"
-             " removed in a future version of Spack")
-    cfg._stop_at_phase_during_install(args, build, build_system_to_phase)
diff --git a/lib/spack/spack/cmd/configure.py b/lib/spack/spack/cmd/configure.py
deleted file mode 100644
index 3df3c874136cd7ff99b326f8b26df3d2ba9ce718..0000000000000000000000000000000000000000
--- a/lib/spack/spack/cmd/configure.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-import argparse
-
-import llnl.util.tty as tty
-import spack.cmd
-import spack.cmd.common.arguments as arguments
-import spack.cmd.install as inst
-
-from spack.build_systems.autotools import AutotoolsPackage
-from spack.build_systems.cmake import CMakePackage
-from spack.build_systems.qmake import QMakePackage
-from spack.build_systems.waf import WafPackage
-from spack.build_systems.perl import PerlPackage
-from spack.build_systems.intel import IntelPackage
-from spack.build_systems.meson import MesonPackage
-from spack.build_systems.sip import SIPPackage
-
-description = 'DEPRECATED: stage and configure a package but do not install'
-section = "build"
-level = "long"
-
-
-build_system_to_phase = {
-    AutotoolsPackage: 'configure',
-    CMakePackage: 'cmake',
-    QMakePackage: 'qmake',
-    WafPackage: 'configure',
-    PerlPackage: 'configure',
-    IntelPackage: 'configure',
-    MesonPackage: 'meson',
-    SIPPackage: 'configure',
-}
-
-
-def setup_parser(subparser):
-    subparser.add_argument(
-        '-v', '--verbose',
-        action='store_true',
-        help="print additional output during builds"
-    )
-    arguments.add_common_arguments(subparser, ['spec'])
-
-
-def _stop_at_phase_during_install(args, calling_fn, phase_mapping):
-    if not args.package:
-        tty.die("configure requires at least one package argument")
-
-    # TODO: to be refactored with code in install
-    specs = spack.cmd.parse_specs(args.package, concretize=True)
-    if len(specs) != 1:
-        tty.error('only one spec can be installed at a time.')
-    spec = specs.pop()
-    pkg = spec.package
-    try:
-        key = [cls for cls in phase_mapping if isinstance(pkg, cls)].pop()
-        phase = phase_mapping[key]
-        # Install package dependencies if needed
-        parser = argparse.ArgumentParser()
-        inst.setup_parser(parser)
-        tty.msg('Checking dependencies for {0}'.format(args.spec[0]))
-        cli_args = ['-v'] if args.verbose else []
-        install_args = parser.parse_args(cli_args + ['--only=dependencies'])
-        install_args.spec = args.spec
-        inst.install(parser, install_args)
-        # Install package and stop at the given phase
-        cli_args = ['-v'] if args.verbose else []
-        install_args = parser.parse_args(cli_args + ['--only=package'])
-        install_args.spec = args.spec
-        inst.install(parser, install_args, stop_at=phase)
-    except IndexError:
-        tty.error(
-            'Package {0} has no {1} phase, or its {1} phase is not separated from install'.format(  # NOQA: ignore=E501
-                spec.name, calling_fn.__name__)
-        )
-
-
-def configure(parser, args):
-    tty.warn("This command is deprecated. Use `spack install --until` to"
-             " select an end phase instead. The `spack configure` command will"
-             " be removed in a future version of Spack.")
-    _stop_at_phase_during_install(args, configure, build_system_to_phase)
diff --git a/lib/spack/spack/cmd/diy.py b/lib/spack/spack/cmd/diy.py
deleted file mode 100644
index 186745d80c086a6e1a36479b5eac867f45c6a626..0000000000000000000000000000000000000000
--- a/lib/spack/spack/cmd/diy.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-import spack.cmd.dev_build
-import llnl.util.tty as tty
-
-description = "DEPRECATED: do-it-yourself: build from local source directory"
-section = "build"
-level = "long"
-
-
-def setup_parser(subparser):
-    spack.cmd.dev_build.setup_parser(subparser)
-
-
-def diy(self, args):
-    tty.warn("`spack diy` has been renamed to `spack dev-build`."
-             "The `diy` command will be removed in a future version of Spack")
-    spack.cmd.dev_build.dev_build(self, args)
diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash
index 0b10802b6f9a3fbf2e4df203fa3b4712e255bd27..830958fe42775dd1293cb0053fbe474f260b4fbe 100755
--- a/share/spack/spack-completion.bash
+++ b/share/spack/spack-completion.bash
@@ -320,7 +320,7 @@ _spack() {
     then
         SPACK_COMPREPLY="-h --help -H --all-help --color -C --config-scope -d --debug --timestamp --pdb -e --env -D --env-dir -E --no-env --use-env-repo -k --insecure -l --enable-locks -L --disable-locks -m --mock -p --profile --sorted-profile --lines -v --verbose --stacktrace -V --version --print-shell-vars"
     else
-        SPACK_COMPREPLY="activate add arch blame build build-env buildcache cd checksum ci clean clone commands compiler compilers concretize config configure containerize create deactivate debug dependencies dependents deprecate dev-build diy docs edit env extensions external fetch find flake8 gc gpg graph help info install license list load location log-parse maintainers mirror module patch pkg providers pydoc python reindex remove rm repo resource restage setup spec stage test uninstall unload url verify versions view"
+        SPACK_COMPREPLY="activate add arch blame build-env buildcache cd checksum ci clean clone commands compiler compilers concretize config containerize create deactivate debug dependencies dependents deprecate dev-build docs edit env extensions external fetch find flake8 gc gpg graph help info install license list load location log-parse maintainers mirror module patch pkg providers pydoc python reindex remove rm repo resource restage setup spec stage test uninstall unload url verify versions view"
     fi
 }
 
@@ -355,15 +355,6 @@ _spack_blame() {
     fi
 }
 
-_spack_build() {
-    if $list_options
-    then
-        SPACK_COMPREPLY="-h --help -v --verbose"
-    else
-        _all_packages
-    fi
-}
-
 _spack_build_env() {
     if $list_options
     then
@@ -641,15 +632,6 @@ _spack_config_rm() {
     fi
 }
 
-_spack_configure() {
-    if $list_options
-    then
-        SPACK_COMPREPLY="-h --help -v --verbose"
-    else
-        _all_packages
-    fi
-}
-
 _spack_containerize() {
     SPACK_COMPREPLY="-h --help"
 }
@@ -725,15 +707,6 @@ _spack_dev_build() {
     fi
 }
 
-_spack_diy() {
-    if $list_options
-    then
-        SPACK_COMPREPLY="-h --help -j --jobs -d --source-path -i --ignore-dependencies -n --no-checksum --keep-prefix --skip-patch -q --quiet --drop-in -b --before -u --until --clean --dirty"
-    else
-        _all_packages
-    fi
-}
-
 _spack_docs() {
     SPACK_COMPREPLY="-h --help"
 }