v.io/jiri@v0.0.0-20160715023856-abfb8b131290/profiles/profilescmdline/internal/i2/doc.go (about)

     1  // Copyright 2015 The Vanadium Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // This file was auto-generated via go generate.
     6  // DO NOT UPDATE MANUALLY
     7  
     8  /*
     9  Profiles are used to manage external sofware dependencies and offer a balance
    10  between providing no support at all and a full blown package manager. Profiles
    11  can be built natively as well as being cross compiled. A profile is a named
    12  collection of software required for a given system component or application.
    13  Current example profiles include 'syncbase' which consists of the leveldb and
    14  snappy libraries or 'android' which consists of all of the android components
    15  and downloads needed to build android applications. Profiles are built for
    16  specific targets.
    17  
    18  Targets
    19  
    20  Profiles generally refer to uncompiled source code that needs to be compiled for
    21  a specific "target". Targets hence represent compiled code and consist of:
    22  
    23  1. An 'architecture' that refers to the CPU to be generate code for
    24  
    25  2. An 'operating system' that refers to the operating system to generate code
    26  for
    27  
    28  3. A lexicographically orderd set of supported versions, one of which is
    29  designated as the default.
    30  
    31  4. An 'environment' which is a set of environment variables to use when
    32  compiling the profile
    33  
    34  Targets thus provide the basic support needed for cross compilation.
    35  
    36  Targets are versioned and multiple versions may be installed and used
    37  simultaneously. Versions are ordered lexicographically and each target specifies
    38  a 'default' version to be used when a specific version is not explicitly
    39  requested. A request to 'upgrade' the profile will result in the installation of
    40  the default version of the targets currently installed if that default version
    41  is not already installed.
    42  
    43  The Supported Commands
    44  
    45  Profiles, or more correctly, targets for specific profiles may be installed or
    46  removed. When doing so, the name of the profile is required, but the other
    47  components of the target are optional and will default to the values of the
    48  system that the commands are run on (so-called native builds) and the default
    49  version for that target. Once a profile is installed it may be referred to by
    50  its tag for subsequent removals.
    51  
    52  The are also update and cleanup commands. Update installs the default version of
    53  the requested profile or for all profiles for the already installed targets.
    54  Cleanup will uninstall targets whose version is older than the default.
    55  
    56  Finally, there are commands to list the available and installed profiles and to
    57  access the environment variables specified and stored in each profile
    58  installation and a command (recreate) to generate a list of commands that can be
    59  run to recreate the currently installed profiles.
    60  
    61  The Profiles Database
    62  
    63  The profiles packages manages a database that tracks the installed profiles and
    64  their configurations. Other command line tools and packages are expected to read
    65  information about the currently installed profiles from this database via the
    66  profiles package. The profile command line tools support displaying the database
    67  (via the list command) or for specifying an alternate version of the file (via
    68  the -profiles-db flag) which is generally useful for debugging.
    69  
    70  Adding Profiles
    71  
    72  Profiles are intended to be provided as go packages that register themselves
    73  with the profile command line tools via the *v.io/jiri/profiles* package. They
    74  must implement the interfaces defined by that package and be imported (e.g.
    75  import _ "myprofile") by the command line tools that are to use them.
    76  
    77  Usage:
    78     jiri profile-i2 [flags] <command>
    79  
    80  The jiri profile-i2 commands are:
    81     install     Install the given profiles
    82     os-packages List the commands to install the OS packages required by the
    83                 given profiles
    84     uninstall   Uninstall the given profiles
    85     update      Install the latest default version of the given profiles
    86     cleanup     Cleanup the locally installed profiles
    87     available   List the available profiles
    88     help        Display help for commands or topics
    89  
    90  The jiri profile-i2 flags are:
    91   -color=true
    92     Use color to format output.
    93   -v=false
    94     Print verbose output.
    95  
    96  The global flags are:
    97   -metadata=<just specify -metadata to activate>
    98     Displays metadata for the program and exits.
    99   -time=false
   100     Dump timing information to stderr before exiting the program.
   101  
   102  Jiri profile-i2 install - Install the given profiles
   103  
   104  Install the given profiles.
   105  
   106  Usage:
   107     jiri profile-i2 install [flags] <profiles>
   108  
   109  <profiles> is a list of profiles to install.
   110  
   111  The jiri profile-i2 install flags are:
   112   -env=
   113     specify an environment variable in the form: <var>=[<val>],...
   114   -force=false
   115     force install the profile even if it is already installed
   116   -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
   117     the path, relative to JIRI_ROOT, that contains the profiles database.
   118   -profiles-dir=.jiri_root/profiles
   119     the directory, relative to JIRI_ROOT, that profiles are installed in
   120   -target=<runtime.GOARCH>-<runtime.GOOS>
   121     specifies a profile target in the following form: <arch>-<os>[@<version>]
   122  
   123   -color=true
   124     Use color to format output.
   125   -v=false
   126     Print verbose output.
   127  
   128  Jiri profile-i2 os-packages - List the commands to install the OS packages required by the given profiles
   129  
   130  List or optionally run the commands to install the OS packages required by the
   131  given profiles.
   132  
   133  Usage:
   134     jiri profile-i2 os-packages [flags] <profiles>
   135  
   136  <profiles> is a list of profiles to list OS packages for.
   137  
   138  The jiri profile-i2 os-packages flags are:
   139   -all=false
   140     print commands to install all required OS packages, not just those that are
   141     missing
   142   -env=
   143     specify an environment variable in the form: <var>=[<val>],...
   144   -install=false
   145     install the requested packages. This may need to be run as root.
   146   -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
   147     the path, relative to JIRI_ROOT, that contains the profiles database.
   148   -profiles-dir=.jiri_root/profiles
   149     the directory, relative to JIRI_ROOT, that profiles are installed in
   150   -target=<runtime.GOARCH>-<runtime.GOOS>
   151     specifies a profile target in the following form: <arch>-<os>[@<version>]
   152  
   153   -color=true
   154     Use color to format output.
   155   -v=false
   156     Print verbose output.
   157  
   158  Jiri profile-i2 uninstall - Uninstall the given profiles
   159  
   160  Uninstall the given profiles.
   161  
   162  Usage:
   163     jiri profile-i2 uninstall [flags] <profiles>
   164  
   165  <profiles> is a list of profiles to uninstall.
   166  
   167  The jiri profile-i2 uninstall flags are:
   168   -all-targets=false
   169     apply to all targets for the specified profile(s)
   170   -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
   171     the path, relative to JIRI_ROOT, that contains the profiles database.
   172   -profiles-dir=.jiri_root/profiles
   173     the directory, relative to JIRI_ROOT, that profiles are installed in
   174   -target=<runtime.GOARCH>-<runtime.GOOS>
   175     specifies a profile target in the following form: <arch>-<os>[@<version>]
   176   -v=false
   177     print more detailed information
   178  
   179   -color=true
   180     Use color to format output.
   181  
   182  Jiri profile-i2 update - Install the latest default version of the given profiles
   183  
   184  Install the latest default version of the given profiles.
   185  
   186  Usage:
   187     jiri profile-i2 update [flags] <profiles>
   188  
   189  <profiles> is a list of profiles to update, if omitted all profiles are updated.
   190  
   191  The jiri profile-i2 update flags are:
   192   -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
   193     the path, relative to JIRI_ROOT, that contains the profiles database.
   194   -profiles-dir=.jiri_root/profiles
   195     the directory, relative to JIRI_ROOT, that profiles are installed in
   196   -v=false
   197     print more detailed information
   198  
   199   -color=true
   200     Use color to format output.
   201  
   202  Jiri profile-i2 cleanup - Cleanup the locally installed profiles
   203  
   204  Cleanup the locally installed profiles. This is generally required when
   205  recovering from earlier bugs or when preparing for a subsequent change to the
   206  profiles implementation.
   207  
   208  Usage:
   209     jiri profile-i2 cleanup [flags] <profiles>
   210  
   211  <profiles> is a list of profiles to cleanup, if omitted all profiles are
   212  cleaned.
   213  
   214  The jiri profile-i2 cleanup flags are:
   215   -gc=false
   216     uninstall profile targets that are older than the current default
   217   -profiles-db=$JIRI_ROOT/.jiri_root/profile_db
   218     the path, relative to JIRI_ROOT, that contains the profiles database.
   219   -profiles-dir=.jiri_root/profiles
   220     the directory, relative to JIRI_ROOT, that profiles are installed in
   221   -rewrite-profiles-db=false
   222     rewrite the profiles database to use the latest schema version
   223   -rm-all=false
   224     remove profiles database and all profile generated output files.
   225   -v=false
   226     print more detailed information
   227  
   228   -color=true
   229     Use color to format output.
   230  
   231  Jiri profile-i2 available - List the available profiles
   232  
   233  List the available profiles.
   234  
   235  Usage:
   236     jiri profile-i2 available [flags]
   237  
   238  The jiri profile-i2 available flags are:
   239   -describe=false
   240     print the profile description
   241   -v=false
   242     print more detailed information
   243  
   244   -color=true
   245     Use color to format output.
   246  
   247  Jiri profile-i2 help - Display help for commands or topics
   248  
   249  Help with no args displays the usage of the parent command.
   250  
   251  Help with args displays the usage of the specified sub-command or help topic.
   252  
   253  "help ..." recursively displays help for all commands and topics.
   254  
   255  Usage:
   256     jiri profile-i2 help [flags] [command/topic ...]
   257  
   258  [command/topic ...] optionally identifies a specific sub-command or help topic.
   259  
   260  The jiri profile-i2 help flags are:
   261   -style=compact
   262     The formatting style for help output:
   263        compact   - Good for compact cmdline output.
   264        full      - Good for cmdline output, shows all global flags.
   265        godoc     - Good for godoc processing.
   266        shortonly - Only output short description.
   267     Override the default by setting the CMDLINE_STYLE environment variable.
   268   -width=<terminal width>
   269     Format output to this target width in runes, or unlimited if width < 0.
   270     Defaults to the terminal width if available.  Override the default by setting
   271     the CMDLINE_WIDTH environment variable.
   272  */
   273  package main