Merge "v.io/jiri: remove support for old style profiles"
diff --git a/jiri-api/api.go b/jiri-api/api.go
index 31b4687..4e1a4fb 100644
--- a/jiri-api/api.go
+++ b/jiri-api/api.go
@@ -42,7 +42,7 @@
 func init() {
 	cmdAPICheck.Flags.BoolVar(&detailedOutputFlag, "detailed", true, "If true, shows each API change in an expanded form. Otherwise, only a summary is shown.")
 	cmdAPI.Flags.StringVar(&gotoolsBinPathFlag, "gotools-bin", "", "The path to the gotools binary to use. If empty, gotools will be built if necessary.")
-	profilescmdline.RegisterReaderFlags(&cmdAPI.Flags, &readerFlags, jiri.DefaultProfilesDBPath())
+	profilescmdline.RegisterReaderFlags(&cmdAPI.Flags, &readerFlags, jiri.ProfilesDBDir)
 	tool.InitializeProjectFlags(&cmdAPI.Flags)
 	tool.InitializeRunFlags(&cmdAPI.Flags)
 }
diff --git a/jiri-api/doc.go b/jiri-api/doc.go
index 783c98c..1007005 100644
--- a/jiri-api/doc.go
+++ b/jiri-api/doc.go
@@ -29,9 +29,9 @@
    Name of the project manifest.
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -72,9 +72,9 @@
    Name of the project manifest.
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -105,9 +105,9 @@
    Name of the project manifest.
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
diff --git a/jiri-dockergo/doc.go b/jiri-dockergo/doc.go
index d3fee5a..8a88f3e 100644
--- a/jiri-dockergo/doc.go
+++ b/jiri-dockergo/doc.go
@@ -49,9 +49,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
diff --git a/jiri-dockergo/go.go b/jiri-dockergo/go.go
index ec5458e..96d4203 100644
--- a/jiri-dockergo/go.go
+++ b/jiri-dockergo/go.go
@@ -75,7 +75,7 @@
 
 func init() {
 	tool.InitializeRunFlags(&cmd.Flags)
-	profilescmdline.RegisterReaderFlags(&cmd.Flags, &readerFlags, jiri.DefaultProfilesDBPath())
+	profilescmdline.RegisterReaderFlags(&cmd.Flags, &readerFlags, jiri.ProfilesDBDir)
 	flag.StringVar(&imageFlag, "image", "", "Name of the docker image to use. If empty, the tool will automatically select an image based on the environment variables, possibly edited by the profile")
 	flag.StringVar(&extraLDFlags, "extra-ldflags", "", golib.ExtraLDFlagsFlagDescription)
 }
diff --git a/jiri-go/doc.go b/jiri-go/doc.go
index c99e72c..887ec39 100644
--- a/jiri-go/doc.go
+++ b/jiri-go/doc.go
@@ -23,9 +23,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
diff --git a/jiri-go/go.go b/jiri-go/go.go
index 55e37c5..d207461 100644
--- a/jiri-go/go.go
+++ b/jiri-go/go.go
@@ -46,7 +46,7 @@
 )
 
 func init() {
-	profilescmdline.RegisterReaderFlags(&cmdGo.Flags, &readerFlags, jiri.DefaultProfilesDBPath())
+	profilescmdline.RegisterReaderFlags(&cmdGo.Flags, &readerFlags, jiri.ProfilesDBDir)
 	flag.BoolVar(&systemGoFlag, "system-go", false, "use the version of go found in $PATH rather than that built by the go profile")
 	flag.StringVar(&extraLDFlags, "extra-ldflags", "", golib.ExtraLDFlagsFlagDescription)
 	flag.BoolVar(&envFlag, "print-run-env", false, "print detailed info on environment variables and the command line used")
diff --git a/jiri-goext/doc.go b/jiri-goext/doc.go
index ac6f273..8bafa9f 100644
--- a/jiri-goext/doc.go
+++ b/jiri-goext/doc.go
@@ -22,9 +22,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -59,9 +59,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
diff --git a/jiri-goext/goext.go b/jiri-goext/goext.go
index 1ebb54a..8e5a769 100644
--- a/jiri-goext/goext.go
+++ b/jiri-goext/goext.go
@@ -26,7 +26,7 @@
 )
 
 func init() {
-	profilescmdline.RegisterReaderFlags(&cmdGoExt.Flags, &readerFlags, jiri.DefaultProfilesDBPath())
+	profilescmdline.RegisterReaderFlags(&cmdGoExt.Flags, &readerFlags, jiri.ProfilesDBDir)
 	flag.BoolVar(&envFlag, "print-run-env", false, "print detailed info on environment variables and the command line used")
 	tool.InitializeRunFlags(&cmdGoExt.Flags)
 }
diff --git a/jiri-run/doc.go b/jiri-run/doc.go
index 6b4382e..d03219a 100644
--- a/jiri-run/doc.go
+++ b/jiri-run/doc.go
@@ -21,9 +21,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
diff --git a/jiri-run/run.go b/jiri-run/run.go
index 03b71e4..353efbb 100644
--- a/jiri-run/run.go
+++ b/jiri-run/run.go
@@ -27,7 +27,7 @@
 
 func init() {
 	tool.InitializeRunFlags(&cmdRun.Flags)
-	profilescmdline.RegisterReaderFlags(&cmdRun.Flags, &readerFlags, jiri.DefaultProfilesDBPath())
+	profilescmdline.RegisterReaderFlags(&cmdRun.Flags, &readerFlags, jiri.ProfilesDBDir)
 	flag.BoolVar(&envFlag, "print-run-env", false, "print detailed info on environment variables and the command line used")
 }
 
diff --git a/jiri-test/doc.go b/jiri-test/doc.go
index ee6cda6..129c9ed 100644
--- a/jiri-test/doc.go
+++ b/jiri-test/doc.go
@@ -24,9 +24,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -60,9 +60,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -113,9 +113,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -138,9 +138,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
diff --git a/jiri-test/internal/test/common.go b/jiri-test/internal/test/common.go
index 13ad764..4daf061 100644
--- a/jiri-test/internal/test/common.go
+++ b/jiri-test/internal/test/common.go
@@ -19,7 +19,7 @@
 var (
 	// The name of the profile database file to use. It is intended
 	// to be set via a command line flag.
-	ProfilesDBFilename = jiri.DefaultProfilesDBPath()
+	ProfilesDBFilename = jiri.ProfilesDBDir
 
 	// cleanGo is used to control whether the initTest function removes
 	// all stale Go object files and binaries. It is used to prevent the
diff --git a/jiri-test/test.go b/jiri-test/test.go
index 3de63f7..8ab0bb1 100644
--- a/jiri-test/test.go
+++ b/jiri-test/test.go
@@ -48,7 +48,7 @@
 	cmdTestRun.Flags.StringVar(&mockTestFilePaths, "mock-file-paths", "", "Colon-separated file paths to read when testing presubmit test. This flag is only used when running presubmit end-to-end test.")
 	cmdTestRun.Flags.StringVar(&mockTestFileContents, "mock-file-contents", "", "Colon-separated file contents to check when testing presubmit test. This flag is only used when running presubmit end-to-end test.")
 	tool.InitializeRunFlags(&cmdTest.Flags)
-	profilescmdline.RegisterReaderFlags(&cmdTest.Flags, &readerFlags, jiri.DefaultProfilesDBPath())
+	profilescmdline.RegisterReaderFlags(&cmdTest.Flags, &readerFlags, jiri.ProfilesDBDir)
 }
 
 // cmdTest represents the "jiri test" command.
diff --git a/jiri-v23-profile/.api b/jiri-v23-profile/.api
deleted file mode 100644
index ad99453..0000000
--- a/jiri-v23-profile/.api
+++ /dev/null
@@ -1 +0,0 @@
-pkg main, const DefaultDBFilename ideal-string
diff --git a/jiri-v23-profile/doc.go b/jiri-v23-profile/doc.go
deleted file mode 100644
index 99fef76..0000000
--- a/jiri-v23-profile/doc.go
+++ /dev/null
@@ -1,334 +0,0 @@
-// Copyright 2015 The Vanadium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// This file was auto-generated via go generate.
-// DO NOT UPDATE MANUALLY
-
-/*
-Profiles are used to manage external sofware dependencies and offer a balance
-between providing no support at all and a full blown package manager. Profiles
-can be built natively as well as being cross compiled. A profile is a named
-collection of software required for a given system component or application.
-Current example profiles include 'syncbase' which consists of the leveldb and
-snappy libraries or 'android' which consists of all of the android components
-and downloads needed to build android applications. Profiles are built for
-specific targets.
-
-Targets
-
-Profiles generally refer to uncompiled source code that needs to be compiled for
-a specific "target". Targets hence represent compiled code and consist of:
-
-1. An 'architecture' that refers to the CPU to be generate code for
-
-2. An 'operating system' that refers to the operating system to generate code
-for
-
-3. A lexicographically orderd set of supported versions, one of which is
-designated as the default.
-
-4. An 'environment' which is a set of environment variables to use when
-compiling the profile
-
-Targets thus provide the basic support needed for cross compilation.
-
-Targets are versioned and multiple versions may be installed and used
-simultaneously. Versions are ordered lexicographically and each target specifies
-a 'default' version to be used when a specific version is not explicitly
-requested. A request to 'upgrade' the profile will result in the installation of
-the default version of the targets currently installed if that default version
-is not already installed.
-
-The Supported Commands
-
-Profiles, or more correctly, targets for specific profiles may be installed or
-removed. When doing so, the name of the profile is required, but the other
-components of the target are optional and will default to the values of the
-system that the commands are run on (so-called native builds) and the default
-version for that target. Once a profile is installed it may be referred to by
-its tag for subsequent removals.
-
-The are also update and cleanup commands. Update installs the default version of
-the requested profile or for all profiles for the already installed targets.
-Cleanup will uninstall targets whose version is older than the default.
-
-Finally, there are commands to list the available and installed profiles and to
-access the environment variables specified and stored in each profile
-installation and a command (recreate) to generate a list of commands that can be
-run to recreate the currently installed profiles.
-
-The Profiles Database
-
-The profiles packages manages a database that tracks the installed profiles and
-their configurations. Other command line tools and packages are expected to read
-information about the currently installed profiles from this database via the
-profiles package. The profile command line tools support displaying the database
-(via the list command) or for specifying an alternate version of the file (via
-the -profiles-db flag) which is generally useful for debugging.
-
-Adding Profiles
-
-Profiles are intended to be provided as go packages that register themselves
-with the profile command line tools via the *v.io/jiri/profiles* package. They
-must implement the interfaces defined by that package and be imported (e.g.
-import _ "myprofile") by the command line tools that are to use them.
-
-Usage:
-   jiri v23-profile [flags] <command>
-
-The jiri v23-profile commands are:
-   install     Install the given profiles
-   uninstall   Uninstall the given profiles
-   update      Install the latest default version of the given profiles
-   cleanup     Cleanup the locally installed profiles
-   available   List the available profiles
-   list        List available or installed profiles
-   env         Display profile environment variables
-   help        Display help for commands or topics
-
-The jiri v23-profile flags are:
- -color=true
-   Use color to format output.
- -v=false
-   Print verbose output.
-
-The global flags are:
- -metadata=<just specify -metadata to activate>
-   Displays metadata for the program and exits.
- -time=false
-   Dump timing information to stderr before exiting the program.
-
-Jiri v23-profile install - Install the given profiles
-
-Install the given profiles.
-
-Usage:
-   jiri v23-profile install [flags] <profiles>
-
-<profiles> is a list of profiles to install.
-
-The jiri v23-profile install flags are:
- -env=
-   specify an environment variable in the form: <var>=[<val>],...
- -force=false
-   force install the profile even if it is already installed
- -go.sysroot-image=
-   sysroot image for cross compiling to the currently specified target
- -go.sysroot-image-dirs-to-use=/lib:/usr/lib:/usr/include
-   a colon separated list of directories to use from the sysroot image
- -mojodev.dir=
-   Path of mojo repo checkout.
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
-
- -color=true
-   Use color to format output.
- -v=false
-   Print verbose output.
-
-Jiri v23-profile uninstall - Uninstall the given profiles
-
-Uninstall the given profiles.
-
-Usage:
-   jiri v23-profile uninstall [flags] <profiles>
-
-<profiles> is a list of profiles to uninstall.
-
-The jiri v23-profile uninstall flags are:
- -all-targets=false
-   apply to all targets for the specified profile(s)
- -go.sysroot-image=
-   sysroot image for cross compiling to the currently specified target
- -go.sysroot-image-dirs-to-use=/lib:/usr/lib:/usr/include
-   a colon separated list of directories to use from the sysroot image
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile update - Install the latest default version of the given profiles
-
-Install the latest default version of the given profiles.
-
-Usage:
-   jiri v23-profile update [flags] <profiles>
-
-<profiles> is a list of profiles to update, if omitted all profiles are updated.
-
-The jiri v23-profile update flags are:
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile cleanup - Cleanup the locally installed profiles
-
-Cleanup the locally installed profiles. This is generally required when
-recovering from earlier bugs or when preparing for a subsequent change to the
-profiles implementation.
-
-Usage:
-   jiri v23-profile cleanup [flags] <profiles>
-
-<profiles> is a list of profiles to cleanup, if omitted all profiles are
-cleaned.
-
-The jiri v23-profile cleanup flags are:
- -gc=false
-   uninstall profile targets that are older than the current default
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -rewrite-profiles-db=false
-   rewrite the profiles database to use the latest schema version
- -rm-all=false
-   remove profiles database and all profile generated output files.
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile available - List the available profiles
-
-List the available profiles.
-
-Usage:
-   jiri v23-profile available [flags]
-
-The jiri v23-profile available flags are:
- -describe=false
-   print the profile description
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile list - List available or installed profiles
-
-List available or installed profiles.
-
-Usage:
-   jiri v23-profile list [flags] [<profiles>]
-
-<profiles> is a list of profiles to list, defaulting to all profiles if none are
-specifically requested. List can also be used to test for the presence of a
-specific target for the requested profiles. If the target is not installed, it
-will exit with an error.
-
-The jiri v23-profile list flags are:
- -env=
-   specify an environment variable in the form: <var>=[<val>],...
- -info=
-   The following fields for use with -info are available:
-   	SchemaVersion - the version of the profiles implementation.
-   	DBPath - the path for the profiles database.
-   	Target.InstallationDir - the installation directory of the requested profile.
-   	Target.CommandLineEnv - the environment variables specified via the command line when installing this profile target.
-   	Target.Env - the environment variables computed by the profile installation process for this target.
-   	Target.Command - a command that can be used to create this profile.
-   	Note: if no --target is specified then the requested field will be displayed for all targets.
-
-   	Profile.Root - the root directory of the requested profile.
-   	Profile.Name - the qualified name of the profile.
-   	Profile.Installer - the name of the profile installer.
-   	Profile.DBPath - the path to the database file for this profile.
-   	Note: if no profiles are specified then the requested field will be displayed for all profiles.
- -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
-   specify policies for merging environment variables
- -profiles=base,jiri
-   a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -skip-profiles=false
-   if set, no profiles will be used
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile env - Display profile environment variables
-
-List profile specific and target specific environment variables. If the
-requested environment variable name ends in = then only the value will be
-printed, otherwise both name and value are printed, i.e. GOPATH="foo" vs just
-"foo".
-
-If no environment variable names are requested then all will be printed in
-<name>=<val> format.
-
-Usage:
-   jiri v23-profile env [flags] [<environment variable names>]
-
-[<environment variable names>] is an optional list of environment variables to
-display
-
-The jiri v23-profile env flags are:
- -env=
-   specify an environment variable in the form: <var>=[<val>],...
- -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
-   specify policies for merging environment variables
- -profiles=base,jiri
-   a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -skip-profiles=false
-   if set, no profiles will be used
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile help - Display help for commands or topics
-
-Help with no args displays the usage of the parent command.
-
-Help with args displays the usage of the specified sub-command or help topic.
-
-"help ..." recursively displays help for all commands and topics.
-
-Usage:
-   jiri v23-profile help [flags] [command/topic ...]
-
-[command/topic ...] optionally identifies a specific sub-command or help topic.
-
-The jiri v23-profile help flags are:
- -style=compact
-   The formatting style for help output:
-      compact   - Good for compact cmdline output.
-      full      - Good for cmdline output, shows all global flags.
-      godoc     - Good for godoc processing.
-      shortonly - Only output short description.
-   Override the default by setting the CMDLINE_STYLE environment variable.
- -width=<terminal width>
-   Format output to this target width in runes, or unlimited if width < 0.
-   Defaults to the terminal width if available.  Override the default by setting
-   the CMDLINE_WIDTH environment variable.
-*/
-package main
diff --git a/jiri-v23-profile/profile.go b/jiri-v23-profile/profile.go
index 95d2ba9..557d24e 100644
--- a/jiri-v23-profile/profile.go
+++ b/jiri-v23-profile/profile.go
@@ -2,57 +2,10 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// The following enables go generate to generate the doc.go file.
-//go:generate go run $JIRI_ROOT/release/go/src/v.io/x/lib/cmdline/testdata/gendoc.go -env=CMDLINE_PREFIX=jiri .
-
 package main
 
-import (
-	"v.io/jiri/profiles/profilescmdline"
-	"v.io/jiri/tool"
-	"v.io/x/lib/cmdline"
-
-	// Add profile manager implementations here.
-	"v.io/x/devtools/jiri-profile-v23/android_profile"
-	"v.io/x/devtools/jiri-profile-v23/base_profile"
-	"v.io/x/devtools/jiri-profile-v23/dart_profile"
-	"v.io/x/devtools/jiri-profile-v23/go_profile"
-	"v.io/x/devtools/jiri-profile-v23/java_profile"
-	"v.io/x/devtools/jiri-profile-v23/mojo_dev_profile"
-	"v.io/x/devtools/jiri-profile-v23/mojo_profile"
-	"v.io/x/devtools/jiri-profile-v23/nacl_profile"
-	"v.io/x/devtools/jiri-profile-v23/nodejs_profile"
-	"v.io/x/devtools/jiri-profile-v23/syncbase_profile"
-	"v.io/x/devtools/jiri-profile-v23/terraform_profile"
-)
-
-// commandLineDriver implements the command line for the 'v23-profile'
-// subcommand.
-var commandLineDriver = &cmdline.Command{
-	Name:  "v23-profile",
-	Short: "Manage profiles",
-	Long:  profilescmdline.HelpMsg(),
-}
-
-// DefaultDBFilename is the default filename used for the profiles database
-// by the jiri-v23-profile subcommand.
-const DefaultDBFilename = ".jiri_v23_profiles"
+import "os"
 
 func main() {
-	android_profile.Register("", "android")
-	base_profile.Register("", "base")
-	dart_profile.Register("", "dart")
-	go_profile.Register("", "go")
-	java_profile.Register("", "java")
-	mojo_profile.Register("", "mojo")
-	mojo_dev_profile.Register("", "mojodev")
-	nacl_profile.Register("", "nacl")
-	nodejs_profile.Register("", "nodejs")
-	syncbase_profile.Register("", "syncbase")
-	terraform_profile.Register("", "terraform")
-
-	profilescmdline.RegisterManagementCommands(commandLineDriver, false, "", DefaultDBFilename, "profiles")
-	profilescmdline.RegisterReaderCommands(commandLineDriver, DefaultDBFilename)
-	tool.InitializeRunFlags(&commandLineDriver.Flags)
-	cmdline.Main(commandLineDriver)
+	os.Exit(1)
 }
diff --git a/jiridoc/doc.go b/jiridoc/doc.go
index 7a00825..4a41e53 100644
--- a/jiridoc/doc.go
+++ b/jiridoc/doc.go
@@ -35,7 +35,7 @@
                 environment
    swift        Compile the Swift framework
    test         Manage vanadium tests
-   v23-profile  Manage profiles
+   v23-profile  No description available
 
 The jiri additional help topics are:
    filesystem  Description of jiri file system layout
@@ -310,9 +310,9 @@
    	Note: if no profiles are specified then the requested field will be displayed for all profiles.
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -345,9 +345,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -373,7 +373,7 @@
    specify an environment variable in the form: <var>=[<val>],...
  -force=false
    force install the profile even if it is already installed
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -profiles-dir=.jiri_root/profiles
    the directory, relative to JIRI_ROOT, that profiles are installed in
@@ -397,7 +397,7 @@
 The jiri profile uninstall flags are:
  -all-targets=false
    apply to all targets for the specified profile(s)
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -profiles-dir=.jiri_root/profiles
    the directory, relative to JIRI_ROOT, that profiles are installed in
@@ -419,7 +419,7 @@
 <profiles> is a list of profiles to update, if omitted all profiles are updated.
 
 The jiri profile update flags are:
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -profiles-dir=.jiri_root/profiles
    the directory, relative to JIRI_ROOT, that profiles are installed in
@@ -444,7 +444,7 @@
 The jiri profile cleanup flags are:
  -gc=false
    uninstall profile targets that are older than the current default
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -profiles-dir=.jiri_root/profiles
    the directory, relative to JIRI_ROOT, that profiles are installed in
@@ -844,9 +844,9 @@
    Name of the project manifest.
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -881,9 +881,9 @@
    Name of the project manifest.
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -914,9 +914,9 @@
    Name of the project manifest.
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1031,9 +1031,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1061,9 +1061,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1089,9 +1089,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1119,9 +1119,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1391,9 +1391,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1491,9 +1491,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1521,9 +1521,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1574,9 +1574,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1599,9 +1599,9 @@
    specify an environment variable in the form: <var>=[<val>],...
  -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
    specify policies for merging environment variables
- -profiles=base,jiri
+ -profiles=v23:base,jiri
    a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
+ -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
    the path, relative to JIRI_ROOT, that contains the profiles database.
  -skip-profiles=false
    if set, no profiles will be used
@@ -1610,300 +1610,7 @@
  -v=false
    Print verbose output.
 
-Jiri v23-profile - Manage profiles
-
-Profiles are used to manage external sofware dependencies and offer a balance
-between providing no support at all and a full blown package manager. Profiles
-can be built natively as well as being cross compiled. A profile is a named
-collection of software required for a given system component or application.
-Current example profiles include 'syncbase' which consists of the leveldb and
-snappy libraries or 'android' which consists of all of the android components
-and downloads needed to build android applications. Profiles are built for
-specific targets.
-
-Targets
-
-Profiles generally refer to uncompiled source code that needs to be compiled for
-a specific "target". Targets hence represent compiled code and consist of:
-
-1. An 'architecture' that refers to the CPU to be generate code for
-
-2. An 'operating system' that refers to the operating system to generate code
-for
-
-3. A lexicographically orderd set of supported versions, one of which is
-designated as the default.
-
-4. An 'environment' which is a set of environment variables to use when
-compiling the profile
-
-Targets thus provide the basic support needed for cross compilation.
-
-Targets are versioned and multiple versions may be installed and used
-simultaneously. Versions are ordered lexicographically and each target specifies
-a 'default' version to be used when a specific version is not explicitly
-requested. A request to 'upgrade' the profile will result in the installation of
-the default version of the targets currently installed if that default version
-is not already installed.
-
-The Supported Commands
-
-Profiles, or more correctly, targets for specific profiles may be installed or
-removed. When doing so, the name of the profile is required, but the other
-components of the target are optional and will default to the values of the
-system that the commands are run on (so-called native builds) and the default
-version for that target. Once a profile is installed it may be referred to by
-its tag for subsequent removals.
-
-The are also update and cleanup commands. Update installs the default version of
-the requested profile or for all profiles for the already installed targets.
-Cleanup will uninstall targets whose version is older than the default.
-
-Finally, there are commands to list the available and installed profiles and to
-access the environment variables specified and stored in each profile
-installation and a command (recreate) to generate a list of commands that can be
-run to recreate the currently installed profiles.
-
-The Profiles Database
-
-The profiles packages manages a database that tracks the installed profiles and
-their configurations. Other command line tools and packages are expected to read
-information about the currently installed profiles from this database via the
-profiles package. The profile command line tools support displaying the database
-(via the list command) or for specifying an alternate version of the file (via
-the -profiles-db flag) which is generally useful for debugging.
-
-Adding Profiles
-
-Profiles are intended to be provided as go packages that register themselves
-with the profile command line tools via the *v.io/jiri/profiles* package. They
-must implement the interfaces defined by that package and be imported (e.g.
-import _ "myprofile") by the command line tools that are to use them.
-
-Usage:
-   jiri v23-profile [flags] <command>
-
-The jiri v23-profile commands are:
-   install     Install the given profiles
-   uninstall   Uninstall the given profiles
-   update      Install the latest default version of the given profiles
-   cleanup     Cleanup the locally installed profiles
-   available   List the available profiles
-   list        List available or installed profiles
-   env         Display profile environment variables
-
-The jiri v23-profile flags are:
- -color=true
-   Use color to format output.
- -v=false
-   Print verbose output.
-
-Jiri v23-profile install - Install the given profiles
-
-Install the given profiles.
-
-Usage:
-   jiri v23-profile install [flags] <profiles>
-
-<profiles> is a list of profiles to install.
-
-The jiri v23-profile install flags are:
- -env=
-   specify an environment variable in the form: <var>=[<val>],...
- -force=false
-   force install the profile even if it is already installed
- -go.sysroot-image=
-   sysroot image for cross compiling to the currently specified target
- -go.sysroot-image-dirs-to-use=/lib:/usr/lib:/usr/include
-   a colon separated list of directories to use from the sysroot image
- -mojodev.dir=
-   Path of mojo repo checkout.
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
-
- -color=true
-   Use color to format output.
- -v=false
-   Print verbose output.
-
-Jiri v23-profile uninstall - Uninstall the given profiles
-
-Uninstall the given profiles.
-
-Usage:
-   jiri v23-profile uninstall [flags] <profiles>
-
-<profiles> is a list of profiles to uninstall.
-
-The jiri v23-profile uninstall flags are:
- -all-targets=false
-   apply to all targets for the specified profile(s)
- -go.sysroot-image=
-   sysroot image for cross compiling to the currently specified target
- -go.sysroot-image-dirs-to-use=/lib:/usr/lib:/usr/include
-   a colon separated list of directories to use from the sysroot image
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile update - Install the latest default version of the given
-profiles
-
-Install the latest default version of the given profiles.
-
-Usage:
-   jiri v23-profile update [flags] <profiles>
-
-<profiles> is a list of profiles to update, if omitted all profiles are updated.
-
-The jiri v23-profile update flags are:
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile cleanup - Cleanup the locally installed profiles
-
-Cleanup the locally installed profiles. This is generally required when
-recovering from earlier bugs or when preparing for a subsequent change to the
-profiles implementation.
-
-Usage:
-   jiri v23-profile cleanup [flags] <profiles>
-
-<profiles> is a list of profiles to cleanup, if omitted all profiles are
-cleaned.
-
-The jiri v23-profile cleanup flags are:
- -gc=false
-   uninstall profile targets that are older than the current default
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -profiles-dir=profiles
-   the directory, relative to JIRI_ROOT, that profiles are installed in
- -rewrite-profiles-db=false
-   rewrite the profiles database to use the latest schema version
- -rm-all=false
-   remove profiles database and all profile generated output files.
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile available - List the available profiles
-
-List the available profiles.
-
-Usage:
-   jiri v23-profile available [flags]
-
-The jiri v23-profile available flags are:
- -describe=false
-   print the profile description
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile list - List available or installed profiles
-
-List available or installed profiles.
-
-Usage:
-   jiri v23-profile list [flags] [<profiles>]
-
-<profiles> is a list of profiles to list, defaulting to all profiles if none are
-specifically requested. List can also be used to test for the presence of a
-specific target for the requested profiles. If the target is not installed, it
-will exit with an error.
-
-The jiri v23-profile list flags are:
- -env=
-   specify an environment variable in the form: <var>=[<val>],...
- -info=
-   The following fields for use with -info are available:
-   	SchemaVersion - the version of the profiles implementation.
-   	DBPath - the path for the profiles database.
-   	Target.InstallationDir - the installation directory of the requested profile.
-   	Target.CommandLineEnv - the environment variables specified via the command line when installing this profile target.
-   	Target.Env - the environment variables computed by the profile installation process for this target.
-   	Target.Command - a command that can be used to create this profile.
-   	Note: if no --target is specified then the requested field will be displayed for all targets.
-
-   	Profile.Root - the root directory of the requested profile.
-   	Profile.Name - the qualified name of the profile.
-   	Profile.Installer - the name of the profile installer.
-   	Profile.DBPath - the path to the database file for this profile.
-   	Note: if no profiles are specified then the requested field will be displayed for all profiles.
- -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
-   specify policies for merging environment variables
- -profiles=base,jiri
-   a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -skip-profiles=false
-   if set, no profiles will be used
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
-
-Jiri v23-profile env - Display profile environment variables
-
-List profile specific and target specific environment variables. If the
-requested environment variable name ends in = then only the value will be
-printed, otherwise both name and value are printed, i.e. GOPATH="foo" vs just
-"foo".
-
-If no environment variable names are requested then all will be printed in
-<name>=<val> format.
-
-Usage:
-   jiri v23-profile env [flags] [<environment variable names>]
-
-[<environment variable names>] is an optional list of environment variables to
-display
-
-The jiri v23-profile env flags are:
- -env=
-   specify an environment variable in the form: <var>=[<val>],...
- -merge-policies=+CCFLAGS,+CGO_CFLAGS,+CGO_CXXFLAGS,+CGO_LDFLAGS,+CXXFLAGS,GOARCH,GOOS,GOPATH:,^GOROOT*,+LDFLAGS,:PATH,VDLPATH:
-   specify policies for merging environment variables
- -profiles=base,jiri
-   a comma separated list of profiles to use
- -profiles-db=$JIRI_ROOT/.jiri_v23_profiles
-   the path, relative to JIRI_ROOT, that contains the profiles database.
- -skip-profiles=false
-   if set, no profiles will be used
- -target=<runtime.GOARCH>-<runtime.GOOS>
-   specifies a profile target in the following form: <arch>-<os>[@<version>]
- -v=false
-   print more detailed information
-
- -color=true
-   Use color to format output.
+Jiri v23-profile - No description available
 
 Jiri filesystem - Description of jiri file system layout