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